Научная статья на тему 'Эффективный по времени точный комбинированный алгоритм для асимметричной задачи коммивояжера'

Эффективный по времени точный комбинированный алгоритм для асимметричной задачи коммивояжера Текст научной статьи по специальности «Математика»

CC BY-NC-ND
673
78
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Бизнес-информатика
ВАК
RSCI
Область наук
Ключевые слова
ЗАДАЧА КОММИВОЯЖЕРА / МЕТОД ВЕТВЕЙ И ГРАНИЦ / КОМБИНИРОВАННЫЙ АЛГОРИТМ / ВРЕМЕННАЯ ЭФФЕКТИВНОСТЬ / ЭКСПЕРИМЕНТАЛЬНОЕ ИССЛЕДОВАНИЕ / TRAVELLING SALESMAN PROBLEM / BRANCH AND BOUND METHOD / COMBINED ALGORITHM / TIME EFFICIENCY / EXPERIMENTAL RESEARCH

Аннотация научной статьи по математике, автор научной работы — Жукова Г.Н., Ульянов М.В., Фомичев М.И.

Для практически значимых оптимизационных задач в области экономики и логистики, а также в ряде технических приложений возникает необходимость решения задачи коммивояжера (traveling salesman problem, TSP). Достаточно часто особенности этих задач приводят к задаче коммивояжера в асимметричной постановке (asymmetric traveling salesman problem, ATSP). Более того, в некоторых практических применениях желательно получение точного решения. Одним из известных точных алгоритмов решения задачи ATSP является алгоритм, реализующий известный метод ветвей и границ. Известные экспериментально полученные оценки его сложности в среднем экспоненциальные. Однако это не означает, что для небольших размерностей задачи (в настоящее время не более 70-75) ожидаемое время решения индивидуальной задачи неприемлемо велико. Диктуемая практикой необходимость сокращения времени решения индивидуальных задач связана с использованием различных модификаций этого алгоритма, из которых модификация, предполагающая хранение усеченных матриц в поисковом дереве решений, одна из наиболее эффективных. В рамках данной статьи авторы опираются именно на эту модификацию. Другие возможные улучшения временной эффективности программной реализации метода ветвей и границ связаны, в том числе, с получением начального приближения эвристическими алгоритмами. В результате получается комбинированный алгоритм, в котором на первом этапе работает некоторая эвристика для получения начального решения, с которого и стартует метод ветвей и границ. Эта идея обсуждается достаточно давно, однако проблема заключается в том, что для сокращения времени необходим такой эвристический алгоритм, который позволяет получить решение, близкое к оптимальному, с небольшими временными затратами. Одному из возможных решений этой задачи и посвящена данная статья. Предметом исследования в данной статье является выбор наилучшего эвристического алгоритма, применение которого приводит к повышению временной эффективности в комбинации с алгоритмом метода ветвей и границ, а также экспериментальное исследование его программной реализации с целью выявления среднего времени решения индивидуальных задач. На основе полученных результатов даются рекомендации по предельным размерностям задачи, допускающим приемлемое время решения, что представляет интерес в практическом применении этого комбинированного алгоритма в задачах бизнес-информатики и логистики.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Жукова Г.Н., Ульянов М.В., Фомичев М.И.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Exact time-efficient combined algorithm for solving the asymmetric traveling salesman problem

For practical, important tasks in the fields of economics and logistics, as well as in a number of technical applications, it becomes necessary to solve the traveling salesman problem (TSP). Quite often, the features of these problems lead to the traveling salesman problem in asymmetric formulation (asymmetric traveling salesman problem, ATSP). Moreover, in some practical applications it is desirable to obtain an exact solution. One of the known exact algorithms for solving the ATSP is an algorithm that implements the well-known branch and bound method. The known experimental estimates of its complexity on the average are exponential. However, this does not mean that for small dimensions of the problem (currently, no more than 70-75), the expected time for solving the individual problem is unacceptably high. The need to reduce the time for solving individual problems dictated by practice is associated with the use of various modifications of this algorithm, of which a modification that involves storing truncated matrices in the search decision tree is one of the most effective. In this article, the authors rely on this modification. Other possible improvements in the time efficiency of the software implementation of the branch and bound method are related, among other things, to obtaining the initial approximation by heuristic algorithms. As a result, we get a combined algorithm, in which, at the first stage, some heuristics works to obtain the initial solution, from which the branch and bound method starts. This idea has been discussed for a long time, but the problem is that to reduce time, such a heuristic algorithm is needed that delivers a solution close to optimal which will be found quite fast. One of the possible solutions to this problem is the subject of this article. The subject of the research in this article is the choice of the best heuristic algorithm which, when applied, leads to an increase in temporal efficiency in combination with the algorithm of the branch and bound method, and an experimental study of its software implementation in order to obtain an average time for solving individual problems. On the basis of the results obtained, recommendations are given on the limiting dimensions of the problem that allow for an acceptable solution time, something which is of interest in the practical application of this combined algorithm in -the tasks of business informatics and logistics.

