Задача коммивояжера
Задача коммивояжера , также известная как задача коммивояжера ( TSP ), задает следующий вопрос: «При наличии списка городов и расстояний между каждой парой городов, каков кратчайший возможный маршрут, который посещает каждый город ровно один раз и возвращается в исходный город?" Это NP-сложная задача комбинаторной оптимизации , важная в теоретической информатике и исследовании операций .
Проблема странствующего покупателя , проблема выбора маршрута транспортного средства и проблема кольцевой звезды. [1] являются тремя обобщениями TSP.
В теории вычислительной сложности решающая версия TSP (где задана длина L , задача состоит в том, чтобы решить, имеет ли граф обход, длина которого не превышает L ) принадлежит к классу NP-полных задач. Таким образом, возможно, что в наихудшем случае время работы для любого алгоритма TSP увеличивается суперполиномиально (но не более чем экспоненциально ) с увеличением количества городов.
Задача была впервые сформулирована в 1930 году и является одной из наиболее интенсивно изучаемых задач оптимизации. Он используется в качестве эталона для многих методов оптимизации. Несмотря на то, что проблема сложна в вычислительном отношении, множество эвристик и точных алгоритмов , так что некоторые случаи с десятками тысяч городов могут быть решены полностью, и даже проблемы с миллионами городов могут быть аппроксимированы с точностью до небольшой доли 1%. известно [2]
Даже в чистом виде TSP имеет несколько применений, таких как планирование , логистика и производство микрочипов . Слегка измененная, она появляется как подзадача во многих областях, таких как секвенирование ДНК . В этих приложениях концептуальный город представляет собой, например, клиентов, точки пайки или фрагменты ДНК, а концептуальное расстояние представляет собой время или стоимость поездки или меру сходства между фрагментами ДНК. TSP также появляется в астрономии, поскольку астрономы, наблюдающие за многими источниками, хотят свести к минимуму время, затрачиваемое на перемещение телескопа между источниками; в таких задачах TSP может быть встроен в задачу оптимального управления . Во многих приложениях могут быть наложены дополнительные ограничения, такие как ограниченность ресурсов или временных окон.
История
[ редактировать ]Истоки проблемы коммивояжера неясны. В справочнике для коммивояжеров 1832 года эта проблема упоминается и включает примеры туров по Германии и Швейцарии , но не содержит математического анализа. [3]
TSP была математически сформулирована в 19 веке ирландским математиком Уильямом Роуэном Гамильтоном и британским математиком Томасом Киркманом . Гамильтона Икосианская игра представляла собой развлекательную головоломку, основанную на поиске гамильтонова цикла . [4] Общая форма TSP, по-видимому, была впервые изучена математиками в 1930-х годах в Вене и Гарварде , особенно Карлом Менгером , который определяет проблему, рассматривает очевидный алгоритм грубой силы и наблюдает неоптимальность ближайших соседская эвристика:
Под задачей посыльного мы обозначим (поскольку на практике этот вопрос должен решать каждый почтальон, во всяком случае и множество путешественников) задачу найти для конечного числа точек, попарные расстояния которых известны, кратчайший маршрут, соединяющий эти точки. Конечно, эта задача разрешима конечным числом испытаний. Правила, которые бы уменьшали количество попыток ниже числа перестановок данных точек, неизвестны. Правило, согласно которому сначала следует пройти от исходного пункта до ближайшего пункта, затем до ближайшего к этому пункта и т. д., вообще не дает кратчайшего пути. [5]
Впервые он был рассмотрен математически в 1930-х годах Мерриллом М. Флудом , который пытался решить проблему маршрутизации школьных автобусов. [6] Хасслер Уитни из Принстонского университета вызвал интерес к проблеме, которую он назвал «проблемой 48 штатов». Самой ранней публикацией, в которой использовалась фраза «задача коммивояжера [или путешествующего] коммивояжера», был корпорации RAND отчет Джулии Робинсон 1949 года «О гамильтоновой игре (задача коммивояжера)». [7] [8]
В 1950-х и 1960-х годах проблема становилась все более популярной в научных кругах Европы и США после того, как корпорация RAND в Санта-Монике объявила премии за шаги в решении проблемы. [6] Заметный вклад внесли Джордж Данциг , Делберт Рэй Фулкерсон и Селмер М. Джонсон из корпорации RAND, которые выразили проблему в виде целочисленной линейной программы и разработали метод секущей плоскости для ее решения. Они написали то, что считается основополагающей статьей по этой теме, в которой с помощью этих новых методов они решили пример с 49 городами до оптимального состояния, построив тур и доказав, что ни один другой тур не может быть короче. Однако Данциг, Фулкерсон и Джонсон предположили, что, имея почти оптимальное решение, можно найти оптимальность или доказать оптимальность, добавив небольшое количество дополнительных неравенств (разрезов). Они использовали эту идею для решения своей первоначальной задачи о 49 городах с использованием струнной модели. Они обнаружили, что им нужно всего лишь 26 сокращений, чтобы найти решение проблемы 49 городов. Хотя в этой статье не был предложен алгоритмический подход к проблемам TSP, идеи, заложенные в ней, были необходимы для последующего создания точных методов решения TSP, хотя на поиск алгоритмического подхода к созданию этих разрезов потребовалось 15 лет. [6] Помимо методов сечения, Данциг, Фулкерсон и Джонсон, ветвей и границ . возможно, впервые использовали алгоритмы [6]
В 1959 году Джиллиан Бердвуд , Дж. Х. Халтон и Джон Хаммерсли опубликовали в журнале Кембриджского философского общества статью под названием «Кратчайший путь через множество точек» . [9] Теорема Бердвуда-Халтона-Хаммерсли дает практическое решение проблемы коммивояжера. Авторы вывели асимптотическую формулу для определения длины кратчайшего маршрута продавца, который начинает с дома или офиса и посещает фиксированное количество мест, прежде чем вернуться в исходную точку.
В последующие десятилетия проблему изучали многие исследователи из математики , информатики , химии , физики и других наук. Однако в 1960-х годах был создан новый подход, который вместо поиска оптимальных решений давал решение, длина которого доказуемо ограничена кратным оптимальной длине, и при этом создавал бы нижние границы проблемы; эти нижние границы затем будут использоваться в подходах ветвей и границ. Один из способов сделать это заключался в создании минимального остовного дерева графа, а затем удвоении всех его ребер, что дает оценку, согласно которой длина оптимального тура не более чем в два раза превышает вес минимального остовного дерева. [6]
В 1976 году Христофидес и Сердюков (независимо друг от друга) сделали большой шаг вперед в этом направлении: [10] алгоритм Христофидеса -Сердюкова дает решение, которое в худшем случае не более чем в 1,5 раза длиннее оптимального решения. Поскольку алгоритм был простым и быстрым, многие надеялись, что он уступит место почти оптимальному методу решения. Однако эта надежда на улучшение не сразу материализовалась, и метод Христофидеса-Сердюкова оставался методом с лучшим наихудшим сценарием до 2011 года, когда (очень) немного улучшенный алгоритм аппроксимации был разработан для подмножества «графических» TSP. [11] В 2020 году это небольшое улучшение было распространено на полный (метрический) TSP. [12] [13]
Ричард М. Карп показал в 1972 году, что проблема гамильтонова цикла была NP-полной , что подразумевает NP-трудность TSP. Это дало математическое объяснение очевидной вычислительной сложности поиска оптимальных туров.
Большой прогресс был достигнут в конце 1970-х и 1980-х годах, когда Гретшелю, Падбергу, Ринальди и другим удалось точно решить примеры с числом городов до 2392, используя секущие плоскости и метод ветвей и границ .
В 1990-х годах Эпплгейт , Биксби , Хватал и Кук разработали программу Concorde , которая использовалась во многих последних решениях для записи. Герхард Рейнельт опубликовал в 1991 году TSPLIB — набор эталонных примеров различной сложности, который использовался многими исследовательскими группами для сравнения результатов. В 2006 году Кук и другие вычислили оптимальный маршрут по экземпляру с 85 900 городами, заданному задачей компоновки микрочипа, что на данный момент является крупнейшим решенным примером TSPLIB. Для многих других случаев с миллионами городов можно найти решения, которые гарантированно будут находиться в пределах 2–3% от оптимального тура. [14]
Описание
[ редактировать ]Как задача о графе
[ редактировать ]TSP можно смоделировать как неориентированный взвешенный граф графа , где города — это вершины графа , пути — это ребра , а расстояние пути — это вес ребра. Это задача минимизации, начинающаяся и заканчивающаяся в указанной вершине после посещения каждой другой вершины ровно один раз. Часто модель представляет собой полный граф (т. е. каждая пара вершин соединена ребром). Если между двумя городами пути не существует, то добавление достаточно длинного ребра завершит граф, не влияя на оптимальный тур.
Асимметричный и симметричный
[ редактировать ]В симметричном TSP расстояние между двумя городами одинаково в каждом противоположном направлении, образуя неориентированный граф . Эта симметрия уменьшает вдвое количество возможных решений. В асимметричном TSP пути могут не существовать в обоих направлениях или расстояния могут быть разными, образуя ориентированный граф . Пробки на дорогах, улицы с односторонним движением и стоимость авиабилетов в городах с разной платой за вылет и прибытие — это реальные факторы, которые могут привести к проблеме TSP в асимметричной форме.
Связанные проблемы
[ редактировать ]- Эквивалентная формулировка с точки зрения теории графов такова: для полного взвешенного графа (где вершины будут представлять города, ребра — дороги, а веса — стоимость или расстояние этой дороги) найдите гамильтонов цикл с наименьший вес. Это более общая задача, чем проблема гамильтонового пути , которая спрашивает только, существует ли гамильтонов путь (или цикл) в неполном невзвешенном графе.
- Требование возвращения в стартовый город не меняет вычислительной сложности задачи; см. проблему гамильтонового пути .
- Другой связанной с этим проблемой является проблема коммивояжера с узким местом : найти гамильтонов цикл во взвешенном графе с минимальным весом самого весомого ребра . Реальный пример — избегать узких улиц с большими автобусами. [15] Помимо очевидных транспортно-логистических направлений, проблема имеет немалое практическое значение. Классический пример – производство печатных плат : планирование маршрута сверлильного станка для сверления отверстий в печатной плате. В приложениях роботизированной обработки или сверления «города» представляют собой детали, которые нужно обработать, или отверстия (разных размеров), которые нужно просверлить, а «стоимость поездки» включает время на переоснащение робота (проблема последовательности выполнения работ на одном станке). [16]
- Обобщенная задача коммивояжера , также известная как «задача путешествующего политика», касается «штатов», в которых есть (один или несколько) «городов», и продавец должен посетить ровно один город из каждого штата. Одно из применений встречается при заказе решения проблемы режущего материала, чтобы свести к минимуму замену ножей. Другой касается бурения в полупроводников производстве ; см., например, патент США 7054798 . Нун и Бин продемонстрировали, что обобщенную задачу коммивояжера можно преобразовать в стандартную задачу TSP с тем же количеством городов, но с модифицированной матрицей расстояний .
- Проблема последовательного упорядочения связана с проблемой посещения набора городов, где существуют отношения старшинства между городами.
- Распространенный вопрос на собеседовании в Google — как маршрутизировать данные между узлами обработки данных; Маршруты передачи данных различаются в зависимости от времени, но узлы также различаются по своей вычислительной мощности и объему хранения, что усугубляет проблему того, куда отправлять данные.
- касается Задача путешествующего покупателя покупателя, которому поручено приобрести набор продуктов. Он может приобрести эти товары в нескольких городах, но по разным ценам, и не все города предлагают одинаковые товары. Цель состоит в том, чтобы найти маршрут между подмножеством городов, который минимизирует общие затраты (стоимость поездки + стоимость покупки) и позволяет приобретать все необходимые продукты.
Формулировки целочисленного линейного программирования
[ редактировать ]TSP можно сформулировать как целочисленную линейную программу . [17] [18] [19] Известно несколько составов. Двумя известными формулировками являются формулировка Миллера-Такера-Землина (MTZ) и формулировка Данцига-Фалкерсона-Джонсона (DFJ). Формулировка DFJ более сильна, хотя формулировка MTZ по-прежнему полезна в определенных условиях. [20] [21]
Общим для обеих этих формулировок является то, что города обозначаются числами. и берет быть стоимость (расстояние) от города в город . Основными переменными в формулировках являются:
Именно потому, что это переменные 0/1, формулы становятся целочисленными программами; все остальные ограничения чисто линейны. В частности, целью программы является минимизация продолжительности тура.
Без дополнительных ограничений, будет эффективно охватывать все подмножества набора ребер, что очень далеко от наборов ребер в туре и допускает тривиальный минимум, при котором все . Следовательно, обе формулировки также имеют ограничения, заключающиеся в том, что в каждой вершине имеется ровно одно входящее и одно выходящее ребро, что можно выразить как линейные уравнения
- для и для
Это гарантирует, что выбранный набор ребер локально будет выглядеть как тур, но при этом допускает решения, нарушающие глобальное требование о том, что существует один тур, который посещает все вершины, поскольку выбранные ребра могут составлять несколько туров, каждый из которых посещает только подмножество. вершин; возможно, именно это глобальное требование делает TSP сложной проблемой. Формулировки MTZ и DFJ различаются тем, как они выражают это последнее требование в виде линейных ограничений.
Формулировка Миллера-Такера-Землина
[ редактировать ]В дополнение к переменные, как указано выше, есть для каждого фиктивная переменная который отслеживает порядок посещения городов, считая от города ; интерпретация такова подразумевает город посещается перед городом Для данного тура (закодированного в значениях переменных), можно найти удовлетворяющие значения для переменные, сделав равно количеству ребер на этом маршруте при движении из города в город [22]
Поскольку линейное программирование предпочитает нестрогие неравенства ( ) над строгим ( ), мы хотели бы наложить ограничения на то, что
- если
Просто требуя этого не достичь , потому что для этого также требуется когда что не верно. Вместо этого МТЗ используют линейные ограничения
- для всех отдельных
где постоянный член обеспечивает достаточную слабину, чтобы не устанавливает отношения между и
То, как переменные затем обеспечивают посещение всех городов в рамках одного тура, то их количество увеличивается как минимум за каждый этап тура, снижение допускается только в том случае, если тур проходит через город Это ограничение будет нарушено любым туром, который не проходит через город. поэтому единственный способ удовлетворить это - это проехать по городу также проходит через все остальные города.
Таким образом, MTZ-формулировка TSP представляет собой следующую задачу целочисленного линейного программирования:
Первый набор равенств требует, чтобы каждый город достигался ровно из одного другого города, а второй набор равенств требует, чтобы из каждого города был выход ровно в один другой город. Последнее ограничение требует, чтобы существовал только один тур, охватывающий все города, а не два или более отдельных туров, которые в совокупности охватывают все города.
Формулировка Данцига – Фулкерсона – Джонсона
[ редактировать ]Обозначьте города цифрами 1, ..., n и определите:
Брать быть расстоянием от города i до города j . Тогда TSP можно записать в виде следующей задачи целочисленного линейного программирования:
Последнее ограничение формулировки DFJ, называемое ограничением исключения подтуров , гарантирует, что ни одно правильное подмножество Q не может образовать подтур, поэтому возвращаемое решение представляет собой один обход, а не объединение меньших обходов. Поскольку это приводит к экспоненциальному числу возможных ограничений, на практике это решается с помощью генерации строк . [23]
Вычисление решения
[ редактировать ]Традиционными направлениями решения NP-сложных задач являются следующие:
- Разработка точных алгоритмов , которые работают достаточно быстро только для задач небольшого размера.
- Разработка «субоптимальных» или эвристических алгоритмов , т. е. алгоритмов, которые дают приближенные решения за разумное время.
- Поиск особых случаев проблемы («подзадач»), для которых возможна лучшая или точная эвристика.
Точные алгоритмы
[ редактировать ]Самым прямым решением было бы попробовать все перестановки (упорядоченные комбинации) и посмотреть, какая из них самая дешевая (с помощью перебора ). Время работы для этого подхода находится в пределах полиномиального коэффициента , факториал количества городов, поэтому это решение становится непрактичным даже только для 20 городов.
Одним из первых применений динамического программирования является алгоритм Хелда-Карпа , который решает задачу за время. . [24] Эта граница также была достигнута с помощью исключения-включения в попытке, предшествовавшей подходу динамического программирования.
Улучшить эти временные рамки представляется трудной задачей. Например, не установлено, является ли классический точный алгоритм для TSP, работающий во времени, существует. [25] Лучший на данный момент квантово- точный алгоритм для TSP, предложенный Амбайнисом и др. бежит во времени . [26]
Другие подходы включают в себя:
- Различные алгоритмы ветвей и границ , которые можно использовать для обработки TSP, содержащих тысячи городов.
- Алгоритмы прогрессивного улучшения, в которых используются методы, напоминающие линейное программирование . Это хорошо работает для 200 городов.
- Реализации генерации разрезов по принципу ветвей и границ и для конкретных задач ( ветви и разрезы [27] ); [28] это предпочтительный метод для решения больших задач. Этот подход является рекордсменом на данный момент, решая пример с 85 900 городами, см. Applegate et al. (2006) .
Точное решение для 15 112 немецких городов из TSPLIB было найдено в 2001 году с использованием метода секущей плоскости, предложенного Джорджем Данцигом , Рэем Фулкерсоном и Сельмером М. Джонсоном в 1954 году, на основе линейного программирования . Вычисления проводились на сети из 110 процессоров, расположенных в Университете Райса и Принстонском университете . Общее время вычислений было эквивалентно 22,6 годам на одном процессоре Alpha с частотой 500 МГц . В мае 2004 года была решена задача коммивояжера о посещении всех 24 978 городов Швеции: был найден тур длиной около 72 500 километров и доказано, что более короткого тура не существует. [29] В марте 2005 года задача коммивояжера о посещении всех 33 810 точек на печатной плате была решена с помощью Concorde TSP Solver : был найден обход длиной 66 048 945 единиц и доказано, что более короткого тура не существует. Вычисления заняли примерно 15,7 процессоро-лет (Кук и др., 2006). В апреле 2006 года экземпляр с 85 900 точками был решен с помощью Concorde TSP Solver , что заняло более 136 лет процессора; см. Эпплгейт и др. (2006) .
Эвристические и аппроксимационные алгоритмы
[ редактировать ]различные эвристические и аппроксимационные алгоритмы Были разработаны , которые быстро дают хорошие решения. К ним относится многофрагментный алгоритм . Современные методы позволяют за разумное время найти решения чрезвычайно крупных проблем (миллионов городов), которые с высокой вероятностью отстоят от оптимального решения всего на 2–3%. [14]
Признаются несколько категорий эвристик.
Конструктивная эвристика
[ редактировать ]Алгоритм ближайшего соседа (NN) ( жадный алгоритм ) позволяет продавцу выбрать ближайший непосещенный город в качестве своего следующего шага. Этот алгоритм быстро дает эффективно короткий маршрут. Для N городов, случайно распределенных на плоскости, алгоритм в среднем дает путь на 25% длиннее, чем кратчайший возможный путь; [30] однако существует множество специально организованных распределений городов, из-за которых алгоритм NN дает наихудший маршрут. [31] Это справедливо как для асимметричных, так и для симметричных TSP. [32] Розенкранц и др. [33] показал, что алгоритм NN имеет коэффициент аппроксимации например, когда удовлетворяется неравенство треугольника. Вариант алгоритма NN, называемый оператором ближайшего фрагмента (NF), который соединяет группу (фрагмент) ближайших непосещенных городов, может находить более короткие маршруты с последовательными итерациями. [34] Оператор NF также может быть применен к начальному решению, полученному с помощью алгоритма NN, для дальнейшего улучшения элитарной модели, где принимаются только лучшие решения.
Битонический обход набора точек представляет собой монотонный многоугольник с минимальным периметром , вершинами которого являются точки; его можно эффективно вычислить с помощью динамического программирования .
Другая конструктивная эвристика , Match Twice and Stitch (MTS), выполняет два последовательных сопоставления , причем второе сопоставление выполняется после удаления всех ребер первого сопоставления, чтобы получить набор циклов. Затем циклы сшиваются для создания окончательного тура. [35]
Алгоритм Христофидеса и Сердюкова
[ редактировать ]Алгоритм Христофидеса и Сердюкова следует аналогичной схеме, но сочетает минимальное остовное дерево с решением другой проблемы — идеального сопоставления с минимальным весом . Это дает тур TSP, который максимально в 1,5 раза превышает оптимальный. Это был один из первых алгоритмов аппроксимации , и он частично способствовал привлечению внимания к алгоритмам аппроксимации как к практическому подходу к трудноразрешимым проблемам . Фактически, термин «алгоритм» не стал широко распространяться на алгоритмы аппроксимации до более поздних времен; Алгоритм Кристофидеса первоначально назывался эвристикой Кристофидеса. [10]
Этот алгоритм смотрит на вещи по-другому, используя результат теории графов, который помогает улучшить нижнюю границу TSP, возникшую в результате удвоения стоимости минимального остовного дерева. Учитывая эйлеров граф , мы можем найти эйлеров тур в время, [6] поэтому, если бы у нас был эйлеров граф с городами из TSP в качестве вершин, то мы могли бы легко увидеть, что мы могли бы использовать такой метод для поиска эйлерова тура, чтобы найти решение TSP. Из неравенства треугольника мы знаем, что тур TSP не может быть длиннее, чем тур Эйлера, и поэтому у нас есть нижняя граница для TSP. Такой метод описан ниже.
- Найдите минимальное остовное дерево для задачи.
- Создайте дубликаты для каждого ребра, чтобы создать эйлеров граф.
- Найдите для этого графа эйлеров тур.
- Конвертировать в TSP: если город посещается дважды, то в туре создайте ярлык от города до этого к городу после этого.
Чтобы улучшить нижнюю границу, необходим лучший способ создания эйлерова графа. Согласно неравенству треугольника, лучший эйлеров граф должен иметь ту же стоимость, что и лучший тур коммивояжера; следовательно, найти оптимальные эйлеровы графы по крайней мере так же сложно, как и TSP. Один из способов сделать это — сопоставление минимального веса с использованием алгоритмов со сложностью . [6]
Преобразование графа в эйлеров граф начинается с минимального остовного дерева; тогда все вершины нечетного порядка должны быть четными, поэтому необходимо добавить сопоставление для вершин нечетной степени, что увеличивает порядок каждой вершины нечетной степени на 1. [6] В результате мы имеем граф, в котором каждая вершина имеет четный порядок, что, следовательно, является эйлеровым. Адаптация приведенного выше метода дает алгоритм Христофидеса и Сердюкова:
- Найдите минимальное остовное дерево для задачи.
- Создайте сопоставление для задачи с набором городов нечетного порядка.
- Найдите для этого графа эйлеров тур.
- Преобразование в TSP с помощью ярлыков.
Парный обмен
[ редактировать ]Метод попарного обмена или метод 2-opt включает в себя итеративное удаление двух ребер и замену их двумя разными ребрами, которые повторно соединяют фрагменты, созданные в результате удаления ребер, в новый и более короткий тур. Аналогично, метод 3-opt удаляет 3 ребра и снова соединяет их, образуя более короткий тур. Это частные случаи метода k -opt. Ярлык Лин-Керниган часто используется неправильно для обозначения 2-opt; Лина-Кернигана на самом деле является более общим методом k -opt.
В евклидовых случаях эвристика с двумя вариантами в среднем дает решения, которые примерно на 5% лучше, чем те, которые дает алгоритм Кристофидеса. Если мы начнем с первоначального решения, полученного с помощью жадного алгоритма , то среднее количество ходов снова сильно уменьшится и составит ; однако для случайного старта среднее количество ходов равно . Хотя это небольшое увеличение размера, первоначальное количество ходов для небольших задач в 10 раз больше для случайного запуска по сравнению с шагом, сделанным с помощью жадной эвристики. Это связано с тем, что такая эвристика с двумя вариантами использует «плохие» части решения, такие как пересечения. Эти типы эвристик часто используются в эвристиках задач маршрутизации транспортных средств для повторной оптимизации решений маршрутов. [30]
k -opt эвристика или эвристика Лина – Кернигана
[ редактировать ]Эвристика Лина-Кернигана представляет собой частный случай метода V -opt или метода переменной оптимизации. Он включает в себя следующие шаги:
- Учитывая обход, удалите k взаимно непересекающихся ребер.
- Соберите оставшиеся фрагменты в тур, не оставляя непересекающихся подтуров (то есть не соединяйте конечные точки фрагмента вместе). По сути, это упрощает рассматриваемую TSP до гораздо более простой задачи.
- Каждая конечная точка фрагмента может быть связана с 2k доступных - 2 другими возможностями: из 2k конечных точек фрагмента две конечные точки рассматриваемого фрагмента запрещены. Такую ограниченную задачу TSP для 2 k -городов затем можно решить методами грубой силы, чтобы найти рекомбинацию исходных фрагментов с наименьшими затратами.
Самым популярным из методов k -opt является метод 3-opt, предложенный Шэнь Линем из Bell Labs в 1965 году. Особым случаем 3-opt является случай, когда ребра не пересекаются (два ребра смежны друг с другом). . На практике часто можно добиться существенного улучшения по сравнению с 2-opt без комбинаторных затрат обычного 3-opt, ограничивая 3-изменения этим специальным подмножеством, где два удаленных ребра являются смежными. Этот так называемый вариант «два с половиной варианта» обычно находится примерно посередине между «2-оптом» и «3-оптом», как с точки зрения качества достигнутых туров, так и с точки зрения времени, необходимого для достижения этих туров.
V -opt эвристика
[ редактировать ]Метод переменной-opt связан с методом k -opt и является его обобщением. В то время как методы k -opt удаляют фиксированное количество ( k ) ребер из исходного обхода, методы переменных opt не фиксируют размер набора ребер, который нужно удалить. Вместо этого они увеличивают набор по мере продолжения процесса поиска. Самый известный метод в этом семействе — метод Лина-Кернигана (упомянутый выше как неправильное название 2-opt). Шен Линь и Брайан Керниган впервые опубликовали свой метод в 1972 году, и на протяжении почти двух десятилетий это была самая надежная эвристика для решения задач коммивояжера. Более продвинутые методы переменной оптимизации были разработаны в Bell Labs в конце 1980-х годов Дэвидом Джонсоном и его исследовательской группой. Эти методы (иногда называемые Лином-Керниганом-Джонсоном ) основаны на методе Лина-Кернигана, добавляя идеи табу-поиска и эволюционных вычислений . Базовый метод Лина-Кернигана дает результаты, которые гарантированно будут как минимум 3-опционными. Методы Лина-Кернигана-Джонсона вычисляют обход Лина-Кернигана, а затем возмущают этот обход тем, что было описано как мутация, которая удаляет по крайней мере четыре ребра и повторно соединяет обход другим способом, затем V -выбираю новый тур. Мутации часто бывает достаточно, чтобы отодвинуть тур от локального минимума, определенного Лином-Керниганом. Методы V -opt широко считаются наиболее мощными эвристиками для решения этой проблемы и способны решать особые случаи, такие как проблема цикла Гамильтона и другие неметрические TSP, с которыми другие эвристики не справляются. В течение многих лет Лин-Керниган-Джонсон определял оптимальные решения для всех TSP, для которых оптимальное решение было известно, и определял наиболее известные решения для всех других TSP, на которых опробовался этот метод.
Рандомизированное улучшение
[ редактировать ]Оптимизированные алгоритмы цепей Маркова , использующие эвристические подалгоритмы локального поиска, могут найти маршрут, чрезвычайно близкий к оптимальному маршруту, для 700–800 городов.
TSP является пробным камнем для многих общих эвристик, разработанных для комбинаторной оптимизации, таких как генетические алгоритмы , имитация отжига , табу-поиск , оптимизация колоний муравьев , динамика формирования рек (см. Роевой интеллект ) и метод перекрестной энтропии .
Ограничивающая эвристика вставки
[ редактировать ]Это начинается с дополнительного обхода, такого как выпуклая оболочка , а затем вставляются другие вершины. [36]
Оптимизация колонии муравьев
[ редактировать ]искусственного интеллекта Исследователь Марко Дориго описал в 1993 году метод эвристического генерирования «хороших решений» для TSP с использованием моделирования колонии муравьев под названием ACS ( система колонии муравьев ). [37] Он моделирует поведение, наблюдаемое у реальных муравьев, направленное на поиск коротких путей между источниками пищи и их гнездом, возникающее поведение, возникающее в результате предпочтения каждого муравья следовать по следам феромонов, оставленных другими муравьями.
ACS отправляет большое количество виртуальных агентов-муравьев для исследования множества возможных маршрутов на карте. Каждый муравей вероятностно выбирает следующий город для посещения на основе эвристики, сочетающей расстояние до города и количество виртуального феромона, отложившегося на окраине города. Муравьи исследуют территорию, откладывая феромоны на каждом ребре, которое они пересекают, пока все не завершат обход. В этот момент муравей, совершивший самый короткий тур, откладывает виртуальный феромон по всему маршруту своего путешествия ( обновление глобального следа ). Количество отложенного феромона обратно пропорционально длине тура: чем короче тур, тем больше его откладывается.
Особые случаи
[ редактировать ]Метрика
[ редактировать ]В метрике TSP , также известной как дельта-TSP или Δ-TSP, расстояния между городами удовлетворяют неравенству треугольника .
Очень естественным ограничением TSP является требование, чтобы расстояния между городами образовывали метрику, удовлетворяющую неравенству треугольника ; то есть прямое соединение от A до B никогда не бывает дальше, чем маршрут через промежуточный C :
- .
Затем ребра строят метрику на множестве вершин. Когда города рассматриваются как точки на плоскости, многие естественные функции расстояния являются метриками, и поэтому многие естественные экземпляры TSP удовлетворяют этому ограничению.
Ниже приведены некоторые примеры TSP для различных показателей.
- В евклидовом TSP (см. ниже) расстояние между двумя городами равно евклидову расстоянию между соответствующими точками.
- В прямолинейной ТСП расстояние между двумя городами представляет собой сумму абсолютных значений разностей их x- и y координат . Эту метрику часто называют манхэттенским расстоянием или метрикой городских кварталов.
- В максимальной метрике расстояние между двумя точками является максимальным из абсолютных значений разностей их x- и y . координат
Последние две метрики появляются, например, при трассировке станка, который сверлит заданный набор отверстий в печатной плате . Манхэттенская метрика соответствует машине, которая корректирует сначала одну координату, а затем другую, поэтому время перехода в новую точку представляет собой сумму обоих перемещений. Максимальная метрика соответствует машине, которая корректирует обе координаты одновременно, поэтому время перехода к новой точке является более медленным из двух движений.
По своему определению TSP не позволяет посещать города дважды, но многим приложениям это ограничение не требуется. В таких случаях симметричный неметрический экземпляр можно свести к метрическому. Это заменяет исходный график полным графиком, в котором расстояние между городами заменяется длиной кратчайшего пути между A и B в исходном графе.
евклидов
[ редактировать ]Для точек евклидовой плоскости оптимальное решение задачи коммивояжера образует простой многоугольник, проходящий через все точки, — полигонализацию точек. [38] Любое неоптимальное решение с пересечениями можно превратить в более короткое решение без пересечений путем локальной оптимизации. Евклидово расстояние подчиняется неравенству треугольника, поэтому евклидово TSP образует частный случай метрического TSP. Однако даже если входные точки имеют целочисленные координаты, их расстояния обычно принимают форму квадратных корней , а длина обхода представляет собой сумму радикалов , что затрудняет выполнение символьных вычислений, необходимых для точного сравнения длин точек. разные туры.
Как и общая TSP, точная евклидова TSP является NP-трудной, но проблема с суммами радикалов является препятствием для доказательства того, что ее решающая версия находится в NP и, следовательно, NP-полна. Дискретизированная версия задачи с расстояниями, округленными до целых чисел, является NP-полной. [39] Известно, что евклидова TSP с рациональными координатами и фактической евклидовой метрикой находится в иерархии счета, [40] подкласс PSPACE. При произвольных действительных координатах евклидова TSP не может находиться в таких классах, поскольку возможных входных данных несчетное количество. Несмотря на эти сложности, евклидово TSP гораздо проще для аппроксимации, чем общий метрический случай. [41] Например, минимальное остовное дерево графа, связанного с экземпляром евклидового TSP, является евклидовым минимальным остовным деревом и поэтому может быть вычислено за ожидаемое время O ( n log n ) для n точек (значительно меньше, чем количество ребер). ). Это позволяет простому алгоритму 2-аппроксимации для TSP с приведенным выше неравенством треугольника работать быстрее.
В общем, для любого c > 0, где d — количество измерений в евклидовом пространстве, существует алгоритм за полиномиальное время, который находит обход длиной не более (1 + 1/ c ) раз, оптимальной для геометрических примеров ОЦП в
время; это называется схемой аппроксимации полиномиального времени (PTAS). [42] Санджив Арора и Джозеф С.Б. Митчелл были награждены премией Гёделя в 2010 году за одновременное открытие PTAS для евклидовой TSP.
На практике продолжают использоваться более простые эвристики с более слабыми гарантиями.
Асимметричный
[ редактировать ]В большинстве случаев расстояние между двумя узлами сети TSP одинаково в обоих направлениях. Случай, когда расстояние от A до B не равно расстоянию от B до A, называется асимметричным TSP. Практическое применение асимметричного TSP — оптимизация маршрута с использованием маршрутизации на уровне улиц (которая становится асимметричной за счет улиц с односторонним движением, съездов, автомагистралей и т. д.).
Преобразование в симметричное
[ редактировать ]Решение асимметричного графа TSP может быть несколько сложным. Ниже представлена матрица 3×3, содержащая все возможные веса пути между A , B и C. узлами превратить асимметричную матрицу размера N в симметричную матрицу размера 2 N. Один из вариантов — [43]
Асимметричные веса пути А Б С А 1 2 Б 6 3 С 5 4
Чтобы удвоить размер, каждый из узлов в графе дублируется, создавая второй призрачный узел , связанный с исходным узлом с «призрачным» ребром очень низкого (возможно, отрицательного) веса, здесь обозначенного — w . (В качестве альтернативы, призрачные края имеют вес 0, а вес w добавляется ко всем остальным ребрам.) Исходная матрица 3×3, показанная выше, видна внизу слева, а транспонирование оригинала - в правом верхнем углу. В обеих копиях матрицы диагонали заменены недорогими путями перехода, представленными - w . В новом графе ни одно ребро напрямую не связывает исходные узлы, и ни одно ребро напрямую не связывает узлы-призраки.
Симметричные веса путей А Б С А' Б' С' А − ш 6 5 Б 1 − ш 4 С 2 3 − ш А' − ш 1 2 Б' 6 − ш 3 С' 5 4 − ш
Вес − w «призрачных» ребер, связывающих призрачные узлы с соответствующими исходными узлами, должен быть достаточно низким, чтобы гарантировать, что все призрачные ребра должны принадлежать любому оптимальному симметричному решению TSP на новом графе ( w = 0 не всегда достаточно мало ). Как следствие, в оптимальном симметричном туре каждый исходный узел появляется рядом со своим узлом-призраком (например, возможный путь ), и снова объединив исходный и призрачный узлы, мы получим (оптимальное) решение исходной асимметричной задачи (в нашем примере ).
Проблема аналитика
[ редактировать ]существует аналогичная проблема, В геометрической теории меры которая задается следующим вопросом: при каких условиях подмножество E евклидова пространства может содержаться в спрямляемой кривой (т. е. когда существует кривая конечной длины, посещающая каждую точку из E )? Эта задача известна как задача коммивояжера для аналитика .
Длина пути для случайного набора точек в квадрате
[ редактировать ]Предполагать являются независимые случайные величины с равномерным распределением по квадрату , и пусть быть кратчайшей длиной пути (т. е. решением TSP) для этого набора точек в соответствии с обычным евклидовым расстоянием . Известно [9] что почти наверняка,
где — положительная константа, которая неизвестна явно. С следует (см. ниже), из теоремы об ограниченной сходимости , что , следовательно, нижняя и верхняя границы следовать за пределами .
Почти верный предел как может не существовать, если независимые локации заменяются наблюдениями стационарного эргодического процесса с равномерными маргиналами. [44]
Верхняя граница
[ редактировать ]- У одного есть , и поэтому , используя наивный путь, который монотонно посещает точки внутри каждой из кусочки по ширине на площади.
- Немного [45] доказал , следовательно , позже улучшенный Карлоффом (1987): .
- Фитчер [46] показал верхнюю границу .
Нижняя граница
[ редактировать ]- Наблюдая за этим больше, чем раз больше расстояния между и ближайшая точка , получаем (после непродолжительных вычислений)
- Лучшая нижняя оценка получается, если заметить, что больше, чем раз сумму расстояний между и ближайшие и вторые ближайшие точки , что дает [9]
- Хелд и Карп предложили алгоритм с полиномиальным временем, который обеспечивает численные нижние границы для , и, таким образом, для , что кажется хорошим до более или менее 1%. [48] [49] В частности, Дэвид С. Джонсон с помощью компьютерного эксперимента получил нижнюю оценку: [50]
где 0,522 происходит от точек вблизи границы квадрата, у которых меньше соседей, а Кристина Л. Валенсуэла и Антония Дж. Джонс получили следующую другую числовую нижнюю границу: [51]
- .
Вычислительная сложность
[ редактировать ]Показано, что задача NP-трудна (точнее, полна для класса сложности FP). НАПРИМЕР ; см. функцию проблема ), а версия задачи решения («данные затраты и число x решить, существует ли маршрут туда и обратно дешевле, чем x ») является NP-полной . Задача коммивояжера, являющегося узким местом, также является NP-сложной. Задача остается NP-трудной даже для случая, когда города находятся в плоскости с евклидовыми расстояниями , а также в ряде других ограничительных случаев. Удаление условия посещения каждого города «только один раз» не снимает NP-трудности, так как в плоском случае существует оптимальный тур, посещающий каждый город только один раз (иначе, по неравенству треугольника , ярлык, пропускающий повторное посещение не увеличит продолжительность тура).
Сложность аппроксимации
[ редактировать ]В общем случае поиск кратчайшего тура коммивояжера является NPO -полным. [52] Если мера расстояния является метрикой ( и, следовательно, симметричной), проблема становится APX -полной, [53] а алгоритм Христофидеса и Сердюкова аппроксимирует его с точностью до 1,5. [54] [55] [10]
Если расстояния ограничены 1 и 2 (но все равно являются метрическими), то коэффициент аппроксимации становится 8/7. [56] В асимметричном случае с неравенством треугольника в 2018 году Свенссон, Тарнавски и Вег разработали аппроксимацию постоянного фактора. [57] Алгоритм Веры Трауб и Йенса Вигена достигает коэффициента производительности . [58] Самая известная граница неаппроксимируемости — 75/74. [59]
Соответствующая задача максимизации поиска самого длинного путешествия коммивояжера аппроксимируется в пределах 63/38. [60] Если функция расстояния симметрична, то самый длинный тур можно аппроксимировать с точностью до 4/3 с помощью детерминированного алгоритма. [61] и внутри по рандомизированному алгоритму. [62]
Производительность человека и животных
[ редактировать ]TSP, в частности евклидов вариант задачи, привлек внимание исследователей когнитивной психологии . Было замечено, что люди способны быстро создавать почти оптимальные решения, почти линейным образом, с производительностью, которая колеблется от 1% менее эффективной для графов с 10–20 узлами до 11% менее эффективной для графов. со 120 узлами. [63] [64] Очевидная легкость, с которой люди точно находят почти оптимальные решения проблемы, привела исследователей к выдвижению гипотезы о том, что люди используют одну или несколько эвристик, причем двумя наиболее популярными теориями, возможно, являются гипотеза выпуклой оболочки и эвристика предотвращения пересечений. [65] [66] [67] Однако дополнительные данные свидетельствуют о том, что производительность человека весьма различна, и индивидуальные различия, а также геометрия графа, по-видимому, влияют на производительность при выполнении задачи. [68] [69] [70] Тем не менее, результаты показывают, что производительность компьютера в TSP можно улучшить, если понять и подражать методам, используемым людьми для решения этих задач. [71] а также привели к новому пониманию механизмов человеческого мышления. [72] Первый выпуск Журнала решения проблем был посвящен теме эффективности человека в TSP. [73] а в обзоре 2011 года были перечислены десятки статей по этой теме. [72]
Исследование когнитивных способностей животных, проведенное в 2011 году под названием «Пусть голубь водит автобус», названо в честь детской книги « Не позволяй голубю водить автобус!» исследовали пространственное мышление голубей, изучая их модели полета между несколькими кормушками в лаборатории в связи с задачей коммивояжера. В первом эксперименте голубей поместили в угол лабораторной комнаты и позволили подлететь к ближайшим кормушкам с горошком. Исследователи обнаружили, что голуби в основном используют близость, чтобы определить, какую кормушку они выберут следующей. Во втором эксперименте кормушки были расположены таким образом, что подлетать к ближайшей кормушке при каждой возможности было бы в значительной степени неэффективно, если бы голубям нужно было посещать каждую кормушку. Результаты второго эксперимента показывают, что голуби, хотя и предпочитают решения, основанные на близости, «могут планировать на несколько шагов вперед по маршруту, когда разница в стоимости проезда между эффективными и менее эффективными маршрутами, основанными на близости, станет больше». [74] Эти результаты согласуются с другими экспериментами, проведенными с неприматами, которые доказали, что некоторые неприматы способны планировать сложные маршруты путешествий. Это предполагает, что неприматы могут обладать относительно сложными пространственными когнитивными способностями.
Естественные вычисления
[ редактировать ]При наличии пространственной конфигурации источников пищи амебоидный Physarum polycephalum адаптирует свою морфологию, чтобы создать эффективный путь между источниками пищи, что также можно рассматривать как приблизительное решение TSP. [75]
Тесты
[ редактировать ]Для сравнительного анализа алгоритмов TSP используйте TSPLIB. [76] поддерживается библиотека примеров экземпляров TSP и связанных с ними проблем; см. внешнюю ссылку TSPLIB. Многие из них представляют собой списки реальных городов и макеты реальных печатных плат .
Популярная культура
[ редактировать ]- «Коммивояжер » режиссера Тимоти Ланзоне — это история четырех математиков, нанятых правительством США для решения самой неуловимой проблемы в истории информатики: P против NP . [77]
- Решения проблемы использует математик Роберт А. Бош в поджанре, называемом искусством TSP. [78]
См. также
[ редактировать ]- Проблема канадского путешественника
- Точный алгоритм
- Проблема проверки маршрута (также известная как «проблема китайского почтальона»)
- Установить проблему TSP
- Семь мостов Кенигсберга
- Задача Штейнера о коммивояжере
- Метро вызов
- Трубный вызов
- Проблема с маршрутом автомобиля
- Исследование графа
- Смешанная задача китайского почтальона
- Маршрутизация дуги
- Проблема с маршрутизацией снегоочистителя
- Массив Монге
Примечания
[ редактировать ]- ^ Лаббе, Мартина; Порте, Гилберт; Мартин, Иммакулада Родригес; Гонсалес, Хуан Хосе Саласар (май 2004 г.). «Проблема кольцевой звезды: многогранный анализ и точный алгоритм». Сети . 43 (3): 177–189. дои : 10.1002/net.10114 . ISSN 0028-3045 .
- ^ См. проблему мирового турне TSP, которая уже решена с точностью до 0,05% от оптимального решения. [1]
- ^ "Коммивояжер - каким он должен быть и что ему приходится делать, чтобы получать заказы и быть уверенным в счастливом успехе в своем деле - старый приказчик-путешественник" (Коммивояжер - каким он должен быть и что ему следует делать, чтобы получать комиссионные и быть уверенным в счастливом успехе своего дела – старый комиссар-вояжер )
- ^ Обсуждение ранних работ Гамильтона и Киркмана можно найти в «Теория графов, 1736–1936» (Clarendon Press, 1986). книге Биггса, Ллойда и Уилсона
- ^ Цитируется и английский перевод в Schrijver (2005) . Оригинал на немецком языке: «Мы называем задачей посыльного (потому что на практике этот вопрос может решить каждый почтальон, а также многие путешественники) задачу нахождения кратчайшего пути, соединяющего точки, для конечного числа точек, попарные расстояния которых известны. Эту задачу, конечно, всегда можно решить конечным числом попыток. Не существует известных правил, которые сводили бы число попыток к числу перестановок заданных точек, идущих в ближайшую точку и т. д., вообще говоря, не обеспечивающих. кратчайший путь».
- ^ Jump up to: а б с д и ж г час Лоулер, Эл. (1985). Задача коммивояжера: экскурсия по комбинаторной оптимизации (отзыв с исправлениями. Под ред.). Джон Уайли и сыновья. ISBN 978-0-471-90413-7 .
- ^ Робинсон, Джулия (5 декабря 1949 г.). О гамильтоновой игре (задача коммивояжера) (PDF) (Технический отчет). Санта-Моника, Калифорния: Корпорация RAND. РМ-303 . Получено 2 мая 2020 г. - через Центр технической информации Министерства обороны.
- ^ Подробное описание связи между Менгером и Уитни, а также роста исследований TSP можно найти у Шрийвера (2005) .
- ^ Jump up to: а б с Бердвуд, Хэлтон и Хаммерсли (1959) .
- ^ Jump up to: а б с ван Беверн, Рене; Слугина, Виктория А. (2020). «Историческая справка об алгоритме приближения 3/2 для метрической задачи коммивояжера». История Математики . 53 : 118–127. arXiv : 2004.02437 . дои : 10.1016/j.hm.2020.04.003 . S2CID 214803097 .
- ^ Кларрайх, Эрика (30 января 2013 г.). «Ученые-компьютерщики находят новые пути решения печально известной проблемы коммивояжера» . ПРОВОДНОЙ . Проверено 14 июня 2015 г.
- ^ Кларрайх, Эрика (8 октября 2020 г.). «Учёные-компьютерщики побили рекорд коммивояжёра» . Журнал Кванта . Проверено 13 октября 2020 г.
- ^ Карлин, Анна Р .; Кляйн, Натан; Гаран, Шаян Овейс (2021), «(Немного) улучшенный алгоритм аппроксимации для метрического TSP», у Хуллера, Самир ; Уильямс, Вирджиния Василевска (ред.), STOC '21: 53-й ежегодный симпозиум ACM SIGACT по теории вычислений, виртуальное мероприятие, Италия, 21–25 июня 2021 г. , стр. 32–45, arXiv : 2007.01409 , doi : 10.1145/3406325.3451009 , ISBN 978-1-4503-8053-9 , S2CID 220347561
- ^ Jump up to: а б Рего, Сезар; Гамбоа, Дорабела; Гловер, Фред; Остерман, Колин (2011), «Эвристика задач коммивояжера: ведущие методы, реализации и последние достижения», European Journal of Operational Research , 211 (3): 427–441, doi : 10.1016/j.ejor.2010.09.010 , MR 2774420 , S2CID 2856898 .
- ^ « Как исправить маршруты школьных автобусов? Позвоните в MIT в Wall Street Journal» (PDF) .
- ^ Бехзад, Араш; Модаррес, Мохаммад (2002), «Новое эффективное преобразование обобщенной задачи коммивояжера в задачу коммивояжера», Материалы 15-й Международной конференции по системной инженерии (Лас-Вегас)
- ^ Пападимитриу, Швейцария; Стейглиц, К. (1998), Комбинаторная оптимизация: алгоритмы и сложность , Минеола, Нью-Йорк: Дувр , стр. 308-309.
- ^ Такер, AW (1960), «О направленных графах и целочисленных программах», Проект математических исследований IBM (Принстонский университет)
- ^ Данциг, Джордж Б. (1963), Линейное программирование и расширения , Принстон, Нью-Джерси: PrincetonUP, стр. 545–7, ISBN 0-691-08000-3 , шестое издание, 1974 г.
- ^ Веледницкий, Марк (2017). «Краткое комбинаторное доказательство того, что многогранник DFJ содержится в многограннике MTZ для асимметричной задачи коммивояжера». Письма об исследованиях операций . 45 (4): 323–324. arXiv : 1805.06997 . дои : 10.1016/j.orl.2017.04.010 . S2CID 6941484 .
- ^ Бекташ, Толга; Гувейя, Луис (2014). «Реквием по ограничениям устранения подъезда Миллера-Такера-Землина?». Европейский журнал операционных исследований . 236 (3): 820–832. дои : 10.1016/j.ejor.2013.07.038 .
- ^ CE Миллер, AW Такер и Р.А. Землян. 1960. Формулировка задач коммивояжера с помощью целочисленного программирования. J. ACM 7, 4 (октябрь 1960 г.), 326–329. DOI: https://doi.org/10.1145/321043.321046.
- ^ Данциг, Г.; Фулкерсон, Р.; Джонсон, С. (ноябрь 1954 г.). «Решение крупномасштабной задачи коммивояжера». Журнал Американского общества исследования операций . 2 (4): 393–410. дои : 10.1287/opre.2.4.393 .
- ^ Беллман (1960) , Беллман (1962) , Хелд и Карп (1962)
- ^ Вёнгер (2003) .
- ^ Амбайнис, Андрис; Голубь, Каспар; Ираидс, Янис; Кокайнис, Мартин; Прусис, Кришьянис; Вихров, Евгений (2019). «Квантовое ускорение для алгоритмов динамического программирования с экспоненциальным временем» . Материалы тридцатого ежегодного симпозиума ACM-SIAM по дискретным алгоритмам . стр. 1783–1793. дои : 10.1137/1.9781611975482.107 . ISBN 978-1-61197-548-2 . S2CID 49743824 .
- ^ Падберг и Ринальди (1991) .
- ^ Задача коммивояжера — «ветви и границы» на YouTube . Как обрезать неплодоносные ветви, используя уменьшенные строки и столбцы, как в венгерском матричном алгоритме
- ^ Эпплгейт, Дэвид; Биксби, Роберт; Хватал, Вашек; Кук, Уильям; Хельсгаун, Келд (июнь 2004 г.). «Оптимальный тур по Швеции» . Проверено 11 ноября 2020 г.
- ^ Jump up to: а б Джонсон, Д.С .; МакГеоч, Луизиана (1997). «Задача коммивояжера: пример локальной оптимизации» (PDF) . В Аартсе, EHL; Ленстра, Дж. К. (ред.). Локальный поиск в комбинаторной оптимизации . Лондон: John Wiley and Sons Ltd., стр. 215–310.
- ^ Гутина, Григорий; Йоб, Андерс; Зверович, Алексей (15 марта 2002 г.). «Коммивояжер не должен быть жадным: анализ доминирования эвристик жадного типа для TSP» . Дискретная прикладная математика . 117 (1–3): 81–86. дои : 10.1016/S0166-218X(01)00195-0 . >
- ^ Зверович, Алексей; Чжан, Вэйсюн; Эй, Андерс; МакГеоч, Лайл А.; Гутин, Григорий; Джонсон, Дэвид С. (2007), «Экспериментальный анализ эвристики для ATSP», Проблема коммивояжера и ее варианты , Комбинаторная оптимизация, Спрингер, Бостон, Массачусетс, стр. 445–487, CiteSeerX 10.1.1.24.2386 , doi : 10.1007/0-306-48213-4_10 , ISBN 978-0-387-44459-8
- ^ Розенкранц, диджей; Стернс, RE; Льюис, премьер-министр (14–16 октября 1974 г.). Приближенные алгоритмы решения задачи коммивояжера . 15-й ежегодный симпозиум по теории коммутации и автоматов (1974 г.). дои : 10.1109/SWAT.1974.4 .
- ^ Рэй, СС; Бандиопадхьяй, С.; Пал, СК (2007). «Генетические операторы для комбинаторной оптимизации в TSP и упорядочении генов на микрочипах». Прикладной интеллект . 26 (3): 183–195. CiteSeerX 10.1.1.151.132 . дои : 10.1007/s10489-006-0018-y . S2CID 8130854 .
- ^ Кан, AB; Реда, С. (2004). «Дважды сопоставьте и сшейте: новая эвристика построения тура TSP». Письма об исследованиях операций . 32 (6): 499–509. дои : 10.1016/j.orl.2004.04.001 .
- ^ Алатарцев Сергей; Августин, Маркус; Ортмайер, Франк (2 июня 2013 г.). «Сужающая эвристика вставки для задачи коммивояжера с окрестностями» (PDF) . Материалы Международной конференции по автоматизированному планированию и составлению графиков . 23 : 2–10. дои : 10.1609/icaps.v23i1.13539 . ISSN 2334-0843 . S2CID 18691261 .
- ^ Дориго, Марко; Гамбарделла, Лука Мария (1997). «Муравьиные колонии для задачи коммивояжера». Биосистемы . 43 (2): 73–81. Бибкод : 1997BiSys..43...73D . CiteSeerX 10.1.1.54.7734 . дои : 10.1016/S0303-2647(97)01708-5 . ПМИД 9231906 . S2CID 8243011 .
- ^ Кинтас, LV; Супник, Фред (1965). «О некоторых свойствах кратчайших гамильтоновых цепей». Американский математический ежемесячник . 72 (9): 977–980. дои : 10.2307/2313333 . JSTOR 2313333 . МР 0188872 .
- ^ Пападимитриу (1977) .
- ^ Аллендер и др. (2007) .
- ^ Ларсон и Одони (1981) .
- ^ Арора (1998) .
- ^ Джонкер, Рой; Волгенант, Тон (1983). «Преобразование асимметричных задач коммивояжера в симметричные». Письма об исследованиях операций . 2 (161–163): 1983. doi : 10.1016/0167-6377(83)90048-2 .
- ^ Арлотто, Алессандро; Стил, Дж. Майкл (2016), «Теорема Бердвуда–Халтона–Хаммерсли для стационарных эргодических последовательностей: контрпример», The Annals of Applied Probability , 26 (4): 2141–2168, arXiv : 1307.0221 , doi : 10.1214/15- ААП1142 , S2CID 8904077
- ^ Мало, Л. (1955). «Кратчайший путь и кратчайшая дорога через n точек». Математика . 2 (2): 141–144. дои : 10.1112/s0025579300000784 .
- ^ Фихтер, К.-Н. (1994). «Алгоритм параллельного поиска табу для задач крупных коммивояжеров» . Диск. Прикладная математика . 51 (3): 243–267. дои : 10.1016/0166-218X(92)00033-I .
- ^ Штайнербергер (2015) .
- ^ Хелд, М.; Карп, Р.М. (1970). «Задача коммивояжера и минимальные остовные деревья». Исследование операций . 18 (6): 1138–1162. дои : 10.1287/опре.18.6.1138 .
- ^ Гоеманс, Мишель X .; Берцимас, Димитрис Дж. (1991). «Вероятностный анализ нижней границы Хелда и Карпа для евклидовой задачи коммивояжера». Математика исследования операций . 16 (1): 72–89. дои : 10.1287/moor.16.1.72 .
- ^ "ошибка" . о.att.com .
- ↑ Кристин Л. Валенсуэла и Антония Дж. Джонс. Архивировано 25 октября 2007 г. в Wayback Machine.
- ^ Орпонен, П.; Маннила, Х. (1987). О аппроксимациях, сохраняющих редукции: Полные задачи и робастные меры» (Доклад). Кафедра компьютерных наук Хельсинкского университета. Технический отчет C-1987–28.
- ^ Пападимитриу и Яннакакис (1993) .
- ^ Кристофидес (1976) .
- ^ Serdyukov, Anatoliy I. (1978), "О некоторых экстремальных обходах в графах" [On some extremal walks in graphs] (PDF) , Upravlyaemye Sistemy (in Russian), 17 : 76–79
- ^ Берман и Карпински (2006) .
- ^ Свенссон, Ола; Тарнавский, Якуб; Вег, Ласло А. (2018). «Алгоритм аппроксимации с постоянным коэффициентом для асимметричной задачи коммивояжера» . Материалы 50-го ежегодного симпозиума ACM SIGACT по теории вычислений . Сток 2018 г. Лос-Анджелес, Калифорния, США: ACM Press. стр. 204–213. дои : 10.1145/3188745.3188824 . ISBN 978-1-4503-5559-9 . S2CID 12391033 .
- ^ Трауб, Вера ; Виген, Йенс (8 июня 2020 г.). «Улучшенный алгоритм аппроксимации ATSP» . Материалы 52-го ежегодного симпозиума ACM SIGACT по теории вычислений . Сток 2020 г. Чикаго, Иллинойс: ACM. стр. 1–13. arXiv : 1912.00670 . дои : 10.1145/3357713.3384233 . ISBN 978-1-4503-6979-4 . S2CID 208527125 .
- ^ Карпински, Лампис и Шмид (2015) .
- ^ Косараджу, Парк и Штейн (1994) .
- ^ Сердюков (1984) .
- ^ Хассин и Рубинштейн (2000) .
- ^ Макгрегор, JN; Ормерод, Т. (июнь 1996 г.), «Человеческая деятельность в задаче коммивояжера», Perception & Psychophysicals , 58 (4): 527–539, doi : 10.3758/BF03213088 , PMID 8934685 .
- ^ Сухой, Мэтью; Ли, Майкл Д.; Викерс, Дуглас; Хьюз, Питер (2006). «Работа человека при решении визуально представленных задач коммивояжера с различным количеством узлов». Журнал решения проблем . 1 (1). CiteSeerX 10.1.1.360.9763 . дои : 10.7771/1932-6246.1004 . ISSN 1932-6246 .
- ^ Ройдж, Ирис Ван; Стеге, Ульрике; Шактман, Алисса (1 марта 2003 г.). «Выпуклая оболочка и пересечение туров в евклидовой задаче коммивояжера: последствия для исследований человеческих способностей». Память и познание . 31 (2): 215–220. CiteSeerX 10.1.1.12.6117 . дои : 10.3758/bf03194380 . ISSN 0090-502X . ПМИД 12749463 . S2CID 18989303 .
- ^ МакГрегор, Джеймс Н.; Чу, Юн (2011). «Работа человека в отношении коммивояжера и связанных с ним проблем: обзор» . Журнал решения проблем . 3 (2). дои : 10.7771/1932-6246.1090 . ISSN 1932-6246 .
- ^ МакГрегор, Джеймс Н.; Хроника, Эдвард П.; Ормерод, Томас К. (1 марта 2004 г.). «Выпуклая оболочка или предотвращение пересечений? Эвристика решения задачи коммивояжера» . Память и познание . 32 (2): 260–270. дои : 10.3758/bf03196857 . ISSN 0090-502X . ПМИД 15190718 .
- ^ Викерс, Дуглас; Мэйо, Тереза; Хайтманн, Меган; Ли, Майкл Д.; Хьюз, Питер (2004). «Интеллект и индивидуальные различия в производительности по трем типам визуально представленных задач оптимизации». Личность и индивидуальные различия . 36 (5): 1059–1071. дои : 10.1016/s0191-8869(03)00200-9 .
- ^ Кирицис, Маркос; Гулливер, Стивен Р.; Фередоэс, Ева (12 июня 2017 г.). «Признание эвристических нарушений предотвращения пересечения границ при решении евклидовой задачи коммивояжера». Психологические исследования . 82 (5): 997–1009. дои : 10.1007/s00426-017-0881-7 . ISSN 0340-0727 . ПМИД 28608230 . S2CID 3959429 .
- ^ Кирицис, Маркос; Блатрас, Джордж; Гулливер, Стивен; Варела, Василики-Алексия (11 января 2017 г.). «Чувство направления и добросовестность как факторы, определяющие эффективность решения евклидовой задачи коммивояжера» . Гелион . 3 (11): e00461. Бибкод : 2017Хелий...300461К . дои : 10.1016/j.heliyon.2017.e00461 . ПМК 5727545 . ПМИД 29264418 .
- ^ Кирицис, Маркос; Гулливер, Стивен Р.; Фередоэс, Ева; Дин, Шахаб Уд (декабрь 2018 г.). «Поведение человека в евклидовой задаче коммивояжера: вычислительное моделирование эвристики и фигуральных эффектов». Исследование когнитивных систем . 52 : 387–399. дои : 10.1016/j.cogsys.2018.07.027 . S2CID 53761995 .
- ^ Jump up to: а б МакГрегор, Джеймс Н.; Чу, Юн (2011), «Человеческие возможности коммивояжера и связанных с ним проблем: обзор» , Journal of Issue Solving , 3 (2), doi : 10.7771/1932-6246.1090 .
- ^ Журнал решения проблем 1 (1) , 2006 г., получено 6 июня 2014 г.
- ^ Гибсон, Бретт; Уилкинсон, Мэтью; Келли, Дебби (1 мая 2012 г.). «Пусть голубь управляет автобусом: голуби могут планировать будущие маршруты в комнате». Познание животных . 15 (3): 379–391. дои : 10.1007/s10071-011-0463-9 . ISSN 1435-9456 . ПМИД 21965161 . S2CID 14994429 .
- ^ Джонс, Джефф; Адамацки, Эндрю (2014), «Вычисление задачи коммивояжера с помощью сжимающейся капли» (PDF) , Natural Computing : 2, 13, arXiv : 1303.4969 , Bibcode : 2013arXiv1303.4969J
- ^ «ЦПЛИБ» . comopt.ifi.uni-heidelberg.de . Проверено 10 октября 2020 г.
- ^ Гир, Дункан (26 апреля 2012 г.). « В фильме «Коммивояжер» рассматриваются последствия, если P равно NP» . Проводная Великобритания . Проверено 26 апреля 2012 г.
- ↑ Когда Мона Лиза NP-трудна , Эвелин Лэмб, Scientific American, 31 апреля 2015 г.
Ссылки
[ редактировать ]- Эпплгейт, ДЛ; Биксби, РМ; Хватал, В.; Кук, WJ (2006), Проблема коммивояжера , Princeton University Press, ISBN 978-0-691-12993-8 .
- Аллендер, Эрик; Бюргиссер, Питер; Кьельдгаард-Педерсен, Джон; http://dx.doi.org/10.1037/0021-843X.108.2.202 Митерсен, Питер Бро (2007), «О сложности численного анализа» (PDF) , SIAM J. Comput. , 38 (5): 1987–2006, CiteSeerX 10.1.1.167.5495 , doi : 10.1137/070697926 .
- Арора, Санджив (1998), «Схемы аппроксимации полиномиального времени для евклидова коммивояжера и других геометрических задач» (PDF) , Journal of the ACM , 45 (5): 753–782, doi : 10.1145/290179.290180 , MR 1668147 , S2CID 3023351 .
- Бердвуд, Дж.; Хэлтон, Дж. Х.; Хаммерсли, Дж. М. (октябрь 1959 г.), «Кратчайший путь через множество точек» , Proceedings of the Cambridge Philosophical Society , 55 (4): 299–327, Bibcode : 1959PCPS...55..299B , doi : 10.1017/s0305004100034095 , ISSN 0305-0041 , S2CID 122062088 .
- Беллман Р. (1960), «Комбинаторные процессы и динамическое программирование», Беллман Р.; Холл, М. младший (ред.), Комбинаторный анализ, Труды симпозиумов по прикладной математике 10 , Американское математическое общество, стр. 217–249 .
- Беллман, Р. (1962), «Решение задачи коммивояжера с помощью динамического программирования», Журнал Ассоциации вычислительной техники , 9 : 61–63, doi : 10.1145/321105.321111 , S2CID 15649582 .
- Берман, Петр; Карпински, Марек (2006), «Алгоритм приближения 8/7 для (1,2)-TSP», Proc. 17-й симпозиум ACM-SIAM по дискретным алгоритмам (SODA '06) , стр. 641–648, CiteSeerX 10.1.1.430.2224 , doi : 10.1145/1109557.1109627 , ISBN 978-0-89871-605-4 , S2CID 9054176 , ECCC TR05-069 .
- Кристофидес Н. (1976), Анализ наихудшего случая новой эвристики для задачи коммивояжера , Технический отчет 388, Высшая школа промышленного управления, Университет Карнеги-Меллона, Питтсбург .
- Хассин, Р.; Рубинштейн, С. (2000), «Лучшие приближения для максимального TSP», Information Processing Letters , 75 (4): 181–186, CiteSeerX 10.1.1.35.7209 , doi : 10.1016/S0020-0190(00)00097-1 .
- Хелд, М .; Карп, Р.М. (1962), «Подход динамического программирования к задачам последовательности», Журнал Общества промышленной и прикладной математики , 10 (1): 196–210, doi : 10.1137/0110015 .
- Каплан, Х.; Левенштейн, Л.; Шафрир, Н.; Свириденко М. (2004), «Алгоритмы аппроксимации асимметричного TSP путем разложения направленных регулярных мультиграфов», В сб. 44-й симпозиум IEEE. по основам информатики. Sci , стр. 56–65 .
- Карпинский, М.; Лампис, М.; Шмид, Р. (2015), «Новые границы неаппроксимируемости для TSP», Журнал компьютерных и системных наук , 81 (8): 1665–1677, arXiv : 1303.6437 , doi : 10.1016/j.jcss.2015.06.003
- Косараджу, СР; Парк, Дж. К.; Штейн, К. (1994), «Длинные туры и короткие суперструны» , Proc. 35-я Энн. IEEE симп. по основам информатики. Sci , Компьютерное общество IEEE, стр. 166–177 .
- Ларсон, Ричард К.; Одони, Амедео Р. (1981), «6.4.7: Применение сетевых моделей § Проблемы маршрутизации §§ Евклидово TSP» , Исследование городских операций , Прентис-Холл, ISBN 978-0-13-939447-8 , OCLC 6331426 .
- Падберг, М.; Ринальди, Г. (1991), «Алгоритм ветвей и разрезов для решения крупномасштабных симметричных задач коммивояжера», SIAM Review , 33 : 60–100, doi : 10.1137/1033004 , S2CID 18516138 .
- Пападимитриу, Христос Х. (1977), «Евклидова задача коммивояжера NP-полна», Theoretical Computer Science , 4 (3): 237–244, doi : 10.1016/0304-3975(77)90012-3 , MR 0455550 .
- Пападимитриу, Христос Х.; Яннакакис, Михалис (1993), «Задача коммивояжера с расстояниями один и два», Mathematics of Operations Research , 18 : 1–11, doi : 10.1287/moor.18.1.1 .
- Шрийвер, Александр (2005). «К истории комбинаторной оптимизации (до 1960 г.)». В К. Аардале ; Г. Л. Немхаузер ; Р. Вейсмантель (ред.). Справочник по дискретной оптимизации (PDF) . Амстердам: Эльзевир. стр. 1–68.
- Сердюков А.И. (1984), "Алгоритм с оценкой максимума для задачи коммивояжера ", Управляемые системы , 25 : 80–86 .
- Штайнербергер, Стефан (2015), «Новые границы константы коммивояжера», « Достижения в области прикладной теории вероятностей » , 47 (1): 27–36, arXiv : 1311.6338 , Bibcode : 2013arXiv1311.6338S , doi : 10.1239/aap/1427814579 , S2CID 119293287 .
- Вегингер, Г.Дж. (2003), «Точные алгоритмы для решения NP-сложных задач: обзор», Комбинаторная оптимизация – Эврика, ты уменьшаешься! Конспекты лекций по информатике, вып. 2570 , Спрингер, стр. 185–207 .
Дальнейшее чтение
[ редактировать ]- Адлеман, Леонард (1994), «Молекулярные вычисления решений комбинаторных задач» (PDF) , Science , 266 (5187): 1021–4, Бибкод : 1994Sci...266.1021A , CiteSeerX 10.1.1.54.2565 , doi : 10.1126 /science.7973651 , PMID 7973651 , заархивировано из оригинала (PDF) 6 февраля 2005 г.
- Бабин, Гилберт; Дено, Стефани; Лапорти, Гилберт (2005), «Усовершенствования эвристики Or-opt для симметричной задачи коммивояжера», Журнал Общества операционных исследований , Cahiers du GERAD, G-2005-02 (3), Монреаль: Группа исследований в области Анализ решений: 402–407, CiteSeerX 10.1.1.89.9953 , JSTOR 4622707.
- Кук, Уильям (2012). В погоне за коммивояжером: математика на грани вычислений . Издательство Принстонского университета. ISBN 978-0-691-15270-7 .
- Кук, Уильям ; Эспиноза, Дэниел; Гойкулеа, Маркос (2007), «Вычисления с неравенством домино-паритета для TSP», Журнал INFORMS on Computing , 19 (3): 356–365, doi : 10.1287/ijoc.1060.0204
- Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л .; Штейн, Клиффорд (31 июля 2009 г.). «35.2: Задача коммивояжера» . Введение в алгоритмы (2-е изд.). МТИ Пресс. стр. 1027–1033. ISBN 978-0-262-03384-8 .
- Данциг, Великобритания ; Фулкерсон, Р .; Джонсон, С.М. (1954), «Решение крупномасштабной задачи коммивояжера» , Operations Research , 2 (4): 393–410, doi : 10.1287/opre.2.4.393 , JSTOR 166695 , S2CID 44960960
- Гэри, Майкл Р.; Джонсон, Дэвид С. (1979). «A2.3: ND22–24». Компьютеры и трудноразрешимость: Руководство по теории NP-полноты . У. Х. Фриман. стр. 211–212. ISBN 978-0-7167-1044-8 .
- Голдберг, Делавэр (1989), «Генетические алгоритмы в поиске, оптимизации и машинном обучении», Чтение: Аддисон-Уэсли , Нью-Йорк: Аддисон-Уэсли, Bibcode : 1989gaso.book.....G , ISBN 978-0-201-15767-3
- Гутин Г.; Йео, А.; Зверович А. (15 марта 2002 г.). «Коммивояжер не должен быть жадным: анализ доминирования эвристик жадного типа для TSP» . Дискретная прикладная математика . 117 (1–3): 81–86. дои : 10.1016/S0166-218X(01)00195-0 . ISSN 0166-218X .
- Гутин Г.; Пуннен, AP (18 мая 2007 г.). Задача коммивояжера и ее варианты . Спрингер США. ISBN 978-0-387-44459-8 .
- Джонсон, Д.С .; МакГеоч, Луизиана (1997), «Проблема коммивояжера: пример локальной оптимизации», в Aarts, EHL; Ленстра, Дж. К. (ред.), Локальный поиск в комбинаторной оптимизации (PDF) , John Wiley and Sons Ltd., стр. 215–310.
- Лоулер, Эл.; Шмойс, Д.Б.; Кан, AHG Ринной; Ленстра, Дж. К. (1985). Задача коммивояжера . Джон Уайли и сыновья, Инкорпорейтед. ISBN 978-0-471-90413-7 .
- МакГрегор, JN; Ормерод, Т. (1996), «Человеческие возможности в решении задачи коммивояжера», Perception & Psychophysicals , 58 (4): 527–539, doi : 10.3758/BF03213088 , PMID 8934685 , S2CID 38355042
- Медведев Андрей; Ли, Майкл; Бутавичиус, Маркус; Викерс, Дуглас (1 февраля 2001 г.). «Работа человека в решении визуально представленных задач коммивояжера». Психологические исследования . 65 (1): 34–45. дои : 10.1007/s004260000031 . ISSN 1430-2772 . ПМИД 11505612 . S2CID 8986203 .
- Митчелл, JSB (1999), «Гильотинные подразделения аппроксимируют полигональные подразделения: простая схема аппроксимации с полиномиальным временем для геометрических TSP, k -MST и связанных с ними проблем», SIAM Journal on Computing , 28 (4): 1298–1309, doi : 10.1137/S0097539796309764
- Рао, С.; Смит, В. (1998). «Аппроксимация геометрических графов с помощью гаечных ключей и баньянов ». STOC '98: Материалы тридцатого ежегодного симпозиума ACM по теории вычислений . стр. 540–550. CiteSeerX 10.1.1.51.8676 .
- Розенкранц, Дэниел Дж.; Стернс, Ричард Э.; Льюис, Филип М. II (1977). «Анализ нескольких эвристик для задачи коммивояжера». SIAM Journal по вычислительной технике . 6 (5). SIAM (Общество промышленной и прикладной математики): 563–581. дои : 10.1137/0206041 . S2CID 14764079 .
- Уолшоу, Крис (2000), Многоуровневый подход к задаче коммивояжера , CMS Press
- Уолшоу, Крис (2001), Многоуровневый алгоритм Лина-Кернигана-Хельсгауна для задачи коммивояжера , CMS Press
Внешние ссылки
[ редактировать ]- Проблема коммивояжера в Wayback Machine (архивировано 17 декабря 2013 г.) в Университете Ватерлоо.
- TSPLIB, примеры экземпляров TSP в Гейдельбергском университете.
- Задача коммивояжера Джона МакЛуна в демонстрационном проекте Wolfram
- Инструмент визуализации TSP