Задача коммивояжера
Задача коммивояжёра (или TSP от англ. travelling salesman problem) — одна из самых известных задач комбинаторной оптимизации, заключающаяся в поиске самого выгодного , проходящего через указанные города ровно по одному разу с последующим возвратом в исходный город. В условиях задачи указываются критерий выгодности маршрута (кратчайший, самый дешёвый, совокупный критерий и тому подобное) и соответствующие матрицы расстояний, стоимости и тому подобного. Как правило, указывается, что маршрут должен проходить через каждый город только один раз — в таком случае выбор осуществляется среди гамильтоновых циклов. Существует несколько частных случаев общей постановки задачи, в частности, (также называемая планарной или евклидовой, когда матрица расстояний отражает расстояния между точками на плоскости), (когда на матрице стоимостей выполняется неравенство треугольника), и . Также существует обобщение задачи, так называемая обобщённая задача коммивояжёра.

Оптимизационная постановка задачи относится к классу NP-трудных задач, впрочем, как и большинство её частных случаев. Версия «decision problem» (то есть такая, в которой ставится вопрос, существует ли маршрут не длиннее, чем заданное значение k) относится к классу NP-полных задач. Задача коммивояжёра относится к числу трансвычислительных: уже при относительно небольшом числе городов (>66) она не может быть решена методом перебора вариантов никакими теоретически мыслимыми компьютерами за время, меньшее нескольких миллиардов лет.
История
С задачей коммивояжёра связана задача о поиске гамильтонового цикла. Примером такой задачи является задача о ходе шахматного коня, известная по крайней мере с XVIII века. Леонард Эйлер посвятил ей большую работу «Решение одного любопытного вопроса, который, кажется, не подчиняется никакому исследованию», датированную 1759 годом. Другим примером задачи на поиск гамильтонового цикла является икосиан: математическая головомка, в которой надо пройти по додекаэдру (графу с 20 узлами) побывав в каждой вершине ровно один раз. Эта задача была предложена Уильямом Гамильтоном в XIX веке, он же определил класс таких путей.
В 1832 году издана книга с названием «Коммивояжёр — как он должен вести себя и что должен делать для того, чтобы доставлять товар и иметь успех в своих делах — советы старого курьера» (нем. Der Handlungsreisende – wie er sein soll und was er zu tun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiß zu sein – von einem alten Commis-Voyageur), в которой описана задача, но математический аппарат для её решения не применяется. Зато в ней предложены примеры маршрутов для некоторых регионов Германии и Швейцарии.
Первые упоминания в качестве математической задачи на оптимизацию принадлежат Карлу Менгеру, который сформулировал её на математическом коллоквиуме в 1930 году так:
Мы называем задачей посыльного (поскольку этот вопрос возникает у каждого почтальона, в частности, её решают многие путешественники) задачу найти кратчайший путь между конечным множеством мест, расстояние между которыми известно.

Вскоре появилось известное сейчас название задача странствующего торговца (англ. traveling salesman problem), которую предложил Хасслер Уитни (англ. Hassler Whitney) из Принстонского университета.
Вместе с простотой определения и сравнительной простотой нахождения хороших решений задача коммивояжёра отличается тем, что нахождение действительно оптимального пути является достаточно сложной задачей. Учитывая эти свойства, начиная со второй половины XX века исследование задачи коммивояжёра имеет не столько практический смысл, сколько теоретический в качестве модели для разработки новых алгоритмов оптимизации.
Многие современные распространенные методы дискретной оптимизации, такие как метод отсечений, ветвей и границ и различные варианты эвристических алгоритмов, были разработаны на примере задачи коммивояжёра.
В 1950-е и 1960-е годы задача коммивояжёра привлекла внимание ученых в США и Европе. Важный вклад в исследование задачи принадлежит Джорджу Данцигу, Делберту Рею Фалкерсону (англ. Delbert Ray Fulkerson) и Селмеру Джонсону (англ. Selmer M. Johnson), которые в 1954 году в институте RAND Corporation сформулировали задачу в виде задачи дискретной оптимизации и применили для её решения метод отсечений. Используя этот метод, они построили путь коммивояжёра для одной частной постановки задачи с 49 городами и обосновали его оптимальность. В 1960-е и 1970-е годы задача изучалась многими учеными как теоретически, так и с точки зрения её приложений в информатике, экономике, химии и биологии.
Ричард Карп в 1972 году доказал NP-полноту задачи поиска гамильтоновых путей, из чего, благодаря полиномиальной сводимости, вытекала NP-трудность задачи коммивояжёра. На основе этих свойств им было приведено теоретическое обоснование сложности поиска решений задачи на практике.
Больших успехов удалось достичь в конце 1970-х и 1980-х годах, когда Мартин Грётчел (нем. Martin Grötschel), Манфред Падберг (нем. Manfred Padberg) и Джованни Ринальди (итал. Giovanni Rinaldi) и другие, с применением новых методов деления плоскостью, ветвей и границ вычислили решение для отдельного случая задачи с 2393 городами.
В 1990-е годы Дэвид Аплгейт (англ. David Applegate), Роберт Биксби (англ. Robert Bixby), Вашек Хватал (чеш. Vašek Chvátal) и Уильям Кук (англ. William Cook) установили рекорды по программе Конкорд. Герхард Райнельт (нем. Gerhard Reinelt) создал TSPLIB — набор стандартизованных экземпляров задачи коммивояжёра различной степени сложности для сравнения результатов работы различных групп исследователей. В марте 2005 года задача с 33 810 узлами была решена программой Конкорд: был вычислен путь длиной в 66 048 945 и доказано отсутствие более коротких путей. В апреле 2006 было найдено решение для экземпляра с 85 900 узлами. Используя методы декомпозиции, можно вычислить решения для случаев задачи с миллионами узлов, длина которых менее, чем на 1 % больше оптимальной.
Формальное определение
Представление в виде графа

Для возможности применения математического аппарата для решения задачи её следует представить в виде математической модели. Задачу коммивояжёра можно представить в виде модели на графе, то есть, используя вершины и ребра между ними. Таким образом, вершины графа соответствуют городам, а рёбра между вершинами
и
— пути сообщения между этими городами. Каждому ребру
можно сопоставить критерий выгодности маршрута
, который можно понимать как, например, расстояние между городами, время или стоимость поездки.
Гамильтоновым циклом называется маршрут, включающий ровно по одному разу каждую вершину графа.
В целях упрощения задачи и гарантии существования маршрута обычно считается, что модельный граф задачи является полностью связным, то есть, что между произвольной парой вершин существует ребро. В тех случаях, когда между отдельными городами не существует сообщения, этого можно достичь путём ввода рёбер с максимальной длиной. Из-за большой длины такое ребро никогда не попадет в оптимальный маршрут, если он существует.
Таким образом, решение задачи коммивояжёра — это нахождение гамильтонова цикла минимального веса в полном взвешенном графе.
В зависимости от того, какой критерий выгодности маршрута сопоставляется величине ребер, различают различные варианты задачи, важнейшими из которых являются симметричная и метрическая задачи.
Асимметричная и симметричная задачи
В общем случае, асимметричная задача коммивояжёра отличается тем, что она моделируется ориентированным графом. Таким образом, следует также учитывать, в каком направлении находятся ребра.
В случае симметричной задачи все пары ребер между одними и теми же вершинами имеют одинаковую длину, то есть, для ребра одинаковы длины
. В симметричном случае количество возможных маршрутов вдвое меньше асимметричного случая. Симметричная задача моделируется неориентированным графом (см. рисунок).
На самом деле, задача коммивояжёра в случае реальных городов может быть как симметричной, так и асимметричной в зависимости от длительности или длины маршрутов и от направления движения.
Метрическая задача
Симметричную задачу коммивояжёра называют метрической, если относительно длин ребер выполняется неравенство треугольника. Условно говоря, в таких задачах обходные пути длиннее прямых, то есть ребро от вершины до вершины
никогда не бывает длиннее пути через промежуточную вершину
:
.
Такое свойство длины ребер определяет измеримое пространство на множестве ребер и меру расстояния, удовлетворяющую интуитивному пониманию расстояния.
Распространенные на практике функции расстояния являются также метриками и удовлетворяют неравенству треугольника:
- Евклидово расстояние в евклидовой задаче коммивояжёра,
- Манхэттенская метрика (также квартальная метрика) прямоугольной задачи коммивояжёра, в которой расстояние между вершинами на решетке равно сумме расстояний по оси ординат и абсцисс,
- Максимальная метрика, определяющая расстояние между вершинами решетчатого графа как максимальное значение расстояния вдоль оси ординат и абсцисс.
Две последние метрики находят применение, например, при сверлении отверстий в печатных платах, когда станок должен сделать больше отверстий за наименьшее время и может перемещать сверло в обоих направлениях для перехода от одного отверстия к следующему. Манхэттенская метрика соответствует случаю, когда передвижение в обоих направлениях происходит последовательно, а максимальная — случаю, когда передвижение в обоих направлениях происходит синхронно, а общее время равно максимальному времени передвижения вдоль оси ординат или абсцисс.
Неметрическая задача коммивояжёра может возникать, например, в случае минимизации длительности пребывания при наличии выбора транспортных средств в различных направлениях. В таком случае обходной путь самолётом может быть короче прямого сообщения автомобилем.
Если на практике в условиях задачи разрешается посещать города несколько раз, то симметричную задачу можно свести к метрической. Для этого задачу рассматривают на так называемом графе расстояний. Этот граф имеет такое же множество вершин, как и исходный, и является полностью связным. Длина рёбер между вершинами
и
на графе расстояний соответствует длине кратчайшего расстояния между вершинами
и
в исходном графе. Для определённых таким образом длин
выполняется неравенство треугольника, и каждому маршруту на графе расстояний всегда соответствует маршрут с возможными повторениями вершин в исходном графе.
Формулировка в виде задачи дискретной оптимизации
Одним из подходов к решению задачи является формулировка её в виде задачи дискретной оптимизации, при этом решения представляются в виде переменных, а связи — в виде отношений неравенства между ними. Таким образом, возможно несколько вариантов. Например, симметричную задачу можно представить в виде множества ребер . Каждому ребру
сопоставляется двоичная переменная
, равная 1, если ребро принадлежит маршруту, и 0 — в противном случае. Произвольный маршрут можно представить в виде значений множества переменных принадлежности, но не каждое такое множество определяет маршрут. Условием того, что значения множества переменных определяют маршрут, являются описанные далее линейные неравенства.