Текст научной работы на тему «Эффективный по времени точный комбинированный алгоритм для асимметричной задачи коммивояжера»

Эффективный по времени точный комбинированный алгоритм для асимметричной задачи коммивояжера1

Г.Н. Жукова

кандидат физико-математических наук доцент департамента программной инженерии

Национальный исследовательский университет «Высшая школа экономики» Адрес: 101000, г. Москва, ул. Мясницкая, д. 20 E-mail: galinanzhukova@gmail.com

М.В. Ульянов

доктор технических наук, профессор

ведущий научный сотрудник, Институт проблем управления им В.А. Трапезникова РАН;

профессор кафедры алгоритмических языков

Московский государственный университет им. М.В. Ломоносова

Адрес: 117997, г. Москва, ул. Профсоюзная, д. 65

E-mail: muljanov@mail.ru

М.И. Фомичев

выпускник магистратуры, образовательная программа «Программная инженерия» Национальный исследовательский университет «Высшая школа экономики» Адрес: 101000, г. Москва, ул. Мясницкая, д. 20 E-mail: mikhail.fomichev94@gmail.com

Аннотация

Для практически значимых оптимизационных задач в области экономики и логистики, а также в ряде технических приложений возникает необходимость решения задачи коммивояжера (traveling salesman problem, TSP). Достаточно часто особенности этих задач приводят к задаче коммивояжера в асимметричной постановке (asymmetric traveling salesman problem, ATSP). Более того, в некоторых практических применениях желательно получение точного решения. Одним из известных точных алгоритмов решения задачи ATSP является алгоритм, реализующий известный метод ветвей и границ. Известные экспериментально полученные оценки его сложности в среднем экспоненциальные. Однако это не означает, что для небольших размерностей задачи (в настоящее время — не более 70— 75) ожидаемое время решения индивидуальной задачи неприемлемо велико. Диктуемая практикой необходимость сокращения времени решения индивидуальных задач связана с использованием различных модификаций этого алгоритма, из которых модификация, предполагающая хранение усеченных матриц в поисковом дереве решений, — одна из наиболее эффективных. В рамках данной статьи авторы опираются именно на эту модификацию. Другие возможные улучшения временной эффективности программной реализации метода ветвей и границ связаны, в том числе, с получением начального приближения эвристическими алгоритмами. В результате получается комбинированный алгоритм, в котором на первом этапе работает некоторая эвристика для получения начального решения, с которого и стартует метод ветвей и границ. Эта идея обсуждается достаточно давно, однако проблема заключается в том, что для сокращения времени необходим такой эвристический алгоритм, который позволяет получить решение, близкое к оптимальному, с небольшими временными затратами. Одному из возможных решений этой задачи и посвящена данная статья.

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

1 Исследование выполнено при поддержке Российского фонда фундаментальных исследований (проект № 16-07-00160 «Прогнозирование временных характеристик эффективных реализаций метода ветвей и границ для задачи коммивояжера на основе характеристик случайных матриц и идентификации порожденного распределения времен»)

Ключевые слова: задача коммивояжера; метод ветвей и границ; комбинированный алгоритм; временная эффективность; экспериментальное исследование.

Цитирование: Жукова Г.Н., Ульянов М.В., Фомичев М.И. Эффективный по времени точный комбинированный алгоритм для асимметричной задачи коммивояжера // Бизнес-информатика. 2018. № 3 (45). С. 20-28. DOI: 10.17323/1998-0663.2018.3.20.28.

Введение

Задача коммивояжера родилась в экономической постановке: торговцу требуется посетить несколько мест (городов), расположенных на известном расстоянии друг от друга. При этом нужно сэкономить на транспортных расходах, выбрав кратчайший маршрут, проходящий через все города ровно по одному разу. Математическая формулировка этой задачи осуществляется в терминах теории графов путем ассоциации городов с вершинами графа, а путей сообщения и стоимостей проезда — с нагруженными дугами. В общем случае мы получаем полный ориентированный асимметричный граф на п вершинах без собственных петель, который задается матрицей смежности С= (е.), далее называемой матрицей стоимостей. Гамильтонов цикл заданного графа будем называть туром. В задаче коммивояжера требуется найти тур с минимальной суммой весов дуг. Эта задача коммивояжера является ЖР-трудной и поэтому относится к труднорешаемым задачам комбинаторной оптимизации.

Задача коммивояжера допускает множество разнообразных практически важных интерпретаций, таких как календарное планирование работы устройств с учетом переналадок, оптимизация работы подъемных кранов, определение очередности прожигания прорезей при изготовлении микросхем [1]. К задаче коммивояжера также сводится поиск оптимальной схемы прокладки кабелей вычислительных сетей, предсказание функций протеинов или построение черно-белых изображений непрерывной линией без пересечений [2].

Первым точным алгоритмом решения задачи коммивояжера был, предложенный в 1963 году группой авторов алгоритм [3], который реализует метод ветвей и границ [4]. Подробное описание ранних работ по задаче коммивояжера можно найти в статье [5]. Современное состояние методов и подходов к ее решению описано в работе [6], а вопросы повышения точности нижней оценки стоимости тура — в статье [7]. Мы не приводим описание классического алгоритма метода ветвей и границ для задачи коммивояжера, которое можно найти, например, в работах [3; 8; 9].

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

