Учебная работа № 1459. Алгоритмы декомпозиции и перебора Lклассов для решения некоторых задач размещения
А.А. Колоколов, Т.В. Леванова, Институт информационных технологий и прикладной математики СО РАН
1.
В [1] описаны алгоритмы для решения частично целочисленных задач производственнотранспортного типа, основанные на идее декомпозиции Бендерса и метода направленного перебора. В данной работе предлагаются декомпозиционные алгоритмы для простейшей задачи размещения (ПЗР), задачи о pмедиане [2, 8] и некоторых других постановок, в которых наряду с отсечениями Бендерса для решения целочисленной подзадачи используется лексикографический перебор Lклассов [?]. Краткое сообщение о них имеется в [7].
Рассмотрим ПЗР в следующей постановке. Дано конечное множество пунктов возможного размещения предприятий и список клиентов. Предприятия производят однородный продукт в неограниченном количестве. Известны стоимости размещения предприятий в указанных пунктах и затраты на удовлетворение спроса каждого клиента. Требуется разместить предприятия и прикрепить к ним клиентов так, чтобы суммарные производственнотранспортные затраты были минимальны. Введем некоторые обозначения:
m число пунктов возможного размещения предприятий, i номер предприятия,
n число клиентов, j номер клиента,
ci стоимость размещения предприятия в пункте i;
tij затраты на удовлетворение спроса клиента j предприятием i (включающие издержки на производство и транспортировку);
xij часть всей продукции, которую необходимо доставить с предприятия i клиенту j;
Обозначим .
Мы используем следующую модель ПЗР:
![]() |
(1) |
![]() |
(2) |
![]() |
(3) |
![]() |
(4) |
2. Алгоритм перебора L классов
В [?] и других работах развивается подход к анализу и решению задач целочисленного программирования, основанный на регулярных разбиениях пространства Rn. Много результатов было получено с помощью Lразбиения.
Дадим определение Lразбиения. Пусть ,
символы лексикографического порядка. Точки
являются Lэквивалентными, если не существует
, такой что
1) Каждая точка
2) Если X ограниченное множество, то фактормножество X/L конечно.
3) L разбиение согласовано с лексикографическим порядком, то есть для любого X все элементы X/L могут быть линейно упорядочены следующим образом:
Если X ограничено, то X/L можно представить в виде
Рангом L класса V называется число
Алгоритм перебора L классов основан на идее поиска элемента L разбиения, непосредственно следующего за данным L классом в порядке лексикографического возрастания (для задачи на минимум).
Пусть
![]() ![]() |
(5) |
Соответствующая задача линейного программирования (ЛП) состоит в нахождении лексикографически минимального элемента множества M.
Пусть
В противном случае мы ищем V’ такой, что
Если не существует соседнего дробного Lкласса, то либо мы получаем оптимум задачи БП, либо приходим к выводу, что задача не имеет решения. Процесс является конечным, так как M ограничено.
Опишем алгоритм перебора L классов. Для простоты номер итерации будем опускать.
Шаг 0. Решаем исходную задачу ЛП. Если она не имеет решения или ее решение целочисленное, процесс завершается. В противном случае идем на шаг 1.
Шаг 1. Обозначим через
![]() ![]() |
Формируем задачу ЛП путем добавления к исходной ограничений
![]() ![]() |
Ее целевая функция
1)
2)
a) x’p < 1; если p=1, процесс завершается, в противном случае идем на шаг 2;
b) x’p = 1; идем на шаг 1.
Шаг 2. Находим максимальный номер
![]() ![]() |
ее целевая функция
1)
2)
a)
В результате работы алгоритма перебора Lклассов мы получаем лексикографически монотонную последовательность представителей Lклассов множества M/L.
3. Декомпозиционный алгоритм
После фиксирования всех переменных zi мы получаем из (1)(4) транспортную задачу T(z) и соответствующую ей двойственную задачу D(z) с переменными
![]() ![]() |
(6) |
![]() ![]() |
(7) |
![]() ![]() |
(8) |
Оптимальное решение этой задачи используется для построения отсечения Бендерса.
Опишем основные шаги декомпозиционного алгоритма.
Предварительный шаг. Формулируем исходную задачу целочисленного программирования P(1): найти лексикографически минимальное решение системы, состоящей из неравенства
![]() ![]() |
и нескольких ограничений вида
![]() ![]() |
(9) |
![]() ![]() |
Обозначим z(k), x(k) , v(k), u(k) оптимальные решения задач P(k), T(z(k)), D(z(k)) соответственно, и z(0), x(0) лучшее из известных решений задачи (1)(4) со значением целевой функции F(0).
Итерация k,
Шаг 1. Решаем задачу P(k) с помощью алгоритма перебора L классов. Если мы не можем получить допустимого решения, то F(k1) оптимальное значение целевой функции, z(k1) и x(k1) оптимальное решение исходной задачи. Процесс решения заканчивается.
Иначе переходим на шаг 2.
Шаг 2. Формулируем и решаем транспортную задачу T(z(k)). Эта задача имеет оптимальное решение x(k), более того, можно получить все
F(z(k), x(k)) < F(k1), тогда F(k1) заменяем на F(k) в системе отсечений задачи P(k).
Переходим на шаг 3.
Шаг 3. Строим следующее ограничение (отсечение Бендерса):
![]() ![]() |
(10) |
Переходим на шаг 4.
Шаг 4. Формулируем задачу P(k+1): найти z, которое является лексикографически минимальным целочисленным решением системы неравенств задачи P(k) и (10).
Переходим к следующей итерации (на шаг 1).
Мы можем построить систему (9), например, используя приближенные комбинаторные алгоритмы и отсечения Бендерса. На шаге 1 алгоритма можно использовать Lрегулярные отсечения. Вычислительный эксперимент показал эффективность применения таких гибридных вариантов алгоритма перебора Lклассов [3]. Нами разработаны и другие варианты перебора Lклассов.
Описанный алгоритм является конечным и дает оптимальное решение простейшей задачи размещения. На каждой итерации мы рассматриваем систему типа (9). Число дополнительных ограничений монотонно растет. Мощность системы ограничений можно ограничить и применить процедуру отбрасывания отсечений. Нами предложен также ряд приближенных алгоритмов.
Схема алгоритма в основном остается такой же для задачи о pмедиане и других постановок задач размещения. Специфика задач учитывается в процедурах решения производственной и транспортной задач.
Нами был реализован вариант описанного алгоритма, проведены экспериментальные исследования на IBM PC/AT486 для простейшей задачи размещения и задачи о pмедиане. В результате расчетов получены следующие данные:
число Lклассов, просматриваемых на каждой итерации, и их общее число;
количество использованных отсечений и время счета;
доля Lклассов, анализируемых после нахождения оптимального решения;
о поведении алгоритма на примерах с различным соотношением производственных и транспортных затрат и другие характеристики.
Список литературы
Бахтин А.Е., Колоколов А.А., Коробкова З.В. Дискретные задачи производственнотранспортного типа. Новосибирск: Наука, 1978.167с.
Береснев В.Л., Гимади Э.Х., Дементьев В.Т. Экстремальные задачи стандартизации. Новосибирск: Наука, 1978. 335 с.
Заикина Г.М., Колоколов А.А., Леванова Т.В. Экспериментальное сравнение некоторых методов целочисленного программирования // Методы решения и анализа задач дискретной оптимизации. Омск: ОмГУ, 1992. С. 2541.
Колоколов А.А. Применение регулярных разбиений в целочисленном программировании // Известия вузов. Математика. 1993. N.12. С. 1130.
Колоколов А.А. Регулярные разбиения в целочисленном программировании //Методы решения и анализа задач дискретной оптимизации. Омск: ОмГУ, 1992. С. 67 93.
Kolokolov A.A. On the Lstructure of the integer linear programming problems. //Proceedings of the 16th IFIPTC7 Conference on System Modelling and Optimization. Compiegne. France, 1993. P. 756760.
Kolokolov A.A., Levanova T.V. Some Lclass Enumeration Algorithms for Simple Plant Location Problem // Abstracts of International Conference on Operations Research. Berlin, 1994. P.75.
Krarup J., Pruzan P.M. The simple plant location problem: survey and synthesis // Europ. J. of Oper. Res., 1983. N.12. P. 3681.