International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
Верхняя оценка сложности одного из вариантов метода ветвей и границ для задачи
о сумме подмножеств
Р.М. Колпаков, М.А. Посыпкин, Си Ту Тант Син
Аннотация— Получена верхняя оценка сложности решения задачи о сумме подмножеств, являющейся частным случаем задачи о ранце, одним из вариантов метода ветвей и границ с дополнительным условием отсева подзадач, основанным на сравнении максимального и минимального количества предметов, которые можно положить в ранец. В качестве вспомогательных результатов установлены различные комбинаторные свойства подзадач, получаемых в процессе решения задачи о сумме подмножеств рассматриваемым вариантом метода ветвей и границ.
Ключевые слова — задача о сумме подмножеств, оценки сложности, комбинаторный анализ, булев куб.
I. Введение
В данной работе рассматривается задача о сумме подмножеств [1] и один из методов ее решения - метод ветвей и границ (МВГ). Задача о сумме подмножеств является частным случаем задачи о ранце [1,2], в которой вес каждого предмета совпадает с его стоимостью. Помимо традиционных способов сокращения перебора при решении данной задачи методом ветвей и границ, рассматривается дополнительное условие исключения из дальнейшего рассмотрения подзадач, возникающих в процессе решения, основанное на сравнении максимального и минимального числа предметов, которые можно положить в ранец.
Получена верхняя оценка сложности решения задачи о сумме подмножеств рассматриваемым методом в «наихудшем» случае, зависящая только от числа переменных. Показано, что введение дополнительного условия исключения подзадач сокращает сложность решения задачи о сумме подмножеств приблизительно вдвое.
II. Основные понятия и определения
Рассматривается задача о сумме подмножеств в следующей постановке:
Работа выполнена при поддержке гранта РФФИ № 15-07-03102 А.
Р.М. Колпаков работает в МГУ (e-mail: foroman @ mail.ru) М.А.Посыпкин работает в ВЦ ФИЦ ИУ РАН (e-mail: mposypkin @ gmail.com)
Си Ту Тант Син является аспирантом МИЭТ (e-mail: sithuthantsin86 @ gmail.com)
n
f (x) = 2 WiXi ^ max,
i=1
V1 < r (1)
2 wixi ~ C,
i=1
Xi e {0,1},i = 1,...,n.
Предполагается, что коэффициенты C, wi,i =1,...,n, данной задачи являются натуральными числами. Для решения этой задачи методом ветвей и границ [1,2] используются понятия рекордного решения и подзадачи.
Любой набор значений переменных x = (xi,...,xn) задачи (1), удовлетворяющий ее ограничениям, называется допустимым решением. Оптимальным называется допустимое решение, на котором достигается максимум целевой функции f задачи (1). Значение целевой функции на оптимальном решении называется оптимумом. Рекордным называется некоторое найденное допустимое решение задачи (1), на
котором функция f достигает максимального значения среди всех найденных на данный момент времени решений. Значение целевой функции на рекордном решении называется рекордом. Из определения рекорда очевидно, что рекорд не уменьшается в процессе решения задачи и не превосходит оптимума.
Подзадачей задачи (1) называется задача, получаемая из задачи (1) фиксацией значений переменных x1,..., xT :
n
f (x) = 2 wx ^ max,
i=1
n
2 wixi - C, (2)
i=1
xi =%,1 - i -T,
xi e {0,1},i = t + 1,...,n.
где @i - заданные значения фиксированных переменных,
@i e {0,1}, i = 1,...,n. Очевидно, что любое
допустимое решение задачи (2) является допустимым решением задачи (1). Для подзадачи P вида (2) будем использовать следующие обозначения:
1
International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
T( P)
t(P) = t, C(P) = C-^d0iwi,
i=1
10 ={i: 1 < i < t, 6i = 0}, /1 ={i :1 < i < t, 3 = 1},
Г t(P )+k ]
k(P) = j max k : 0 < k < n -t(P), ^ w < C(P) L,
[ t(P)+1
k(P) = j max k : 0 < k < n -t(P), ^ w < C(P) L
^ i=n-k+1
A( P) = k (P) - k (P).
Здесь и далее сумма по пустому множеству индексов считается равной нулю. В рассматриваемом в данной работе варианте метода ветвей и границ используется правило декомпозиции, сопоставляющее подзадаче (2) две новых подзадачи, получаемые присваиванием
переменной хт+1 значений 0 и 1 соответственно. Подзадачу (2) будем называть родительской подзадачей для полученных в результате декомпозиции подзадач.
Переменная хТ+1 называется переменной ветвления для подзадачи (2). Предполагается, что переменные ветвления выбираются в порядке убывания их весов, т.е.
справедливо соотношение w1 — • • • — wn.
В целях сокращения перебора в процессе решения задачи (1) методом ветвей и границ для подзадач этой задачи, возникающих в процессе решения,
осуществляется проверка определенных условий, при выполнении которых подзадачи могут быть исключены из дальнейшего рассмотрения. Т акие условия называются условиями отсева. Условие отсева для подзадач задачи (1) называется условием отрицательного отсева, если подзадача, удовлетворяющая данному условию, не имеет допустимых решений, и называется условием положительного отсева, если для подзадачи, удовлетворяющей данному условию, оптимальное решение может быть найдено без дальнейшей декомпозиции этой подзадачи.
Пусть С0 — некоторое условие отрицательного отсева, а С1 — некоторое условие положительного отсева для подзадач задачи (1). Рассмотрим вариант метода ветвей и границ для задачи (1), который состоит в последовательном выполнении итераций следующего цикла (в процессе выполнения данной процедуры поддерживаются список подзадач, подлежащих дальнейшему рассмотрению, и текущее рекордное решение задачи). 1 2 3 4
1. В список подзадач помещается исходная задача (1).
2. Если список подзадач пуст, то алгоритм завершает свою работу, в противном случае выбирается и удаляется из списка одна из подзадач.
3. Если выбранная подзадача удовлетворяет условию C0, выполняется переход к шагу 2.
4. Если выбранная подзадача удовлетворяет условию C1, вычисляется оптимальное решение Z для данной
подзадачи. Если значение целевой функции на решении z больше текущего рекорда, текущее рекордное решение заменяется на z . Затем выполняется переход к шагу 2.
5. Производится декомпозиция выбранной подзадачи на две подзадачи, которые добавляются в список, и выполняется переход к шагу 2.
В качестве оптимального решения задачи (1) берется рекордное решение, полученное в результате выполнения описанной процедуры. Для отличия от других вариантов метода ветвей и границ для решения задачи (1), данный алгоритм будем называть мажоритарным с условиями отрицательного отсева C0 и положительного отсева С1.
Утверждение 1. Мажоритарный метод ветвей и границ с условиями отрицательного и положительного отсева находит оптимальное решение для любой задачи (1). Доказательство. Прежде всего, заметим, что множество допустимых решений подзадачи совпадает с объединением множеств допустимых решений подзадач, полученных из нее в результате декомпозиции. Так как выполнение условия отрицательного отсева означает, что подзадача не имеет решения, то исключение из рассмотрения подзадач, удовлетворяющих условию отрицательного отсева, не приводит к потере допустимых решений. Таким образом, любое оптимальное решение задачи (1) является также оптимальным решением некоторой подзадачи, удовлетворяющей условию положительного отсева. Поскольку для всех подзадач, удовлетворяющих условию положительного отсева, вычисляются оптимальные решения, исключение их из рассмотрения не приводит к потере всех оптимальных решений задачи (!).□
Сложностью решения задачи (1) мажоритарным методом ветвей и границ называется число итераций цикла 2-5, выполняемых при решении задачи данным методом. Отметим, что это число не зависит от способа выбора подзадач из списка, поэтому данное понятие сложности является корректно определенным.
Процесс решения задачи (1) мажоритарным методом ветвей и границ удобно представить в виде дерева ветвления, вершинам которого соответствуют рассматриваемые в процессе решения подзадачи. Вершина, соответствующая подзадаче, соединяется дугами с вершинами, соответствующими подзадачам, полученным из этой подзадачи в результате декомпозиции. Дуга, ведущая в вершину, соответствующую подзадаче, полученной
присваиванием переменной ветвления значения 0 (значения 1), помечается символом 0 (символом 1). Корнем дерева ветвления полагается вершина, соответствующая исходной задаче. Концевым вершинам дерева ветвления соответствуют подзадачи, удовлетворяющие условиям отсева. Отметим, что число вершин в дереве ветвления совпадает со сложностью
2
International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
решения задачи методом ветвей и границ. Поскольку дерево ветвления является бинарным, число вершин в этом дереве равно 2K — 1, где K - число концевых вершин дерева. Таким образом, сложность решения задачи (1) мажоритарным МВГ равна 2K — 1, где K -число рассматриваемых в процессе решения задачи подзадач, удовлетворяющих условиям отсева.
В данной работе рассматривается вариант мажоритарного метода ветвей и границ, в котором применяются следующие условия отсева C0, C1:
подзадача Р вида (2) удовлетворяет условию C0, если C (P) < 0, и удовлетворяет условию C1, если
к(P) = к(P). Очевидно, что подзадача,
удовлетворяющая условию C0, не имеет допустимых решений, тем самым C0 является условием
отрицательного отсева. Для подзадачи P,
удовлетворяющей условию C1, имеется допустимое решение z вида
, если 1 < i < т(P),
z, = <! 1, если т(P) +1 < i <т + к(P),
0, если т + к (P) +1 < i < n.
Учитывая соотношения W1 — — wn, нетрудно
заметить, что данное решение является оптимальным для P, тем самым C1 является условием положительного отсева. В работе получена верхняя оценка сложности решения задачи (1) мажоритарным МВГ с условиями отрицательного отсева C0 и положительного отсева C1 в зависимости от числа n переменных задачи.
III. Оценка сложности МВГ
Обозначим через MP множество всех подзадач задачи (1) , получаемых в процессе решения задачи
рассматриваемым вариантом мажоритарного МВГ.
Утверждение 2. Пусть подзадачи P0 и P1 получены в результате декомпозиции из подзадачи P присваиванием переменной ветвления
хт( p)+1 значений 0 и 1 соответственно. Тогда
А( P) — А( P0), А( P) — A(P1).
Доказательство. Если A(P) = 0, то утверждение очевидно. Пусть A(P) > 0, тогда к(P) < n — т(P). Справедливо равенство C(Po) = C(P). Из свойства w1 — ... — Wn следует, что
к(P0) — к(P), к(P0) = к(P). Следовательно,
А(P0) <А(P).
Легко проверяется справедливость соотношения
C (Р) = C (P) — ' wt( p)+1 . Следовательно
к (P) = к (P) — 1, к (P1) — к (P) — 1. Отсюда получаем
А( P) — А(^).с
Ъ (P) = ■
Сопоставим каждой подзадаче P из MP, удовлетворяющей условию C0, бинарный набор 0(p ) длины n , определяемый следующим образом: если 1 < i < т(P),
0, если т(P) +1 < i < n.
Справедливо следующее утверждение.
Утверждение 3. Пусть подзадача P из MP удовлетворяет условию C0. Тогда для любого 1 такого, что &i(P) =1, справедливо
f (Ъ(Р))—W < C .
Доказательство. Рассмотрим подзадачу Р , из которой подзадача Р получена декомпозицией. Так как Р' не удовлетворяет условию C0, то f (ъ(Р ))< C . Наборы а{р) и (г{р,) отличаются только в компоненте с номером т(р): Ът( р) (Р ) =1, Ът( р) (Р ) = 0.
Следовательно f (ъ(р)) — WT(Р) = f (а(Р )) < C . Так как выполнено W1 — • — wt(Р), то
f (Ъ(Р)) — w < f (а(Р)) — wT(Р) < C .□
Из доказанного утверждения и того, что для любой подзадачи P, удовлетворяющей условию C0, справедливо f Ъ(Р)) >C, вытекает следующее
утверждение.
Следствие 1. Для любых двух различных подзадач р1 и Р2 из MP , отсеянных по условию C0, наборы ъ(р) и Ъ(Р2 ) несравнимы.
Сопоставим каждой подзадаче Р из MP , отсеянной по условию C1, набор <У(р) длины n, определяемый следующим образом:
,если 1 < i < т(Р),
о{(Р) = < 1, если т(Р) +1 < i <т + к(Р),
0, если т + к (Р) +1 < i < n.
Утверждение 4. Пусть Р - подзадача из MP, отсеянная по условию C1. Тогда для любого 1 такого, что Ъ (р) = 0 , выполняется C < f (ъ(р))+ wt. Доказательство. Рассмотрим два возможных случая: к (Р) = n — т(Р) и к (Р) < n — Т(Р). Пусть
к(Р) = n — т(Р). Тогда i < т(р). Рассмотрим
родительскую подзадачу Р для подзадачи Р . Так как подзадача Р не удовлетворяет условию отсева C1, то
3
International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
t( P )-1 n
P) = 0 и Z ®jW j + Z wj > C • Так как
j=1 j=T(P)
t( P )-1 n
Z dJWJ + Z Wj = /(v(P)) + Wt(P) и w — Wt(P) ,
j=1 j=T(P)
то /(e(P)) + W > C •
Пусть к(P) < n-T(P) • Из определения £ (P)
следует, что /(е(р)) + wt(p)+*(p)+i > C . В силу неравенства wi — ••• — wn получаем
/(v(P))+wt > C для любого i <t(p) + к(p) +1. Пусть i > t(p) + к (p) +1 и (P) = 0. Тогда
t( P) t( Р)+к (P)
/ (v( p))+ Wi = Z Vj (P)Wj + Z aj (P)Wj + Wi •
j=T( P)+1
j=1
Так как подзадача P удовлетворяет условию С1, то к(P) = к(P). Поэтому
т( P) т(Р )+к (P)
/ (е( P)) + Wi = Z Vj (P)Wj + Z aj (P)Wj + Wi,
j=1 J=t(P)+1
Таким образом, из неравенства W1 — • — Wn следует, что
т( P) n
/(a(P)) + Wt — Z°j(P)Wj + Zaj(P)Wj •
j=1 j=n-k (P)
Согласно определению к(P) отсюда получаем, что
/(е(p))+ Wi > C• Тем самым утверждение доказано-□
Из этого утверждения вытекает
Следствие 2. Для любых двух различных подзадач р1 и р2 из MP, отсеянных по условию C1, наборы
(7(р1) и (Г(р2 ) несравнимы^
Утверждение 5. Пусть подзадачи Ро и р из MP удовлетворяют условиям C0 и C1 соответственно •
Тогда наборы ер) и е(р), сопоставленные этим подзадачам, несравнимы
Доказательство. Т ак как / (е(р)) > C и
/ (v(P)) < C , то в силу монотонности функции / невозможно выполнение неравенства а(р )—а(р) • Покажем, что неравенство v(P )—е(Р) также не верно^ Предположим обратное: пусть а(р )—а(р) • Тогда найдется такое i, 1 <i <т(р), что
ei (р0) =1 ei(р) = 0 • Отсюда следует неравенство /(v(P)) < /(о(P0)) - Wi • (3)
Рассмотрим родительскую подзадачу Р0 для подзадачи р • Так как р не удовлетворяет условию С1, то к(P0') > к(P0') — 0^ Так как к (Pc') > 0, то / (р0) + Wn < C и т(Р0) < n -1 • Поэтому
Vn (р0) = 0 и, следовательно, Vn (P1) = 0 • Так как / (р') = / (р0) - Wt( р0), то / (P0) - Wt( P0) + Wn < C • Поскольку 1 < i < т(р0), то
/ (р0) - Wi + Wn < / (р0) - Wt( P0) + Wn •
Следовательно
/(v(Po )) - Wi + Wn < С • Применяя (3), получим /(v(P)) + Wn < С • (4)
Так как Vn (P1) = 0, то, согласно утверждению 4,
/ (е(р)) + Wn > C , тем самым приходим к противоречию с соотношением (4) □
Следствие 3. Для любых двух различных подзадач р
и р из
MP
, отсеянных по условиям C0 или C1,
наборы &(Р) и е(р2)
2 несравнимы
Из Следствия 3 получаем, что, наборы, сопоставленные подзадачам из MP, удовлетворяющим условиям отсева, попарно несравнимы, т^ образуют антицепь булева куба размерности n • Следовательно, (см^ например, [3]), общее число таких наборов не может
f n Л
превосходить
In /2J.
, тем самым число подзадач из
MP.
удовлетворяющих условиям отсева, не
f
превосходит
n
L /2j^j • Поэтому сложность решения
задачи (1) рассматриваемым вариантом мажоритарного
f
МВГ не превосходит 2
VL
справедлива следующая теорема^
n |
I , „ i I-1 • Т аким образом
,Ln /2Jj
Теорема 1. Сложность решения задачи (1) мажоритарным методом ветвей и границ с условиями
f
отсева C0, C1 не превосходит
2
n
L" /2|
-1
Пользуясь известной асимптотикой для
Ln / 2 Jj
(см^,
например, [5]), получаем, что асимптотика роста
рассматриваемой сложности не превосходит
n
4
International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
!«/2_L
n+1
Ш-
n
2
2
1
n
2
[7]
Лазарев А. А. Графический подход к решению задач комбинаторной оптимизации //Автоматика и телемеханика. -
2007. - №. 4. - С. 13-23.
Ранее в работе [4] рассмотрен вариант мажоритарного МВГ, в котором используется условие положительного отсева, являющееся частным случаем условия C1, а именно, подзадача P задачи (1) удовлетворяет условию
n
положительного отсева, если I W S C (P).
i=T(P )+1
Показано, что сложность решения задачи (1) таким вариантом МВГ в наихудшем случае равна
f n +1 ^
2
\n/2j+1
-1
Впервые пример такой задачи
( n 4
приведен в [6]. Пользуясь асимптотикой для
Ln / 2у ,
получим, что f n +1 ^
2
V
Ln /2j +1,
-1~
2
n+2
п
n
2
Таким образом, применение введенного нами условия C1 положительного отсева приблизительно в два раза сокращает сложность решения задачи о сумме подмножеств мажоритарным МВГ в наихудшем случае.
IV. Заключение
В работе развивается методика оценки сложности метода ветвей и границ для задач булева программирования. Получена верхняя оценка сложности усовершенствованного варианта метода ветвей и границ для решения одного из частных случаев задачи о ранце -задаче о сумме подмножеств. Произведен асимптотический анализ полученной оценки.
В дальнейшем планируется рассмотреть более эффективные варианты метода ветвей и границ, когда для сокращения перебора применяются также оценки, основанные на использовании отношения доминирования подзадач [7].
Библиография
[1] Сигал И.Х., Иванова А.П. Введение в прикладное дискретное программирование. М.: Физматлит, 2003. - 240 с.
[2] Kellerer H., Pfershy U., Pisinger D. Knapsack Problems. Springer Verlag, 546 p., 2004.
[3] Таранников Ю.В. Комбинаторные свойства дискретных структур и приложения к криптологии, Москва: Издательство МЦНМО, 2011, — 152 c..
[4] Колпаков Р. М., Посыпкин М. А. Верхняя и нижняя оценки трудоемкости метода ветвей и границ для задачи о ранце //Дискретная математика. - 2010. - Т. 22. - №. 1. - С. 58-73.
[5] Яблонский С.В. Введение в дискретную математику. М: Наука, 2003.
[6] Финкельштейн Ю.Ю. Приближенные методы и прикладные задачи дискретного программирования. М.: Наука, 1976
5
International Journal of Open Information Technologies ISSN: 2307-8162 vol. 4, no. 2, 2016
Upper bound for the complexity of one of the variants of the branch and bound method for the
subset sum problem
R.M. Kolpakov, M.A. Posypkin, Si Thu Thant Sin
Abstract - In the paper we obtain an upper bound for the complexity of solving the subset sum problem which is a particular case of the knapsack problem by one of the variants of the branch-and-bound method with an additional pruning rule based on the comparison of the maximum and minimum number of items that can be put into the knapsack. As auxiliary results, we establish various combinatorial properties of subproblems processed for solving the subset sum problem by the considered variant of the branch-and-bound method.
Keywords - the subset sum problem, complexity evaluation, combinatorial analysis, Boolean cube. 6
6