Одна из возможных модификаций, идея которой высказывалась еще в 1960-е годы, состоит в том, что мы, используя некоторый эвристический алгоритм, находим приближенное решение для индивидуальной задачи (тур) и запускаем метод ветвей и границ, уже зная некоторое начальное приближение. Интуитивно понятно, что такой подход должен сократить число вершин порожденного дерева решений и, следовательно, время получения точного решения. Таким образом, мы получаем комбинированный алгоритм, состоящий из эвристического алгоритма, который находит первое приближение, и алгоритма метода ветвей и границ, который позволяет получить точное решение, порождая при этом сокращенное поисковое дерево решений. Описанию результатов исследования в области создания такого комбинированного алгоритма и посвящена настоящая статья.

1. Постановка задачи

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

Введем следующие обозначения:

п — размерность задачи (число вершин полного графа);

С = (е..) — матрица стоимостей, описывающая

ориентированный граф без собственных петель, соответствующий индивидуальной асимметричной задаче коммивояжера;

Т — стоимость тура, найденного эвристическим алгоритмом;

t (C, T) — время работы программной реализации алгоритма метода ветвей и границ (в определенной программно-аппаратной конфигурации) для индивидуальной задачи, заданной матрицей С, с предвычисленным туром стоимости Т; tE(C) — время работы эвристического алгоритма; N0 (C) — количество вершин поискового дерева решений, порожденных классическим алгоритмом метода ветвей и границ (без предвычисленного тура);

N1 (C) — количество вершин поискового дерева решений, порожденных в ходе работы метода ветвей и границ с предвычисленным туром, стоимость которого равна оптимальному туру для данной матрицы;

tMBra{n) — выборочное среднее время программной реализации классического алгоритма метода ветвей и границ без предвычисленного тура для выборки индивидуальных задач размерности п;

tMBn (и) — выборочное среднее время программной реализации классического алгоритма метода ветвей и границ с предвычисленным туром для выборки индивидуальных задач размерности п;

tE{n) — выборочное среднее время программной реализации эвристического алгоритма для выборки индивидуальных задач размерности п.

Задача состоит в том, чтобы найти такой эвристический алгоритм, который обеспечивал бы сокращение времени поиска точного решения за счет пред-вычисленного тура, т.е. найти такой алгоритм, чтобы

'МВТ tМВТ

(С, со)

Поскольку метод ветвей и границ является сильно

чувствительным к особенностям индивидуальных задач, условие (1) не гарантирует сокращение времени для другой индивидуальной задачи. В общем случае необходимо перейти к выборочным средним:

'мвп

(л) +tE (и) < tMBro (и)

(2)

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

2. Способы сокращения временных затрат в методе ветвей и границ

Для сокращения времени работы алгоритмов, реализующих идею метода ветвей и границ для решения задачи коммивояжера, предлагаются различные подходы, связанные как с организацией хранения и обработки поискового дерева решений и его вершин [10], так и с построением комбинаций точного и различных эвристических алгоритмов [11—13].

В работе [10] представлено экспериментальное исследование влияния выделения дополнительной памяти на хранение усеченных матриц стоимостей в вершинах поискового дерева решений в диапазоне длин входов от 25 до 45. В таблице 1 представлен прогноз, основанный на экспериментальных данных [10]. На основании этих данных можно предполагать, что программная реализация алгоритма с хранением матриц может быть практически использована для точного решения задачи коммивояжера с длиной входа не более 70 при реально доступной оперативной памяти в 16 ГБ с ожидаемым средним временем расчета на современных персональных компьютерах порядка одной минуты.

Таблица 1.

Прогноз ресурсных характеристик

Размерность задачи Прогноз времени расчета оптимального тура без дополнительной памяти Прогноз времени расчета оптимального тура с дополнительной памятью Прогноз отношения времен Прогноз среднего объема требуемой дополнительной памяти

45 1 с 0,2 с 5 30,71 МБ

54 7 с 1 с 7 172,3 МБ

70 11,7 мин 1 мин 11,7 12,47 ГБ

80 2,5 ч 10 мин 15 136,37 ГБ

88 19,6 ч 1 ч 19,6 924,26 ГБ

102 29,5 дней 1 день 29,5 25,69 ТБ

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

Авторы исследования [12] стремились нивелировать недостатки метода ветвей и границ эвристическими алгоритмами и техниками распараллеливания программных потоков. Однако авторы также указывают, что отчетливо понимают тот факт, что к полученным результатам необходимо относиться с большой осторожностью, и они носят только ознакомительный характер.

3. Влияние качества предвычисленного тура на число порожденных вершин

