МАТЕМАТИКА
Вестн. Ом. ун-та. 2010. № 4. С. 24-31.
УДК 519.8
А.А. Колоколов, Т.В. Леванова, А.С. Федоренко
Омский филиал Института математики им С. А. Соболева СО РАН Омский государственный университет им. Ф. М. Достоевского
ИССЛЕДОВАНИЕ ДЕКОМПОЗИЦИОННОГО ПОДХОДА ДЛЯ ДВУХСТАДИЙНОЙ ЗАДАЧИ РАЗМЕЩЕНИЯ*
Рассматривается двухстадийная задача размещения предприятий, в которой известны множество клиентов и пункты возможного размещения предприятий нижнего и верхнего уровня (уровни производства и обслуживания). Необходимо разместить предприятия и обслужить клиентов с наименьшими затратами при соблюдении ряда ограничений. Исследуются свойства математических моделей и возможности применения метода декомпозиции Бендерса к решению данной задачи. В рамках указанного подхода предлагаются алгоритмы решения, приводятся результаты экспериментальных исследований.
Ключевые слова: исследование операций, дискретная оптимизация, целочисленное программирование, задачи размещения, декомпозиция Бендерса, перебор /.-классов.
Задачи оптимального размещения предприятий имеют многочисленные приложения, возникающие при планировании развития производства, проектировании сетей обслуживания, в стандартизации и других областях [1-3]. Многие из них могут быть сформулированы следующим образом. Даны пункты возможного размещения предприятий и множество клиентов, которые должны быть обслужены. Требуется открыть предприятия в некоторых из заданных пунктов и прикрепить к ним клиентов таким образом, чтобы максимизировать суммарный доход от обслуживания или минимизировать затраты. Под обслуживанием может пониматься, например, транспортировка продукции от пунктов производства к пунктам потребления. В качестве предприятий могут выступать объекты, удовлетворяющие спрос в продукции, услугах и т. д. Выбор пунктов для размещения предприятий и распределение между ними клиентов зависит от имеющихся ограничений, в частности, максимального числа обслуживающих предприятий или затрат на их открытие.
Значительное внимание уделяется простейшей задаче размещения, задаче о р-медиане, задаче с ограничениями на объемы производства, динамическим и двухуровневым задачам размещения предприятий (см., например, [4-11]).
В моделях целочисленного программирования для задач оптимального размещения предприятий содержатся переменные открытия предприятий и переменные прикрепления клиентов. Благодаря тако-
* Работа выполнена при финансовой поддержке РФФИ № 10-01-00598
© А.А. Колоколов, Т.В. Леванова, А.С. Федоренко, 2010
му естественному разделению широко применяются декомпозиционные алгоритмы, в том числе метод декомпозиции Бендерса [12, 13]. Хорошие результаты показывают гибридные алгоритмы, в которых комбинируются различные подходы к решению задач. В ряде работ метод декомпозиции используется в сочетании с другими подходами (например, со схемой Балаша, перебором Ь-классов). Интересные результаты получены при реализации этого метода для простейшей задачи размещения и задачи о р-медиане [1, 14-16].
Данная работа посвящена применению декомпозиции Бендерса для двухстадийной задачи размещения предприятий. Изучены свойства математических моделей указанной задачи, построены и реализованы декомпозиционные алгоритмы её решения, приведены результаты вычислительного эксперимента.
1. Постановка задачи
Рассматривается двухстадийная задача размещения в следующей постановке [8]. Имеются предприятия, выпускающие некоторую продукцию, и её потребители. Предприятия делятся на два множества, отражающие стадии производства продукции (нижний уровень) и её реализации (верхний уровень), причём каждое предприятие верхнего уровня связано с несколькими предприятиями нижнего уровня. В удовлетворении спроса потребителей участвуют лишь предприятия верхнего уровня. Предполагается, что они могут обслуживать любое количество потребителей. Потребитель же должен обслуживаться лишь одним предприятием. Предприятие верхнего уровня считается открытым, если таковыми являются все связанные с ним предприятия нижнего уровня.
Заданы стоимости открытия предприятий, известны затраты на удовлетворение спроса каждого потребителя предприятиями верхнего уровня. Требуется найти набор предприятий верхнего и нижнего уровня, суммарные затраты на открытие которых и удовлетворение спроса всех потребителей минимальны.
Введем следующие обозначения:
/ = |1, ...,да] - множество номеров
предприятий верхнего уровня;
£ = {1, - множество номеров
предприятий нижнего уровня;
J = - множество номеров по-
требителей;
б/ > 0 - стоимость открытия предприятия / верхнего уровня, / е /;
С[ > 0 - стоимость открытия предприятия / нижнего уровня, / е £ ;
С - матрица производственных связей; величина <£п = 1, если предприятия / и / связаны, в противном случае gil = 0,
tij - стоимость обслуживания потребителя j предприятием /', / е / , / Е ./ .
Введем булевы переменные г : Г = 1, если предприятие / верхнего уровня открыто, иначе г = 0 , / е / . Аналогично
определяются булевы переменные У] для предприятий нижнего уровня, /е!. Кроме ТОГО, Ху = 1, если предприятие / удовлетворяет спрос потребителя j , Ху = 0 в противном случае, / е /, / се ./ .
С использованием введенных обозначений модель целочисленного линейного программирования (ЦАП) двухстадийной задачи размещения (обозначим её М1) может быть записана следующим образом:
Р У, Х) = £ С1У1 +£'+
1еЬ ге/
+ЕТ, 1г,Хг, (1)
при условиях
£ху =1,уе./, (2)
Zl>XlJ,ІGIJ GJ, (3)
(4)
хг>, у1, zi е {0,1}, / е /, у е./, / е £. (5)
Целевая функция отражает суммарные затраты на открытие предприятий верхнего и нижнего уровней и удовлетворение спроса потребителей. Равенства (2) обеспечивают удовлетворение спроса каждого потребителя. Условия (3) отвечают за то, чтобы потребителей обслуживали
только открытые предприятия верхнего уровня. Неравенства (4) гарантируют, что если предприятия верхнего уровня открыты, то должны быть открыты и связанные с ними предприятия нижнего уровня.
В [8] отмечено, что в сформулированной задаче условия (3) могут быть заменены на неравенства
(б)
без изменения множества оптимальных решений. Таким образом, мы получаем другую модель целочисленного линейного программирования, (1)-(3), (5), (6), обозначим (М2).
При некоторых значениях исходных данных двухстадийная задача преобразуется в простейшую задачу размещения (ПЗР). Существует несколько способов сведения двухстадийной задачи к простейшей. Приведем один из них. Для этого используем единичную матрицу связей С , т. е.
ёи = 1 ,/ = /,/ е /,/ е £.
В этом случае получается, что каждое предприятие верхнего уровня связано с единственным предприятием нижнего уровня. Причем не существует двух предприятий верхнего уровня, связанных с одним и тем же предприятием нижнего уровня. В результате, пару из предприятий верхнего и нижнего уровня можно рассматривать как одно предприятие со стоимостью открытия, равной сумме стоимостей открытия предприятий верхнего и нижнего уровней.
Таким образом, некоторые результаты, полученные для ПЗР, справедливы и для двухстадийной задачи размещения.
В дальнейшем для исследования моделей нам потребуются следующие ограничения для переменных задачи:
Ху > 0,1 >уг> 0,21 > 0,1 е /,у е У,/ е Ь. (7)
Под многогранником задачи (1)-(5) будем понимать множество, определяемое системой ограничений (2)-(4) и условиями
(7).
Обозначим через РМ1 многогранник задачи (1)-(5), РМ2 - многогранник, соответствующий М2; БМ1, БМ2 - множества допустимых решений этих задач соответственно.
Нами исследовалось соотношение между многогранниками описанных моделей ЦЛП.
Утверждение 1. Для допустимых решений моделей ЦЛП двухстадийной задачи размещения предприятий имеет место соотношение 1)М 1 с: 1)М 2 .
Доказательство. Если (г, х) е 1)М 1 , то условия (2), (3), (5) очевидно выполнены. Остается доказать, что неравенство
(6) также имеет место. Докажем от противного, предполагая, что (6) не выполняется для некоторого решения (х, у, г) . Это
означает, что существуют /:| £ /,, / 0 е /,
j0&J, для которых д = 0 и = 1.
Тогда X =1 и 2 , =1, т. е. предприятие
км 'о'о
с номером /0 участвует в удовлетворении спроса клиента _/0. Из условия (3) следует, что для этого необходимо открыть предприятие /0 верхнего уровня, т. е. . = 1. Из (4) вытекает соотношение у, >2 г = 1, следовательно, у, = 1. По-
^ *о ° ЧЗо Ч у 1о
лучаем противоречие с предположением у^ = 0 . Утверждение доказано. •
Матрицу С , которая содержит нулевые элементы, будем называть неполной. Нами в данной работе установлено, что для двухстадийной задачи размещения с такой матрицей связей С имеет место БМ1 Ф /Ж 2 .
Кроме того, нетрудно привести пример двухстадийной задачи размещения, показывающий, что многогранники РМ1 и РМ2 не содержатся один в другом.
2. Метод декомпозиции Бендерса
В основе рассматриваемого метода решения задач частично целочисленного линейного программирования лежит декомпозиция исходной задачи на две подзадачи меньшей размерности [12]. В одной из них представлены только целочисленные переменные (задача ЦП), а в другой - непрерывные (задача АП). Допустимая область целочисленной задачи постепенно сужается путем добавления новых ограничений (отсечений). Задача АП служит для порождения новых ограничений и проверки оптимальности решения задачи ЦП.
В данном разделе предлагается одна из возможных реализаций декомпозиционного подхода применительно к двухстадийной задаче размещения. Её особенностью является наличие производственных планов двух видов: векторы г и у открытия предприятий верхнего и нижнего уровней. В связи с этим возможно проведение декомпозиции несколькими способами, фиксируя, например, переменные г ж у или только г . При этом формируются различные производственные задачи, задачи АП и, как следствие, различные отсечения Вендерса. В силу специфики рассматриваемой задачи в алгоритме используются только линейные неравенства, предназначенные для улучшения рекорда целевой функции, аналогичные отсечениям Вендерса первого типа [17].
Опишем один из вариантов декомпозиции на примере модели М1. В этом варианте задача целочисленного линейного программирования состоит в отыскании вектора г , удовлетворяющего условиям
Гг0Г=\--;Т, (8)
Г,. е{0,1 },/'£/,
где (8) - некоторые отсечения, построенные ранее, т - их число.
Фиксируя значения переменных г, являющихся решением задачи ЦП, получим соответствующую задачу линейного программирования ЬР(г):
Хс/>’/+Х1лл^тт (9)
1^Ь _/Е</
при условиях
1л =ие-л /е/ (10)
X. < Г , / (Е 1, / с ./ , *7 г ^ (11)
(12)
Я <1,/е£, (13)
х > 0, / е/, / е/ . (14)
Для ЬР(г) строим двойственную задачу ОМ-.
^тах
1^1 1^1, 1^1, при условиях
2>17-5г <сг,/е£,
vij,wll,sl>0,ieIJeJ,leL.
Заметим, что задача (9)-(14) распадается на две непересекающиеся по переменным подзадачи. Первая задача ЬР1 с переменными X:
гь/ jьJ
при условиях
гь/
X,. < Г , / £ /, /' £ ./ ,
г] г ■> ^
х > О А е /, / е А.
Вторая задача ЬР2 с переменными у :
1<=Ь
при условиях
Уг ^ £ Л7
у1<\1&ь, у1 > 0,/ё1.
Задачу О(г), двойственную к (9)-(12), также можно разбить на две непересекающиеся подзадачи. Первая задача Б1 с переменными и и V имеет вид:
->тах
при условиях
у. > 0, / е /, / е ./.
Вторая задача 02 с переменными :
->тах
1^1,
при условиях
2>17-5г <с„/е/,,
14^, 5г > О
Нетрудно проверить, что приведённые выше подзадачи Л>1, 02 будут двойственными к и ЬР2.
Оптимальные решения двойственной задачи можно найти различными способами, например, как указано ниже в утверждениях 2 и 3.
Утверждение 2. Если известно некоторое оптимальное решение X задачи ЬР1, то оптимальные решения двойствен-
ной задачи Б1 можно найти, используя правила:
"
если х. = 1:
у '
"шах{0,м; если = О,
О, иначе;
У.
Доказательство. Сначала покажем, что указанное решение двойственной задачи является допустимым.
Если X. = 1, то
У
=^-тах{°Л-^ = ^-0 = ^
Если х. = 0 , то
У
и] - = и] -тах{0,м; .
Рассмотрим значения
и]. -шах{0,м;
1)если и < ^ , то
3 У
и. - шах{0, и . - tij} = и].-0 = и]. < tij;
2) если и. > ^ , то
и, - тах {0,п, -1} = п, -и, +^. = .
] ] У ] ] У У
В обоих случаях рассматриваемое решение является допустимым.
Покажем, что значения целевых функций прямой и двойственных задач совпадают. Для прямой задачи ЬР1:
ЕЕ'х Е Ьг
1Ь1 ]и (г,.;>{(!,у)|^=1}
Для двойственной задачи В1 имеем:
построению. Рассмотрим выполнение условия ^ И’(/ — .V, < С,, / е Л задачи И2. Если
У] = 1, то имеем ^ И’(/ — .V, = С[ < С[ . В случае у1 = О
І'—І
получаем
=°<сг.
Допустимость доказана. Покажем, что решение оптимально. Введём обозначения:
А = и е £ I я = и, // = {/ е / | gгlzг = 1} .
Сравним значения целевых функций прямой и двойственной задач. Для целевой функции задачи ЬР2 имеет место:
ЕСЛ =^с
ІєЬ
■
Для задачи Б2 выполняется
~Е^ = ЕЕ ^ =Ес/ •
ге/ /е./^ IЕ^ /е^
Отсюда вытекает, что решение оптимально. Утверждение доказано. •
Опишем более подробно декомпозиционный алгоритм для модели М1. Введём
обозначения: Р('к> - производственная за-
,(Ю
(к)
множество - оптималь-
дача на /с-й итерации, её допустимых решений, г ное решение; ЬР(г^) - соответствующая
задача линейного программирования,
/ (к) (к)\
(_у , X ) - её оптимальное решение;
- двойственная к ЬР(уг(~к>') задача;
F(0)
V и -'Т'Т':
начальное значение рекорда целе-
(к)
II = ЕМУ = 2>„1 Ху = 1} . вой функции, /' - его значение на /с-й
/
уьУ гь/ уьУ уьУ г,у
Отсюда вытекает, что решение оптимально. Утверждение доказано. •
Утверждение 3. Если известно некоторое оптимальное решение _у задачи ЬР2, то оптимальные решения двойственной задачи Б2 можно найти, используя следующие правила:
я, =0;
Г с„ если ъщтт{к \у1=\,п ёыгк = 1}, [0, иначе;
Доказательство. Покажем, что решение двойственной задачи, полученной по такому правилу, является допустимым. Двойственные оценки неотрицательны по
итерации.
Декомпозиционный алгоритм
Шаг О. (Предварительный шаг.) Полагаем начальное значение рекорда
= +оо . Формулируем исходную задачу
Е>(1)
целочисленного программирования г : найти лексикографически максимальную
точку множества СУ', которое определяется системой:
Е^ ~Угъг = !,■■■,*■, (15)
г,. е{0,1
Неравенства (15) могут быть получены на основе некоторых эвристик на более раннем этапе, Т - число таких неравенств.
Итерация к,к> 1.
Шаг 1. Решаем задачу Р(к> с помощью алгоритма перебора Ь-классов. Если она неразрешима, то производственнотранспортный план, на котором достига-
ЕГ-(Лг-1)
ется рекорд Г , является оптимальным решением исходной задачи. Процесс решения завершается.
ПТаг 2. Формулируем и решаем задачу
линейного программирования 1,Р(г'к>).
Вычисляем
Р(к) = тт{р(к~1\р{г(к\у(к\х(к))}.
Если Р^ < Р(1с 1>, то тогда Р(1с 1> за-
7(к-1)
(к-1)
меняем на Р^ в системе отсечении задачи Р(к}. Для задачи РР{2к)) строим
двойственную 1)(2 к)). Решая её, находим оптимальные значения двойственных пе-
ременных н:к>, Vі к),
Шаг 3. Строим следующее неравенство (отсечение Бендерса):
ї-і
<
(к)
]<=^
1ь1
(16)
)(к+1) .
Шаг 4. Формулируем задачу / найти г , который является лексикографически максимальной точкой множест-
обозначено удовлетворяю-
ва О , где через О
множество точек из , щих (16).
Переходим к следующей итерации (на шаг 1).
Так как множество О1'0'1 ограничено, то алгоритм за конечное число шагов найдёт оптимальное решение.
В отсечении (16) можно перейти от строгого неравенства к нестрогому, уменьшив правую часть на достаточно малую величину £ > О . В случае целочисленных исходных данных можно использовать £ = 1 .
С увеличением числа итераций количество ограничений производственной задачи монотонно растет, скорость алгоритма снижается, накапливаются ошибки округления. Чтобы избежать этого, можно зафиксировать максимальное число неравенств, которое содержит система (15). Добавляя к ней новое отсечение, будем отбрасывать, например, самое «старое», не меняя её размерности. При этом вероятна
потеря некоторой информации, полученной на предыдущих итерациях, и может быть восстановлена часть уже исключённых точек многогранника задачи. Однако, если вести направленный перебор точек (в частности, лексикографический перебор Ь-классов [14]), то отбрасывание отсечений не приведёт к их повторной проверке и, следовательно, сделает невозможным зацикливание процесса.
Для анализа работы алгоритма важными являются оценки числа его итераций. Обсуждение этого вопроса содержится в следующем разделе.
3. Оценка числа итераций для алгоритмов с отсечениями Бендерса
В этом разделе рассматривается описанный выше алгоритм декомпозиции с отсечениями Бендерса. Одним из важных понятий при анализе алгоритмов является глубина отсечений [16]. Глубиной отсечения (16) называется количество целочисленных точек, исключаемых им из множества £2 .
Исключение большего числа точек может привести к ускорению поиска оптимального решения.
Положим Р
предприятии крытых предприятий.
множество закрытых множество от-
/1=/\/0 -
Несложно прове-
рить, что ограничение вида ^
г,. <
исключает из множества допустимых решений только точку, по которой оно построено при лексикографическом порядке построения решений.
Приведём пример задачи, трудной для декомпозиционного алгоритма с отсечениями Бендерса с точки зрения глубины отсечений. Рассмотрим простейшую задачу размещения со следующей матри-
цей транспортных затрат:
ґч б -
Т = <2 q ••• б
.2 б - Я у
где Q > q >0 . Вектор стоимости открытия предприятия с = (() - q,..., () - q). При этом |/| = |./| = II. Обозначим через 0 семейство задач с такими матрицами.
Утверждение 4. Для семейства 0 простейших задач размещения предприятий глубина любого из порождаемых в процессе решения отсечения равна 1.
Доказательство. Рассмотрим значение целевой функции для произвольного решения г , в котором открыто р предприятий, обозначим его г(р). Значение целевой функции для произвольного вектора г(р) будет постоянным:
х) = р-(0~ч)+рч+
+(п-р)<2 = п().
Отсечение Бендерса для ПЗР имеет следующий вид [14]:
^1 jt=J jt=J
Задача линейного программирования будет аналогична ЬР1, оптимальные значения двойственных оценок найдём по формулам
[ если у е 1Х,
{<2, в противном случае.
Ш~д, если / е/0,_/' = /,
[О, в противном случае.
Рассмотрим правую часть отсечения.
= рс+рч+(п~р)0-рч-
-(п~р)() = рс = р((2-4).
Левую часть можно представить в виде двух слагаемых. В первом слагаемом суммирование будет вестись по открытым, а во втором - по остальным предприятиям.
ІЬІ jt=J
= 2>.- -1л)*.- +2>.- -1>У>г;
ui =
vv =
isL
S (“ S Vy И =H(Q-V- °)2г =
it=L
it=L
Е (с.■ - Е </Ж- =0.
гь/0
С зачетом приведенных рассуждений отсечение Бендерса выглядит следующим образом:
Е(б_?)г.- <р-((2~у)
ш.
или, если разделить обе части неравенства на (Q — q), получим
Ц2г <Р-
Zfci1
Учитывая лексикографически монотонный порядок перебора решений z('k>, отсекается лишь рассматриваемая точка. Утверждение доказано. •
Получили, что алгоритм на каждой итерации отсекает лишь одну точку текущего множества Q' ,i ;i. Таким образом, для простейшей задачи размещения, а следовательно, и для двухстадийной задачи размещения предприятий построено семейство задач, сложных для алгоритма декомпозиции Бендерса.
Предложенный алгоритм, а также его модификации были реализованы в виде комплекса программ. Проведён вычислительный эксперимент на различных сериях тестовых примеров, в том числе из известной библиотеки «Дискретные задачи размещения» (http: //math.nsc.ru/AP/ benchmarks/). На ряде задач алгоритм показал преимущество перед схемами, построенными на основе метода ветвей и границ. В настоящее время выполняется анализ экспериментальных данных с точки зрения глубины отсечений, мощности используемой системы ограничений, времени нахождения оптимума и др. Представляется перспективным сочетание методов приближённого решения с декомпозиционной схемой. Большого внимания заслуживает дальнейшее развитие исследуемого подхода для решения многостадийной задачи размещения в направлении применения различных вариантов декомпозиции и других математических моделей рассматриваемой задачи.
ЛИТЕРАТУРА
[1] Бахтин А. Е., Колоколов А. А., Коробкова 3. В. Дискретные задачи производственно-транспортного типа. Новосибирск: Наука, 1978. 160 с.
[2] Береснев В. Л., Гимади Э. X., Дементьев В. Т. Экстремальные задачи стандартизации. Новосибирск, 1978. 335 с.
[3] Cornuejols G., Fisher М. L, Nemhauser G. L. Location of Bank Accounts to Optimize Float: An Analytic Study of Exact and Approximate Algorithms // Management Science. 1977. Vol. 23. P. 789-810.
[4] Krarup J., Pruzan P. M. The simple plant location
problem: survay and synthesis // European J. Oper. Res. 1983. № 12. P. 36-81.
[5] Sridharan R. The capacitated plant location problem // European Journal of Operational Research. 1995. Vol. 87. P. 203-213.
[6] Discrete Location Theory / Ed. by Pitu B. Mir-chandani and Richard L. Franscis, by John Wiley and Sons, Inc. 1990. 576 p.
[7] Дементьев В. Т., Ерзин А. И., Ларин Р. М., Шамардин Ю. В. Задачи оптимизации иерархических структур. Новосибирск : Изд-во Ново-сиб. ун-та, 1996. 167 с.
[8] Береснев В. Л. Дискретные задачи размещения и полиномы от булевых переменных. Новосибирск : Изд-во Ин-та математики, 2005. 450 с.
[9] Гоишухин В. П. Полиномиальность в простейшей задаче размещения. Препринт ЦЭМИ АН СССР. М. : 1987. 64 с.
[10] Леванова Т. В. Решение некоторых задач размещения на информационно-вычислительной сети // Информационные технологии и радиосети (ИНФОРАДИО'96) : материалы Между-нар. науч.-практ. конф. Новосибирск, 1996. С. 44—47.
[11] Васильев И. Л., Климентова К. Б., Кочетов Ю. А. Новые нижние оценки для задачи размещения
с предпочтениями клиентов // Журнал вычислительной математики и математической физики. 2009. Т. 49. № 6. С. 1055-1066.
[12] Benders J. F. Partitioning Procedures for Solving Mixed-variables Programming Problems // Nu-mer. Math. 1962. 4. № 3. P. 238-252.
[13] Magnanti T. L., Wong R. T. Accelerating Benders Decomposition: Algorithmic Enhancement and Model Selection Criteria // Oper. Res. 1981. Vol. 29. 3. P. 464-484.
[14] Колоколов А. А., Леванова Т. В. Алгоритмы декомпозиции и перебора /.-классов для решения некоторых задач размещения // Вестник Омского ун-та. Омск : ОмГУ, 1996. № 1. С. 2123.
[15] Kolokolov A. A. Decomposition Algorithms for Solving of some Production-Transportation Problems // Triennal Symposium on Transportation Analysis II. Preprints. Vol. 1. Capri, Italy. 1994. P. 179-183.
[16] Колоколов А. А., Косарев H. А., Рубанова H. A. Исследование отсечений Бендерса в декомпозиционных алгоритмах решения некоторых задач размещения // Омский научный вестник. 2005. № 2(31). С. 76-80.
[17] Сергиенко И.В. Математические модели и методы решения задач дискретной оптимизации. Киев : Наукова думка, 1988. 472 с.