Transcript
Page 1: ДОПОЛНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА НА ПЛОСКОСТИ

ISSN 1812-9498. ÂÅÑÒÍÈÊ ÀÃÒÓ. 2007. № 1 (36)

160

УДК 381.31.00

В. О. Борознов

Астраханский государственный технический университет

ÄÎÏÎËÍÅÍÈÅ ÌÅÒÎÄÀ ÂÅÒÂÅÉ È ÃÐÀÍÈÖ ÄËß ÐÅØÅÍÈß ÇÀÄÀ×È ÊÎÌÌÈÂÎßÆÅÐÀ ÍÀ ÏËÎÑÊÎÑÒÈ

Введение Задача коммивояжера (ЗК), поставленная в 1934 г., – одна из знаменитых задач теории

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

Постановка задачи Коммивояжер, выходящий из какого-нибудь города, желает посетить N – 1 других горо-

дов и вернуться к исходному пункту. Известны расстояния между всеми этими городами. Тре-буется установить, в каком порядке он должен посещать города, чтобы общее пройденное рас-стояние было минимальным. Задача коммивояжера представляет собой задачу отыскания крат-чайшего гамильтонова пути в полном конечном графе с N вершинами [1]. Ниже нами рассмат-ривается ЗК на плоскости, т. е. нам известны все координаты городов (полный граф) и мы мо-жем найти расстояние между любой парой городов, причём размещение городов, вообще гово-ря, «жёстко» задано.

Для задач небольшой размерности можно использовать метод ветвей и границ, который является развитием алгоритма полного перебора. Его суть заключается в добавлении проверки критерия ограничивающей функции, исходящего из знания задачи. Согласно этому знанию на определенном уровне можно приостановить построение данной ветви дерева перестановок. Например, маршрут, который мы строим, длиннее ранее построенного маршрута, следователь-но, в этой ветви перестановок оптимального решения нет. Добавление такого условия позволяет на порядок сократить время поиска [2].

Описание метода Воспользуемся знаниями о задаче и выдвинем эвристическое предположение (гипотезу):

оптимальный маршрут ЗК на плоскости в полном графе всегда обладает условием непересекае-мости, т. е. для соседних городов рёбра графа не имеют пересечений.