В классическом методе ветвей и границ для решения задачи коммивояжера предполагается, что невозможно начать отсекать поддеревья поискового дерева решений до тех пор, пока не будет найден какой-либо тур. Это связано с тем, что классический метод не предполагает наличие какого-либо тура в момент начального запуска. Ввиду особенности задачи, дерево решений может серьезно разрастись, пока первый тур не будет найден. Использование предвычисленного тура (известного до начала работы метода ветвей и границ) может сократить размеры порожденного дерева решений. При близкой к оптимальной стоимости предвы-численного тура такой комбинированный подход может уменьшить время поиска оптимального тура (поскольку отпадает необходимость создавать и посещать неперспективные вершины поискового дерева решений), а также уменьшить объем требуемой дополнительной памяти (поскольку пропадает необходимость хранения неперспективных вершин поискового дерева).

Таким образом, данный подход направлен на сокращение как времени расчета, так и объема требуемой памяти. Однако при его реализации возникает несколько вопросов. Очевидно, что чем ближе предвычисленный тур к точному решению, тем меньше времени потребуется для нахождения оптимального решения. С другой стороны, пред-вычисленный тур должен быть найден достаточно быстро. Это означает, что время, затраченное на работу классического метода ветвей и границ, по крайней мере, должно быть не больше, чем сум-

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

Согласно работе [14], если предвычисленный тур является оптимальным, то размер дерева решений сокращается приблизительно на 40%. В таблице 2 представлено усредненное количество порожденных вершин поискового дерева решений для задач разных размерностей, полученное на основе экспериментальных исследований [14]. Характеристика г] = (1 - / ) показывает, на сколько процентов сократится дерево решений, если предвычисленный тур для метода ветвей и границ будет оптимальным.

Однако чувствительность метода ветвей и границ к качеству предвычисленного туда достаточна высока: если предвычисленный тур будет более чем на 5% хуже оптимального, то, как показано в работе [14], дерево решений практически не сокращается.

Таблица 2.

Влияние предвычисленного тура на количество порожденных вершин

п 1

35 38%

40 38%

45 39%

4. Эвристические алгоритмы получения предвычисленного тура

Эвристические алгоритмы — это алгоритмы, которые не гарантируют нахождение точного решения, однако решения, найденные этими алгоритмами, в определенной мере близки к оптимальным и при этом работают за «приемлемое» время [15]. В отличие от точных алгоритмов, эвристические алгоритмы обычно достаточно просты в реализации и работают быстрее. Все множество эвристических алгоритмов можно разделить на три типа:

♦ жадные [16];

♦ роевые [17—19];

♦ улучшающие решения [20; 21].

Кроме того, существует множество различных алгоритмов, которые предназначены для решения частных случаев задачи (например, для решения метрической задачи коммивояжера [22]).

Предварительный анализ литературных источников [14; 23; 24] позволяет сделать вывод, что представители жадных и роевых эвристических алгоритмов не могут обеспечить достаточно качественное решение за необходимое в нашей постановке задачи время. Поэтому использование полученных этими алгоритмами туров в качестве предвычисленных будет нерациональным. Иная ситуации связана с множеством эвристических алгоритмов, улучшающих решения.

В 1973 году Ш. Лин и Б. Керниган представили эффективный эвристический алгоритм для задачи коммивояжера (алгоритм Лина-Кернигана) [25]. Он основан на идее итерационного улучшения случайно полученного тура. Как показали экспериментальные результаты, этот алгоритм достаточно часто находит даже глобально оптимальные решения. В то же время сложность алгоритма составляет приблизительно О^я2'2) [25].

Позднее, в 2000 году К. Хелсгаун предложил модифицированную реализацию упомянутого алгоритма (алгоритм Лина-Кернигана-Хелсгауна) [26]. Этот алгоритм достаточно часто находит оптимальное решение за приемлемое время даже для задач большой размерности.

Рассмотренные алгоритмы спроектированы для решения симметричной задачи коммивояжера. Однако, используя метод трансформации, предложенный в работе [27], любая несимметричная задача коммивояжера (размерности п) может быть преобразована в симметричную задачу коммивояжера (размерности 2п). К сожалению, эта трансформация также влияет на время решения несимметричной задачи коммивояжера алгоритмом Лина-Кер-нигана-Хелсгауна.

Основная идея алгоритма Лина-Кернигана-Хелсгауна заключается в том, чтобы найти некоторое допустимое решение, после чего выделить два множества дуг - таких, что если все дуги первого множества удалить из найденного тура и заменить их дугами из второго множества, то результатом будет тур, который лучше (дешевле) предыдущего. Процесс переноса дуг повторяется до тех пор, пока становится невозможно сформировать такие два множества дуг. Все ограничения на множества дуг и особенности их выбора подробно описаны в работе [26].

Эффективность алгоритма Лина-Кернигана-Хелсгауна достигается, в первую очередь, за счет эффективной стратегии поиска множеств дуг, опи-

санных выше. Поиск построен на основе ограничении 5-opt перемещений, которые ограничены множеством возможных кандидатов [26].

Автором работы [28] предпринята попытка разработать алгоритм, который будет находить оптимальные или очень близкие к оптимальным решения достаточно быстро. Однако при этом не уделено внимание вопросу сложности реализации, в результате чего последняя программная реализация, представленная автором, занимает порядка 10 000 строк исходного кода [28].

