У меня есть вектор A
, то есть
A = [300; 165; 150; 150; 400; 300; 80; 250; 165; 80; 200]
Я пытаюсь найти набор векторов, составленных из элементов этого вектора A
так, чтобы их элементы суммировались со значением, максимально близким к 400, и чтобы все элементы вектора A
включались в непересекающийся набор векторов .
Например, 400 — это уже 400, так что это первый набор векторов без резерва.
Другой набор будет вектором [250 150]
, их сумма равна 400.
Еще два могут быть двумя наборами вектора [300 80]
, их сумма равна 380, поэтому резерв 20 скомпрометирован.
Другой будет [165 165]
, они в сумме дают 330 с резервом 70. Последний будет 200 и 150 с резервом 50. Общий резерв 20+20+70+50=160.
Я пытаюсь найти эвристику или алгоритм (не модель программирования), который минимизировал бы слабину. Я кодирую в Matlab.
A
без повторения элементов. Б) Сумма всех векторов меньше, равная 400. В) Все элементы вектораA
принадлежат одному из векторов. - person JaBe   schedule 15.10.2015420
, резерв будет равен-20
, а общий резерв будет рассчитываться с помощью-20
? - person Divakar   schedule 15.10.2015