Рассмотрим ЗК на плоскости, когда известны координаты всех городов (полный граф). В этом случае метод ветвей и границ можно дополнить условием непересекаемости. Предста-вим города как вершины графа, а рёбра – дороги, соединяющее их, тогда оптимальным решени-ем ЗК будет являться граф вида ),( EVGp = , NV = , с множество вершин V и множество дуг Е,

не пересекающихся между собой. Это означает, что ветвь не соответствует данному условию (хотя бы пара дуг в маршруте имеет пересечение), и её построение на этом заканчивается. Дан-ное ограничение поможет сократить количество рассматриваемых вариантов, заранее исключив неоптимальные, а также обеспечить более удачный «старт» алгоритму.

Результаты исследования Оценим результативность данного метода, сравнив его с методом ветвей и границ. Для

каждой задачи размерностью N производилось по 33 испытания, что соответствует доверитель-ной вероятности 0,75 и ошибке 0,1. Случайным образом строилась матрица расстояния задан-ной размерности N, после чего задача решалась обоими методами. Результаты испытаний при-ведены в табл. 1.

Page 2: ДОПОЛНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА НА ПЛОСКОСТИ

ÈÑÑËÅÄÎÂÀÍÈÅ ÎÏÅÐÀÖÈÉ

161

Таблица 1

Результаты испытаний

N Время алгоритма,

мс Время алгоритма с дополнением, мс

Пространство поиска

Пространство поиска

с дополнением

Относительное быстродействие алгоритма

3 – – 2 2 –

4 – – 14 14 –

5 0,41 0,93 37 31 0,44

6 0,45 1,39 109 66 0,32

7 2,81 3,33 296 143 0,84

8 9,51 5,24 785 244 1,81

9 57,84 23,18 2 370 526 2,49

10 228,21 83,39 4 328 898 2,73

11 1 151,13 295,81 8 827 1 328 3,89

12 3 691,66 856,26 10 496 1 901 4,31

13 25 653,01 4 161,39 28 104 2 210 5,75

14 100 390,54 14 507,22 44 087 4 824 6,92

Следует отметить, что рассматриваемый алгоритм даёт точное решение ЗК, а модифика-

ция лишь повышает его быстродействие. Это говорит о том, что наше эвристическое предполо-жение не получило опровержения. На рис. 1 показано экспериментально полученное относи-тельное быстродействие модифицированного алгоритма.

Для более точного подтверждения гипотезы было проведено по 1 000 сравнений методом ветвей и границ и модифицированного алгоритма для N = 3…10 (ввиду больших временных за-трат на решение ЗК N < 11) и получен точный результат модифицированным алгоритмом.

012345678

3 4 5 6 7 8 9 10 11 12 13 14

N

Рис. 1. Относительное быстродействие метода

Как видно из рис. 1, с ростом размерности задачи превосходство модифицированного ал-

горитма метода ветвей и границ растёт. На малых размерностях (N < 7) модифицированный ал-горитм малоэффективен, т. к. часть времени затрачивается на построение матрицы «планарно-сти», а сокращение переборного пространства практически не изменяется.

Временнáя зависимость от размерности задачи показана на рис. 2. Метод ветвей и границ с условием непересекаемости более «быстр», т. к. позволяет отсеять заведомо ложные частные решения. Тем не менее оба варианта алгоритма чувствительны к размерности задачи, т. к. с её незначительным увеличением время поиска заметно возрастает.

Page 3: ДОПОЛНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА НА ПЛОСКОСТИ

ISSN 1812-9498. ÂÅÑÒÍÈÊ ÀÃÒÓ. 2007. № 1 (36)

162

0

10 000

20 000

30 000

40 000

50 000

60 000

70 000

80 000

90 000

100 000

3 4 5 6 7 8 9 10 11 12 13 14

N

t, м

c

Ì åòî ä âåòâåé è ãðàí èö

Ì åòî ä âåòâåé è ãðàí èö ñ óñëî âèåì í åï åðåñåêàåì î ñòè

Рис. 2. Временная зависимость от размерности задачи Как видно из рис. 2, зависимости времени от размерности задачи подчинены экспоненци-

альному закону, т. е. t = b0 · e(b1 · N). На основании статистических данных найдём b0 и b1 для обо-

их алгоритмов. Метод ветвей и границ имеет зависимость типа t(N) = 0,0001 · e(1,4545 · N), а для ме-

тода ветвей и границ с условием непересекаемости: t(N) = 0,0015 · e(1,1155 · N). На основании выве-

денных зависимостей спрогнозируем временные затраты для задач размерности N ≤ 50 (рис. 3).

Рис. 3. Прогнозирование временных затрат на решение ЗК с размерностью N

Следует отметить, что прогнозирование временных затрат справедливо лишь для экспе-

риментальной машины, во всех остальных случаях коэффициент b0 может быть отличен от представленного в статье.

2

2

2

Page 4: ДОПОЛНЕНИЕ МЕТОДА ВЕТВЕЙ И ГРАНИЦ ДЛЯ РЕШЕНИЯ ЗАДАЧИ КОММИВОЯЖЕРА НА ПЛОСКОСТИ

ÈÑÑËÅÄÎÂÀÍÈÅ ÎÏÅÐÀÖÈÉ

163

Заключение Выдвинутое нами эвристическое предположение (гипотеза) о том, что оптимальный маршрут

ЗК на плоскости в полном графе всегда обладает условием непересекаемости, подтвердилось. Результаты показали, что дополнительное ограничение условия непересекаемости для ЗК

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

Данное ограничение может быть применено в поисковых алгоритмах (например, в гене-тических) как дополнительный критерий определения конца эволюции или как эвристический критерий отбора особей. Метод ветвей и границ с условием непересекаемости может быть при-менён для решения ЗК и других сходных задач с небольшой размерностью.

СПИСОК ЛИТЕРАТУРЫ

1. Курейчик В. М. Применение генетических алгоритмов для решения комбинаторно-логических задач опти-мизации. Интеллектуальные САПР: Междуведом. темат. науч. сб. – Вып. 5. – Таганрог, 1995. – С. 132–133.

2. Макконнелл Дж. Основы современных алгоритмов. – 2-е изд. доп.; – М.: Техносфера, 2004. – 366 с.

Получено 1.10.2006

SUPPLEMENT OF THE METHOD OF BRANCHES AND BORDERS FOR THE DECISION OF A TASK OF A TRAVELLING SALESMAN

ON A PLANE

В. О. Борознов

In the given work the method of the decision of a task of the direct-sales rep-resentative (ZK) on a plane on the basis of supplement of the method of branches and borders with the condition of disjointness is submitted. The heuristic assump-tion is suggested: "The optimum route of ZK on a plane in the complete graph al-ways has a condition of disjointness, that is the route can be lead so, that for the next cities the ribs of graph will not have crossings". To confirm the hypothesis more exactly about 1 000 comparisons by a method of branches and borders and modified algorithm for N = 3…10 were carried out, that is more than 8 thousand tests, the exact result is received with the modified algorithm. The results have shown, that additional restriction "disjointness" for ZK on a plane of the method of branches and borders essentially reduces time of searching. Thus the given modifi-cation keeps the property of paralleling of algorithm of the method of branches and borders, which is a way of reduction of time of calculations.


Recommended