5. Комбинированный алгоритм и экспериментальные результаты

Для анализа комбинации метода ветвей и границ с эвристическим алгоритмом проведено экспериментальное исследование несимметричных задач коммивояжера для размерностей 35, 37, 40, 43 и 45. Объем выборки для каждой размерности составил 100 000 индивидуальных задач.

Эксперименты проводились на стационарном компьютере со следующими характеристиками: процессор: Intel i7 8700K 4700 MHz; оперативная память: Corsair Vengeance LPX CMK32GX4M2B3466C16R DDR4 3466 MHz 32 GB;

■ф- материнская плата: ASRock Fatallty Z370 Gaming K6;

ф операционная система: Arch with kernel version 4.14.13-1-ARCH.

Для минимизации шумов операционной системы фоновые процессы (такие как фаервол), которые не нужны для исследования, были отключены. Также отсутствует графический пользовательский интерфейс, а управление операционной системой осуществлялось посредством командной строки.

Алгоритмы реализованы на языке С++ и скомпилированы в исполняемый файл с помощью компилятора gcc 7.2.1 20171224.

Введем обозначение: tLKH{rî) — среднее время работы программной реализации алгоритма Лина— Кернигана—Хелсгауна на индивидуальных задачах размерности п.

В первой части таблицы 3 приведены среднее, минимальное и максимальное (по 100 000 задач) время работы программной реализации алгоритма метода ветвей и границ без предвычисленного тура —

