Задача коммивояжёра
Зада́ча коммивояжёра (англ. Traveling Salesman Problem – TSP), классическая задача комбинаторной оптимизации, результаты в области точного и приближённого решения которой во многом определили направления развития современной теории комбинаторных алгоритмов и теории вычислительной сложности (см., например, [1]).
Задача коммивояжёра и её модификации: задача коммивояжёра с ограничениями предшествования (англ. Precedence Constrained TSP), временными промежутками обслуживания (англ. TSP with Time Windows); ряд близких комбинаторных задач, среди которых обобщённая задача коммивояжёра (англ. Generalized TSP), задача маршрутизации транспортных средств (англ. Vehicle Routing Problem – VRP), задача ориентирования (англ. Orienteering Problem – OP), обладают широким спектром важных приложений в области исследования операций.
Содержательная постановка задачи коммивояжёра на удивление проста: «Задано множество из городов, каждой паре которых сопоставлена транспортная издержка , определяющая стоимость проезда из пункта в пункт . Требуется указать циклический маршрут, посещающий каждый город в точности один раз и обладающий минимальной стоимостью». Вероятно, поэтому до начала 20 в. задачу коммивояжёра было принято относить к математическим головоломкам. Среди наиболее известных – опубликованная в 1859 г. У. Р. Гамильтоном игра «Вокруг света» (англ. icosian game), связанная с построением гамильтонова обхода множества вершин додекаэдра, и задача о кратчайшем маршруте велосипедиста (англ. bicycle tour) из известной книги С. Лойда ([2]).
Формальная постановка в виде задачи комбинаторной оптимизации, по-видимому, впервые была представлена в работе К. Менгера. Систематические исследования в области алгоритмического анализа задачи восходят к классической работе Дж. Данцига, Р. Фалкерсона и С. Джонсона ([3]), а в области моделирования и индустриальных приложений – к работе Дж. Данцига и Дж. Рамсера ([4]). Наиболее подробные обзоры полученных за прошедшие десятилетия теоретических и прикладных результатов можно найти в монографиях ([5]; [6]).
Математическая постановка
Условие задачи коммивояжёра задаётся рёберно-взвешенным (ориентированным) графом , , весовая функция которого сопоставляет произвольному ребру – дуге транспортную издержку . Допустимыми решениями задачи являются гамильтоновы циклы (перестановки множества вершин) , стоимость которых задаётся соотношением
.
Задача состоит в нахождении цикла минимальной стоимости.
Заметим, что без ограничения общности граф может полагаться полным, т. к. произвольные несмежные вершины и легко могут быть соединены ребром достаточно большой стоимости .
Принято различать постановки, заданные на неориентированных и ориентированных графах. По традиции задачей коммивояжёра принято называть именно первую версию задачи, с симметричной функцией транспортных издержек. В свою очередь задачу на ориентированном графе, с несимметричной функцией затрат, называют асимметричной задачей коммивояжёра (англ. Asymmetric Traveling Salesman Problem – ATSP).
Выделяют несколько специальных случаев классической симметричной задачи. Так, постановка, в которой для произвольных вершин , и справедливо неравенство треугольника
(1),
называется метрической. Если множество вершин является подмножеством конечномерного числового пространства, а транспортные издержки определяются евклидовыми расстояниями между вершинами, постановку задачи также принято называть евклидовой.
Целочисленные формулировки
Как и для большинства задач комбинаторной оптимизации, задаче коммивояжёра соответствует несколько эквивалентных формулировок в форме задач целочисленного или смешанного линейного программирования (англ. MILP models).
Исторически первая и, по-видимому, наиболее исследованная в теоретическом плане формулировка была приведена в работе Дж. Данцига, Р. Фалкерсона и С. Джонсона ([7]). Остановившись для определённости на рассмотрении асимметричной постановки задачи коммивояжёра, сопоставим произвольному гамильтонову контуру характеристический вектор , значение произвольной координаты которого, соответствующей дуге , задаётся соотношением
Зададимся стандартными обозначениями
для исходящего и входящего разрезов произвольного собственного подмножества и для их объединения, а также , и для частного случая разрезов, порождаемого подмножеством . Приведённая ниже задача булевой линейной оптимизации известна в литературе как модель Данцига – Фалкерсона – Джонсона:
Нередко модель рассматривается в эквивалентной постановке, где подсистема
заменяется подсистемой
.
Заметим также, обе подсистемы содержат экспоненциальное (по отношению к числу вершин графа) число неравенств, что в определённом смысле затрудняет непосредственное применение модели для численного решения исходной задачи. Поэтому наряду с данной классической моделью развиваются компактные модели MILP, число ограничений и переменных в которых ограничено сверху некоторым полиномом от , первой из них и одной из самых компактных, по-видимому, является модель Миллера – Такера – Землина, предложенная в работе Integer Programming Formulation of Traveling Salesman Problems ([8]).
Последующие результаты в области совершенствования целочисленных моделей для задачи коммивояжёра получены в работах ([9]; [10]; [11]). На сегодня наиболее эффективными (с точки зрения точности нижних оценок соответствующих вещественных релаксаций) считаются результаты, приведённые в книгах New tighter polynomial length formulations for the asymmetric traveling salesman problem with and without precedence constraints ([12]) и Combining and projecting flow models for the (precedence constrained) asymmetric traveling salesman problem ([13]).
Вычислительная сложность
Как следует из классической работы Р. Карпа ([14]), задача коммивояжёра -трудна в сильном смысле, т. е. наличие точного алгоритма, находящего оптимальное решение задачи за полиномиальное или псевдополиномиальное время от длины записи её условия влечёт равенство . Результат следует из полиномиальной сводимости к данной задаче -полной задачи «Гамильтонов цикл». Известно также, что задача коммивояжёра сохраняет труднорешаемость даже в чрезвычайно специфических постановках, например на евклидовой плоскости, как показано в известной работе Х. Пападимитриу ([15]).
Точные алгоритмы
Как и для многих задач комбинаторной оптимизации, оптимальное решение задачи коммивояжёра может быть найдено полным перебором, путём перечисления всех перестановок вершин графа , с трудоёмкостью . См. также «О большое».
Один из известных подходов к проектированию точных алгоритмов для задачи коммивояжёра опирается на фундаментальные результаты Р. Беллмана ([16]) и М. Хелда – Р. Карпа ([17]) и связан с развитием метода динамического программирования (см., например, Меламед. 1989; Ченцов. 1998). Классическая схема динамического программирования находит оптимальное решение задачи за время и при затратах памяти .
Другой известный подход к построению точных алгоритмов для задачи коммивояжёра и её обобщений опирается на результаты в области полиэдральной теории допустимых маршрутов задачи ([18]; [19]) и связан с проектированием эффективных методов ветвей и границ (англ. branch-and-bound) и ветвей и отсечений (англ. branch-and-cut) (см., например, [20]; [21]; [22]; [23]; [24]; [25]).
Эвристические алгоритмы
Несмотря на математическую элегантность и ряд вычислительных преимуществ, использование обсуждавшихся выше алгоритмов ограничено постановками относительно малого размера, ввиду -трудности исследуемой задачи коммивояжёра. Поэтому история её алгоритмического анализа тесно связана с развитием метаэвристических и эвристических алгоритмов ([26]; [27]). Известно (см., например, [28]; [29]), что эвристические алгоритмы нередко демонстрируют удивительную производительность, позволяя находить близкие к оптимальным или даже оптимальные решения для постановок задачи большого размера, возникающих в практических приложениях. Кроме того, использование таких алгоритмов в составе методов ветвления в качестве первичных эвристик (англ. primal heuristics), как правило, приводит к существенному ускорению последних.
Наибольшего развития в контексте задачи коммивояжёра получили алгоритмы локального поиска ([30]; [31]; [32]), восходящие к классическому алгоритму С. Лина (Линя) и Б. Кернигана ([33]) генетические и меметические алгоритмы Г. Гутина и Д. Карапетяна ([34]; [35]), алгоритмы поиска с переменными окрестностями (англ. Variable Neighborhood Search – VNS) ([36]; [37]; [38]) и алгоритмы адаптивного поиска в больших окрестностях (англ. Adaptive Search in Large Neighborhoods – ALNS) ([39]; [40]).
Приближённые алгоритмы с теоретическими гарантиями
Общая постановка задачи коммивояжёра не аппроксимируема в классе приближённых алгоритмов с полиномиальной трудоёмкостью. В частности, как следует из работы P-Complete Approximation Problems ([41]), наличие полиномиального приближённого алгоритма с точностью влечёт равенство .
Многие важные частные случаи задачи, наоборот, успешно аппроксимируются в классе полиномиальных алгоритмов. Действительно, постановки задачи (симметричная и асимметричная), функции транспортных издержек которых удовлетворяют неравенству треугольника , принадлежат классу оптимизационных задач, обладающих полиномиальными приближёнными алгоритмами с фиксированными (константными) оценками точности.
Для метрической задачи коммивояжёра хорошо известен -приближённый алгоритм Кристофидеса – Сердюкова (Christofides. 1975; Сердюков. 1978) с трудоёмкостью , состоящий в последовательном решении трёх вспомогательных экстремальных задач на графах: поиска остовного дерева минимального веса, совершённого паросочетания минимальной стоимости и кратчайшего эйлерова цикла, каждая из которых полиномиально разрешима.
В отличие от симметричной постановки, для асимметричной задачи коммивояжёра долгое время не удавалось обосновать алгоритмы с фиксированной оценкой.
В работе 2018 г. О. Свенссоном, Я. Тарнавским и Л. Вегом ([42]) для асимметричной задачи с неравенством треугольника впервые предложен приближённый алгоритм с константной оценкой точности . В недавней работе этих авторов ([43]) и статьях В. Трауб и Й. Вигена ([44]; [45]) данную оценку удалось существенно улучшить, до и соответственно. Как в своё время алгоритм Кристофидеса – Сердюкова, эти результаты открыли возможность проектирования эффективных приближённых алгоритмов для широкого класса асимметричных комбинаторных задач ([46]). Поэтому теоретическая значимость их вряд ли может быть переоценена, несмотря на то что с практической точки зрения полученные оценки точности по-прежнему представляются далёкими от идеала.
Для более узких специальных случаев задачи наиболее известны результаты С. Ароры ([47]) и Дж. Митчелла ([48]), впервые обосновавших аппроксимируемость задачи коммивояжёра на евклидовой плоскости в классе полиномиальных приближённых схем (англ. Polynomial Time Approximation Scheme – PTAS). Впоследствии алгоритм С. Ароры удалось обобщить на случай произвольных конечномерных числовых пространств. Наиболее общим на данный момент считается революционный результат Я. Бартала, Л. Готтлиба и Р. Краутгеймера ([49]), обосновывающий существование PTAS для задачи коммивояжёра, заданной в метрическом пространстве произвольной фиксированной размерности удвоения. Разработанный этими авторами подход позволил разработать полиномиальные приближённые схемы для целого ряда близких задач комбинаторной оптимизации (см., например, [50]; [51]).
Примечания
Литература
- Loyd S. Cyclopedia of 5000 puzzles, tricks, and conundrums with answers. – New York : The Lamb Publishing Company, 1914.
- Menger K. Das botenproblem // Ergebnisse Eines Mathematischen Kolloquiums / hrsg. K. Menger. – Leipzig : Teubner, 1932. – № 2. – S. 11–12.
- Dantzig G. Solution of a Large-Scale Traveling-Salesman Problem / G. Dantzig, R. Fulkerson, S. Johnson // Journal of the Operations Research Society of America. – 1954. – Vol. 2, № 4. – P. 393–410.
- Dantzig G. B. The Truck Dispatching Problem / G. B. Dantzig, J. H. Ramser // Management Science. – 1959. – Vol. 6, № 1. – P. 80–91.
- Miller C. Integer Programming Formulation of Traveling Salesman Problems / C. Miller, A. Tucker, R. Zemlin // Journal of the ACM. – 1960. – Vol. 7, № 4. – P. 326–329.
- Bellman R. Dynamic programming treatment of the travelling Salesman problem // Journal of the ACM. – 1962. – Vol. 9, № 1. – P. 61–63.
- Held M. A Dynamic Programming Approach to Sequencing Problems / M. Held, R. M. Karp // Journal of the Society for Industrial and Applied Mathematics. – 1962. – Vol. 10, № 1. – P. 196–210.
- Karp R. M. Reducibility Among Combinatorial Problems
- Lin S. An Effective Heuristic Algorithm for the Traveling-Salesman Problem / S. Lin, B. W. Kernighan // Operations Research. – 1973. – Vol. 21, № 2. – P. 498–516.
- Christofides N. Worst-case analysis of a new heuristic for the Traveling Salesman Problem // Symposium on New Directions and Recent Results in Algorithms and Complexity. – 1976. – P. 441.
- Sahni S. P-Complete Approximation Problems / S. Sahni, T. Gonzalez // Journal of the ACM. – 1976. – Vol. 23, № 3. – P. 555–565.
- Papadimitriou C. H. The Euclidean travelling salesman problem is NP-complete // Theoretical Computer Science. – 1977. – Vol. 4, № 3. – P. 237–244.
- Сердюков А. И. О некоторых экстремальных обходах в графах // Управляемые системы. – 1978. – Вып. 17. – С. 76–79.
- Меламед И. И. Задача коммивояжера. Точные методы / И. И. Меламед, С. И. Сергеев, И. Х. Сигал // Автоматика и телемеханика. – 1989. – Вып. 10. – С. 3–29.
- Desrochers M. Improvements and extensions to the Miller-Tucker-Zemlin subtour elimination constraints / M. Desrochers, G. Laporte // Operations Research Letters. – 1991. – Vol. 10, № 1. – P. 27–36.
- Padberg M. A Branch-and-Cut Algorithm for the Resolution of Large-Scale Symmetric Traveling Salesman Problems / M. Padberg, G. Rinaldi // SIAM Review. – 1991. – Vol. 33, № 1. – P. 60–100.
- The traveling Salesman Problem: a guided tour of combinatorial optimization / ed. by E. L. Lawler [et al.]. – Chichester [et al.] : John Wiley & Sons, 1991. – (Wiley-Interscience series in discrete mathematics).
- Arora S. Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems // Journal of the ACM. – 1998. – Vol. 45, № 5. – P. 753–782.
- Ченцов А. А. О решении задачи маршрутной оптимизации методом динамического программирования / А. А. Ченцов, А. Г. Ченцов // Автоматика и телемеханика. – 1998. – № 9. – С. 117–129.
- Gouveia L. The asymmetric travelling salesman problem and a reformulation of the Miller–Tucker–Zemlin constraints / L. Gouveia, J. M. Pires // European Journal of Operational Research. – 1999. – Vol. 112, № 1. – P. 134–146.
- Meta-heuristics : advances and trends in local search paradigms for optimization / ed. by S. Voß [et al.]. – Boston : Kluwer Academic Publishers, 1999.
- Mitchell J. S. B. Guillotine Subdivisions Approximate Polygonal Subdivisions: A Simple Polynomial-Time Approximation Scheme for Geometric TSP, k -MST, and Related Problems // SIAM Journal on Computing . – 1999. – Vol. 28, № 4. – P. 1298–1309.
- Ascheuer N. A Branch & Cut Algorithm for the Asymmetric Traveling Salesman Problem with Precedence Constraints / N. Ascheuer, M. Jünger, G. Reinelt // Computational Optimization and Applications. – 2000. – Vol. 17, № 1. – P. 61–84.
- Helsgaun K. An effective implementation of the Lin–Kernighan traveling salesman heuristic // European Journal of Operational Research. – 2000. – Vol. 126, № 1. – P. 106–130.
- Helsgaun K. General k-opt submoves for the Lin–Kernighan TSP heuristic // Mathematical Programming Computation. – 2009. – Vol. 1, № 2/3. – P. 119–163.
- Helsgaun K. Solving the equality generalized traveling salesman problem using the Lin–Kernighan–Helsgaun Algorithm // Mathematical Programming Computation. – 2015. – Vol. 7, № 3. – P. 269–287.
- Sherali H. D. On Tightening the Relaxations of Miller-Tucker-Zemlin Formulations for Asymmetric Traveling Salesman Problems / H. D. Sherali, P. J. Driscoll // Operations Research. – 2002. – Vol. 50, № 4. – P. 656–669.
- Sarin S. C. New tighter polynomial length formulations for the asymmetric traveling salesman problem with and without precedence constraints / S. C. Sarin, H. D. Sherali, A. Bhootra // Operations Research Letters. – 2005. – Vol. 33, № 1. – P. 62–70.
- Ropke S. An Adaptive Large Neighborhood Search Heuristic for the Pickup and Delivery Problem with Time Windows / S. Ropke, D. Pisinger // Transportation Science. – 2006. – Vol. 40, № 4. – P. 455–472.
- The Traveling Salesman Problem and Its Variations / ed. by G. Gutin, A. P. Punnen. – New York : Springer, 2007. – (Combinatorial Optimization ; 12).
- Gutin G. A memetic algorithm for the generalized traveling salesman problem / G. Gutin, D. Karapetyan // Natural Computing. – 2010. – Vol. 9, № 1. – P. 47–60.
- Gutin G. Lin–Kernighan heuristic adaptations for the generalized traveling salesman problem / G. Gutin, D. Karapetyan // European Journal of Operational Research. – 2011. – Vol. 208, № 3. – P. 221–232.
- Traveling salesman problem heuristics: Leading methods, implementations and latest advances / C. Rego, D. Gamboa, F. Glover, C. Osterman // European Journal of Operational Research. – 2011. – Vol. 211, № 3. – P. 427–441.
- Encyclopedia of operations research and management science / ed. by Saul I. Gass, Michael C. Fu. – 3rd ed. – New York ; London : Springer, 2013. – Vol. 2.
- Gouveia L. Load-dependent and precedence-based models for pickup and delivery problems / L. Gouveia, M. Ruthmair // Computers & Operations Research. – 2015. – Vol. 63. – P. 56–71.
- Bartal Y. The Traveling Salesman Problem: Low-Dimensionality Implies a Polynomial Time Approximation Scheme / Y. Bartal, L.-A. Gottlieb, R. Krauthgamer // SIAM Journal on Computing. – 2016. – Vol. 45, № 4. – P. 1563–1581.
- Smith S. L. GLNS: An Effective Large Neighborhood Search Heuristic for the Generalized Traveling Salesman Problem / S. L. Smith, F. Imeson // Computers & Operations Research. – 2017. – Vol. 87. – P. 1–19.
- Chan T.-H. H. Reducing Curse of Dimensionality: Improved PTAS for TSP (with Neighborhoods) in Doubling Metrics / T.-H. H. Chan, Shaofeng H.-C. Jiang // ACM Transactions on Algorithms. – 2018. – Vol. 14, № 1. – P. 1–18.
- Chan T.-H. H. A Unified PTAS for Prize Collecting TSP and Steiner Tree Problem in Doubling Metrics / T.-H. H. Chan, Haotian Jiang, Shaofeng H.-C. Jiang // ACM Transactions on Algorithms. – 2020. – Vol. 16, № 2. – P. 1–23.
- Combining and projecting flow models for the (precedence constrained) asymmetric traveling salesman problem / L. Gouveia, P. Pesneau, M. Ruthmair, D. Santos // Networks. – 2018. – Vol. 71, № 4. – P. 451–465.
- Hore S. Improving variable neighborhood search to solve the traveling salesman problem / S. Hore, A. Chatterjee, A. Dewanji // Applied Soft Computing. – 2018. – Vol. 68. – P. 83–91.
- Svensson O. A constant-factor approximation algorithm for the asymmetric traveling salesman problem / O. Svensson, J. Tarnawski, L. A. Végh // STOC 2018: Proceedings of the 50th Annual ACM SIGACT Symposium on the Theory of Computing, June 25–29, 2018 in Los Angeles. – New York : Association for Computing Machinery, 2018. – P. 204–213.
- Svensson O. A Constant-factor Approximation Algorithm for the Asymmetric Traveling Salesman Problem / O. Svensson, J. Tarnawski, L. A. Vegh // Journal of the ACM. – 2020. – Vol. 67, № 6. – P. 1–53.
- Handbook of Metaheuristics / ed. by M. Gendreau, J.-Y. Potvin. – 3rd ed. – Cham : Springer, 2019. – (International Series in Operations Research & Management Science ; 272).
- A branch-and-cut algorithm for the generalized traveling salesman problem with time windows / Y. Yuan, D. Cattaruzza, M. Ogier, F. Semet // European Journal of Operational Research. – 2020. – Vol. 286, № 3. – P. 849–866.
- Traub V. An improved approximation algorithm for ATSP / V. Traub, J. Vygen // STOC 2020 : Proceedings of the 52nd Annual ACM SIGACT Symposium on Theory of Computing, June 22–26, 2020 in Chicago. – New York : Association for Computing Machinery, 2020. – P. 1–13.
- Traub V. An Improved Approximation Algorithm for The Asymmetric Traveling Salesman Problem / V. Traub, J. Vygen // SIAM Journal on Computing. – 2022. – Vol. 51, № 1. – P. 139–173.
- Khachay M. Efficient approximation of the metric CVRP in spaces of fixed doubling dimension / M. Khachay, Y. Ogorodnikov, D. Khachay // Journal of Global Optimization. – 2021. – Vol. 80, № 3. – P. 679–710.
- Khachay M. Y. Constant-Factor Approximation Algorithms for a Series of Combinatorial Routing Problems Based on the Reduction to the Asymmetric Traveling Salesman Problem / M. Y. Khachay, E. D. Neznakhina, K. V. Ryzhenko // Proceedings of the Steklov Institute of Mathematics. – 2022. – Vol. 319, suppl. 1. – P. S140–S155.
- Karakostas P. A Double-Adaptive General Variable Neighborhood Search algorithm for the solution of the Traveling Salesman Problem / P. Karakostas, A. Sifaleras // Applied Soft Computing. – 2022. – Vol. 121. – Art. 108746.
- Precedence constrained generalized traveling salesman problem: Polyhedral study, formulations, and branch-and-cut algorithm / D. Khachai, R. Sadykov, O. Battaia, M. Khachay // European Journal of Operational Research. – 2023. – Vol. 309, № 2. – P. 488–505.