Каждая вершина должна сообщаться через пару ребер с остальным вершинам, то есть, через входное и выходное ребро:
В сумме каждое слагаемое равно или 1 (принадлежит маршруту) или 0 (не принадлежит). То есть, полученная сумма равна количеству ребер в маршруте, имеющих вершину
на одном из концов. Она равна 2, так как каждая вершина имеет входное и выходное ребро. В приведенном рядом рисунке вершина
показана с входным и выходными ребрами, а ребра маршрута обозначены толстыми линиями. Рядом с ребрами указаны длины
, прилагаемые к указанной выше сумме.

Описанные ранее условия кратности выполняются не только маршрутами, но и значениями переменных, соответствующих отдельным циклам, где каждая вершина принадлежит лишь одному циклу (см. рисунок). Чтобы избежать подобных случаев, должны выполняться так называемые неравенства циклов (или условия устранения подмаршрутов), которые были определены Данцигом, Фалкерсоном и Джонсоном в 1954 году под названием условия петель (англ. loop conditions). Этими неравенствами определялось дополнительное условие того, что каждое множество вершин является либо пустым, либо содержит все вершины, сочетающееся с остальным вершинам через минимум два ребра:
для всех множеств вершин , где
. Эта сумма равна сумме длин ребер маршрута между вершиной
и вершиной
. Чтобы устранить лишние неравенства, можно ограничиться множествами вершин
с минимум двумя и максимум
вершинами. На рисунке рядом ребра
с длинами
обозначены толстыми линиями, остальные ребра имеют длину
. Введение дополнительных условий (2) для множества вершин
, состоящего из трех левых вершин, будет гарантировать, что
сочетается через минимум два ребра маршрута с тремя вершинами справа, чтобы устранить оба цикла. Количество неравенств устранения циклов согласно Данцигу, Фалкерсону и Джонсону равняется
.
В 1960 году Миллер, Такер и Землин изобрели альтернативные условия устранения подмаршрутов путём введения новых переменных, определяющих порядок посещенных городов, требующих только
дополнительных неравенств. Более того, из-за двойственности
в формулировках Миллера, Такера и Землина задача коммивояжёра остается NP-сложной.
Так, каждый вектор с элементами, равными 0 и 1, удовлетворяющий всем неравенствам, определяет корректный маршрут, который является решением переформулированной задачи коммивояжёра: вычислить
Поскольку переменные имеют значения только 0 и 1, сумма равна общей длине
ребер
, принадлежащих маршруту.
Количество неравенств типа (2) растет экспоненциально по мере увеличения количества городов, поскольку почти каждое из подмножеств узлов определяет одно неравенство. Эту задачу можно решить применением метода отсечения плоскостью, благодаря которому неравенства добавляются, только когда эти неравенства действительно необходимы. С геометрической точки зрения, линейные неравенства можно представить как гиперплоскости в пространстве переменных. Множество векторов, удовлетворяющих этим неравенствам, образуют в таком пространстве политоп (многомерный многогранник), или многомерный многоугольник, точная форма определяется длинами
и является в основном неизвестной. Однако, можно показать, что условия (1) и (2) определяют грани (фацет) политопа, то есть боковые поверхности политопа с наивысшей размерностью. Поэтому они относятся к самым сильным линейным неравенствам, которые могут описывать маршрут. Также существует много разных граней, определяемых неравенствами, известными лишь в немногих случаях. Хотя (1) и (2) вместе с ограничениями полностью моделируют задачу только для двоичных векторов, эти неравенства могут использоваться в методе ветвей и границ, чтобы отбросить решения методами линейной оптимизации с нецелыми координатами (см. раздел точные методы ниже).
Алгоритмическая сложность
Поскольку коммивояжёр в каждом из городов встает перед выбором следующего города из тех, что он ещё не посетил, существует маршрутов для асимметричной и
маршрутов для симметричной задачи коммивояжёра. Таким образом, размер пространства поиска факториально зависит от количества городов.
Различные варианты задачи коммивояжёра (метрическая, симметричная и асимметричная) NP-эквивалентны. Согласно распространенной, но недоказанной гипотезе о неравенстве классов сложности P и NP, не существует детерминированной машины Тьюринга, способной находить решения экземпляров задачи за полиномиальное время в зависимости от количества городов.
Также известно, что при условии не существует алгоритма, который для некоторого полинома
вычислял бы такие решения задачи коммивояжёра, которые отличались бы от оптимального максимум на коэффициент
.
На практике поиск строго оптимального маршрута требуется не всегда. Существуют алгоритмы поиска приближенных решений для метрической задачи за полиномиальное время и нахождения маршрута максимум вдвое длиннее оптимального. До сих пор не известен ни один алгоритм с полиномиальным временем, который бы гарантировал точность лучшую, чем 1,5 от оптимальной. По предположению , существует (неизвестная) константа
, такая, что ни один алгоритм с полиномиальным временем не может гарантировать точность
. Как было показано Арора, для евклидовой задачи коммивояжёра существует схема полиномиального времени PTAS для поиска приближённого решения.
Кроме того данные могут иметь особенности, которые могут помочь решить задачу. Например, города расположены не случайно, а по рельефу местности, либо даже вдоль уже давно найденного оптимального торгового маршрута. Дополнительная информация и эвристики позволяют за приемлемое время находить приемлемые решения.
Замкнутый и незамкнутый варианты задачи
В замкнутом варианте задачи коммивояжёра требуется посетить все вершины графа, после чего вернуться в исходную вершину. Незамкнутый вариант отличается от замкнутого тем, что в нём не требуется возвращаться в стартовую вершину.
Незамкнутый вариант задачи сводится к замкнутому путём замены весов дуг, входящих в стартовую вершину, на число 0. Оптимальный замкнутый маршрут коммивояжёра в таком графе соответствует оптимальному незамкнутому маршруту в исходном графе.
Чтобы свести замкнутый вариант к незамкнутому, нужно определить число , строго превосходящее вес любого маршрута коммивояжёра в заданном графе (например, в качестве
можно взять сумму максимальных по весу дуг, выходящих из каждой вершины, увеличенную на 1). Затем нужно добавить к графу новую вершину
(предполагаем, что вершины исходного графа пронумерованы числами от 0 до
, при этом стартовая вершина имеет номер 0). Стоимости дуг, выходящих и входящих в вершину
, определяются следующим образом:
при
от
до
Оптимальный незамкнутый маршрут коммивояжёра в таком графе соответствует оптимальному замкнутому маршруту коммивояжёра в исходном графе и имеет стоимость на больше.
Методы решения
Простейшие
- полный перебор
- жадные алгоритмы
- метод ближайшего соседа
- метод минимального остовного дерева
- метод имитации отжига
Все эффективные (сокращающие полный перебор) методы решения задачи коммивояжёра — методы эвристические. Большинство эвристических методов находит не самый эффективный маршрут, а . Зачастую востребованы так называемые [уточнить], то есть, постепенно улучшающие некоторое текущее приближенное решение.
Примером простейшего метода решения метрического варианта задачи является использование минимальных остовных деревьев, дающее решение с фактором аппроксимации и имеющее временную сложность
. Идея заключается в том, что каждый связный граф содержит нижний порог стоимости его подграфа — минимальное остовное дерево, и в том, что любой цикл, посещающий каждую вершину графа минимум один раз, может быть трансформирован в оптимальный с точки зрения стоимости маршрут при использовании метрики:
- Найди минимальное остовное дерево
графа
.
- Создай граф
, удвоив все рёбра в
. Так все вершины в
имеют чётное количество рёбер.
- Найди в
эйлеров цикл
.
- Сократи
, пропуская удвоенные рёбра, получив цикл
.
- Выведи
.
Значение фактора аппроксимации доказывается следующим образом: Пусть — минимальное остовное дерево,
— то же дерево, но с удвоенными рёбрами,
— эйлеров цикл на графе
,
— результат работы алгоритма,
— минимальный маршрут. Заметим, что
, а также
. Тогда фактор аппроксимации равен
.
Однако вышеописанный метод можно оптимизировать, увеличивая число рёбер у вершин с нечётным количеством соседей на 1, что соответствует паросочетанию «нечётных» вершин. Важно заметить, что количество «нечётных» вершин всегда чётно, исходя из леммы о рукопожатиях. В таком случае оптимизированный алгоритм имеет фактор аппроксимации и временную сложность
. Перед доказательством покажем, что
, где
— паросочетание, а
— оптимальный маршрут: Пусть
— множество «нечётных» вершин минимального остовного дерева
, а
— цикл, полученный из
путем пропуска вершин
. Очевидно, что
имеет чётную длину, а также два непересекающихся максимальных паросочетания
и
, для которых справедливо
и
. Из этого следует, что
, а значит
. Исходя из этого найдем фактор аппроксимации алгоритма:
.
Существуют также постановки, в которых задача коммивояжёра становится NP-полной. Обычно такие постановки выглядят следующим образом: существует ли на заданном графе G такой обход, что его стоимость не превышает x. Часто на ней проводят обкатку новых подходов к эвристическому сокращению полного перебора.
На практике применяются различные модификации более эффективных методов: метод ветвей и границ и метод генетических алгоритмов, а также алгоритм муравьиной колонии.
Метод ветвей и границ
Можно найти точное решение задачи коммивояжёра, то есть «вручную» вычислить длины всех возможных маршрутов и выбрать маршрут с наименьшей длиной. Однако даже для небольшого количества городов решать задачу таким способом практически невозможно. Для простого варианта, симметричной задачи с городами, существует
возможных маршрутов, то есть для 15 городов существует 43 миллиарда маршрутов и для 18 городов уже 177 триллионов. То, как стремительно растет продолжительность вычислений, можно показать на следующем примере. Если бы существовало устройство, находящее решение для 30 городов за час, то для двух дополнительных городов требуется в тысячу раз больше времени; то есть, более чем 40 суток.

