УДК 519.8
СРАВНЕНИЕ АЛГОРИТМОВ ОДНОГО КЛАССА ВПОЛНЕ РЕГУЛЯРНЫХ ПРОЦЕССОВ ОТСЕЧЕНИЯ
А.Л. Евстифеева
In this paper, we pose and discuss a number of questions about the cutting planes algorithm for trying to solve integer programming problems.
1. Введение
Пусть Rn - n-мерное вещественное пространство, Zn - множество его целочисленных точек (векторов). Задача целочисленного программирования (ЦП) может быть сформулирована следующим образом:
/(ж) —у max, (rn
ж G М С R11, (1,2)
ж G УД (1.3)
то есть нужно найти ж, максимизирующий /(ж), при условии, что ж целочисленный.
Сложность решения задач ЦП существенно определяется свойствами целевой функции (1.1) и допустимой области (1.2)-(1.3). Наиболее изученными являются задачи целочисленного линейного программирования (ЦЛП), у которых функция (1.1) линейна, а М задается конечной системой линейных уравнений и неравенств.
Нас интересует задача ЦП в лексикографической постановке. Отношение лексикографического порядка введем с помощью функции :
у(ж,у) = гшп|г | ж i ф уг, г = 1,...,п|, ж, у £ Rn, ж фу- номер первой координаты различия точек ж и у.
0 1999 А.Л. Евстифеева
E-mail: [email protected] Омский государственный университет
Определение . Вектор х лексикографически больше (меньше) вектора у, х У у (х -Д у), если х ф у и хш > уш (хш < уш) для ш = г](ж, у).
Без ограничения общности, задачу ЦП в лексикографической постановке определим как задачу поиска:
Существующие подходы к решению задач ЦП достаточно разнообразны. К ним относятся метод отсечения, метод ветвей и границ, динамическое программирование и др. Принцип метода отсечения заключается в том, что допустимая область дискретной задачи погружается в некоторое выпуклое множество, которое последовательно «обрезается» с помощью вводимых линейных ограничений (отсечений) до получения непрерывной задачи с необходимыми свойствами.
Методы отсечения различаются между собой выбором релаксационного множества и способом построения ограничений [8]. В данной работе будут рассматриваться линейные отсечения, которые строятся на основе й-разбиений пространства Rn.
2. Регулярные отсечения и алгоритмы
Будем предполагать, что существует ж = 1ехтах(0),ж ^ Zn.
Определение . Линейное неравенство (у, х) < у0 называется отсечением (для задачи (1.4)), если (у, ж) > у0 и (у, z) < у0 для всех ж £ О П Zn.
Замечание . Линейное неравенство (у, ж) < у0 определяется своими коэффициентами уг-,г = 1,. . ., га, у0, , поэтому будем ассоциировать его с вектором
Через А обозначим процесс отсечения (без отбрасывания неравенств) для решения задачи (1.4), использующий на каждом шаге конечную совокупность отсечений G. Подробнее этот процесс выглядит так :
Шаг 0. Полагаем О1 = О. к-я итерация.
Шаг 1. Находим хк = lexmaxOfc. Если хк £ Zn или Qk = 0, то процесс завершается. В первом случае получено оптимальное решение задачи (1.4), во втором - решения нет.
Шаг 2. Выбираем конечную совокупность неравенств Gxk. Полагаем 0fc+1 =
ходим к [к + 1 )-й итерации (на шаг 1).
Будем говорить, что процесс А решает задачу (1.4), если он за конечное число итераций либо находит ж*, либо устанавливает отсутствие допустимых решений.
1ехтах(0 П Zn), О С Rn ■
(1.4)
7 = (70.71. £ Д“+1
Увеличиваем fc на 1 и пере-
Определение . Точки ж, у £ Rn будем называть L-эквнвалентными, если не существует такой z £ что либо х У z У у, либо х У z У у.
Е-эквивалентность является отношением эквивалентности. Порождаемое им фактор - пространство Rn/L называется Е-разбиением пространства Rn, а его элементы - Е-классами. Е-разбиение пространства естественным образом индуцирует Е-разбиение произвольного множества S С Rn, которое обозначим S/L.
Отметим некоторые свойства Е-разбиения[2]:
1) Всякая целочисленная точка образует отдельный Е-класс; остальные Е-классы состоят только из нецелочисленных точек и называются дробными.
2) Если V £ Rn/L - дробный Е-класс, то существуют такие г £ {1,. . . , п} и о, £ Z,j = 1,. . . ,г, что
V = | ж £ Rn | х j = aj, j = 1,. . . , г — 1, ar < xr < ar + 1 j.
3) Если S C ограничено, то S/L - конечно.
4) Е-разбиение согласовано с лексикографическим порядком в том смысле, что если Vi, V2 £ Rn/L и ж1 У у1 для некоторых ж1 £ Vi, у1 £ V2, то ж У у для всех ж £ Vi, у £ У2 •
Особый интерес в задаче (Е4) представляет множество:
О* = |ж £ 0|ж У z,\/z £ ОП j,
называемое дробным накрытием задачи (Е4). Оно в некотором смысле характеризует «расстояние» между непрерывным и целочисленным оптимумами задачи (Е4). Фактор-множество О*/Е будем называть L-накрытием задачи (Е4).
Определение . Отсечение 7 называется регулярным, если (7, ж) > 70 для всех ж £ Т4(П), гДе Vjg(fi) - Е-класс множества О, содержащий точку ж.
Двойственные дробные процессы отсечения (см. [3]), использующие на каждой итерации регулярные отсечения, называются регулярными.
Свойства Е-разбиений позволяют получать в терминах Е-классов оценки числа итераций регулярных процессов. Для этого введем определение.
Определение . Глубиной Н(7,0) отсечения 7 (относительно задачи (1.4)) называется количество полностью исключаемых им элементов Е-накрытия.
Теорема 2.1. [4] Пусть для всех отсечений 7 регулярного процесса выполня-
ется неравенство Н(7, ОД < h, где О* - множество, полученное uat-й итерации. Тогда число итераций этого процесса заключено между числами ^|0*/Е| и |0*/Е|. ■
Отметим, что приведенное выше свойство Р-разбиения под номером 3) обеспечивает конечность регулярных процессов при ограниченном О*. Нужно сказать, что получение нетривиальной верхней оценки для глубин отсечений является достаточно трудной задачей. Одним из классов отсечений, для которых такая оценка построена, является класс Р-отсечений [3], содержащий в себе вполне регулярные отсечения .
Р-отсечения определяются следующим образом . Пусть задан параллелепипед
где a,j,bj £ Р, j = 1, ...,га. Рассмотрим класс задач (1.4), удовлетворяющих условиям : О С Р, ж = lexmaxO, ж ф Zn.
Определение . Регулярное отсечение у называется Р-отсеченнем, если (7, z) < у0 для всех таких г £ РП что z Р ж. Соответствующие процессы отсечения называются Р-процессами .
Теорема 2.2. [3] Пусть О С Р, у - Р-отсечение .Тогда Я"(у,0*) < п. Ш
Определение . Р-отсечение у называется вполне регулярным отсечением (относительно точки ж и параллелепипеда Р ), если (у, ж) > у0 для всех ж £ 14(Р), ГДе Ух(Р) ~ P-класс параллелепипеда Р, содержащий точку ж. Соответствующие процессы отсечения назовем вполне регулярными. Класс вполне регулярных отсечений будем обозначать через У(ж,Р).
Условие, сформулированное в данном определении, обеспечивает определенную «силу» вполне регулярных отсечений, ибо точка ж должна отсекаться вместе с некоторым непустым множеством (Р). В то же время, условие сохранения точек z £ Р П Zn, z -Д ж, напротив, делает отсечения класса У(ж,Р) «осторожными». На сегодня отсутствует конструктивное описание класса Р-отсечений. Для класса У (ж, Р) такое описание получено в [6].
Введем следующие обозначения :
(д(ж) = ппп|г|жг- ф |_жг_| , г = 1,. . . , raj, для ж ф Zn, - номер первой дробной координаты точки ж;
для ж £ P\Zn положим
J-(x,P) = \j\x3 = азЛ <3< <Р(Х) ~ if,
3. Сравнение вполне регулярных отсечений
Jr(ж,Р) = [з с Jr(x,P)\j > А;},
Пусть О С Р, и существует ж = lexmaxO, ж ^ У”.
Теорема 3.1. [6] Отсечение (7, ж) < 70 является вполне регулярным (от-
носительно точки х и параллелепипеда Р ) тогда и только тогда, когда его коэффициенты удовлетворяют условиям :
1) 4<рР) ^ О;
2) 7^ = 0 для всех к > <р(х);
3)
Ik Р 'У ] 7i(^i — Р?) + 'У ] Ъ{Ь] ~ Pj) + ЗтР) ~ ?
j£Jo(x,P) j£JkO,P)r/]>0
для всех к £ Jo(x, Р) U «/+(ж, Р);
4) 70 = (7, |Л_|), где [х\ = (|zij ,. . ., [хп\ ].
■
Пусть 7 - отсечение вида (7, ж) < 70. Положим
Qp(7) = |ж £ Р|(7,ж) < 7о| - множество точек параллелепипеда Р, сохраняемых отсечением 7.
Определение . Будем говорить, что отсечение 7’ не сильнее отсечения 7, если Qp(7) С <5р(7’)-
Из теоремы 3.1 следует, что для всякого вполне регулярного отсечения выбор коэффициентов 7^ при к £ J_(ж, Р) произволен. Выделим в Л(ж, Р) подкласс
Р(ж,Р) = {7 £ S(7,P)|7fc > О, Р £ 7_(ж,Р)|.
Лемма 3.1. [7] Для всякого 7 £ Л(ж, Р) существует такое 7’ £ Р(ж,Р);
что 7 не сильнее, чем 7’. ■
Определение . Отсечения 7,7’ £ Р(ж,Р) назовем ^-эквивалентными, если 7fc = %, при к £ 7_(ж, Р) U 70(ж, Р).
Это отношение является отношением эквивалентности и, следовательно, порождает фактор-множество Р(ж,Р)/ф В каждом классе эквивалентности выделим по одному представителю 7* определенному условием
lk= Y - Xj) + 7ф)(Кр) - [хду\), при k £ J+. (3.1)
зеДиР
Легко доказать, что любое отсечение из элемента фактор-множества U(x,P)/( не сильнее соответствующего отсечения 7* . Объединим эти «самые сильные» отсечения в самостоятельный подкласс, который обозначим через U*(x,P) . Отметим для ясности, что 7 £ Р*(ж,Р) тогда и только тогда, когда 7 £ Р(ж,Р) и удовлетворяет условию (3.1). Очевидна следующая теорема
Теорема 3.2. [7] Для любого 7 £ Л(ж,Р) существует такое 7’ £ Р*(ж,Р) ;
что 7 не сильнее, чем 7’. ■
4. Сравнение вполне регулярных процессов, основанных на отсечениях классов U(x,P) и U*(x,P)
Пусть Г(ж,Р) - отсечения (7, ж — |_ж_|) < 0, коэффициенты которых удовлетворяют следующим условиям:
1. 7^ = 0 при k £ J-(x, Р);
2.
7к = ^2 7j(bj ~ Xj) + Дф)(Ъф) - для всех к £ J0(x,P);
зехфдр)
7к> ^2 “ хз) + Ъ(х) (Ко ~ 1_ЖЧП_|) ’ 4ЛЯ всех ^ G Mxi ^)-
Пусть вполне регулярный процесс А (для решения задачи (1.4)) использует на каждом г-ом шаге некоторое отсечение из совокупности вполне регулярных отсечений Г(ж*,Р) класса £7(ж,Р)/£, где ж* = lexmaxO*.
Через А* обозначим вполне регулярный процесс, использующий на каждом шаге отсечение у*(ж\Р) из класса П*(ж,Р), коэффициенты которого удовлетворяют условиям:
1. = 0 при k £ J_(х\ Р);
2.
зеЛ(р,р)
7* = V 7j (bJ “ ж}) + МА)[К(А) ~ xUp) ) ’ для всех G J°(x\ Р)
3.
7fc = 2^ 7j (bJ “ ж}) + MA)[K(A) - xUp) ) ’ для Bcex k G
зеЛ(р,р)
Ясно, что отсечение д*(х\Р) отличается от (3.1) наличием условия 2. Выясним, как выглядят коэффициенты отсечения 7*(жг, Р).
Пусть класс Jo(x\ Р) содержит р индексов, т.е. Jo(x\ Р) = {щ,. . . фр}. Тогда, полагая 7*^7 = 1, из 2. получим
% = К(р) - Км
ъ*Р-1 = PSK ~ xV + ъа-') -
'Ах')
= ь,
С(хг)
уДх1)
(b3p ~ ж}р + !)
Ъ„-2 = ~ Х1-г) + lUK ~ Х)Р) + ЪФА ~
УЧ>{Х')
= ь,
Мж9
'4>{х')
) ((Ь3Р ~ х)р + 1)(Ь3Р-1 - Х)р-г) + Ь3р ~ х)р + Х) -
= ь.
}Дхг)
сДх1)
)(ЬзР - х)р + 1)(ЬзР-1 - ж}р_! + !) -
= ъ,
VP9
'Ах')
П (h — х] + 1).
ief0p~2
Продолжая аналогичные выкладки для каждого г = 3,.
чим, что в общем случае при k £ Jq(x\ Р);
7 к \Ь<р(хг)
'т(х')
П (h ~ х\ + !)•
• ,Р - 1, полу-(4.1)
ге-^о
Рассмотрим условие 3: Пусть к £ 7+(жг, Р). Если к > jp} то
7 к Ъдх1)
'т(х')
если jp_i < к < jp} то
7fc = 7jp(bjp ~ х) ) + -
'v(x')
= ъ,
}Дхг)
'4>(х')
К - х)р + !)
В общем случае если ф_i < к < ji} г = 2,. . . ,р — 1, то
7fc уЭДх1)
ут(х')
П''
l-Xi
+ !)•
(4.2)
ie-p
Теперь можно сказать, что вполне регулярный процесс А* использует отсечение 7*(ж\Р) из класса Р*(ж,Р), коэффициенты которого удовлетворяют условиям:
1- It
2.
О при к £ J_(ж®, Р);
) П (bi - х\ + 1) при к £ Jq(x\ Р);
7 к
= Ь.
VP9
3.
*
7fc
р(хг)
X
i
ср(хг)
) П {ь1 - х\ + 1) ПРИ к £ J+(х\ Р).
Очевидно следующее предложение.
Предложение 4.1. Любое отсечение 7 из Г(жг, Р) не сильнее, чем 7*(жг, Р).
■
Ранее в работах [1, 5] были найдены наискорейшие по числу итераций вполне регулярные алгоритмы для задач булева программирования, а также в работе [7] были найдены наискорейшие вполне регулярные алгоритмы для решения задачи (1.4), использующие на каждой итерации некоторую конечную вполне регулярную совокупность неравенств. В данной же работе рассматриваются алгоритмы, использующие на каждой итерации лишь по одному отсечению из Г(ж, Р), и доказывается, что из всех таких алгоритмов наискорейшим по числу итераций является алгоритм, основанный на отсечении 7*. Для этого воспользуемся леммой.
Лемма 4.1. Пусть и, v не являются Ь-эквивалентными и и v. Если 7*(v,P) отсекает точку и, тод*(г,Р) не сильнее, че.мд*(и,Р). Доказательство. Так как точка и отсекается 7*(с,Р), то r/(u,v) < <p(v). Действительно, если r/(u,v) > <p(v), то точки и иг P-эквивалентны, а если T)(u,v) = <p(v), то uv(v) < , а это значит, что
(7*(г,Р),и) - 7*(г,Р) = Y 7*(ui~vi)+ Y n(u^-Vi) + -f*v{v)(uv{v)-
i£Jo(v,P) iEJ+(v,P)
— |rv7)_| j E 0, т. e. точка и сохраняется отсечением 7*(v,P).
Очевидно, что r/(u,v) ^ J_(c,P).
Пусть r/(u,v) G J0(v,P) U J+(v,P) и < —1. Тогда, используя
формулы (4.1),(4.2), получаем
+
(7*(г,Р),и) - 7*(г,Р) = Y n{Ut-Vi)+rn(u,v){Uv(u,v)-Vv{U)V)) +
Y ~ Vt) + Mv)(utC) - v'Ap) = (Ко - Ko)j) П (bl~
ieJo{u,v)
^Н"1)(^1)(и,») P'q(u,v)) (^ip(v) |_^V(-u)J ^ ^ (^4 Pl6~^-)(Pi Pi)~\~
герМШ1М,г<Ду) ItP
pP^(v) (^4 Pi 1)( 1) T p(v) |ТсДг;)_|^ ^
ieE(u’v)
(hi Piт 1 )(bi Pi)тIthoJ ^
E
Cu’v)u.Jl{u ,v) A<
( E
геП(и’у)и jf11’
Д (bi - Vi + l)(bt - Vi) + 1 - Д (Ь; - щ + 1) j = 0.
I
leJ,
ri(u,p)
Равенство нулю имеет место в силу следующих выкладок.
Пусть J^{u’v) = {ji,. . . ,jp}. Тогда
X/ ]^[(Ь/-г;+1)(Ьг-щ) + 1 = bjp-Vjp + l + (bjp-Vjp+l)(bjp_1-Vjp_1) +
ieJZ{u’v)uJ^u’v) ,i<v(v) 'eJo
+ (bjP ~ vjp + l)(&jp-i - vjp-i + ^)(bjp-2 - Vjp_2) + ... + (bjp - vJp + 1 )(bJp_1 - v]p_t + 1) x x ... x (bjз — Vj3 + l)(6j2 — Uj2 + 1 ){bJ1 — v3l) = (bjp — vJp + 1)(Ь^_! — ^jp_! + 1 + rJp_1 + l)(6Jp_2—rJp_2) + .. .+(bJp_1— + Ujp_2 + 1) • • • (bj3—Vj3 + l)x
xibj2 ~ VJ2 + l)(bn - vn)) = Ц(Ь, ~Vl +
IEJq
Итак, точка u сохраняется отсечением 7* (с, Р), что противоречит условию леммы. Отсюда следует, что иди^ — > — 1.
Так как - целое, то иди^ - дробное. Значит, ц(и, v) = <p(u) < <p(v) и,
следовательно:
<p(u) G Jo(v, P) u J+(v, P);
J ^rj(u,v) 1 5
ТУУ.РЩ ЛД.Р);
Jt\v.P) = J0(u.Py.
J?U\v,P) = J+(u,P).
Остается показать, что если некоторая точка х £ Р отсекается неравенством 7*(с, Р), то она отсекается и неравенством у*(u, Р).
О < (7*(с,Р),ж)-7*(с,Р) = 7j(®j - Vj) + %{и)(хди) ~ V«)) +
jeJ0v’(“)(^,P)uJ^(“)
+ ^ ] 1j{xj ~ vj) T xip(v) ~ IthoJ (bip{v) ~ iTvloJ) ^
j€J0v(u)UJ^"),j<VH
X! n(b/-^ + 1)(®J-rJ) + (bv7)- |_IV(„)J) П (bi-vi + 1)(xv(u)-vv(u)) +
jeJ£{u)uJ${u) ieJJ0 ieJ£(u)
Э- £ 1 Э- + ) Yl{bi-vi + i)ix3-vi) \ P p(v)
jEJo{u)o.J^u) ,j<ip{v) leJZ
\b(p(v) |т<р(г>)] j (bl~ Vl-\-l)(bv(u) — vip(u) + 1) У ] JJ (bi-vi + l)x
yjfu) jeJ^u)uJ^u) ie4rJ^u)
X (xj Vj)xip(u) p(u)) T ^ ^ i.bl Щ + 1) X
j€JX{u)UJ*M,j«p{v)l€4
X (,Xj Vj) Т Х^^Д ^ V[ T 1) ^ ^bcp(u) |_^с£’(г|)_1 ^ X
iejfu)
x ^2 Д (bi - vi + l)(xj - + х,ди) - [иди)\ - l) +
jeJp{u)uJp{u) 1е.Р0г.Тфи)
“Ь (Ъ'-рО ~ ItHoJ) У ] 11 {bi ~ vi Т 1)(xj ~ vj) “1“ Xip(v) ~ IthoJ
3E.C(u)u.J^\j<v(v) 1еф
= (K(v) ~ lVv(v)\) П (bl-Vl + 1)(b*(U,P),X)-l*(U,P)-1) + ieJp(u)
+ (Ъ'-рО ~ ItHoJ) У у — vi A 1 ){xj ~ vj) + Xip(v) ~ ItHoJ ^ 0-
j€J0v(u)uJl(u)v«AC ^4
Следовательно,
b*(u,P),x) ~ ъ{и,Р) > i - ((bv(„) - Koj) П^-^ + 1)х
x(xj ~ vj) “i- x<p(v) — IthoJ) (^iy^o ~ IrnoJ) П (bi ~ vi p i)^ >
iejfu)
> 1 — (^(у<сО ~ ItHoJ) У у — vi A l)(^j ~ vj) A bip(v)~
je-C{u)u /eJ0J
“ K(oj) ((Xo)“Ko)j) П (bi-vi+i)) =1“( S Uto-V'+Dx
ieJ^u) 3eJ^u)иД<“>,j<vH /eJ0J
x - vi) + i) ( П {bi~vi + 1)) =1-1 = 0,
lEjfu)
так как по доказанному ранее
X! П(Ьг - г>г + i)(bj - Uj) + 1 = Ц (6/- гу + 1).
j€J0v(u)uJT(u),j<vHieJg' ieJo(u)
Лемма 4.2. Пусть X = {Tfc}jj.=1 - последовательность, порождаемая процессом А*, у £ Р - нецелочисленная точка и у У хр для некоторого р £ {1,. . . , t — 1}. Тогда любое отсечение у ыз Г(у,Р) отсекает не более одной точки хк, к > р.
Доказательство. От противного. Предположим, что отсечение у из Г(у, Р) отсекло точки ж9 и жг, р < q < г. По теореме 4.1 у не сильнее, чем у*(у,Р), значит у*(у,Р) отсекает точки ж9 и жг. Так как ж9 и жр не являются Р-эквивалентными и так как у >>- жр >>- ж9, то у и ж9 так же не являются L-эквивалентными. Тогда по лемме 4.1 7*(у, Р) не сильнее 7*(ж9, Р), но из условия теоремы мы знаем, что 7*(ж9, Р) не отсекает точку жг. Противоречие. ■
Теорема 4.2. Пусть О С Р. Для решения задачи (1-4) процессом А* потребуется итераций не больше, чем процессом А.
Доказательство. Действительно, отсечение, построенное по любой точке у, порожденной процессом А, отсекает, согласно леммы 4.2, не более одной точки последовательности X. Следовательно, процессу А потребуется итераций не меньше, чем процессу А*. Я
Литература
1. Заблоцкая О.А. О сравнении вполне регулярных алгоритмов отсечения // Управляемые системы. Новосибирск: ИМ СО АН СССР. Вып.25. 1984. С.68-74.
2. Колоколов А.А. Регулярные отсечения при решении задач целочисленной оптимизации. II Управляемые системы. Новосибирск: ИМ СО АН СССР. Вып.21. 1981. С.18-25.
3. Колоколов А.А. Методы дискретной оптимизации: Учебное пособие.
Омск: ОмГУ, 1984. 75 с.
4. Колоколов АХ.Метод оценочных разбиений в целочисленном программировании II Теория и программная реализация методов дискретной оптимизации. Киев: НК АН УССР, 1989. С.44-47.
5. Колоколов А.А. О наискорейшем алгоритме в одном классе регулярных процессов отсечения // Методы и программы решения оптимизационных задач на графах и сетях: Тез. докл. III Всесоюз. совещ. Ташкент - Новосибирск, 1984. 4.2 С.70.
6. Симанчев Р.Ю. О вполне регулярных отсечениях для задач целочисленной оптимизации II Управляемые системы. Новосибирск: ИМ СО АН СССР. Вып.30. 1990. С.61-71.
7. Симанчев Р.Ю. Сравнение вполне регулярных отсечений и алгоритмов // Методы решения и анализа задач дискретной оптимизации: Сб. науч. тр. Омск: ОмГУ, 1992. С.108-122.
8. Схрейвер А. Теория линейного и целочисленного программирования. Москва: Мир, 1991. Т.1. 340 с.