Известия РАН. Теория и системы управления, 2020, № 5, стр. 56-59
ДЕКОМПОЗИЦИОННЫЙ МЕТОД РЕШЕНИЯ ТРЕХИНДЕКСНОЙ ПЛАНАРНОЙ ЗАДАЧИ О НАЗНАЧЕНИЯХ
Л. Г. Думбадзе a, В. Ю. Леонов b, А. П. Тизик a, *, В. И. Цурков b, **
a Центральный научно-исследовательский ин-т связи
Москва, Россия
b Федеральный исследовательский центр “Информатика и управление” РАН
Москва, Россия
* E-mail: tizik_ap@mail.ru
** E-mail: tsurkov@ccas.ru
Поступила в редакцию 06.04.2020
После доработки 20.04.2020
Принята к публикации 25.05.2020
Аннотация
Рассматривается классическая задача о назначении. Вводится третий индекс, который может характеризовать, например, локацию выполнения работ. Предлагается итеративный декомпозиционный алгоритм. На каждом шаге решается задача с тремя ограничениями из разных групп условий и с одной связывающей переменной. Решаются также тройки задач с одним ограничением и по определенным правилам меняются коэффициенты целевых функций. Монотонный по целевой функции итеративный процесс либо приходит к точному оптимуму исходной задачи, либо указывает на неединственность решения. В последнем случае простая процедура находит оптимумы.
Введение. Трехиндексная планарная задача о назначениях [1], как известно, относится к классу NP-полных задач [2, 3]. Для ее решения используется метод ветвей и границ [4], “жадные” и эвристические алгоритмы [5]. В [6] предложены улучшения приближенных алгоритмов переходом к вероятностной интерпретации. В данной работе применяется метод последовательной модификации целевой функции [7–9] для решения планарной трехиндексной задачи о назначениях. Алгоритм находит точное решение, и численные эксперименты дают полиномиальную относительно размерности исходной задачи временную оценку.
1. Постановка задачи. Трехиндексная планарная задача о назначениях может быть записана в виде задачи линейного целочисленного программирования:
(1.1)
$\sum\limits_{i = 1}^n \,{{x}_{{ijk}}} = 1,\quad j = \overline {1,n} ,\quad k = \overline {1,n} ,$(1.2)
$\sum\limits_{j = 1}^n \,{{x}_{{ijk}}} = 1,\quad i = \overline {1,n} ,\quad k = \overline {1,n} ,$(1.3)
$\sum\limits_{k = 1}^n \,{{x}_{{ijk}}} = 1,\quad i = \overline {1,n} ,\quad j = \overline {1,n} ,$(1.5)
$\sum\limits_{i = 1}^n \,\sum\limits_{j = 1}^n \,\sum\limits_{k = 1}^n \,{{c}_{{ijk}}}{{x}_{{ijk}}} \to min.$2. Метод решения задачи. Для начала решим 3n2 задач с одним ограничением каждая. Первые n2 задач:
при ограничениях (1.1), (1.4). Вторые n2 задач: при ограничениях (1.2), (1.4). Третьи n2 задач: при ограничениях (1.3), (1.4). Все 3n2 задач вида (2.1)–(2.3) легко решаются поиском минимального коэффициента при переменных в соответствующих целевых функциях.Если в результате решения вышеупомянутых 3n2 задач значения переменных удовлетворяют ограничениям (1.1)–(1.3), то тем самым решена исходная задача (1.1)–(1.5). Сумма значений целевых функций в оптимальных решениях задач (2.1)–(2.3) будет значением целевой функции в оптимальном решении задачи (1.1)–(1.5). В противном случае будем говорить, что получено псевдорешение этой задачи. Заметим, что значение целевой функции псевдорешения не превосходит значения целевой функции искомого оптимального решения исходной задачи. Построим последовательность псевдорешений с монотонно возрастающими значениями целевых функций.
Для получения второго псевдорешения решим следующую задачу с тремя ограничениями:
(2.7)
${{c}_{{111}}}{{x}_{{111}}} + \sum\limits_{i = 2}^n \,\frac{{{{c}_{{i11}}}}}{3}{{x}_{{i11}}} + \sum\limits_{j = 2}^n \,\frac{{{{c}_{{1j1}}}}}{3}{{x}_{{1j1}}} + \sum\limits_{k = 2}^n \,\frac{{{{c}_{{11k}}}}}{3}{{x}_{{11k}}} \to min.$В этой задаче x111 – единственная общая переменная в ограничениях (2.4)–(2.6). Обозначим:
Могут иметь место три случая:
(а) ${{c}_{{111}}} < {{M}_{1}} + {{M}_{2}} + {{M}_{3}};$
(б) ${{c}_{{111}}} = {{M}_{1}} + {{M}_{2}} + {{M}_{3}};$
(в) ${{c}_{{111}}} > {{M}_{1}} + {{M}_{2}} + {{M}_{3}}.$
Если получен случай (а), то решением задачи (2.4)–(2.7) является ${{x}_{{111}}} = 1$, остальные переменные равны нулю. Если возник случай (б), то очевидно, что задача (2.4)–(2.7) имеет несколько оптимальных решений, которые могут быть описаны системой из трех линейных ограничений с участием x111. Если имеет место (в), то ${{x}_{{111}}} = 0$, а решение задачи (2.4)–(2.7) представляет собой объединение трех задач с ограничениями (2.4)–(2.6) соответственно при условии ${{x}_{{111}}} = 0$.
Решив задачу (2.4)–(2.7), преобразуем ее, сохраняя оптимальное решение, в три независимые задачи с ограничениями (2.4)–(2.6) соответственно. Для этого достаточно в случае (а) исходя из равенства
в ограничении (2.4) вместо ${{c}_{{111}}}{\text{/}}3$ записать ${{M}_{1}} - \delta {\text{/}}3$, в ограничении (2.5) вместо ${{c}_{{111}}}{\text{/}}3$ записать ${{M}_{2}} - \delta {\text{/}}3$, в ограничении (2.6) вместо ${{c}_{{111}}}{\text{/}}3$ записать ${{M}_{3}} - \delta {\text{/}}3$. В случае (б) новые коэффициенты при x111 запишутся следующим образом: в ограничении (2.4) будет M1, в ограничении (2.5) будет M2, в ограничении (2.6) будет M3. В случае (в) новые коэффициенты при x111 исходя из равенства в ограничении (2.4) будет ${{M}_{1}} + \gamma {\text{/}}3$, в ограничении (2.5) будет ${{M}_{2}} + \gamma {\text{/}}3$, в ограничении (2.6) будет ${{M}_{3}} + \gamma {\text{/}}3$.В итоге получим второе псевдорешение с возросшим, в общем случае, значением целевой функции. Решая циклически все n3 задач с тремя ограничениями, получаем последовательность псевдорешений с монотонно возрастающей целевой функцией, ограниченной сверху значением целевой функции в оптимальном решении исходной задачи (1.1)–(1.5). Имеет место следующая очевидная теорема.
Теорема 1. Если в предельном псевдорешении все задачи с одним ограничением имеют единственное решение, то тем самым получено оптимальное решение исходной задачи (1.1)–(1.5).
В случае неединственности решения в некоторых задачах с одним ограничением будем говорить, что имеет место вырождение. Заметим, что вся вышеописанная схема решения уже применялась для решения других задач в [8, 9] и там в случае вырождения требовались дополнительные конструкции алгоритма и дополнительные, возможно значительные, объемы вычислений.
Покажем, что для преодоления вырождения в задаче (1.1)–(1.5) не потребуются значительные дополнительные вычисления. Для этого сначала рассмотрим одну из задач с тремя ограничениями после окончания циклического процесса. Пусть в одном из трех уравнений имеет место вырождение с участием общей переменной. Тогда справедлива следующая теорема.
Теорема 2. В этом случае вырождение имеет место и в двух других уравнениях. Кроме того, во всех задачах с тремя ограничениями, где общей переменной является участвующая в вырождении в данной задаче, также будет иметь место вырождение.
Доказательство. Очевидно, что при решении данной задачи с тремя ограничениями имеет место случай (б), иначе равенства коэффициентов не было бы ни в одном из ограничений. Второе утверждение непосредственно следует из первого.
3. Включение переменных в решение при вырождении. Пусть при решении задачи с общей переменной ${{x}_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}}$ имеет место вырождение. Тогда кроме ${{x}_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}}$ в задаче с первым ограничением на включение в решение на равных претендуют ${{x}_{{{{i}_{1}}{{j}_{0}}{{k}_{0}}}}}$, ${{x}_{{{{i}_{2}}{{j}_{0}}{{k}_{0}}}}}$ и т.д. В задаче со вторым ограничением на включение в решение претендуют ${{x}_{{{{i}_{0}}{{j}_{1}}{{k}_{0}}}}}$, ${{x}_{{{{i}_{0}}{{j}_{2}}{{k}_{0}}}}}$ и т.д. В задаче с третьим ограничением на включение в решение претендуют ${{x}_{{{{i}_{0}}{{j}_{0}}{{k}_{1}}}}}$, ${{x}_{{{{i}_{0}}{{j}_{0}}{{k}_{2}}}}}$ и т.д. Для выделения одного оптимального решения поступим следующим образом. Выберем произвольное малое ε > 0 и уменьшим $c_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}^{1}$, $c_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}^{2}$ и $c_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}^{3}$ на ε/6. Тогда в рассматриваемой задаче с тремя ограничениями будет ${{x}_{{{{i}_{0}}{{j}_{0}}{{k}_{0}}}}} = 1$, а все остальные переменные равны нулю. Далее уменьшим $c_{{{{i}_{1}}{{j}_{0}}{{k}_{0}}}}^{1}$, $c_{{{{i}_{2}}{{j}_{0}}{{k}_{0}}}}^{1}$ и т.д., $c_{{{{i}_{0}}{{j}_{1}}{{k}_{0}}}}^{2}$, $c_{{{{i}_{0}}{{j}_{2}}{{k}_{0}}}}^{2}$ и т.д., $c_{{{{i}_{0}}{{j}_{0}}{{k}_{1}}}}^{3}$, $c_{{{{i}_{0}}{{j}_{0}}{{k}_{2}}}}^{3}$ и т.д. на ε/12. Это не изменит оптимального решения. Одновременно увеличим на ε/24 соответствующие коэффициенты в двух других уравнениях для каждой из этих переменных, что обеспечит им равенство нулю во всех уравнениях. При рассмотрении следующей переменной, участвующей в вырождении, ее коэффициенты уменьшаем на ε/12 и т.д. Заметим, что, не ограничивая общности, можно считать коэффициенты целевой функции (1.5) целыми числами и поэтому циклический процесс можно остановить, если модуль разности между претендентами меньше 1/n2.
4. Результаты численного эксперимента. На персональном компьютере (процессор Intel Core i7-2600, 3.40GHz) была решена серия тестовых задач. Коэффициенты целевой функции выбирались случайным образом в диапазоне от 200 до 500. В таблице дана длительность вычислений в зависимости от размерности задачи.
Аппроксимационная формула зависимости времени расчета в минутах при коэффициенте корреляции 0.98 имеет вид $T = 1.6 \times {{10}^{{ - 9}}}{{n}^{{6.35}}}$.
Заключение. Итак, итеративный алгоритм находит точное решение трехиндексной задачи о назначении. При этом имеет место полиномиальный рост времени решения в зависимости от размерности исходной задачи. Конструктивно алгоритм распространяется на случай любого количества индексов. Тогда на каждом шаге итеративного процесса решается промежуточная задача с количеством ограничений, которое равно числу исходных индексов. Детальный анализ таких обобщений представляет интерес для дальнейших исследований.
Список литературы
Burkard R. Assignment Problems / Rainer Burkard, Mauro Dell’Amico, Silvano Martello – Society for Industrial and Applied Mathematics. Philadelphia, 2009. 382 c.
Frieze A.M. Complexity of a 3-dimensional Assignment Problem // European J. Operational Research. 1983. V. 13. P. 161–164.
Fon-Der-Flaass D.G. Array of Distinct Representatives – a Very Simple NP-Complete Problem // Discrete Math. 1997. V. 171. № 1–3. P. 295–298.
Vlach M. Branch and Bound Method for the Three-index Assignment Problem // Ekonomicko-Matematicky Obzor. 1967. V. 3. P. 181–191.
Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. М.: Наука, 1969. 382 с.
Медведев С.Н. Адаптивные алгоритмы решения трехиндексных задач о назначениях // Современные методы прикладной математики, теории управления и компьютерных технологий: Сб. тр. VI Междунар. конф. Воронеж: Воронеж. гос. ун-т, 2013. С. 153–156.
Тизик А.П., Цурков В.И. Метод последовательной модификации функционала для решения транспортной задачи // АиТ. 2012. № 1. С. 148–158.
Кузовлев Д.И., Тизик А.П., Тресков Ю.П. Метод последовательных изменений параметров функционала при решении задачи о назначении // Изв. РАН. ТиСУ. 2011. № 6. С. 67–78.
Кузовлев Д.И., Тизик А.П., Тресков Ю.П. Итеративный алгоритм для задачи о назначении // Технические науки: теория и практика: материалы междунар. заоч. науч. конф. Чита: Молодой ученый, 2012. С. 41–43.
Дополнительные материалы отсутствуют.
Инструменты
Известия РАН. Теория и системы управления