W Wo ("l W» («) с°°тветственн°.

Вторая часть таблицы 3 содержит экспериментальные данные по среднему, минимальному и максимальному (по 100 000 задач) времени работы нашей программной реализации метода ветвей и границ с предвычисленным туром, полученным с помощью алгоритма Лина—Кернигана—Хелсгауна —

¡мвп (4 (мпОО+ГиЛи), {п) + Ьш{п)

соответственно.

Полученные экспериментальные результаты показывают не столь существенное сокращение времени, как это следует из данных таблицы 2. Ответ на вопрос, почему сокращение числа порожденных вершин на 38% не дает соответствующего сокращения времени, заключается в следующем: алгоритм метода ветвей и границ, находясь в некоторой вершине поискового дерева, пытается породить две новые вершины, однако их оценки оказываются больше, чем значение предвычесленного тура и создания новых вершин не происходит. При этом на обработку этой вершины, очевидно, затрачивается время, однако эта обработка не приводит к порождению новых вершин поискового дерева.

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Wo(«) = 17,783-e°

"0'23"", при R2 = 0,9999, (3)

V, {п)+Тш (и) = 27,552-е0'2293", при R2 = 0,9999. (4)

Абсцисса точки пресечения этих экспонент лежит приблизительно около целочисленной точки n = 43. Это означает, что, в соответствии с (3) и (4), начиная c n = 43, комбинация метода ветвей и границ с алгоритмом Лина—Кернигана—Хелсгауна работает в среднем быстрее, чем классический метод ветвей и границ, по крайней мере, по оценке с помощью выборочного среднего. Полученная

формула (4) также позволяет определить границу размерности задач, для которых с использованием комбинированного алгоритма можно получить точное решение при известном ограничении на допустимое время (^ ). Эта граница является решением уравнения:

27,552-е1

0,2293л

= L

(5)

Например, при = 6 • 108 микросекунд (т.е. 5 минут) формула (5) дает оценку п = 73. При этом не надо забывать о том, что метод очень чувствителен к индивидуальным задачам, и реальные значения времени могут иметь значительный разброс относительно выборочного среднего, а требования к дополнительной памяти могут быть существенными.

Авторы отдают себе отчет в том, что точность полученной экстраполяции невысока, и мы имеем достаточно грубое приближение. В целом мы надеемся, что, начиная с размерностей порядка 70—75, комбинированный алгоритм будет работать в среднем ощутимо быстрее, но у нас нет веских оснований утверждать, что на самом деле это будет так для конкретных индивидуальных задач.

Заключение

Таким образом, в статье на основе проведенного экспериментального исследования, показано следующее:

♦ по полученному тренду, начиная с п = 43, комбинация алгоритма метода ветвей и границ с алгоритмом Лина—Кернигана—Хелсгауна работает быстрее, чем классический алгоритм метода ветвей и границ для асимметричной задачи коммивояжера, по крайней мере по оценке в среднем;

♦ метод ветвей и границ с предвычисленным туром не позволяет решать задачу коммивояжера за

Экспериментальные результаты

Таблица 3.

п ^ивго (й) мкс ^МВГй (п) мкс 'лаго (й) мкс Wl {n) + tLKH{n) мкс ViW+'шМ мкс *мвп{п) + *ькн{п) мкс

35 78 009 312 4 866 390 84 080 3 629 4 200 069

37 128 072 357 63 857 740 133 791 3 691 39 814 733

40 261 729 435 34 998 093 264 468 3 840 26 352 357

43 539 085 504 66 511 234 531 160 5 127 58 208 012

45 859 599 578 123 629 945 831 424 6 232 78 427 649

полиномиальное время, однако использование предвычисленного тура позволяет уменьшить коэффициент при п в показателе экспоненты на 4,4%, что тоже является значимым результатом;

♦ предвычисленные туры, полученные с помощью жадных и роевых эвристических алгоритмов, не представляют практической ценности, посколь-

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

Авторы видят дальнейшее развитие исследования в более детальном анализе распределения значений времени работ программных реализаций исследованных алгоритмов. ■

Литература

Бородин В.В., Ловецкий С.Е., Меламед И.И., Плотинский Ю.М. Экспериментальное исследование эффективности эвристических алгоритмов решения задачи коммивояжера // Автоматика и телемеханика. 1980. № 11. С. 76—84. Решение сложных задач коммивояжера методами функциональных гибридных интеллектуальных систем / А.В. Колесников и [др.], под ред. А.В. Колесникова. М.: ИПИ РАН, 2011.

Little J.D.C., Murty K.G., Sweeney D.W., Karel C. An algorithm for the traveling salesman problem // Operations Research. 1963. No. 11. P. 972-989.

Land A.H., Doig A.G. An automatic method of solving discrete programming problems // Econometrica. 1960. Vol. 28. No. 3. P. 497-520. Slominski L. Probabilistic analysis of combinatorial algorithms: A bibliography with selected annotations // Computing. 1982. No. 28. P. 257-267.

Matai R., Mittal M.L., Singh S. Travelling salesman problem: An overview of applications, formulations and solution approaches // Travelling salesman problem: Theory and applications / Ed. D. Davendra. Rijeka: Intech Open Access Publisher, 2010. P. 1-24. Toriello A. Optimal toll design: A lower bound framework for the asymmetric traveling salesman problem // Mathematical Programming. 2014. Vol. 144. No. 1-2. P. 247-264.

Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов / Пер. с англ. М.: Мир, 1981. Korte B., Vygen J. Combinatorial optimization: Theory and algorithms. Springer, 2007.

10. Ulyanov M.V., Fomichev M.I. Resource characteristics of ways to organize a decision tree in the branch-and-bound method for the traveling salesmen problem // Business Informatics. 2015. No. 4 (34). P. 38-46.

11. Oliver I., Smith D., Holland J. A study of permutation crossover operators on the traveling salesman problem // Proceedings of the 2nd International Conference on Genetic Algorithms. Cambridge, MA, USA, 28-31 July 1987. P. 224-230.

12. Cotta C., Aldana J., Nebro A., Troya J. Hybridizing genetic algorithms with branch and bound techniques for the resolution of the TSP // Artificial Neural Nets and Genetic Algorithms 2 / Eds. D. Pearson, N. Steele, R. Albrecht. "Wien, New York: Springer-Verlag, 1995.

P. 277-280.

13. Goldberg D., Lingle R.J. Alleles, loci, and the travelling salesman problem // Proceedings of the First International Conference on Genetic Algorithms and Their Applications. Pittsburgh, 24-26 July 1985. P. 154-159.

14. Фомичев М.И. Сравнительный анализ метаэвристических алгоритмов решения несимметричной задачи коммивояжера // Системы управления и информационные технологии. 2017. № 3 (69). С. 88-92.

15. Пантелеев А.В. Метаэвристические алгоритмы поиска глобального экстремума. М.: МАИ-Принт, 2009.

16. Applegate D.L., Bixby R.E., Chvatal V., Cook W.J. The traveling salesman problem: A computational study. Princeton, NJ: Princeton University Press, 2006.

17. Colorni A., Dorigo M., Maniezzo V. Distributed optimization by ant colonies // Proceedings of the First European Conference on Artificial Life (ECAL 91). Paris, France, 11-13 December 1991. P. 134-142.

18. Dorigo M., Gambardella L.M. Ant colony system: A cooperative learning approach to the traveling salesman problem // IEEE Transactions of Evolutionary Computation. 1997. Vol. 1. No. 1. P. 53-66.

19. Bonavear E., Dorigo M. Swarm intelligence: From natural to artificial systems. Oxford, UK: Oxford University Press, 1999.

20. Gamboa D., Rego C., Glover F. Data structures and ejection chains for solving large scale traveling salesman problems // European Journal of Operational Research. 2005. Vol. 160. No. 1. P. 154-171.

21. Kaplan H., Lewenstein M., Shafrir N., Sviridenko M. Approximation algorithms for asymmetric TSP by decomposing directed regular multigraphs // Journal of the ACM. 2005. Vol. 52. No. 4. P. 602-626.

22. Mömke T., Svensson O. Removing and adding edges for the traveling salesman problem // Journal of the ACM. 2016. Vol. 63. No. 1. Article No. 2.

23. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to algorithms / 3rd ed. Cambridge, MA: MIT Press, 2009.

24. Stutzle T., Hoos H.H. MAX-MIN ant system // Future Generation Computer Systems. 2000. No. 16. P. 889-914.

25. Lin S., Kernighan B.W. An effective heuristic algorithm for the traveling-salesman problem // Operations Research. 1973. Vol. 21. No. 2. P. 498-516.

26. Helsgaun K. An effective implementation of the Lin-Kernighan traveling salesman heuristic // European Journal of Operational Research. 2000. Vol. 126. No. 1. P. 106-130.

27. Jonker R., Volgenant T. Transforming asymmetric into symmetric traveling salesman problems // Operations Research Letters. 1983. No. 2. P. 161-163.

28. Helsgaun K. An extension of the Lin-Kernighan-Helsgaun TSP solver for constrained traveling salesman and vehicle routing problems. Technical Report. Roskilde: Roskilde University, 2017.

Exact time-efficient combined algorithm

for solving the asymmetric traveling salesman problem2

Galina N. Zhukova

Associate Professor, School of Software Engineering National Research University Higher School of Economics Address: 20, Myasnitskaya Street, Moscow, 101000, Russia E-mail: galinanzhukova@gmail.com

Mikhail V. Ulyanov

Leading Researcher, Laboratory of Scheduling Theory and Discrete Optimization

V.A. Trapeznikov Institute of Control Sciences, Russian Academy of Sciences;

Professor, Department of Algorithmic Languages

Lomonosov Moscow State University

Address: 65, Profsoyuznaya Street, Moscow, 117997, Russia

E-mail: muljanov@mail.ru

Mikhail I. Fomichev

Graduate of System and Software Engineering MSs Program National Research University Higher School of Economics Address: 20, Myasnitskaya Street, Moscow, 101000, Russia E-mail: mikhail.fomichev94@gmail.com

Abstract

For practical, important tasks in the fields of economics and logistics, as well as in a number of technical applications, it becomes necessary to solve the traveling salesman problem (TSP). Quite often, the features of these problems lead to the traveling salesman problem in asymmetric formulation (asymmetric traveling salesman problem, ATSP). Moreover, in some practical applications it is desirable to obtain an exact solution. One of the known exact algorithms for solving the ATSP is an algorithm that implements the well-known branch and bound method. The known experimental estimates of its complexity on the average are exponential. However, this does not mean that for small dimensions of the problem (currently, no more than 70-75), the expected time for solving the individual problem is unacceptably high. The need to reduce the time for solving individual problems dictated by practice is associated with the use of various modifications of this algorithm, of which a modification that involves storing truncated matrices in the search decision tree is one of the most effective. In this article, the authors rely on this modification. Other possible improvements in the time efficiency of the software implementation of the branch and bound method are related, among other things, to obtaining the initial approximation by heuristic algorithms. As a result, we get a combined algorithm, in which, at the first stage, some heuristics works to obtain the initial solution, from which the branch and bound method starts. This idea has been discussed for a long time, but the problem is that to reduce time, such a heuristic algorithm is needed that delivers a solution close to optimal which will be found quite fast. One of the possible solutions to this problem is the subject of this article.

The subject of the research in this article is the choice of the best heuristic algorithm which, when applied, leads to an increase in temporal efficiency in combination with the algorithm of the branch and bound method, and an experimental study of its software implementation in order to obtain an average time for solving individual problems. On the basis of the results obtained, recommendations are given on the limiting dimensions of the problem that allow for an acceptable solution time, something which is of interest in the practical application of this combined algorithm in the tasks of business informatics and logistics.

Key words: travelling salesman problem; branch and bound method; combined algorithm; time efficiency; experimental research.

2 This work was supported by the Russian Foundation for Basic Research (project No. 16-07-00160 "Forecasting of time characteristics of efficient implementations of the branch and bound method for the traveling salesman problem relying on characteristics of random matrixes and identification of generated times distribution")

BUSINESS INFORMATICS No. 3(45) - 2018

Citation: Zhukova G.N., Ulyanov M.V., Fomichev M.I. (2018) Exact time-efficient combined algorithm for solving the asymmetric traveling salesman problem. Business Informatics, no. 3 (45), pp. 20—28. DOI: 10.17323/1998-0663.2018.3.20.28.

References

1. Borodin YV., Loveckiy S.E., Melamed I.I., Plotinskiy U.M. (1980) Ehksperimentalnoe issledovanie ehffektivnosti ehvristicheskih algoritmov resheniya zadachi kommivoyazhera [Experimental research of the effectiveness of heuristic algorithms for solving the traveling salesman problem]. Automation and Remote Control, no. 11, pp. 76—84 (in Russian).

2. Kolesnikov A.V., Kirikov I.A., Listopad S.V, Rumovskaya S.B., Domanitsky A.A. (2011) Reshenieslozhnyh zadach kommivoyazhera metodami funkcionalnyh gibridnyh intellektualnyh system [Solution of complex traveling salesman problems using the methods of functional hybrid intelligent systems]. Moscow: Institute of Informatics Problems (in Russian).

3. Little J.D.C., Murty K.G., Sweeney D.W., Karel C. (1963) An algorithm for the traveling salesman problem. Operations Research, no. 11, pp. 972-989.

4. Land A.H., Doig A.G. (1960) An automatic method of solving discrete programming problems. Econometrica, vol. 28, no. 3, pp. 497-520.

5. Slominski L. (1982) Probabilistic analysis of combinatorial algorithms: A bibliography with selected annotations. Computing, no. 28, pp. 257-267.

6. Matai R., Mittal M.L., Singh S. (2010) Travelling salesman problem: An overview of applications, formulations and solution approaches. Travelling salesman problem: Theory and applications (ed. D. Davendra). Rijeka: Intech Open Access Publisher, pp. 1-24.

7. Toriello A. (2014) Optimal toll design: A lower bound framework for the asymmetric traveling salesman problem. Mathematical Programming, vol. 144, no. 1-2, pp. 247-264.

8. Goodman S.E., Hedetniemi S.T. (1981) Vvedenie vrazrabotku i analizalgoritmov [Introduction to the design and analysis of algorithms]. Moscow: Mir (in Russian).

9. Korte B., Vygen J. (2007) Combinatorial optimization: Theory and algorithms. Springer.

10. Ulyanov M.V., Fomichev M.I. (2015) Resource characteristics of ways to organize a decision tree in the branch-and-bound method for the traveling salesmen problem. Business Informatics, no. 4 (34), pp. 38-46.

11. Oliver I., Smith D., Holland J. (1987) A study of permutation crossover operators on the traveling salesman problem. Proceedings of the 2nd International Conference on Genetic Algorithms. Cambridge, MA, USA, 28—31 July 1987, pp. 224-230.

12. Cotta C., Aldana J., Nebro A., Troya J. (1995) Hybridizing genetic algorithms with branch and bound techniques for the resolution of the TSP Artificial neural nets and genetic algorithms 2 (eds. D. Pearson, N. Steele, R. Albrecht). Wen, New York: Springer-Verlag, pp. 277-280.

13. Goldberg D., Lingle R.J. (1985) Alleles, loci, and the travelling salesman problem. Proceedings of the First International Conference on Genetic Algorithms and Their Applications. Pittsburgh, 24—26July 1985, pp. 154-159.

14. Fomichev M.I. (2017) Sravnitelnyi analiz metaehvristicheskih algoritmov resheniya nesimmetrichnoj zadachi kommivoyazhera [Comparative analyses of metaheuristic algorithms of solving asymmetric traveling salesman problem]. Control Systems and Information Technologies, no. 3 (69), pp. 88-92 (in Russian).

15. Panteleev A.V (2009) Metaevristicheskie algorithmi poiskaglobalnogo ekstremuma [Metaheuristic algorithms for search global extremum]. Moscow: MAI-Print (in Russian).

16. Applegate D.L., Bixby R.E., Chvatal V., Cook W.J. (2006) The traveling salesman problem: A computational study. Princeton, NJ: Princeton University Press.

17. Colorni A., Dorigo M., Maniezzo V. (1991) Distributed optimization by ant colonies. Proceedings of the First European Conference on Artificial Life (ECAL 91). Paris, France, 11-13 December 1991, pp. 134-142.

18. Dorigo M., Gambardella L.M. (1997) Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions ofEvolutionary Computation, vol. 1, no. 1, pp. 53-66.

19. Bonavear E., Dorigo M. (1999) Swarm intelligence: From natural to artificial systems. Oxford, UK: Oxford University Press.

20. Gamboa D., Rego C., Glover F. (2005) Data structures and ejection chains for solving large scale traveling salesman problems. European Journal ofOperational Research, vol. 160, no. 1, pp. 154-171.

21. Kaplan H., Lewenstein M., Shafrir N., Sviridenko M. (2005) Approximation algorithms for asymmetric TSP by decomposing directed regular multigraphs. Journal of the ACM, vol. 52, no. 4, pp. 602-626.

22. Momke T., Svensson O. (2016) Removing and adding edges for the traveling salesman problem. Journal of the ACM, vol. 63, no. 1, article no. 2.

23. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. (2009) Introduction to algorithms. Cambridge, MA: MIT Press.

24. Stutzle T., Hoos H.H. (2000) MAX-MIN ant system. Future Generation Computer Systems, no. 16. pp. 889-914.

25. Lin S., Kernighan B.W. (1973) An effective heuristic algorithm for the traveling-salesman problem. Operations Research, vol. 21, no. 2, pp. 498-516.

26. Helsgaun K. (2000) An effective implementation of the Lin-Kernighan traveling salesman heuristic. European Journal ofOperational Research, vol. 126, no. 1, pp. 106-130.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

27. Jonker R., Volgenant T. (1983) Transforming asymmetric into symmetric traveling salesman problems. Operations Research Letters, no. 2, pp. 161-163.

28. Helsgaun K. (2017) An extension of the Lin-Kernighan-Helsgaun TSP solver for constrained traveling salesman and vehicle routing problems. Technical Report. Roskilde: Roskilde University.

i Надоели баннеры? Вы всегда можете отключить рекламу.