УДК 519.854.2
МЕТОД СЕТЕВОГО ПРОГРАММИРОВАНИЯ О СИММЕТРИЧНОЙ ЗАДАЧЕ КОММИВОЯЖЕРА
И.В. Буркова
Институт проблем управления им. В.А. Трапезникова РАН, г. Москва
Сформулирована двойственная задача, состоящая в разбиении ограничений на две группы с соответствующим делением длин дуг на две части и решении двух полученных оценочных задач; сумма целевых функций оптимальных решений оценочных задач дает нижнюю оценку для исходной задачи. Решение оценочной задачи сведено к построению ¿-деревьев кратчайшей длины. Предложен новый способ получения нижних оценок для оценочных задач, в основе которого лежит построение дерева кратчайших путей. Показано, что построение ьдеревьев и дерева кратчайших путей для исходной матрицы расстояний не дает оптимального решения двойственной задачи.
ВВЕДЕНИЕ
Метод сетевого программирования [1] является достаточно универсальным инструментом решения или получения оценок в задачах дискретной оптимизации. Он применялся для точного решения задач о ранце, максимальном потоке, для получения оценок в задачах о камнях, о разрыве контуров, о покрытии двудольного графа и др.
Суть метода для линейных целевых функций заключается в разбиении исходной задачи на несколько подзадач с соответствующим делением коэффициентов целевой функции. Сумма значений целевых функций в оптимальных решениях этих подзадач дает оценку (нижнюю — в случае задачи на минимум) для исходной задачи. Если для каждой подзадачи имеется метод получения нижних оценок целевой функции, то сумма оценок всех подзадач также дает нижнюю оценку для исходной задачи. Задача поиска такого разбиения коэффициентов целевой функции, при котором сумма оценок подзадач максимальна, называется двойственной задачей. В статье рассматривается применение этого подхода к симметричной задаче коммивояжера.
1.ЗАДАЧА, ДВОЙСТВЕННАЯ ЗАДАЧЕ КОММИВОЯЖЕРА
Задан п + 1 вершинный граф с длинами дуг /.., которые интерпретируются как расстояние между городами i и j. Без ограничения общности можно считать все I.. 1 0. Требуется найти кратчайший гамильтонов контур (маршрут коммивояжера). Обозначим хУ = 1, если дуга (i, j) входит в маршрут, хУ = 0, в противном случае. Тогда задача сводится
У
к минимизации критерия
Ах) = X 1У ху
У
при ограничениях
X Ху = 1, V/,
X ху = 1
У
V/,
Ы . — ы. + пхУ < п — 1,
У У
(1)
(2) (3)
где ы{ 1 0; /, / = 1, 2, ..., п; / ф /. Условие (4) гарантирует получение гамильтонова контура [2]. Рас-
сматриваемая задача относится к ЖР-трудным [3]. Поэтому представляет интерес получение нижних оценок целевой функции.
Рассмотрим симметричную задачу коммивояжера, т. е. 1у = /.., V/, ].
Разобьем ограничения задачи на две группы. В одну группу включим ограничения (1) и (3), а во вторую — (2) и (3). Соответственно разделим на две части коэффициенты 1у, т. е. представим 1у в виде
1у = Ру + ^ Ру, д01 0, V/, }■
(5)
Рассмотрим две оценочные задачи.
Задача 1. Определить значения {Ху}, удовлетворяющие ограничениям (1) и (3) и минимизирующие критерий Р(х) = X Ру Ху..
у
Задача 2. Определить значения {Ху}, удовлетворяющие ограничениям (2) и (3) и минимизирующие критерий <0(х) = X Я у Ху.
Обозначим Ь{(р) (Ь2(я)) значение целевой функции в оптимальном решении первой (второй) задачи, р = {р»}, я = Ц..}.
В соответствии с основной теоремой [1], сумма
1,(р) + Х2(Я) = 1(р, Я) (5)
дает оценку снизу для исходной задачи коммивояжера. Таким образом, двойственная задача заключается в определении значений р и я, удовлетворяющих соотношению (4) и максимизирующих сумму (5).
2. РЕШЕНИЕ ОЦЕНОЧНЫХ ЗАДАЧ ДЛЯ СИММЕТРИЧНОЙ ЗАДАЧИ КОММИВОЯЖЕРА
Метод решения оценочных задач для симметричных матриц основан на понятии кратчайшего /-дерева [2].
Выбираем некоторую вершину /. Для подграфа без вершины / построим кратчайшее /-дерево Т, т. е. дерево кратчайшей длины 1(Т). Для этого пос-
1 2 3 4 5 6
1 — 2 2 3 3 3
2 2 1 1 1 3
3 2 1 — 3 3 3
4 3 1 3 — 3 3
5 3 1 3 3 1
6 3 3 3 3 1 -
Рис. 1. Матрица расстояний
Рис. 4. Разбиение графа (см. рис. 3) на подграфы
троим кратчайшее дерево на вершинах графа без вершины / и добавим к нему два кратчайших ребра, инцидентных вершине / [2].
Оценка снизу для каждой задачи определяется /-деревом, для которого длина 1(Т) максимальна.
Пример 1. Рассмотрим симметричную задачу из работы [2, § 3.5]. Матрица расстояний приведена на рис. 1.
В работе [2] оценка снизу определялась на основе 1-дерева, для которого 1(Т{) = 8. Однако для 2-дерева 1(Т2) = 11, что является достижимой
оценкой и, более того, определяющей оптимальный маршрут, представленный на рис. 2.
В данном случае оптимальное решение двойственной задачи Р = Ь = {1у}, 0 = 0. Однако это не всегда так, что показывает следующий пример. ♦ Пример 2. Рассмотрим граф, рис. 3. Оценка снизу определяется любым /-деревом, и 1(Т) = 9,
/ = 1, 6. Разобьем граф на 2 подграфа (рис. 4). Имеем для первого графа 1(Т3) = 9, а для второго 1(Т2) = 9. Оценка снизу равна 1(Т3) + 1(Т2) = 18, т. е. в два раза больше. Более того, она достижима. Оптимальный маршрут — (1, 2, 6, 5, 4, 3, 1). ♦
8
СОНТНШ 8С1БНСЕ8 № 4 • 2008
Рис. 6. Разбиение графа (см. рис. 5) на подграфы
Возникает вопрос, можно ли улучшить оценку, разбивая граф на более, чем 2 графа? Рассмотрим к матриц Р^ = 1, ..., к таких, что
I p = j Pij 1 0 V/, j.
(6)
Обозначим Ф(Р— значение целевой функции в решении ¿-й оценочной задачи. Очевидно, что сумма
Ф(Р) = I Ф(Рs)
(7)
определяет оценку снизу для исходной задачи. Двойственная задача заключается в определении
матриц Р^ = 1, к, максимизирующих сумму (7) при условии (6). ♦
Пример 3. Рассмотрим граф, рис. 5 (длины всех дуг, кроме указанных на рисунке, равны нулю, г > 0).
Разобьем граф на к = 3 графа, рис. 6.
1 2 2 Имеем: Ф(Р ) = Ф(Р ) = Ф(Р ) = г, оценка снизу
Ф(Р) = 3г, и эта оценка достижима.
Оценка снизу, определяемая /-деревом исходной задачи равна г, а оценка, полученная в результате разбиения на 2 графа, равна 2г. ♦
3. ПОЛУЧЕНИЕ ОЦЕНОК НА ОСНОВЕ ДЕРЕВА КРАТЧАЙШИХ ПУТЕЙ
Рассмотрим новый способ получения нижних оценок для оценочных задач, в основе которого лежит построение дерева кратчайших путей.
Определение 1. /-деревом кратчайших путей Щ называется дерево кратчайших путей из вершины / в остальные вершины графа. ♦
Сначала рассмотрим задачу коммивояжера с длинами дуг
1У = \Х. - X. |, V/, /, X. 1 0 V/, X1 = ш1и X. = 0.
Определение 2. Последовательность (/1, /2, ..., /п)
называется однопиковой, если X, < X, < ... < X1
' 11 2 Ь -1
где X l = 0, X l = max X. =
li ' lk -1 i l
1 X l 1 X l 1 ... 1 X l
k k +1 ln
= Xmax. ♦
Теорема. Любая однопиковая последовательность определяет оптимальный маршрут, длина которого равна 2Xmax.
Доказательство. Пусть вершины пронумерованы по возрастанию Xi (Xx = 0). Длина пути от вершины 1 до вершины n не может быть меньше, чем Xn, и равна Xn при прохождении вершин по
возрастанию номеров. Длина обратного пути из вершины Xn в вершину X{ также не может быть меньше, чем Xn, и равна Xn при прохождении вершин по убыванию номеров. Поэтому любой одно-пиковый маршрут оптимален, и его длина равна 2Xn. Теорема доказана. ♦
Для получения оценок задач 1 и 2 определим Xl, / = 1, n, minXi = 0, так, чтобы |Xi — Xj| m lj и значение Xm = maxXi было максимально.
Для построения /-дерева полагаем Xi = 0 и строим дерево кратчайших путей из вершины / в остальные вершины. Обозначим Xj длину кратчайшего пути из вершины / в вершину j, X(R.) = max X..
j * i l
Согласно теореме, величина 2X(Rl) является нижней оценкой для соответствующей задачи коммивояжера. Максимальная оценка, очевидно, определяется /-деревом кратчайших путей, для которого X(Rl) = max X(R.).
j j
Пример 4. Рассмотрим граф, рис. 7.
Имеем XR) = 5, X(R2) = 7, X(R3) = 5, X(R4) = 7,
max X(Rl) = 7. Следовательно, оценка снизу равна 14,
s
Рис. 9. Разбиение графа (см. рис. 8) на подграфы
она достижима. Оптимальный маршрут (1, 2, 3, 4, 1) или (1, 3, 4, 2, 1). Заметим, что оценка, получаемая на основе построения кратчайших /-деревьев хуже. Действительно, имеем 1(ТХ) = 12, 1(Т2) = 12, 1(Т3) = 12, 1(Т4) = 12, и оценка равна 12 < 14. ♦
Однако нетрудно привести примеры, когда оценка путем построения кратчайшего /-дерева лучше, чем оценка, получаемая путем построения /-дерева кратчайших путей.
Описанный метод получения нижних оценок естественно применить для оценки решений оценочных задач 1 и 2.
Пример 5. Рассмотрим граф, рис. 8.
Разобьем его на 2 графа, рис. 9.
Для первого графа Х(Я2) = 2, а для второго Х(Я3) = 2, и оценка равна 8. Эта оценка достижима.
Заметим, что для исходного графа Х(Ях) = Х(Я2) = = Х(Я3) = 3, и оценка снизу равна 6.
ЗАКЛЮЧЕНИЕ
Рассмотренный подход к получению нижних оценок для симметричной задачи коммивояжера на основе двойственных задач дает новый метод получения оценок. Фактически мы имеем три типа двойственных задач. В задачах первого типа оценочные задачи решаются на основе построения кратчайших /-деревьев. В задачах второго типа оценочные задачи решаются на основе построения /-деревьев кратчайших путей. В задачах третьего типа одна из оценочных задач решается на основе построения кратчайших /-деревьев, а вторая — на основе построения /-деревьев кратчайших путей. Разработка методов решения двойственной задачи требует дальнейших исследований.
ЛИТЕРАТУРА
1. Бурков В.Н., Буркова И.В., Попок М.В. Метод сетевого программирования // Проблемы управления. — 2005. — № 3. — С. 23—29.
2. Сигал И.Х., Иванова А.П. Введение в прикладное дискретное программирование. — М.: Физматлит, 2007. — 304 с.
3. Гэри М., Джонсон Д. Вычислительные машины и трудно-решаемые задачи. — М.: Мир. — 1982. — 416 с.
Ж (495) 334-79-00; e-mail: irbur27@mail.ru
Статья представлена к публикации членом редколлегии
А.Д. Цвиркуном. □
Конференция
«Технические и программные средства систем управления,
контроля и измерения» (УКИ-08)
Институт проблем управления им. В.А. Трапезникова РАН 10—12 ноября 2008 г., г. Москва
Цели конференции:
• Обмен информацией о результатах современных исследований и разработок технических и программных средств систем управления, контроля и измерения (УКИ)
• Обсуждение, обобщение и распространение научных достижений в области создания и эксплуатации технических и программных средств систем УКИ
• Возобновление вынужденно прерванных контактов и связей между специалистами, работающими над проблемами теории и практики создания и применения технических и программных средств систем УКИ в институтах РАН, отраслевых институтах и научных центрах, вузах, промышленных предприятиях и коммерческих структурах
• Выявление перспективных направлений исследований и разработок технических и программных средств систем УКИ
Более подробную информацию можно найти на сайте http://www.ipu-conf.ru/ktm e-mail: ktm-2008@mail.ru, тел. (495) 334-93-70, (495) 334-90-29, тел./факс (495) 334-93-61
10
CONTROL SCIENCES № 4 • 2008