Известия РАН. Теория и системы управления, 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

Полный текст (PDF)

Аннотация

Рассматривается классическая задача о назначении. Вводится третий индекс, который может характеризовать, например, локацию выполнения работ. Предлагается итеративный декомпозиционный алгоритм. На каждом шаге решается задача с тремя ограничениями из разных групп условий и с одной связывающей переменной. Решаются также тройки задач с одним ограничением и по определенным правилам меняются коэффициенты целевых функций. Монотонный по целевой функции итеративный процесс либо приходит к точному оптимуму исходной задачи, либо указывает на неединственность решения. В последнем случае простая процедура находит оптимумы.

Введение. Трехиндексная планарная задача о назначениях [1], как известно, относится к классу NP-полных задач [2, 3]. Для ее решения используется метод ветвей и границ [4], “жадные” и эвристические алгоритмы [5]. В [6] предложены улучшения приближенных алгоритмов переходом к вероятностной интерпретации. В данной работе применяется метод последовательной модификации целевой функции [79] для решения планарной трехиндексной задачи о назначениях. Алгоритм находит точное решение, и численные эксперименты дают полиномиальную относительно размерности исходной задачи временную оценку.

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.4)
${{x}_{{ijk}}} \in \left\{ {0,1} \right\},\quad i,j,k = \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 задач:

(2.1)
$\sum\limits_{i = 1}^n \,\frac{{{{c}_{{ijk}}}}}{3}{{x}_{{ijk}}} \to min$
при ограничениях (1.1), (1.4). Вторые n2 задач:
(2.2)
$\sum\limits_{j = 1}^n \,\frac{{{{c}_{{ijk}}}}}{3}{{x}_{{ijk}}} \to min$
при ограничениях (1.2), (1.4). Третьи n2 задач:
(2.3)
$\sum\limits_{k = 1}^n \,\frac{{{{c}_{{ijk}}}}}{3}{{x}_{{ijk}}} \to min$
при ограничениях (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.4)
$\sum\limits_{i = 1}^n \,{{x}_{{i11}}} = 1,$
(2.5)
$\sum\limits_{j = 1}^n \,{{x}_{{1j1}}} = 1,$
(2.6)
$\sum\limits_{k = 1}^n \,{{x}_{{11k}}} = 1,$
(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). Обозначим:

${{M}_{1}} = \mathop {max}\limits_{i \ne 1} \frac{{{{c}_{{i11}}}}}{3},\quad {{M}_{2}} = \mathop {max}\limits_{j \ne 1} \frac{{{{c}_{{1j1}}}}}{3},\quad {{M}_{3}} = \mathop {max}\limits_{k \ne 1} \frac{{{{c}_{{11k}}}}}{3}.$

Могут иметь место три случая:

(а) ${{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) соответственно. Для этого достаточно в случае (а) исходя из равенства

${{c}_{{111}}} = {{M}_{1}} + {{M}_{2}} + {{M}_{3}} - \delta ,\quad \delta > 0,$
в ограничении (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 исходя из равенства
${{c}_{{111}}} = {{M}_{1}} + {{M}_{2}} + {{M}_{3}} + \gamma ,\quad \gamma > 0,$
в ограничении (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. В таблице дана длительность вычислений в зависимости от размерности задачи.

Таблица.

Зависимость времени поиска решения от размерности задачи

Размерность 21 26 31 36 41 46 51 56
Время, мин 0.5 1.5 3.5 11 24 60 147 192

Аппроксимационная формула зависимости времени расчета в минутах при коэффициенте корреляции 0.98 имеет вид $T = 1.6 \times {{10}^{{ - 9}}}{{n}^{{6.35}}}$.

Заключение. Итак, итеративный алгоритм находит точное решение трехиндексной задачи о назначении. При этом имеет место полиномиальный рост времени решения в зависимости от размерности исходной задачи. Конструктивно алгоритм распространяется на случай любого количества индексов. Тогда на каждом шаге итеративного процесса решается промежуточная задача с количеством ограничений, которое равно числу исходных индексов. Детальный анализ таких обобщений представляет интерес для дальнейших исследований.

Список литературы

  1. Burkard R. Assignment Problems / Rainer Burkard, Mauro Dell’Amico, Silvano Martello – Society for Industrial and Applied Mathematics. Philadelphia, 2009. 382 c.

  2. Frieze A.M. Complexity of a 3-dimensional Assignment Problem // European J. Operational Research. 1983. V. 13. P. 161–164.

  3. 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.

  4. Vlach M. Branch and Bound Method for the Three-index Assignment Problem // Ekonomicko-Matematicky Obzor. 1967. V. 3. P. 181–191.

  5. Гольштейн Е.Г., Юдин Д.Б. Задачи линейного программирования транспортного типа. М.: Наука, 1969. 382 с.

  6. Медведев С.Н. Адаптивные алгоритмы решения трехиндексных задач о назначениях // Современные методы прикладной математики, теории управления и компьютерных технологий: Сб. тр. VI Междунар. конф. Воронеж: Воронеж. гос. ун-т, 2013. С. 153–156.

  7. Тизик А.П., Цурков В.И. Метод последовательной модификации функционала для решения транспортной задачи // АиТ. 2012. № 1. С. 148–158.

  8. Кузовлев Д.И., Тизик А.П., Тресков Ю.П. Метод последовательных изменений параметров функционала при решении задачи о назначении // Изв. РАН. ТиСУ. 2011. № 6. С. 67–78.

  9. Кузовлев Д.И., Тизик А.П., Тресков Ю.П. Итеративный алгоритм для задачи о назначении // Технические науки: теория и практика: материалы междунар. заоч. науч. конф. Чита: Молодой ученый, 2012. С. 41–43.

Дополнительные материалы отсутствуют.