Методы дискретной оптимизации, в частности ветвей и границ, позволяют находить оптимальные или приблизительные решения для достаточно больших задач.
В геометрической интерпретации эти методы рассматривают задачу как выпуклый политоп, то есть многомерный многоугольник в -мерном единичном кубе
, где
равно количеству ребер в графе. Каждая вершина этого единичного куба соответствует маршруту, то есть вектору с элементами 0/1, что удовлетворяет описанным выше линейным неравенствам. Гиперплоскости, описываемые этими неравенствами, отсекают такие ребра единичного куба, которые не соответствуют ни одному маршруту.
На рисунке рядом показано применение метода для задачи с тремя узлами. В соответствие трем возможным ребрам между вершинами сопоставляются бинарные переменные и
. В этом случае существует лишь один возможный маршрут, а именно тот, что проходит через три вершины. Этот маршрут удовлетворяет неравенству
, которое утверждает, что маршрут должен проходить через минимум две вершины. Кроме этого маршрута, что соответствует вектору (1,1,1), неравенству удовлетворяют также все точки в отмеченной красным части этого неравенства. Плоскости, проходящие через красные линии, отсекают все углы, отвечающие несуществующим маршрутам с максимум одним ребром, а именно, ноль-вектор (0, 0, 0), единичные векторы (1, 0, 0), (0, 1, 0) и (0, 0, 1). Сильное неравенство
отсечет от единичного куба все, кроме единственной допустимой точки (1, 1, 1). В этом отдельном случае тот же эффект можно получить тремя неравенствами типа (1).
Для определения допустимого ребра с наименьшей длиной следует решить наборы задач линейной оптимизации, отсекающие секущими плоскостями ненужные части единичного куба и попытаться разделить единичный куб на меньшие политопы методом ветвей и границ.
Однако этого метода для быстрого поиска маршрутов обычно недостаточно. Основное преимущество точных методов заключается в том, что имея достаточно времени, они вычисляют кратчайший маршрут. Имея нижнюю границу для оптимальных решений, можно оценить то, насколько отличается найденный маршрут от оптимального. Например, имея нижнюю границу на уровне 100, и после нахождения маршрута длиной 102, оптимальный маршрут может находиться в пределах от 100 до 102. Так называемый интервал оптимальности, или максимальное относительное расстояние между длиной оптимального маршрута и кратчайшим известным маршрутом составит (102—100)/100 = 2 %, то есть длина найденного маршрута 102 максимум на 2 % отличается от оптимальной. Когда длина вычисленного маршрута равна длине предыдущего, считается, что найденное решение является оптимальным. Для поиска маршрутов приемлемой длины точные методы могут комбинироваться с эвристическими.
Метод ветвей и границ для решения задачи коммивояжёра был предложен в 1963 году группой авторов (Дж. Литл, К. Мурти, Д. Суини, К. Кэрол).
Метод эластичной сети
Этот раздел нуждается в переработке. Пожалуйста, уточните проблему в разделе с помощью более узкого шаблона. |
История
В 1987 году его использовали Дурбин (Durbin) и Уиллшоу (Willshaw), указавшие аналогию с механизмами установления упорядоченных нейронных связей.
Каждый из маршрутов коммивояжёра рассматривался как отображение окружности на плоскость (в каждый город на плоскости отображается некоторая точка этой окружности). Соседние точки на окружности должны отображаться в точки, по возможности ближайшие и на плоскости.
Алгоритм
Начинается с установки на плоскость небольшой окружности. Она неравномерно расширяется, становясь кольцом, проходящим практически около всех городов и устанавливая таким образом искомый маршрут. На каждую движущуюся точку кольца оказывает действие две составляющие: перемещение точки в сторону ближайшего города и смещение в сторону соседей точки на кольце так, чтобы уменьшить его длину. Город в итоге связывается с определённым участком кольца по мере расширения. По мере расширения такой эластичной сети каждый город оказывается ассоциирован с определённым участком кольца.
Вначале все города оказывают приблизительно одинаковое влияние на каждую точку маршрута. В последующем, большие расстояния становятся менее влиятельными и каждый город становится более специфичным для ближайших к нему точек кольца. Такое постепенное увеличение специфичности, которое напоминает метод обучения сети Кохонена, контролируется значением некоторого эффективного радиуса.
Дурбин и Уиллшоу показали, что для задачи с 30 городами, рассмотренной Хопфилдом и Танком, метод эластичной сети генерирует наикратчайший маршрут примерно за 1000 итераций. Для 100 городов найденный этим методом маршрут лишь на 1 % превосходил оптимальный.
Муравьиный алгоритм
Генетический алгоритм
Алгоритм динамического программирования
Основная идея заключается в вычислении и запоминании пути от исходного города и до каждого из остальных городов, затем суммирования этой величины с путем из каждого из остальных городов до оставшихся городов и т. д. Преимущество данного метода перед методом полного перебора
заключается в существенном сокращении полного объёма вычислений
за счет заметного увеличения объёма памяти
.
См. также
- Исследование операций
- Математическое программирование
- Транспортная логистика
- Проблема Штейнера
Примечания
- Gross J. L., Yellen J. Graph theory and its applications, 2006, с. 275.
- Euler, Leonhard, Solution d’une question curieuse que ne paroit soumise à aucune analyse Архивная копия от 19 августа 2021 на Wayback Machine, Mémoires de l’académie des sciences de Berlin, 15 (1759) 1766, p. 310—337.
- Кэрел К. , Литл Д. , Мурти К. , Суини Д. АЛГОРИТМ ДЛЯ РЕШЕНИЯ ЗАДАЧИ О КОММИВОЯЖЕРЕ // Экономика и математические методы. — 1965. — T. 1. — Выпуск № 1 °C. 94-107 .
- Richard Durbin, David Willshaw. An analogue approach to the travelling salesman problem using an elastic net method (англ.) // Nature. — 1987-04-22. — Vol. 326, iss. 6114. — P. 689–691. — doi:10.1038/326689a0. Архивировано 23 апреля 2016 года.
- Корбут А. А., Финкельштейн Ю. Ю. Дискретное программирование. — М., Наука, 1969. — C. 258—264
Литература
- Левитин А. В. Глава 3. Метод грубой силы: Задача коммивояжёра // Алгоритмы. Введение в разработку и анализ — М.: Вильямс, 2006. — С. 159—160. — 576 с. — ISBN 978-5-8459-0987-9
- Томас Х. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ = Introduction to Algorithms. — 2-е изд. — М.: , 2006. — С. 1296. — ISBN 0-07-013151-1.
- В.И. Мудров. Задача о коммивояжёре. — М.: «Знание», 1969. — С. 62.
- Ежов А., Шумский С. Нейрокомпьютинг и его применения в экономике и бизнесе . — М.: МИФИ, 1998. — С. 216.
- Gross J. L., Yellen J. Graph theory and its applications. Second edition. Boca Raton—London—New York: Chapman & Hall/CRC, 2006.
У этой статьи есть несколько проблем, помогите их исправить: |
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Задача коммивояжера, Что такое Задача коммивояжера? Что означает Задача коммивояжера?
U etogo termina sushestvuyut i drugie znacheniya sm TSP Zadacha kommivoyazhyora ili TSP ot angl travelling salesman problem odna iz samyh izvestnyh zadach kombinatornoj optimizacii zaklyuchayushayasya v poiske samogo vygodnogo prohodyashego cherez ukazannye goroda rovno po odnomu razu s posleduyushim vozvratom v ishodnyj gorod V usloviyah zadachi ukazyvayutsya kriterij vygodnosti marshruta kratchajshij samyj deshyovyj sovokupnyj kriterij i tomu podobnoe i sootvetstvuyushie matricy rasstoyanij stoimosti i tomu podobnogo Kak pravilo ukazyvaetsya chto marshrut dolzhen prohodit cherez kazhdyj gorod tolko odin raz v takom sluchae vybor osushestvlyaetsya sredi gamiltonovyh ciklov Sushestvuet neskolko chastnyh sluchaev obshej postanovki zadachi v chastnosti takzhe nazyvaemaya planarnoj ili evklidovoj kogda matrica rasstoyanij otrazhaet rasstoyaniya mezhdu tochkami na ploskosti kogda na matrice stoimostej vypolnyaetsya neravenstvo treugolnika i Takzhe sushestvuet obobshenie zadachi tak nazyvaemaya obobshyonnaya zadacha kommivoyazhyora Eto optimalnyj marshrut kommivoyazhyora cherez 14 krupnejshih gorodov Germanii Ukazannyj marshrut yavlyaetsya samym korotkim iz vseh vozmozhnyh 43 589 145 600 variantov Optimizacionnaya postanovka zadachi otnositsya k klassu NP trudnyh zadach vprochem kak i bolshinstvo eyo chastnyh sluchaev Versiya decision problem to est takaya v kotoroj stavitsya vopros sushestvuet li marshrut ne dlinnee chem zadannoe znachenie k otnositsya k klassu NP polnyh zadach Zadacha kommivoyazhyora otnositsya k chislu transvychislitelnyh uzhe pri otnositelno nebolshom chisle gorodov gt 66 ona ne mozhet byt reshena metodom perebora variantov nikakimi teoreticheski myslimymi kompyuterami za vremya menshee neskolkih milliardov let IstoriyaS zadachej kommivoyazhyora svyazana zadacha o poiske gamiltonovogo cikla Primerom takoj zadachi yavlyaetsya zadacha o hode shahmatnogo konya izvestnaya po krajnej mere s XVIII veka Leonard Ejler posvyatil ej bolshuyu rabotu Reshenie odnogo lyubopytnogo voprosa kotoryj kazhetsya ne podchinyaetsya nikakomu issledovaniyu datirovannuyu 1759 godom Drugim primerom zadachi na poisk gamiltonovogo cikla yavlyaetsya ikosian matematicheskaya golovomka v kotoroj nado projti po dodekaedru grafu s 20 uzlami pobyvav v kazhdoj vershine rovno odin raz Eta zadacha byla predlozhena Uilyamom Gamiltonom v XIX veke on zhe opredelil klass takih putej V 1832 godu izdana kniga s nazvaniem Kommivoyazhyor kak on dolzhen vesti sebya i chto dolzhen delat dlya togo chtoby dostavlyat tovar i imet uspeh v svoih delah sovety starogo kurera nem Der Handlungsreisende wie er sein soll und was er zu tun hat um Auftrage zu erhalten und eines glucklichen Erfolgs in seinen Geschaften gewiss zu sein von einem alten Commis Voyageur v kotoroj opisana zadacha no matematicheskij apparat dlya eyo resheniya ne primenyaetsya Zato v nej predlozheny primery marshrutov dlya nekotoryh regionov Germanii i Shvejcarii Pervye upominaniya v kachestve matematicheskoj zadachi na optimizaciyu prinadlezhat Karlu Mengeru kotoryj sformuliroval eyo na matematicheskom kollokviume v 1930 godu tak My nazyvaem zadachej posylnogo poskolku etot vopros voznikaet u kazhdogo pochtalona v chastnosti eyo reshayut mnogie puteshestvenniki zadachu najti kratchajshij put mezhdu konechnym mnozhestvom mest rasstoyanie mezhdu kotorymi izvestno Gamilton Uilyam Rouen Vskore poyavilos izvestnoe sejchas nazvanie zadacha stranstvuyushego torgovca angl traveling salesman problem kotoruyu predlozhil Hassler Uitni angl Hassler Whitney iz Prinstonskogo universiteta Vmeste s prostotoj opredeleniya i sravnitelnoj prostotoj nahozhdeniya horoshih reshenij zadacha kommivoyazhyora otlichaetsya tem chto nahozhdenie dejstvitelno optimalnogo puti yavlyaetsya dostatochno slozhnoj zadachej Uchityvaya eti svojstva nachinaya so vtoroj poloviny XX veka issledovanie zadachi kommivoyazhyora imeet ne stolko prakticheskij smysl skolko teoreticheskij v kachestve modeli dlya razrabotki novyh algoritmov optimizacii Mnogie sovremennye rasprostranennye metody diskretnoj optimizacii takie kak metod otsechenij vetvej i granic i razlichnye varianty evristicheskih algoritmov byli razrabotany na primere zadachi kommivoyazhyora V 1950 e i 1960 e gody zadacha kommivoyazhyora privlekla vnimanie uchenyh v SShA i Evrope Vazhnyj vklad v issledovanie zadachi prinadlezhit Dzhordzhu Dancigu Delbertu Reyu Falkersonu angl Delbert Ray Fulkerson i Selmeru Dzhonsonu angl Selmer M Johnson kotorye v 1954 godu v institute RAND Corporation sformulirovali zadachu v vide zadachi diskretnoj optimizacii i primenili dlya eyo resheniya metod otsechenij Ispolzuya etot metod oni postroili put kommivoyazhyora dlya odnoj chastnoj postanovki zadachi s 49 gorodami i obosnovali ego optimalnost V 1960 e i 1970 e gody zadacha izuchalas mnogimi uchenymi kak teoreticheski tak i s tochki zreniya eyo prilozhenij v informatike ekonomike himii i biologii Richard Karp v 1972 godu dokazal NP polnotu zadachi poiska gamiltonovyh putej iz chego blagodarya polinomialnoj svodimosti vytekala NP trudnost zadachi kommivoyazhyora Na osnove etih svojstv im bylo privedeno teoreticheskoe obosnovanie slozhnosti poiska reshenij zadachi na praktike Bolshih uspehov udalos dostich v konce 1970 h i 1980 h godah kogda Martin Gryotchel nem Martin Grotschel Manfred Padberg nem Manfred Padberg i Dzhovanni Rinaldi ital Giovanni Rinaldi i drugie s primeneniem novyh metodov deleniya ploskostyu vetvej i granic vychislili reshenie dlya otdelnogo sluchaya zadachi s 2393 gorodami V 1990 e gody Devid Aplgejt angl David Applegate Robert Biksbi angl Robert Bixby Vashek Hvatal chesh Vasek Chvatal i Uilyam Kuk angl William Cook ustanovili rekordy po programme Konkord Gerhard Rajnelt nem Gerhard Reinelt sozdal TSPLIB nabor standartizovannyh ekzemplyarov zadachi kommivoyazhyora razlichnoj stepeni slozhnosti dlya sravneniya rezultatov raboty razlichnyh grupp issledovatelej V marte 2005 goda zadacha s 33 810 uzlami byla reshena programmoj Konkord byl vychislen put dlinoj v 66 048 945 i dokazano otsutstvie bolee korotkih putej V aprele 2006 bylo najdeno reshenie dlya ekzemplyara s 85 900 uzlami Ispolzuya metody dekompozicii mozhno vychislit resheniya dlya sluchaev zadachi s millionami uzlov dlina kotoryh menee chem na 1 bolshe optimalnoj Formalnoe opredeleniePredstavlenie v vide grafa Simmetrichnaya zadacha dlya chetyryoh gorodov Dlya vozmozhnosti primeneniya matematicheskogo apparata dlya resheniya zadachi eyo sleduet predstavit v vide matematicheskoj modeli Zadachu kommivoyazhyora mozhno predstavit v vide modeli na grafe to est ispolzuya vershiny i rebra mezhdu nimi Takim obrazom vershiny grafa sootvetstvuyut gorodam a ryobra i j displaystyle left i j right mezhdu vershinami i displaystyle i i j displaystyle j puti soobsheniya mezhdu etimi gorodami Kazhdomu rebru i j displaystyle left i j right mozhno sopostavit kriterij vygodnosti marshruta cij 0 displaystyle c ij geqslant 0 kotoryj mozhno ponimat kak naprimer rasstoyanie mezhdu gorodami vremya ili stoimost poezdki Gamiltonovym ciklom nazyvaetsya marshrut vklyuchayushij rovno po odnomu razu kazhduyu vershinu grafa V celyah uprosheniya zadachi i garantii sushestvovaniya marshruta obychno schitaetsya chto modelnyj graf zadachi yavlyaetsya polnostyu svyaznym to est chto mezhdu proizvolnoj paroj vershin sushestvuet rebro V teh sluchayah kogda mezhdu otdelnymi gorodami ne sushestvuet soobsheniya etogo mozhno dostich putyom vvoda ryober s maksimalnoj dlinoj Iz za bolshoj dliny takoe rebro nikogda ne popadet v optimalnyj marshrut esli on sushestvuet Takim obrazom reshenie zadachi kommivoyazhyora eto nahozhdenie gamiltonova cikla minimalnogo vesa v polnom vzveshennom grafe V zavisimosti ot togo kakoj kriterij vygodnosti marshruta sopostavlyaetsya velichine reber razlichayut razlichnye varianty zadachi vazhnejshimi iz kotoryh yavlyayutsya simmetrichnaya i metricheskaya zadachi Asimmetrichnaya i simmetrichnaya zadachi V obshem sluchae asimmetrichnaya zadacha kommivoyazhyora otlichaetsya tem chto ona modeliruetsya orientirovannym grafom Takim obrazom sleduet takzhe uchityvat v kakom napravlenii nahodyatsya rebra V sluchae simmetrichnoj zadachi vse pary reber mezhdu odnimi i temi zhe vershinami imeyut odinakovuyu dlinu to est dlya rebra i j displaystyle left i j right odinakovy dliny cij cji displaystyle c ij c ji V simmetrichnom sluchae kolichestvo vozmozhnyh marshrutov vdvoe menshe asimmetrichnogo sluchaya Simmetrichnaya zadacha modeliruetsya neorientirovannym grafom sm risunok Na samom dele zadacha kommivoyazhyora v sluchae realnyh gorodov mozhet byt kak simmetrichnoj tak i asimmetrichnoj v zavisimosti ot dlitelnosti ili dliny marshrutov i ot napravleniya dvizheniya Metricheskaya zadacha Simmetrichnuyu zadachu kommivoyazhyora nazyvayut metricheskoj esli otnositelno dlin reber vypolnyaetsya neravenstvo treugolnika Uslovno govorya v takih zadachah obhodnye puti dlinnee pryamyh to est rebro ot vershiny i displaystyle i do vershiny j displaystyle j nikogda ne byvaet dlinnee puti cherez promezhutochnuyu vershinu k displaystyle k cij cik ckj displaystyle c ij leqslant c ik c kj Takoe svojstvo dliny reber opredelyaet izmerimoe prostranstvo na mnozhestve reber i meru rasstoyaniya udovletvoryayushuyu intuitivnomu ponimaniyu rasstoyaniya Rasprostranennye na praktike funkcii rasstoyaniya yavlyayutsya takzhe metrikami i udovletvoryayut neravenstvu treugolnika Evklidovo rasstoyanie v evklidovoj zadache kommivoyazhyora Manhettenskaya metrika takzhe kvartalnaya metrika pryamougolnoj zadachi kommivoyazhyora v kotoroj rasstoyanie mezhdu vershinami na reshetke ravno summe rasstoyanij po osi ordinat i absciss Maksimalnaya metrika opredelyayushaya rasstoyanie mezhdu vershinami reshetchatogo grafa kak maksimalnoe znachenie rasstoyaniya vdol osi ordinat i absciss Dve poslednie metriki nahodyat primenenie naprimer pri sverlenii otverstij v pechatnyh platah kogda stanok dolzhen sdelat bolshe otverstij za naimenshee vremya i mozhet peremeshat sverlo v oboih napravleniyah dlya perehoda ot odnogo otverstiya k sleduyushemu Manhettenskaya metrika sootvetstvuet sluchayu kogda peredvizhenie v oboih napravleniyah proishodit posledovatelno a maksimalnaya sluchayu kogda peredvizhenie v oboih napravleniyah proishodit sinhronno a obshee vremya ravno maksimalnomu vremeni peredvizheniya vdol osi ordinat ili absciss Nemetricheskaya zadacha kommivoyazhyora mozhet voznikat naprimer v sluchae minimizacii dlitelnosti prebyvaniya pri nalichii vybora transportnyh sredstv v razlichnyh napravleniyah V takom sluchae obhodnoj put samolyotom mozhet byt koroche pryamogo soobsheniya avtomobilem Esli na praktike v usloviyah zadachi razreshaetsya poseshat goroda neskolko raz to simmetrichnuyu zadachu mozhno svesti k metricheskoj Dlya etogo zadachu rassmatrivayut na tak nazyvaemom grafe rasstoyanij Etot graf imeet takoe zhe mnozhestvo vershin kak i ishodnyj i yavlyaetsya polnostyu svyaznym Dlina ryober cij displaystyle c ij mezhdu vershinami i displaystyle i i j displaystyle j na grafe rasstoyanij sootvetstvuet dline kratchajshego rasstoyaniya mezhdu vershinami i displaystyle i i j displaystyle j v ishodnom grafe Dlya opredelyonnyh takim obrazom dlin cij displaystyle c ij vypolnyaetsya neravenstvo treugolnika i kazhdomu marshrutu na grafe rasstoyanij vsegda sootvetstvuet marshrut s vozmozhnymi povtoreniyami vershin v ishodnom grafe Formulirovka v vide zadachi diskretnoj optimizacii Odnim iz podhodov k resheniyu zadachi yavlyaetsya formulirovka eyo v vide zadachi diskretnoj optimizacii pri etom resheniya predstavlyayutsya v vide peremennyh a svyazi v vide otnoshenij neravenstva mezhdu nimi Takim obrazom vozmozhno neskolko variantov Naprimer simmetrichnuyu zadachu mozhno predstavit v vide mnozhestva reber V displaystyle V Kazhdomu rebru i j displaystyle i j sopostavlyaetsya dvoichnaya peremennaya xij 0 1 displaystyle x ij in 0 1 ravnaya 1 esli rebro prinadlezhit marshrutu i 0 v protivnom sluchae Proizvolnyj marshrut mozhno predstavit v vide znachenij mnozhestva peremennyh prinadlezhnosti no ne kazhdoe takoe mnozhestvo opredelyaet marshrut Usloviem togo chto znacheniya mnozhestva peremennyh opredelyayut marshrut yavlyayutsya opisannye dalee linejnye neravenstva Uslovie kratnosti kazhdaya vershina dolzhna imet odno vhodnoe i odno vyhodnoe rebro marshruta Kazhdaya vershina dolzhna soobshatsya cherez paru reber s ostalnym vershinam to est cherez vhodnoe i vyhodnoe rebro i V j V i xij 2 1 displaystyle forall i in V sum j in V setminus i x ij 2 qquad 1 V summe kazhdoe slagaemoe xij displaystyle x ij ravno ili 1 prinadlezhit marshrutu ili 0 ne prinadlezhit To est poluchennaya summa ravna kolichestvu reber v marshrute imeyushih vershinu i displaystyle i na odnom iz koncov Ona ravna 2 tak kak kazhdaya vershina imeet vhodnoe i vyhodnoe rebro V privedennom ryadom risunke vershina i displaystyle i pokazana s vhodnym i vyhodnymi rebrami a rebra marshruta oboznacheny tolstymi liniyami Ryadom s rebrami ukazany dliny xij displaystyle x ij prilagaemye k ukazannoj vyshe summe Cikly peremennye udovletvoryayut usloviyu kratnosti no ne opredelyayut marshrut Opisannye ranee usloviya kratnosti vypolnyayutsya ne tolko marshrutami no i znacheniyami peremennyh sootvetstvuyushih otdelnym ciklam gde kazhdaya vershina prinadlezhit lish odnomu ciklu sm risunok Chtoby izbezhat podobnyh sluchaev dolzhny vypolnyatsya tak nazyvaemye neravenstva ciklov ili usloviya ustraneniya podmarshrutov kotorye byli opredeleny Dancigom Falkersonom i Dzhonsonom v 1954 godu pod nazvaniem usloviya petel angl loop conditions Etimi neravenstvami opredelyalos dopolnitelnoe uslovie togo chto kazhdoe mnozhestvo vershin S V displaystyle S subset V yavlyaetsya libo pustym libo soderzhit vse vershiny sochetayusheesya s ostalnym vershinam cherez minimum dva rebra i S j Sxij 2 2 displaystyle sum i in S j notin S x ij geqslant 2 qquad 2 dlya vseh mnozhestv vershin S displaystyle S gde 1 S V 1 displaystyle 1 leqslant S leqslant V 1 Eta summa ravna summe dlin reber marshruta mezhdu vershinoj i S displaystyle i in S i vershinoj j S displaystyle j notin S Chtoby ustranit lishnie neravenstva mozhno ogranichitsya mnozhestvami vershin S displaystyle S s minimum dvumya i maksimum V 2 displaystyle V 2 vershinami Na risunke ryadom rebra i j displaystyle i j s dlinami xij 1 displaystyle x ij 1 oboznacheny tolstymi liniyami ostalnye rebra imeyut dlinu xij 0 displaystyle x ij 0 Vvedenie dopolnitelnyh uslovij 2 dlya mnozhestva vershin S displaystyle S sostoyashego iz treh levyh vershin budet garantirovat chto S displaystyle S sochetaetsya cherez minimum dva rebra marshruta s tremya vershinami sprava chtoby ustranit oba cikla Kolichestvo neravenstv ustraneniya ciklov soglasno Dancigu Falkersonu i Dzhonsonu ravnyaetsya 2n 2 n 1 displaystyle 2 n 2 n 1 V 1960 godu Miller Taker i Zemlin izobreli alternativnye usloviya ustraneniya podmarshrutov putyom vvedeniya n displaystyle n novyh peremennyh opredelyayushih poryadok poseshennyh gorodov trebuyushih tolko n2 n 1 displaystyle n 2 n 1 dopolnitelnyh neravenstv Bolee togo iz za dvojstvennosti xij displaystyle x ij v formulirovkah Millera Takera i Zemlina zadacha kommivoyazhyora ostaetsya NP slozhnoj Tak kazhdyj vektor s elementami ravnymi 0 i 1 udovletvoryayushij vsem neravenstvam opredelyaet korrektnyj marshrut kotoryj yavlyaetsya resheniem pereformulirovannoj zadachi kommivoyazhyora vychislit min i V j V i cijxij x valid 1 2 xij 0 1 3 displaystyle min left sum i in V sum j in V setminus i c ij x ij x mbox valid 1 2 x ij in 0 1 right qquad 3 Poskolku peremennye xij displaystyle x ij imeyut znacheniya tolko 0 i 1 summa ravna obshej dline cij displaystyle c ij reber i j displaystyle i j prinadlezhashih marshrutu Kolichestvo neravenstv tipa 2 rastet eksponencialno po mere uvelicheniya kolichestva gorodov poskolku pochti kazhdoe iz 2 V displaystyle 2 V podmnozhestv uzlov opredelyaet odno neravenstvo Etu zadachu mozhno reshit primeneniem metoda otsecheniya ploskostyu blagodarya kotoromu neravenstva dobavlyayutsya tolko kogda eti neravenstva dejstvitelno neobhodimy S geometricheskoj tochki zreniya linejnye neravenstva mozhno predstavit kak giperploskosti v prostranstve peremennyh Mnozhestvo vektorov udovletvoryayushih etim neravenstvam obrazuyut v takom prostranstve politop mnogomernyj mnogogrannik ili mnogomernyj mnogougolnik tochnaya forma opredelyaetsya dlinami cij displaystyle c ij i yavlyaetsya v osnovnom neizvestnoj Odnako mozhno pokazat chto usloviya 1 i 2 opredelyayut grani facet politopa to est bokovye poverhnosti politopa s naivysshej razmernostyu Poetomu oni otnosyatsya k samym silnym linejnym neravenstvam kotorye mogut opisyvat marshrut Takzhe sushestvuet mnogo raznyh granej opredelyaemyh neravenstvami izvestnymi lish v nemnogih sluchayah Hotya 1 i 2 vmeste s ogranicheniyami polnostyu modeliruyut zadachu tolko dlya dvoichnyh vektorov eti neravenstva mogut ispolzovatsya v metode vetvej i granic chtoby otbrosit resheniya metodami linejnoj optimizacii s necelymi koordinatami sm razdel tochnye metody nizhe Algoritmicheskaya slozhnostPoskolku kommivoyazhyor v kazhdom iz gorodov vstaet pered vyborom sleduyushego goroda iz teh chto on eshyo ne posetil sushestvuet n 1 displaystyle n 1 marshrutov dlya asimmetrichnoj i n 1 2 displaystyle n 1 2 marshrutov dlya simmetrichnoj zadachi kommivoyazhyora Takim obrazom razmer prostranstva poiska faktorialno zavisit ot kolichestva gorodov Razlichnye varianty zadachi kommivoyazhyora metricheskaya simmetrichnaya i asimmetrichnaya NP ekvivalentny Soglasno rasprostranennoj no nedokazannoj gipoteze o neravenstve klassov slozhnosti P i NP ne sushestvuet determinirovannoj mashiny Tyuringa sposobnoj nahodit resheniya ekzemplyarov zadachi za polinomialnoe vremya v zavisimosti ot kolichestva gorodov Takzhe izvestno chto pri uslovii P NP displaystyle P neq NP ne sushestvuet algoritma kotoryj dlya nekotorogo polinoma p displaystyle p vychislyal by takie resheniya zadachi kommivoyazhyora kotorye otlichalis by ot optimalnogo maksimum na koefficient 2p n displaystyle 2 p n Na praktike poisk strogo optimalnogo marshruta trebuetsya ne vsegda Sushestvuyut algoritmy poiska priblizhennyh reshenij dlya metricheskoj zadachi za polinomialnoe vremya i nahozhdeniya marshruta maksimum vdvoe dlinnee optimalnogo Do sih por ne izvesten ni odin algoritm s polinomialnym vremenem kotoryj by garantiroval tochnost luchshuyu chem 1 5 ot optimalnoj Po predpolozheniyu P NP displaystyle P neq NP sushestvuet neizvestnaya konstanta c gt 0 displaystyle c gt 0 takaya chto ni odin algoritm s polinomialnym vremenem ne mozhet garantirovat tochnost 1 c displaystyle 1 c Kak bylo pokazano Arora dlya evklidovoj zadachi kommivoyazhyora sushestvuet shema polinomialnogo vremeni PTAS dlya poiska priblizhyonnogo resheniya Krome togo dannye mogut imet osobennosti kotorye mogut pomoch reshit zadachu Naprimer goroda raspolozheny ne sluchajno a po relefu mestnosti libo dazhe vdol uzhe davno najdennogo optimalnogo torgovogo marshruta Dopolnitelnaya informaciya i evristiki pozvolyayut za priemlemoe vremya nahodit priemlemye resheniya Zamknutyj i nezamknutyj varianty zadachiV zamknutom variante zadachi kommivoyazhyora trebuetsya posetit vse vershiny grafa posle chego vernutsya v ishodnuyu vershinu Nezamknutyj variant otlichaetsya ot zamknutogo tem chto v nyom ne trebuetsya vozvrashatsya v startovuyu vershinu Nezamknutyj variant zadachi svoditsya k zamknutomu putyom zameny vesov dug vhodyashih v startovuyu vershinu na chislo 0 Optimalnyj zamknutyj marshrut kommivoyazhyora v takom grafe sootvetstvuet optimalnomu nezamknutomu marshrutu v ishodnom grafe Chtoby svesti zamknutyj variant k nezamknutomu nuzhno opredelit chislo K displaystyle K strogo prevoshodyashee ves lyubogo marshruta kommivoyazhyora v zadannom grafe naprimer v kachestve K displaystyle K mozhno vzyat summu maksimalnyh po vesu dug vyhodyashih iz kazhdoj vershiny uvelichennuyu na 1 Zatem nuzhno dobavit k grafu novuyu vershinu vn displaystyle v n predpolagaem chto vershiny ishodnogo grafa pronumerovany chislami ot 0 do n 1 displaystyle n 1 pri etom startovaya vershina imeet nomer 0 Stoimosti dug vyhodyashih i vhodyashih v vershinu vn displaystyle v n opredelyayutsya sleduyushim obrazom cn i 3K displaystyle c n i 3K c0 n 3K displaystyle c 0 n 3K ci n ci 0 2K displaystyle c i n c i 0 2K pri i displaystyle i ot 1 displaystyle 1 do n 1 displaystyle n 1 Optimalnyj nezamknutyj marshrut kommivoyazhyora v takom grafe sootvetstvuet optimalnomu zamknutomu marshrutu kommivoyazhyora v ishodnom grafe i imeet stoimost na 2K displaystyle 2K bolshe Metody resheniyaProstejshie polnyj perebor zhadnye algoritmy metod blizhajshego soseda metod minimalnogo ostovnogo dereva metod imitacii otzhiga Vse effektivnye sokrashayushie polnyj perebor metody resheniya zadachi kommivoyazhyora metody evristicheskie Bolshinstvo evristicheskih metodov nahodit ne samyj effektivnyj marshrut a Zachastuyu vostrebovany tak nazyvaemye utochnit to est postepenno uluchshayushie nekotoroe tekushee priblizhennoe reshenie Primerom prostejshego metoda resheniya metricheskogo varianta zadachi yavlyaetsya ispolzovanie minimalnyh ostovnyh derevev dayushee reshenie s faktorom approksimacii 2 displaystyle 2 i imeyushee vremennuyu slozhnost O n2log n displaystyle O n 2 log n Ideya zaklyuchaetsya v tom chto kazhdyj svyaznyj graf soderzhit nizhnij porog stoimosti ego podgrafa minimalnoe ostovnoe derevo i v tom chto lyuboj cikl poseshayushij kazhduyu vershinu grafa minimum odin raz mozhet byt transformirovan v optimalnyj s tochki zreniya stoimosti marshrut pri ispolzovanii metriki Najdi minimalnoe ostovnoe derevo T displaystyle T grafa G displaystyle G Sozdaj graf T displaystyle T udvoiv vse ryobra v T displaystyle T Tak vse vershiny v T displaystyle T imeyut chyotnoe kolichestvo ryober Najdi v T displaystyle T ejlerov cikl C displaystyle C Sokrati C displaystyle C propuskaya udvoennye ryobra poluchiv cikl C displaystyle C Vyvedi C displaystyle C Znachenie faktora approksimacii dokazyvaetsya sleduyushim obrazom Pust T displaystyle T minimalnoe ostovnoe derevo T displaystyle T to zhe derevo no s udvoennymi ryobrami C displaystyle C ejlerov cikl na grafe T displaystyle T C displaystyle C rezultat raboty algoritma C displaystyle C minimalnyj marshrut Zametim chto c T c C e c C displaystyle c T leqslant c C e leqslant c C a takzhe c C c C 2 c T displaystyle c C leqslant c C 2 cdot c T Togda faktor approksimacii raven CC 2 c T c C 2 c C c C 2 displaystyle frac C C leqslant frac 2 cdot c T c C leqslant frac 2 cdot c C c C 2 Odnako vysheopisannyj metod mozhno optimizirovat uvelichivaya chislo ryober u vershin s nechyotnym kolichestvom sosedej na 1 chto sootvetstvuet parosochetaniyu nechyotnyh vershin Vazhno zametit chto kolichestvo nechyotnyh vershin vsegda chyotno ishodya iz lemmy o rukopozhatiyah V takom sluchae optimizirovannyj algoritm imeet faktor approksimacii 3 2 displaystyle 3 2 i vremennuyu slozhnost O n3 displaystyle O n 3 Pered dokazatelstvom pokazhem chto c M c C 2 displaystyle c M leqslant c C 2 gde M displaystyle M parosochetanie a C displaystyle C optimalnyj marshrut Pust U displaystyle U mnozhestvo nechyotnyh vershin minimalnogo ostovnogo dereva T displaystyle T a C displaystyle C cikl poluchennyj iz C displaystyle C putem propuska vershin V U displaystyle V setminus U Ochevidno chto C displaystyle C imeet chyotnuyu dlinu a takzhe dva neperesekayushihsya maksimalnyh parosochetaniya M1 displaystyle M 1 i M2 displaystyle M 2 dlya kotoryh spravedlivo c M c M1 displaystyle c M leqslant c M 1 i c M c M2 displaystyle c M leqslant c M 2 Iz etogo sleduet chto 2 c M c M1 c M2 c C c C displaystyle 2 cdot c M leqslant c M 1 c M 2 c C leqslant c C a znachit c M c C 2 displaystyle c M leqslant c C 2 Ishodya iz etogo najdem faktor approksimacii algoritma c C c C c T c M c C c C c C 2c C 1 5 c C c C 1 5 displaystyle frac c C c C leqslant frac c T c M c C leqslant frac c C c C 2 c C leqslant frac 1 5 cdot c C c C 1 5 Sushestvuyut takzhe postanovki v kotoryh zadacha kommivoyazhyora stanovitsya NP polnoj Obychno takie postanovki vyglyadyat sleduyushim obrazom sushestvuet li na zadannom grafe G takoj obhod chto ego stoimost ne prevyshaet x Chasto na nej provodyat obkatku novyh podhodov k evristicheskomu sokrasheniyu polnogo perebora Na praktike primenyayutsya razlichnye modifikacii bolee effektivnyh metodov metod vetvej i granic i metod geneticheskih algoritmov a takzhe algoritm muravinoj kolonii Metod vetvej i granic Osnovnaya statya Metod vetvej i granic Mozhno najti tochnoe reshenie zadachi kommivoyazhyora to est vruchnuyu vychislit dliny vseh vozmozhnyh marshrutov i vybrat marshrut s naimenshej dlinoj Odnako dazhe dlya nebolshogo kolichestva gorodov reshat zadachu takim sposobom prakticheski nevozmozhno Dlya prostogo varianta simmetrichnoj zadachi s n displaystyle n gorodami sushestvuet n 1 2 displaystyle n 1 2 vozmozhnyh marshrutov to est dlya 15 gorodov sushestvuet 43 milliarda marshrutov i dlya 18 gorodov uzhe 177 trillionov To kak stremitelno rastet prodolzhitelnost vychislenij mozhno pokazat na sleduyushem primere Esli by sushestvovalo ustrojstvo nahodyashee reshenie dlya 30 gorodov za chas to dlya dvuh dopolnitelnyh gorodov trebuetsya v tysyachu raz bolshe vremeni to est bolee chem 40 sutok Zadacha kommivoyazhyora dlya treh gorodov krasnaya punktirnaya ploskost x1 x2 x3 2 displaystyle x 1 x 2 x 3 geqslant 2 otsekaet vse nedopustimye resheniya s maksimum odnim rebrom Vse tochki v krasnom politope udovletvoryayut etomu neravenstvu i edinstvennaya dopustimaya tochka eto 1 1 1 Metody diskretnoj optimizacii v chastnosti vetvej i granic pozvolyayut nahodit optimalnye ili priblizitelnye resheniya dlya dostatochno bolshih zadach V geometricheskoj interpretacii eti metody rassmatrivayut zadachu kak vypuklyj politop to est mnogomernyj mnogougolnik v m displaystyle m mernom edinichnom kube 0 1 m displaystyle 0 1 m gde m displaystyle m ravno kolichestvu reber v grafe Kazhdaya vershina etogo edinichnogo kuba sootvetstvuet marshrutu to est vektoru s elementami 0 1 chto udovletvoryaet opisannym vyshe linejnym neravenstvam Giperploskosti opisyvaemye etimi neravenstvami otsekayut takie rebra edinichnogo kuba kotorye ne sootvetstvuyut ni odnomu marshrutu Na risunke ryadom pokazano primenenie metoda dlya zadachi s tremya uzlami V sootvetstvie trem vozmozhnym rebram mezhdu vershinami sopostavlyayutsya binarnye peremennye x1 x2 displaystyle x 1 x 2 i x3 displaystyle x 3 V etom sluchae sushestvuet lish odin vozmozhnyj marshrut a imenno tot chto prohodit cherez tri vershiny Etot marshrut udovletvoryaet neravenstvu x1 x2 x3 2 displaystyle x 1 x 2 x 3 geqslant 2 kotoroe utverzhdaet chto marshrut dolzhen prohodit cherez minimum dve vershiny Krome etogo marshruta chto sootvetstvuet vektoru 1 1 1 neravenstvu udovletvoryayut takzhe vse tochki v otmechennoj krasnym chasti etogo neravenstva Ploskosti prohodyashie cherez krasnye linii otsekayut vse ugly otvechayushie nesushestvuyushim marshrutam s maksimum odnim rebrom a imenno nol vektor 0 0 0 edinichnye vektory 1 0 0 0 1 0 i 0 0 1 Silnoe neravenstvo x1 x2 x3 3 displaystyle x 1 x 2 x 3 geqslant 3 otsechet ot edinichnogo kuba vse krome edinstvennoj dopustimoj tochki 1 1 1 V etom otdelnom sluchae tot zhe effekt mozhno poluchit tremya neravenstvami tipa 1 Dlya opredeleniya dopustimogo rebra s naimenshej dlinoj sleduet reshit nabory zadach linejnoj optimizacii otsekayushie sekushimi ploskostyami nenuzhnye chasti edinichnogo kuba i popytatsya razdelit edinichnyj kub na menshie politopy metodom vetvej i granic Odnako etogo metoda dlya bystrogo poiska marshrutov obychno nedostatochno Osnovnoe preimushestvo tochnyh metodov zaklyuchaetsya v tom chto imeya dostatochno vremeni oni vychislyayut kratchajshij marshrut Imeya nizhnyuyu granicu dlya optimalnyh reshenij mozhno ocenit to naskolko otlichaetsya najdennyj marshrut ot optimalnogo Naprimer imeya nizhnyuyu granicu na urovne 100 i posle nahozhdeniya marshruta dlinoj 102 optimalnyj marshrut mozhet nahoditsya v predelah ot 100 do 102 Tak nazyvaemyj interval optimalnosti ili maksimalnoe otnositelnoe rasstoyanie mezhdu dlinoj optimalnogo marshruta i kratchajshim izvestnym marshrutom sostavit 102 100 100 2 to est dlina najdennogo marshruta 102 maksimum na 2 otlichaetsya ot optimalnoj Kogda dlina vychislennogo marshruta ravna dline predydushego schitaetsya chto najdennoe reshenie yavlyaetsya optimalnym Dlya poiska marshrutov priemlemoj dliny tochnye metody mogut kombinirovatsya s evristicheskimi Metod vetvej i granic dlya resheniya zadachi kommivoyazhyora byl predlozhen v 1963 godu gruppoj avtorov Dzh Litl K Murti D Suini K Kerol Metod elastichnoj seti Sm takzhe Uprugaya karta i Vypuklaya obolochka Etot razdel nuzhdaetsya v pererabotke Pozhalujsta utochnite problemu v razdele s pomoshyu bolee uzkogo shablona Pozhalujsta uluchshite statyu v sootvetstvii s pravilami napisaniya statej 7 maya 2016 Istoriya V 1987 godu ego ispolzovali Durbin Durbin i Uillshou Willshaw ukazavshie analogiyu s mehanizmami ustanovleniya uporyadochennyh nejronnyh svyazej Kazhdyj iz marshrutov kommivoyazhyora rassmatrivalsya kak otobrazhenie okruzhnosti na ploskost v kazhdyj gorod na ploskosti otobrazhaetsya nekotoraya tochka etoj okruzhnosti Sosednie tochki na okruzhnosti dolzhny otobrazhatsya v tochki po vozmozhnosti blizhajshie i na ploskosti Algoritm Nachinaetsya s ustanovki na ploskost nebolshoj okruzhnosti Ona neravnomerno rasshiryaetsya stanovyas kolcom prohodyashim prakticheski okolo vseh gorodov i ustanavlivaya takim obrazom iskomyj marshrut Na kazhduyu dvizhushuyusya tochku kolca okazyvaet dejstvie dve sostavlyayushie peremeshenie tochki v storonu blizhajshego goroda i smeshenie v storonu sosedej tochki na kolce tak chtoby umenshit ego dlinu Gorod v itoge svyazyvaetsya s opredelyonnym uchastkom kolca po mere rasshireniya Po mere rasshireniya takoj elastichnoj seti kazhdyj gorod okazyvaetsya associirovan s opredelyonnym uchastkom kolca Vnachale vse goroda okazyvayut priblizitelno odinakovoe vliyanie na kazhduyu tochku marshruta V posleduyushem bolshie rasstoyaniya stanovyatsya menee vliyatelnymi i kazhdyj gorod stanovitsya bolee specifichnym dlya blizhajshih k nemu tochek kolca Takoe postepennoe uvelichenie specifichnosti kotoroe napominaet metod obucheniya seti Kohonena kontroliruetsya znacheniem nekotorogo effektivnogo radiusa Durbin i Uillshou pokazali chto dlya zadachi s 30 gorodami rassmotrennoj Hopfildom i Tankom metod elastichnoj seti generiruet naikratchajshij marshrut primerno za 1000 iteracij Dlya 100 gorodov najdennyj etim metodom marshrut lish na 1 prevoshodil optimalnyj Muravinyj algoritm Osnovnaya statya Muravinyj algoritm Geneticheskij algoritm Osnovnaya statya Geneticheskij algoritm Algoritm dinamicheskogo programmirovaniya Osnovnaya ideya zaklyuchaetsya v vychislenii i zapominanii puti ot ishodnogo goroda i do kazhdogo iz ostalnyh gorodov zatem summirovaniya etoj velichiny s putem iz kazhdogo iz ostalnyh gorodov do ostavshihsya gorodov i t d Preimushestvo dannogo metoda D displaystyle D pered metodom polnogo perebora F displaystyle F zaklyuchaetsya v sushestvennom sokrashenii polnogo obyoma vychislenij PD 6n 1 n2n 1 4n n 1 2n 2 PF n nne n2pn PD PF displaystyle P D 6n 1 n2 n 1 4n n 1 2 n 2 P F n approx n n e n sqrt 2 pi n P D ll P F za schet zametnogo uvelicheniya obyoma pamyati QD 2n2np QF 2 QD QF displaystyle Q D sim 2 n sqrt frac 2n pi Q F 2 Q D gg Q F Sm takzheIssledovanie operacij Matematicheskoe programmirovanie Transportnaya logistika Problema ShtejneraPrimechaniyaGross J L Yellen J Graph theory and its applications 2006 s 275 Euler Leonhard Solution d une question curieuse que ne paroit soumise a aucune analyse Arhivnaya kopiya ot 19 avgusta 2021 na Wayback Machine Memoires de l academie des sciences de Berlin 15 1759 1766 p 310 337 Kerel K Litl D Murti K Suini D ALGORITM DLYa REShENIYa ZADAChI O KOMMIVOYaZhERE Ekonomika i matematicheskie metody 1965 T 1 Vypusk 1 C 94 107 Richard Durbin David Willshaw An analogue approach to the travelling salesman problem using an elastic net method angl Nature 1987 04 22 Vol 326 iss 6114 P 689 691 doi 10 1038 326689a0 Arhivirovano 23 aprelya 2016 goda Korbut A A Finkelshtejn Yu Yu Diskretnoe programmirovanie M Nauka 1969 C 258 264LiteraturaLevitin A V Glava 3 Metod gruboj sily Zadacha kommivoyazhyora Algoritmy Vvedenie v razrabotku i analiz M Vilyams 2006 S 159 160 576 s ISBN 978 5 8459 0987 9 Tomas H Kormen Charlz I Lejzerson Ronald L Rivest Klifford Shtajn Algoritmy postroenie i analiz Introduction to Algorithms 2 e izd M 2006 S 1296 ISBN 0 07 013151 1 V I Mudrov Zadacha o kommivoyazhyore M Znanie 1969 S 62 Ezhov A Shumskij S Nejrokompyuting i ego primeneniya v ekonomike i biznese M MIFI 1998 S 216 Gross J L Yellen J Graph theory and its applications Second edition Boca Raton London New York Chapman amp Hall CRC 2006 U etoj stati est neskolko problem pomogite ih ispravit Stil etoj stati neenciklopedichen ili narushaet normy literaturnogo russkogo yazyka Statyu sleduet ispravit soglasno stilisticheskim pravilam Vikipedii 22 fevralya 2015 V state est spisok istochnikov no ne hvataet snosok Bez snosok slozhno opredelit iz kakogo istochnika vzyato kazhdoe otdelnoe utverzhdenie Vy mozhete uluchshit statyu prostaviv snoski na istochniki podtverzhdayushie informaciyu Svedeniya bez snosok mogut byt udaleny 22 fevralya 2015 Pozhalujsta posle ispravleniya problemy isklyuchite eyo iz spiska parametrov Posle ustraneniya vseh nedostatkov etot shablon mozhet byt udalyon lyubym uchastnikom
