Зада́ча комівояже́ра (комівояжер — бродячий торговець; англ. Travelling Salesman Problem, TSP; нім. Problem des Handlungsreisenden) полягає у знаходженні найвигіднішого маршруту, що проходить через вказані міста хоча б по одному разу. В умовах завдання вказуються критерій вигідності маршруту (найкоротший, найдешевший, сукупний критерій тощо) і відповідні матриці відстаней, вартості тощо. Зазвичай задано, що маршрут повинен проходити через кожне місто тільки один раз, в такому випадку розв'язок знаходиться серед гамільтонових циклів.
Існує маса різновидів узагальненої постановки задачі, зокрема геометрична задача комівояжера (коли матриця відстаней відображає відстані між точками на площині), трикутна задача комівояжера (коли на матриці вартостей виконується нерівність трикутника), симетрична та асиметрична задачі комівояжера.
Прості методи розв'язання задачі комівояжера: повний лексичний перебір, жадібні алгоритми (метод найближчого сусіда), метод включення найближчого міста, метод найдешевшого включення, метод мінімального кістяка дерева. На практиці застосовують різні модифікації ефективніших методів: метод гілок і меж і метод генетичних алгоритмів, а так само алгоритм мурашиної колонії.
Всі ефективні (такі, що скорочують повний перебір) методи розв'язання задачі комівояжера — евристичні. У більшості евристичних методів знаходиться не найефективніший маршрут, а наближений розв'язок. Користуються популярністю так звані any-time алгоритми, тобто алгоритми, що поступово покращують деякий поточний наближений розв'язок.
Задача комівояжера — NP-повна. Часто на ній проводять випробування нових підходів до евристичного скорочення повного перебору.
Історія
Невідомо, коли проблему комівояжера було досліджено вперше. Однак, відома видана в 1832 році книжка з назвою «Комівояжер — як він має поводитись і що має робити для того, аби доставляти товар та мати успіх в своїх справах — поради старого Кур'єра» (нім. Der Handlungsreisende – wie er sein soll und was er zu thun hat, um Aufträge zu erhalten und eines glücklichen Erfolgs in seinen Geschäften gewiß zu sein – von einem alten Commis-Voyageur), в якій описано проблему, але математичний апарат для її розв'язання не застосовується. Натомість, в ній запропоновано приклади маршрутів для деяких регіонів Німеччини та Швейцарії.
Раннім варіантом задачі є гра «Ікосіан» Вільяма Гамільтона XIX століття, яка полягала в тому, щоб знайти маршрути на графі з 20 вузлами. Перші згадки як математичної задачі на оптимізацію належать [en] (нім. Karl Menger), який сформулював її в математичному колоквіумі в 1930 році так:
Ми називаємо проблемою гінця (оскільки це питання виникає в кожного листоноші, зокрема, її вирішують багато мандрівників) завдання віднайти найкоротший шлях між скінченною множиною місць, відстань між якими відома.
у оригиналі Wir bezeichnen als Botenproblem (weil diese Frage in der Praxis von jedem Postboten, übrigens auch von vielen Reisenden zu lösen ist) die Aufgabe, für endlich viele Punkte, deren paarweise Abstände bekannt sind, den kürzesten die Punkte verbindenden Weg zu finden. Dieses Problem ist natürlich stets durch endlich viele Versuche lösbar. Regeln, welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebenen Punkte herunterdrücken würden, sind nicht bekannt. Die Regel, man solle vom Ausgangspunkt erst zum nächstgelegenen Punkt, dann zu dem diesem nächstgelegenen Punkt gehen usw., liefert im allgemeinen nicht den kürzesten Weg.
Невдовзі з'явилась відома зараз назва задача мандруючого продавця (англ. Traveling Salesman Problem), яку запропонував [en] з Принстонського Університету.
Разом із простотою визначення та порівняною простотою знаходження гарних розв'язків задача комівояжера відрізняється тим, що визначення насправді оптимального шляху є досить складним завданням. Зважаючи на ці властивості, починаючи з другої половини 20-го століття, дослідження задачі комівояжера, має не так практичний сенс, як теоретичний у ролі моделі для розробки нових алгоритмів оптимізації.
Багато сучасних поширених методів дискретної оптимізації, таких як метод діленням площиною[], гілок та границь та різноманітні варіанти евристичних алгоритмів було розроблено на прикладі задачі комівояжера.
В 1950-ті та 1960-ті роки задача комівояжера привернула увагу науковців в США та Європі. Важливий внесок в дослідження задачі належить Джорджу Данцігу (англ. George Dantzig), Делберту Рею Фалкерсону (англ. Delbert Ray Fulkerson) та Селмеру Джонсону (англ. Selmer M. Johnson), котрі в 1954 році в інституті RAND Corportation сформулювали задачу у вигляді задачі дискретної оптимізації та розробили метод відсікаючої площини для її розв'язання. Використовуючи новий метод вони обчислили шлях для окремого набору вузлів (екземпляру проблеми) з 49 міст та довели, що не існує коротшого шляху. В 1960-ті та 1970-ті роки численні групи дослідників вивчали задачу з точки зору математики та її застосування, наприклад, в інформатиці, економіці, хімії та біології.
Річард Карп (англ. Richard M. Karp) в 1972 році довів NP-повноту задачі пошуку гамільтонових шляхів, із чого, через поліноміальну зводимість, випливала NP-повнота задачі комівояжера. На основі цих властивостей ним було наведено теоретичне обґрунтування складності пошуку розв'язків задачі на практиці.
Більших успіхів вдалося досягнути наприкінці 1970-х та 1980-х років, коли Мартін Ґрьотчел (нім. Martin Grötschel), Манфред Падберґ (нім. Manfred Padberg) та Ґіованні Рінальді (нім. Giovanni Rinaldi) та інші, із застосуванням нових методів відсікаючої площини, гілок та границь обчислили розв'язок для окремого екземпляру задачі з 2393 містами.
В 1990-ті роки Девід Аплгейт (англ. David Applegate), Роберт Біксбі (англ. Robert Bixby), Вашек Хватал та Вільям Кук (англ. William Cook) встановили рекорди з програмою . Ґерхард Райнельт (нім. Gerhard Reinelt) створив TSPLIB — набір стандартизованих екземплярів задачі комівояжера різного ступеня складності для порівняння результатів роботи різних груп дослідників. В березні 2005 року задачу з 33 810 вузлами було розв'язано програмою Конкорд: було обчислено шлях завдовжки 66 048 945 та доведено відсутність коротших шляхів. В квітні 2006 було знайдено розв'язок для екземпляру з 85 900 вузлами. Використовуючи методи декомпозиції можливо обчислити розв'язки для екземплярів задачі з мільйонами вузлів довжина яких менш ніж на 1 % більша за оптимальний.
Формальне визначення
Подання у вигляді графа
Для можливості застосування математичного апарату для розв'язання проблеми, її слід представити у вигляді математичної моделі. Проблему комівояжера можна представити у вигляді моделі на графі, тобто, використовуючи вершини та ребра між ними. Таким чином, вершини графа (на мал.: від A до D) відповідають містам, а ребра між вершинами та сполучення між цими містами. У відповідність кожному ребру можна зіставити вагу (на мал.: 20, 42, …), яку можна розуміти як, наприклад, відстань між містами, час або вартість подорожі. Маршрутом (також гамільтоновим маршрутом) називається маршрут на цьому графі до якого входить по одному разу кожна вершина графа. Задача полягає у відшуканні найкоротшого маршруту.
З метою спрощення задачі та гарантії існування маршруту, зазвичай вважається, що модельний граф задачі є повним, тобто, що між довільною парою вершин існує ребро. Це можна досягти тим, що в тих випадках, коли між окремими містами не існує сполучення, вводити ребра з максимальною вагою (довжиною, вартістю тощо). Через велику довжину таке ребро ніколи не потрапить до оптимального маршруту, якщо він існує.
В залежності від того, що зіставляється вазі ребер, розрізняють різні варіанти задачі, найважливішими з яких є симетрична та метрична задачі.
Асиметрична та симетрична задачі
В загальному випадку, асиметрична задача комівояжера відрізняється тим, що ребра між вершинами можуть мати різну вагу в залежності від напряму, тобто, задача моделюється орієнтованим графом. Таким чином, окрім ваги ребер графа, слід також зважати і на те, в якому напрямку знаходяться ребра.
У випадку симетричної задачі всі пари ребер між одними й тими самими вершинами мають однакову вагу, тобто, для ребра ваги однакові . Як наслідок, всі маршрути мають однакову довжину в обидва напрямки. В симетричному випадку кількість можливих маршрутів вдвічі менша за асиметричний випадок. Симетрична задача моделюється (неорієнтованим графом) (як показано на малюнку).
Насправді, задача комівояжера у випадку реальних міст може бути як симетричною, так і асиметричною в залежності від тривалості або довжини маршрутів в залежності від напряму руху.
Метрична задача
Симетричну задачу комівояжера називають метричною, якщо відносно довжин ребер виконується нерівність трикутника. Умовно кажучи, в таких задачах обхідні шляхи довші за прямі, тобто, ребро від вершини до вершини j ніколи не довше за шлях через проміжну вершину k:
Така властивість довжини ребер визначає вимірний простір на множині ребер та міру віддалі, що задовольняє інтуїтивне розуміння відстані.
Поширені на практиці функції віддалі є також метриками і задовольняють нерівності трикутника:
- Евклідова відстань в евклідовій задачі комівояжера,
- Манхеттенська метрика (також квартальна метрика) прямокутної задачі комівояжера, в якій відстань між вершинами на ґратці дорівнює сумі відстаней вздовж осі ординат та абсцис,
- Відстань Чебишова, яка визначає віддаль між вершинами решітчастого графа як максимальне значення відстані вздовж осі ординат та абсцис.
Дві останні метрики знаходять застосування, наприклад, під час свердління отворів в друкованих платах коли верстат має зробити якнайбільше отворів за найменший час і може пересувати свердло незалежно в обох напрямах для переходу від одного отвору до наступного. Манхеттенська метрика відповідає випадку, коли пересування в обох напрямах відбувається послідовно, а максимальна — випадку коли пересування в обох напрямах відбувається синхронно а загальний час дорівнює максимальному часу пересування вздовж осі ординат або абсцис.
Не-метрична задача комівояжера може виникати, наприклад, у випадку мінімізації тривалості подорожі за наявності вибору транспортних засобів в різних напрямах. В такому випадку обхідний шлях літаком може бути коротший за пряме сполучення автомобілем.
Якщо, на практиці, в умовах задачі дозволяється відвідувати міста декілька раз, то симетричну задачу можна звести до метричної. Для цього задачу розглядають на так званому графі відстаней. Цей граф має таку саму множину вершин як і вихідний та, на доданок, є повністю зв'язним. Вага ребер між вершинами та на графі відстаней відповідає вазі найліпшого сполучення між вершинами та у вихідному графі. Для визначених в такий спосіб ваг виконується нерівність трикутника, і кожному маршруту на графі відстаней завжди відповідає маршрут з можливими повтореннями вершин у вихідному графі.
Формулювання у вигляді задачі дискретної оптимізації
Одним з підходів до розв'язання задачі є формулювання її у вигляді задачі дискретної оптимізації, при цьому розв'язки представляються у вигляді змінних, а зв'язки у вигляді відношень нерівності між ними. Таким чином, можливо декілька варіантів. Наприклад, симетричну задачу можна представити у вигляді множини ребер . Кожному ребру зіставляється двійкова змінна , яка дорівнює 1 якщо ребро належить маршруту та 0 в протилежному випадку. Довільний маршрут можна представити у вигляді значень множини змінних приналежності, але не кожна така множина визначає маршрут. Умовою того, що значення множини змінних визначають маршрут є описані далі лінійні нерівності.
Кожна вершина має сполучатись через пару ребер з рештою вершин, тобто, через вхідне та вихідне ребро:
В сумі кожний доданок дорівнює або 1 (належить маршруту) або 0 (не належить). Тобто, отримана сума дорівнює кількості ребер в маршруті, таких що мають вершину на одному з кінців. Вона дорівнює 2, оскільки кожна вершина має вхідне та вихідне ребро. У наведеному поруч малюнку вершина показана з вхідним та вихідними ребрами, а ребра маршруту відмічено товстішими лініями. Поруч з ребрами вказано ваги що додаються до вказаної вище суми.
Описані раніше умови кратності виконуються не лише маршрутами, а й значеннями змінних, що відповідають відокремленим циклам, де кожна вершина належить лише одному циклу (див. малюнок). Аби уникнути подібні випадки, мають виконуватись так звані нерівності циклів (або умови усунення підмаршрутів), які було визначено Данциґом, Фалкерсоном та Джонсоном в 1954 році під назвою умови петель (англ. loop conditions). Цими нерівностями визначалась додаткова умова того, що кожна множина вершин , є або порожньою, або містить всі вершини, що сполучається з рештою вершин через щонайменше два ребра:
для всіх множин вершин де . Ця сума дорівнює сумі ваг ребер маршруту між вершиною та вершиною . Аби усунути зайві нерівності, можна обмежитись множинами вершин з щонайменше двома та щонайбільше вершинами. На малюнку поруч ребра з вагами відмічено товстішими лініями а решта ребер має вагу . Введення додаткових умов (2) для множини вершин , що складається з трьох лівих вершин, буде гарантувати, щоб сполучалась через щонайменше два ребра маршруту з трьома вершинами справа, аби усунути обидва цикли. Кількість нерівностей усунення циклів відповідно до Данциґа, Фалкерсона та Джонсона дорівнює .
В 1960 році Міллєр (англ. Miller), Такер (англ. Tucker) та Землін (англ. Zemlin) винайшли альтернативні умови усунення підшляхів шляхом введення нових змінних, що визначають порядок відвіданих міст, що потребує лише додаткових нерівностей. Більше того, через двійковість у формулюванні Міллєра, Такера та Земліна задача комівояжера залишається NP-складною.
Так, кожен вектор з елементами, що дорівнюють 0 та 1, що задовольняє всім нерівностям визначає коректний маршрут, що є розв'язком переформульованої задачі комівояжера: обчислити
Оскільки змінні мають значення лише 0 та 1, сума дорівнює загальній довжині ребер що належать маршруту.
Кількість нерівностей типу (2) зростає експоненційно разом зі збільшенням кількості міст, оскільки майже кожна з підмножин вузлів визначає одну нерівність. Цю проблему можна вирішити застосуванням методу відсічення площиною завдяки якому нерівності додаються лише тоді, коли ці нерівності дійсно необхідні. З геометричної точки зору, лінійні нерівності можна представити як гіперплощину в просторі змінних. Множина векторів, що задовольняють цим нерівностям утворюють в такому просторі політоп (багатовимірний багатогранник), або багатовимірний багатокутник, точна форма визначається вагами і є в основному невідомим. Однак, можна показати, що умови (1) та (2) визначають грані (фацети) політопа, тобто, бічні поверхні політопа з найвищою розмірністю. Тому вони належать до найсильніших лінійних нерівностей, що можуть описувати маршрут. Також існує багато різних граней, що визначаються нерівностями, відомими лише у небагатьох випадках. Хоча (1) та (2) разом з обмеженнями повністю моделюють проблему лише для двійкових векторів, ці нерівності можуть використовуватись в методі гілок і меж аби відкинути розв'язки методами лінійної оптимізації з не цілими координатами (див. розділ точні методи нижче).
Алгоритмічна складність
Оскільки комівояжер в кожному з міст постає перед вибором наступного міста з тих, що він ще не відвідав, існує маршрутів для асиметричної та маршрутів для симетричної задачі комівояжера. Таким чином, розмір простору пошуку залежить над-експоненційно від кількості міст.
Різні варіанти задачі комівояжера (метричний, симетричний та асиметричний) є . Відповідно до поширеної але недоведеної гіпотези про нерівність класів складності P та NP не існує детермінованої машини Тюринга, здатної знаходити розв'язки екземплярів задачі за поліноміальний час в залежності від кількості міст.
Також відомо, що за умови не існує алгоритму, що для деякого поліному обчислював би такі розв'язки задачі комівояжера, що відрізнялись би від оптимального щонайбільше на коефіцієнт .[]
Однак, існують алгоритми пошуку наближених розв'язків для метричної задачі за поліноміальний час, і знайдений маршрут щонайбільше вдвічі (наприклад, 1.5 для алгоритму Христофіда, нім. Christofides) довший за оптимальний. Досі не відомий жоден алгоритм з поліноміальним часом, який би гарантував точність кращу за 1.5 від оптимального. За припущенням , існує (невідома) константа , така, що жоден алгоритм з поліноміальним часом не може гарантувати точність . Як було показано Арора, для евклідової задачі комівояжера існує схема пошуку приблизних розв'язків задачі (PTAS).
Методи розв'язання
Відомі методи розв'язання поділяють на дві групи, що можна комбінувати. Точні методи знаходять, маючи достатньо часу, гарантовано оптимальний шлях. Евристичні методи знаходять, часто за коротший час, гарні розв'язки, що, в загальному випадку, можуть бути гіршими за оптимальні. Для метричної задачі існують евристики, що знаходять за поліноміальний час розв'язки гірші за оптимальні у 1.5—2 рази.[]
Точні методи
Можна знайти точний розв'язок задачі комівояжера, тобто, обчислити довжини всіх можливих маршрутів та обрати маршрут з найменшою довжиною. Однак, навіть для невеликої кількості міст в такий спосіб задача практично нерозв'язна. Для простого варіанта, симетричної задачі з містами, існує можливих маршрутів, тобто, для 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).
Для визначення припустимого ребра з найменшою вартістю слід розв'язати набори задач лінійної оптимізації, що відсікають січними площинами непотрібні частини одиничного куба (наприклад, типу (2), або нерівностями доміно-парності) та спробувати поділити одиничний куб на менші політопи методом гілок і меж. Повніше описання цих методів можна знайти в статті про дискретну оптимізацію.
Застосування лише цього методу для швидкого пошуку маршрутів зазвичай недостатнє. Основна перевага точних методів полягає в тому, що маючи достатньо часу вони обчислюють найкоротший маршрут.
Маючи нижню границю для оптимальних розв'язків можна оцінити те, наскільки відрізняється знайдений маршрут від оптимального. Наприклад, маючи нижню границю на рівні 100, та після знаходження маршруту вартістю 102, оптимальний маршрут може знаходитись в межах від 100 до 102. Так званий інтервал оптимальності, або максимальна відносна відстань між вартістю оптимального маршруту та найдешевшим відомим маршрутом становитиме (102—100)/100 = 2 %, тобто вартість знайденого маршруту 102 щонайбільше на 2 % відрізняється від оптимальної. Коли вартість обчисленого маршруту дорівнює вартості попереднього, вважається, що знайдений розв'язок є оптимальним. Для пошуку маршрутів прийнятної довжини точні методи можуть комбінуватись з евристичними, деякі з них описано нижче.
Евристичні методи
Для пришвидшення пошуку прийнятних маршрутів можна використовувати евристики, що, в загальному випадку, не гарантують точності знайдених розв'язків. В залежності від того, чи обчислює евристика новий маршрут, чи намагається покращити вже існуючий, евристики поділяють на конструктивні та ітеративні евристики. Крім того, відрізняють дуальні евристики, та метаевристики.
Конструктивні евристики
Ітеративні евристики
Ітеративні евристики (також після оптимізаційні евристики) намагаються шляхом деяких змін скоротити вже обчислений маршрут. Прикладом такої евристики є , що систематично видаляють з маршруту групи з ребер і замінюють їх іншими ребрами отримуючи новий маршрут. Оскільки повний перебір можливих варіантів дорівнює кількості можливих маршрутів, на практиці обмежують щонайбільше до 5. При цьому, випробовуються всі варіанти заміни двох та трьох ребер, уникаючи перебору з більшою кількістю ребер через значні витрати часу.
На практиці, ефективність k-opt-евристики сильно залежить від вибору ребер для заміни та параметру , для вибору яких існують різні евристичні критерії. Однією з відомих, основаних на принципах k-opt, евристик є розроблена в 1973 році Брайаном Керніганом та С. Ліном евристика Ліна-Кернігана. Реалізація Кельда Гельсгауна серед іншого була використана для пошуку оптимального розв'язку задачі комівояжера з 24 978 містами Швеції в 2004 році. Ця евристика полягає в тому, щоб перебрати можливі заміни з двома ребрами, потім з трьома, і так далі, поки не буде виконано один із багатьох критеріїв зупинки.
Метаевристичні методи
Метаевристичні методи комбінують методи пошуку локальних та глобальних розв'язків у абстрактні стратегії евристичної оптимізації задач. Багато методів цього типу базуються на методах пошуку локальних розв'язків, тобто, вони обчислюють деякий початковий розв'язок (наприклад, застосовуючи метод найближчого сусіда) та покращують його іншими методами, наприклад, методом k-opt-евристики, доти, поки неможливо буде знайти кращий маршрут. Використовуючи різні стратегії, такі, як, наприклад, або симуляції відпалу, можна спробувати уникнути глухих кутів під час пошуку локальних мінімумів. Інші методи, такі як мурашиний алгоритм, генетичні алгоритми або штучні нейронні мережі (перш за все мережа Хопфілда) використовують як шаблон природні процеси. В принципі, цими методами можна знаходити як досить якісні розв'язки так і досить віддалені від оптимального. Якість результатів та тривалість обчислення залежать від визначення та реалізації окремих елементів.
Дуальні евристики
Огляд
Практичні методи обчислення
Варіанти та застосування
Задача комівояжера може застосовуватись для широкого спектра задач, в основі яких лежить проходження певного об'єкту через множину пунктів так, щоб закінчення шляху збігалося з початком.
Прикладами задач в яких доцільне застосування даного методу є:
- В ході планування робіт для кур'єра з доставки товарів. Планування маршруту проходження кур'єром пунктів доставки товару.
- В ході планування робіт для однієї машини. Планування маршруту від пункту початку(автостоянки) до пункту з запасами(складом) та подальше проходження всіх пунктів з потребами, з поверненням машини в кінці зміни на місце початку робіт.
Прикладом застосування розв'язку задачі комівояжера для 100 міст є синтез петльових та непетльових антенних вібраторів формату 10x10 за допомогою мурашиного алгоритму оптимізації.
Декілька комівояжерів
Кластери міст
Варіанти критеріїв оптимальності
Додаткові умови
На практиці часто зустрічаються додаткові умови, що називаються часові обмеження і накладаються на час, коли має бути відвідано кожне місто. Наприклад, інженер служби підтримки домовляється з клієнтами про час візиту для ремонту побутової техніки. Ці часові рамки повинні братись до уваги в службі підтримки під час планування маршруту інженера.
Відповідно до он-лайн задачі, всі міста не відомі наперед, натомість, кожне наступне місто стає відомим тоді, коли комівояжер вже в дорозі. Комівояжер повинен на основі отриманих даних обчислювати свій маршрут, так, аби нові міста «якнайкраще» вписувались у вже запланований маршрут. Такий варіант може зустрічатись, наприклад, в службі планування ADAC (технічної допомоги автомобілістам), коли інформація про поламані авто стає відомою поступово, і центр керування повинен нові виклики якнайкраще розподіляти між ремонтними автомобілями. Оскільки на дорозі знаходиться декілька ремонтних автомобілів та центр керування має повідомити про приблизний час прибуття ремонтників, то така задача є он-лайн задачею декількох комівояжерів з часовими обмеженнями.
Примітки
- Alexander Schrijver. On the history of combinatorial optimization (till 1960). In: Handbook of Discrete Optimization (K. Aardal, G.L. Nemhauser, R. Weismantel, eds.), Elsevier, Amsterdam, 2005, pp. 1–68
- William Cook, Daniel Espinoza, Marcos Goycoolea: Computing with Domino-Parity Inequalities for the TSP. [ 20 лютого 2012 у Wayback Machine.] 2005. (Preprint, pdf)
- Keld Helsgaun: An Effective Implementation of the Lin-Kernighan Traveling Salesman Heuristic. [ 28 вересня 2009 у Wayback Machine.] In: European Journal of Operational Research. Amsterdam 126.2000, Nr. 1, S.106-130. ISSN 0377-2217
- Ермолаев С.Ю., Слюсар В.И. Синтез антенн на основе муравьиных алгоритмов оптимизации. // 19-я Международная Крымская конференция «СВЧ-техника и телекоммуникационные технологии» (КрыМиКо’2009). Материалы конференции.- Севастополь, 14-18 сентября. — 2009. — С. 431 - 432.
- Ermolaev S.Y., Slyusar V.I. Antenna synthesis based on the ant colony optimization algorithm.// 7-я Международная конференция по теории и технике антенн (ICATT’09), Львов, Украина, 6 - 9 октября 2009 г.. — 2009. — С. 298 - 300.
Література
- Ананий В. Левитин (2006). Глава 3. Метод грубой силы: Задача коммивояжера. . М.: «Вильямс». с. 159—160. ISBN . Архів оригіналу за 2 жовтня 2011. Процитовано 18 листопада 2007.
- А. Ахо, Дж. Хопкрофт, Дж. Ульман (1979). Построение и анализ вычислительных алгоритмов. Москва: «Мир».
- Bernhard Korte, Jens Vygen (2006). Combinatorial Optimization (вид. 3-тє). Springer. ISBN .
Див. також
Посилання
- The Traveling Salesman Problem Home [ 7 лютого 2006 у Wayback Machine.] — вичерпна інформація про задачу комівояжера(англ.)
- The VRP Web [ 13 жовтня 2008 у Wayback Machine.] — вичерпна інформація про задачу пошуку шляхів для машин(англ.)
- Дослідження ефективності існуючих алгоритмів для розв'язання задачі комівояжера
- Візуалізація різних стратегій розв'язання задачі комівояжера [ 16 березня 2016 у Wayback Machine.]
Це незавершена стаття з математики. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Zada cha komivoyazhe ra komivoyazher brodyachij torgovec angl Travelling Salesman Problem TSP nim Problem des Handlungsreisenden polyagaye u znahodzhenni najvigidnishogo marshrutu sho prohodit cherez vkazani mista hocha b po odnomu razu V umovah zavdannya vkazuyutsya kriterij vigidnosti marshrutu najkorotshij najdeshevshij sukupnij kriterij tosho i vidpovidni matrici vidstanej vartosti tosho Zazvichaj zadano sho marshrut povinen prohoditi cherez kozhne misto tilki odin raz v takomu vipadku rozv yazok znahoditsya sered gamiltonovih cikliv Navedeno najkorotshij shlyah komivoyazhera cherez 15 mist Nimechchini Vsogo isnuye 43589145600 riznih shlyahiv Isnuye masa riznovidiv uzagalnenoyi postanovki zadachi zokrema geometrichna zadacha komivoyazhera koli matricya vidstanej vidobrazhaye vidstani mizh tochkami na ploshini trikutna zadacha komivoyazhera koli na matrici vartostej vikonuyetsya nerivnist trikutnika simetrichna ta asimetrichna zadachi komivoyazhera Prosti metodi rozv yazannya zadachi komivoyazhera povnij leksichnij perebir zhadibni algoritmi metod najblizhchogo susida metod vklyuchennya najblizhchogo mista metod najdeshevshogo vklyuchennya metod minimalnogo kistyaka dereva Na praktici zastosovuyut rizni modifikaciyi efektivnishih metodiv metod gilok i mezh i metod genetichnih algoritmiv a tak samo algoritm murashinoyi koloniyi Vsi efektivni taki sho skorochuyut povnij perebir metodi rozv yazannya zadachi komivoyazhera evristichni U bilshosti evristichnih metodiv znahoditsya ne najefektivnishij marshrut a nablizhenij rozv yazok Koristuyutsya populyarnistyu tak zvani any time algoritmi tobto algoritmi sho postupovo pokrashuyut deyakij potochnij nablizhenij rozv yazok Zadacha komivoyazhera NP povna Chasto na nij provodyat viprobuvannya novih pidhodiv do evristichnogo skorochennya povnogo pereboru IstoriyaNevidomo koli problemu komivoyazhera bulo doslidzheno vpershe Odnak vidoma vidana v 1832 roci knizhka z nazvoyu Komivoyazher yak vin maye povoditis i sho maye robiti dlya togo abi dostavlyati tovar ta mati uspih v svoyih spravah poradi starogo Kur yera nim Der Handlungsreisende wie er sein soll und was er zu thun hat um Auftrage zu erhalten und eines glucklichen Erfolgs in seinen Geschaften gewiss zu sein von einem alten Commis Voyageur v yakij opisano problemu ale matematichnij aparat dlya yiyi rozv yazannya ne zastosovuyetsya Natomist v nij zaproponovano prikladi marshrutiv dlya deyakih regioniv Nimechchini ta Shvejcariyi Vilyam Rouen GamiltonGasler Vitni 1973 Rannim variantom zadachi ye gra Ikosian Vilyama Gamiltona XIX stolittya yaka polyagala v tomu shob znajti marshruti na grafi z 20 vuzlami Pershi zgadki yak matematichnoyi zadachi na optimizaciyu nalezhat en nim Karl Menger yakij sformulyuvav yiyi v matematichnomu kolokviumi v 1930 roci tak Mi nazivayemo problemoyu gincya oskilki ce pitannya vinikaye v kozhnogo listonoshi zokrema yiyi virishuyut bagato mandrivnikiv zavdannya vidnajti najkorotshij shlyah mizh skinchennoyu mnozhinoyu misc vidstan mizh yakimi vidoma u originali Wir bezeichnen als Botenproblem weil diese Frage in der Praxis von jedem Postboten ubrigens auch von vielen Reisenden zu losen ist die Aufgabe fur endlich viele Punkte deren paarweise Abstande bekannt sind den kurzesten die Punkte verbindenden Weg zu finden Dieses Problem ist naturlich stets durch endlich viele Versuche losbar Regeln welche die Anzahl der Versuche unter die Anzahl der Permutationen der gegebenen Punkte herunterdrucken wurden sind nicht bekannt Die Regel man solle vom Ausgangspunkt erst zum nachstgelegenen Punkt dann zu dem diesem nachstgelegenen Punkt gehen usw liefert im allgemeinen nicht den kurzesten Weg Nevdovzi z yavilas vidoma zaraz nazva zadacha mandruyuchogo prodavcya angl Traveling Salesman Problem yaku zaproponuvav en z Prinstonskogo Universitetu Razom iz prostotoyu viznachennya ta porivnyanoyu prostotoyu znahodzhennya garnih rozv yazkiv zadacha komivoyazhera vidriznyayetsya tim sho viznachennya naspravdi optimalnogo shlyahu ye dosit skladnim zavdannyam Zvazhayuchi na ci vlastivosti pochinayuchi z drugoyi polovini 20 go stolittya doslidzhennya zadachi komivoyazhera maye ne tak praktichnij sens yak teoretichnij u roli modeli dlya rozrobki novih algoritmiv optimizaciyi Bagato suchasnih poshirenih metodiv diskretnoyi optimizaciyi takih yak metod dilennyam ploshinoyu dzherelo gilok ta granic ta riznomanitni varianti evristichnih algoritmiv bulo rozrobleno na prikladi zadachi komivoyazhera V 1950 ti ta 1960 ti roki zadacha komivoyazhera privernula uvagu naukovciv v SShA ta Yevropi Vazhlivij vnesok v doslidzhennya zadachi nalezhit Dzhordzhu Dancigu angl George Dantzig Delbertu Reyu Falkersonu angl Delbert Ray Fulkerson ta Selmeru Dzhonsonu angl Selmer M Johnson kotri v 1954 roci v instituti RAND Corportation sformulyuvali zadachu u viglyadi zadachi diskretnoyi optimizaciyi ta rozrobili metod vidsikayuchoyi ploshini dlya yiyi rozv yazannya Vikoristovuyuchi novij metod voni obchislili shlyah dlya okremogo naboru vuzliv ekzemplyaru problemi z 49 mist ta doveli sho ne isnuye korotshogo shlyahu V 1960 ti ta 1970 ti roki chislenni grupi doslidnikiv vivchali zadachu z tochki zoru matematiki ta yiyi zastosuvannya napriklad v informatici ekonomici himiyi ta biologiyi Richard Karp angl Richard M Karp v 1972 roci doviv NP povnotu zadachi poshuku gamiltonovih shlyahiv iz chogo cherez polinomialnu zvodimist viplivala NP povnota zadachi komivoyazhera Na osnovi cih vlastivostej nim bulo navedeno teoretichne obgruntuvannya skladnosti poshuku rozv yazkiv zadachi na praktici Bilshih uspihiv vdalosya dosyagnuti naprikinci 1970 h ta 1980 h rokiv koli Martin Grotchel nim Martin Grotschel Manfred Padberg nim Manfred Padberg ta Giovanni Rinaldi nim Giovanni Rinaldi ta inshi iz zastosuvannyam novih metodiv vidsikayuchoyi ploshini gilok ta granic obchislili rozv yazok dlya okremogo ekzemplyaru zadachi z 2393 mistami V 1990 ti roki Devid Aplgejt angl David Applegate Robert Biksbi angl Robert Bixby Vashek Hvatal ta Vilyam Kuk angl William Cook vstanovili rekordi z programoyu Gerhard Rajnelt nim Gerhard Reinelt stvoriv TSPLIB nabir standartizovanih ekzemplyariv zadachi komivoyazhera riznogo stupenya skladnosti dlya porivnyannya rezultativ roboti riznih grup doslidnikiv V berezni 2005 roku zadachu z 33 810 vuzlami bulo rozv yazano programoyu Konkord bulo obchisleno shlyah zavdovzhki 66 048 945 ta dovedeno vidsutnist korotshih shlyahiv V kvitni 2006 bulo znajdeno rozv yazok dlya ekzemplyaru z 85 900 vuzlami Vikoristovuyuchi metodi dekompoziciyi mozhlivo obchisliti rozv yazki dlya ekzemplyariv zadachi z miljonami vuzliv dovzhina yakih mensh nizh na 1 bilsha za optimalnij Formalne viznachennyaPodannya u viglyadi grafa Simetrichna zadacha dlya chotiroh mist Dlya mozhlivosti zastosuvannya matematichnogo aparatu dlya rozv yazannya problemi yiyi slid predstaviti u viglyadi matematichnoyi modeli Problemu komivoyazhera mozhna predstaviti u viglyadi modeli na grafi tobto vikoristovuyuchi vershini ta rebra mizh nimi Takim chinom vershini grafa na mal vid A do D vidpovidayut mistam a rebra i j displaystyle left i j right mizh vershinami i displaystyle i ta j displaystyle j spoluchennya mizh cimi mistami U vidpovidnist kozhnomu rebru i j displaystyle left i j right mozhna zistaviti vagu cij 0 displaystyle c ij geqslant 0 na mal 20 42 yaku mozhna rozumiti yak napriklad vidstan mizh mistami chas abo vartist podorozhi Marshrutom takozh gamiltonovim marshrutom nazivayetsya marshrut na comu grafi do yakogo vhodit po odnomu razu kozhna vershina grafa Zadacha polyagaye u vidshukanni najkorotshogo marshrutu Z metoyu sproshennya zadachi ta garantiyi isnuvannya marshrutu zazvichaj vvazhayetsya sho modelnij graf zadachi ye povnim tobto sho mizh dovilnoyu paroyu vershin isnuye rebro Ce mozhna dosyagti tim sho v tih vipadkah koli mizh okremimi mistami ne isnuye spoluchennya vvoditi rebra z maksimalnoyu vagoyu dovzhinoyu vartistyu tosho Cherez veliku dovzhinu take rebro nikoli ne potrapit do optimalnogo marshrutu yaksho vin isnuye V zalezhnosti vid togo sho zistavlyayetsya vazi reber rozriznyayut rizni varianti zadachi najvazhlivishimi z yakih ye simetrichna ta metrichna zadachi Asimetrichna ta simetrichna zadachi V zagalnomu vipadku asimetrichna zadacha komivoyazhera vidriznyayetsya tim sho rebra mizh vershinami mozhut mati riznu vagu v zalezhnosti vid napryamu tobto zadacha modelyuyetsya oriyentovanim grafom Takim chinom okrim vagi reber grafa slid takozh zvazhati i na te v yakomu napryamku znahodyatsya rebra U vipadku simetrichnoyi zadachi vsi pari reber mizh odnimi j timi samimi vershinami mayut odnakovu vagu tobto dlya rebra i j displaystyle left i j right vagi odnakovi cij cji displaystyle c ij c ji Yak naslidok vsi marshruti mayut odnakovu dovzhinu v obidva napryamki V simetrichnomu vipadku kilkist mozhlivih marshrutiv vdvichi mensha za asimetrichnij vipadok Simetrichna zadacha modelyuyetsya neoriyentovanim grafom yak pokazano na malyunku Naspravdi zadacha komivoyazhera u vipadku realnih mist mozhe buti yak simetrichnoyu tak i asimetrichnoyu v zalezhnosti vid trivalosti abo dovzhini marshrutiv v zalezhnosti vid napryamu ruhu Metrichna zadacha Simetrichnu zadachu komivoyazhera nazivayut metrichnoyu yaksho vidnosno dovzhin reber vikonuyetsya nerivnist trikutnika Umovno kazhuchi v takih zadachah obhidni shlyahi dovshi za pryami tobto rebro vid vershini i displaystyle i do vershini j nikoli ne dovshe za shlyah cherez promizhnu vershinu k cij cik ckj displaystyle c ij leqslant c ik c kj Taka vlastivist dovzhini reber viznachaye vimirnij prostir na mnozhini reber ta miru viddali sho zadovolnyaye intuyitivne rozuminnya vidstani Poshireni na praktici funkciyi viddali ye takozh metrikami i zadovolnyayut nerivnosti trikutnika Evklidova vidstan v evklidovij zadachi komivoyazhera Manhettenska metrika takozh kvartalna metrika pryamokutnoyi zadachi komivoyazhera v yakij vidstan mizh vershinami na gratci dorivnyuye sumi vidstanej vzdovzh osi ordinat ta abscis Vidstan Chebishova yaka viznachaye viddal mizh vershinami reshitchastogo grafa yak maksimalne znachennya vidstani vzdovzh osi ordinat ta abscis Dvi ostanni metriki znahodyat zastosuvannya napriklad pid chas sverdlinnya otvoriv v drukovanih platah koli verstat maye zrobiti yaknajbilshe otvoriv za najmenshij chas i mozhe peresuvati sverdlo nezalezhno v oboh napryamah dlya perehodu vid odnogo otvoru do nastupnogo Manhettenska metrika vidpovidaye vipadku koli peresuvannya v oboh napryamah vidbuvayetsya poslidovno a maksimalna vipadku koli peresuvannya v oboh napryamah vidbuvayetsya sinhronno a zagalnij chas dorivnyuye maksimalnomu chasu peresuvannya vzdovzh osi ordinat abo abscis Ne metrichna zadacha komivoyazhera mozhe vinikati napriklad u vipadku minimizaciyi trivalosti podorozhi za nayavnosti viboru transportnih zasobiv v riznih napryamah V takomu vipadku obhidnij shlyah litakom mozhe buti korotshij za pryame spoluchennya avtomobilem Yaksho na praktici v umovah zadachi dozvolyayetsya vidviduvati mista dekilka raz to simetrichnu zadachu mozhna zvesti do metrichnoyi Dlya cogo zadachu rozglyadayut na tak zvanomu grafi vidstanej Cej graf maye taku samu mnozhinu vershin yak i vihidnij ta na dodanok ye povnistyu zv yaznim Vaga reber cij displaystyle c ij mizh vershinami i displaystyle i ta j displaystyle j na grafi vidstanej vidpovidaye vazi najlipshogo spoluchennya mizh vershinami i displaystyle i ta j displaystyle j u vihidnomu grafi Dlya viznachenih v takij sposib vag cij displaystyle c ij vikonuyetsya nerivnist trikutnika i kozhnomu marshrutu na grafi vidstanej zavzhdi vidpovidaye marshrut z mozhlivimi povtorennyami vershin u vihidnomu grafi Formulyuvannya u viglyadi zadachi diskretnoyi optimizaciyi Odnim z pidhodiv do rozv yazannya zadachi ye formulyuvannya yiyi u viglyadi zadachi diskretnoyi optimizaciyi pri comu rozv yazki predstavlyayutsya u viglyadi zminnih a zv yazki u viglyadi vidnoshen nerivnosti mizh nimi Takim chinom mozhlivo dekilka variantiv Napriklad simetrichnu zadachu mozhna predstaviti u viglyadi mnozhini reber V displaystyle V Kozhnomu rebru i j displaystyle i j zistavlyayetsya dvijkova zminna xij 0 1 displaystyle x ij in 0 1 yaka dorivnyuye 1 yaksho rebro nalezhit marshrutu ta 0 v protilezhnomu vipadku Dovilnij marshrut mozhna predstaviti u viglyadi znachen mnozhini zminnih prinalezhnosti ale ne kozhna taka mnozhina viznachaye marshrut Umovoyu togo sho znachennya mnozhini zminnih viznachayut marshrut ye opisani dali linijni nerivnosti Umova kratnosti kozhna vershina povinna mati odne vhidne ta odne vihidne rebro marshrutu Kozhna vershina maye spoluchatis cherez paru reber z reshtoyu vershin tobto cherez vhidne ta vihidne 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 sumi kozhnij dodanok xij displaystyle x ij dorivnyuye abo 1 nalezhit marshrutu abo 0 ne nalezhit Tobto otrimana suma dorivnyuye kilkosti reber v marshruti takih sho mayut vershinu i displaystyle i na odnomu z kinciv Vona dorivnyuye 2 oskilki kozhna vershina maye vhidne ta vihidne rebro U navedenomu poruch malyunku vershina i displaystyle i pokazana z vhidnim ta vihidnimi rebrami a rebra marshrutu vidmicheno tovstishimi liniyami Poruch z rebrami vkazano vagi xij displaystyle x ij sho dodayutsya do vkazanoyi vishe sumi Cikli zminni zadovolnyayut umovi kratnosti ale ne viznachayut marshrut Opisani ranishe umovi kratnosti vikonuyutsya ne lishe marshrutami a j znachennyami zminnih sho vidpovidayut vidokremlenim ciklam de kozhna vershina nalezhit lishe odnomu ciklu div malyunok Abi uniknuti podibni vipadki mayut vikonuvatis tak zvani nerivnosti cikliv abo umovi usunennya pidmarshrutiv yaki bulo viznacheno Dancigom Falkersonom ta Dzhonsonom v 1954 roci pid nazvoyu umovi petel angl loop conditions Cimi nerivnostyami viznachalas dodatkova umova togo sho kozhna mnozhina vershin S V displaystyle S subset V ye abo porozhnoyu abo mistit vsi vershini sho spoluchayetsya z reshtoyu vershin cherez shonajmenshe dva rebra i S j Sxij 2 2 displaystyle sum i in S j notin S x ij geq 2 qquad 2 dlya vsih mnozhin vershin S displaystyle S de 1 S V 1 displaystyle 1 leq S leq V 1 Cya suma dorivnyuye sumi vag reber marshrutu mizh vershinoyu i S displaystyle i in S ta vershinoyu j S displaystyle j notin S Abi usunuti zajvi nerivnosti mozhna obmezhitis mnozhinami vershin S displaystyle S z shonajmenshe dvoma ta shonajbilshe V 2 displaystyle V 2 vershinami Na malyunku poruch rebra i j displaystyle i j z vagami xij 1 displaystyle x ij 1 vidmicheno tovstishimi liniyami a reshta reber maye vagu xij 0 displaystyle x ij 0 Vvedennya dodatkovih umov 2 dlya mnozhini vershin S displaystyle S sho skladayetsya z troh livih vershin bude garantuvati shob S displaystyle S spoluchalas cherez shonajmenshe dva rebra marshrutu z troma vershinami sprava abi usunuti obidva cikli Kilkist nerivnostej usunennya cikliv vidpovidno do Danciga Falkersona ta Dzhonsona dorivnyuye 2n 2 n 1 displaystyle 2 n 2 n 1 V 1960 roci Millyer angl Miller Taker angl Tucker ta Zemlin angl Zemlin vinajshli alternativni umovi usunennya pidshlyahiv shlyahom vvedennya n displaystyle n novih zminnih sho viznachayut poryadok vidvidanih mist sho potrebuye lishe n2 n 1 displaystyle n 2 n 1 dodatkovih nerivnostej Bilshe togo cherez dvijkovist xij displaystyle x ij u formulyuvanni Millyera Takera ta Zemlina zadacha komivoyazhera zalishayetsya NP skladnoyu Tak kozhen vektor x xij i j V displaystyle x x ij i j in V z elementami sho dorivnyuyut 0 ta 1 sho zadovolnyaye vsim nerivnostyam viznachaye korektnij marshrut sho ye rozv yazkom pereformulovanoyi zadachi komivoyazhera obchisliti 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 Oskilki zminni xij displaystyle x ij mayut znachennya lishe 0 ta 1 suma dorivnyuye zagalnij dovzhini cij displaystyle c ij reber i j displaystyle i j sho nalezhat marshrutu Kilkist nerivnostej tipu 2 zrostaye eksponencijno razom zi zbilshennyam kilkosti mist oskilki majzhe kozhna z 2 V displaystyle 2 V pidmnozhin vuzliv viznachaye odnu nerivnist Cyu problemu mozhna virishiti zastosuvannyam metodu vidsichennya ploshinoyu zavdyaki yakomu nerivnosti dodayutsya lishe todi koli ci nerivnosti dijsno neobhidni Z geometrichnoyi tochki zoru linijni nerivnosti mozhna predstaviti yak giperploshinu v prostori zminnih Mnozhina vektoriv sho zadovolnyayut cim nerivnostyam utvoryuyut v takomu prostori politop bagatovimirnij bagatogrannik abo bagatovimirnij bagatokutnik tochna forma viznachayetsya vagami cij displaystyle c ij i ye v osnovnomu nevidomim Odnak mozhna pokazati sho umovi 1 ta 2 viznachayut grani faceti politopa tobto bichni poverhni politopa z najvishoyu rozmirnistyu Tomu voni nalezhat do najsilnishih linijnih nerivnostej sho mozhut opisuvati marshrut Takozh isnuye bagato riznih granej sho viznachayutsya nerivnostyami vidomimi lishe u nebagatoh vipadkah Hocha 1 ta 2 razom z obmezhennyami povnistyu modelyuyut problemu lishe dlya dvijkovih vektoriv ci nerivnosti mozhut vikoristovuvatis v metodi gilok i mezh abi vidkinuti rozv yazki metodami linijnoyi optimizaciyi z ne cilimi koordinatami div rozdil tochni metodi nizhche Algoritmichna skladnistOskilki komivoyazher v kozhnomu z mist postaye pered viborom nastupnogo mista z tih sho vin she ne vidvidav isnuye n 1 displaystyle n 1 marshrutiv dlya asimetrichnoyi ta n 1 2 displaystyle n 1 2 marshrutiv dlya simetrichnoyi zadachi komivoyazhera Takim chinom rozmir prostoru poshuku zalezhit nad eksponencijno vid kilkosti mist Rizni varianti zadachi komivoyazhera metrichnij simetrichnij ta asimetrichnij ye Vidpovidno do poshirenoyi ale nedovedenoyi gipotezi pro nerivnist klasiv skladnosti P ta NP ne isnuye determinovanoyi mashini Tyuringa zdatnoyi znahoditi rozv yazki ekzemplyariv zadachi za polinomialnij chas v zalezhnosti vid kilkosti mist Takozh vidomo sho za umovi P NP displaystyle P neq NP ne isnuye algoritmu sho dlya deyakogo polinomu p displaystyle p obchislyuvav bi taki rozv yazki zadachi komivoyazhera sho vidriznyalis bi vid optimalnogo shonajbilshe na koeficiyent 2p n displaystyle 2 p n dzherelo Odnak isnuyut algoritmi poshuku nablizhenih rozv yazkiv dlya metrichnoyi zadachi za polinomialnij chas i znajdenij marshrut shonajbilshe vdvichi napriklad 1 5 dlya algoritmu Hristofida nim Christofides dovshij za optimalnij Dosi ne vidomij zhoden algoritm z polinomialnim chasom yakij bi garantuvav tochnist krashu za 1 5 vid optimalnogo Za pripushennyam P NP displaystyle P neq NP isnuye nevidoma konstanta c gt 0 displaystyle c gt 0 taka sho zhoden algoritm z polinomialnim chasom ne mozhe garantuvati tochnist 1 c displaystyle 1 c Yak bulo pokazano Arora dlya evklidovoyi zadachi komivoyazhera isnuye shema poshuku pribliznih rozv yazkiv zadachi PTAS Metodi rozv yazannyaVidomi metodi rozv yazannya podilyayut na dvi grupi sho mozhna kombinuvati Tochni metodi znahodyat mayuchi dostatno chasu garantovano optimalnij shlyah Evristichni metodi znahodyat chasto za korotshij chas garni rozv yazki sho v zagalnomu vipadku mozhut buti girshimi za optimalni Dlya metrichnoyi zadachi isnuyut evristiki sho znahodyat za polinomialnij chas rozv yazki girshi za optimalni u 1 5 2 razi dzherelo Tochni metodi Dokladnishe Metod gilok i mezh Mozhna znajti tochnij rozv yazok zadachi komivoyazhera tobto obchisliti dovzhini vsih mozhlivih marshrutiv ta obrati marshrut z najmenshoyu dovzhinoyu Odnak navit dlya nevelikoyi kilkosti mist v takij sposib zadacha praktichno nerozv yazna Dlya prostogo varianta simetrichnoyi zadachi z n displaystyle n mistami isnuye n 1 2 displaystyle n 1 2 mozhlivih marshrutiv tobto dlya 15 mist isnuye 43 milyardiv marshrutiv ta dlya 18 mist vzhe 177 biljoniv Te yak strimko zrostaye trivalist obchislen mozhna pokazati v nastupnomu prikladi Yaksho isnuvav bi pristrij sho znahodiv bi rozv yazok dlya 30 mist za godinu to dlya dvoh dodatkovih mist v tisyachu raz bilshe chasu tobto bilsh nizh 40 dib Zadacha komivoyazhera dlya troh mist chervona ploshina x1 x2 x3 2 displaystyle x 1 x 2 x 3 geqslant 2 vidkidaye vsi nepripustimi rozv yazki z shonajbilshe odnim rebrom Vsi tochki v chervonomu politopi zadovilnyayut cij nerivnosti i yedina pripustima tochka ce 1 1 1 Metodi diskretnoyi optimizaciyi zokrema gilok i mezh dozvolyayut znahoditi optimalni abo priblizni rozv yazki dlya dostatno velikih zadach V geometrichnij interpretaciyi ci metodi rozglyadayut zadachu yak opuklij politop tobto bagatovimirnij bagatokutnik v m displaystyle m vimirnomu odinichnomu kubi 0 1 m displaystyle 0 1 m de m displaystyle m dorivnyuye kilkosti reber v grafi Kozhne rebro cogo odinichnogo kuba vidpovidaye marshrutu tobto vektoru z elementami 0 1 sho zadovolnyaye opisanim vishe linijnim nerivnostyam Giperploshini sho opisuyutsya cimi nerivnostyami vidsikayut taki rebra odinichnogo kuba sho ne vidpovidayut zhodnomu marshrutu Na malyunku poruch pokazano zastosuvannya metodu dlya zadachi z troma vuzlami U vidpovidnist trom mozhlivim rebram mizh vershinami zistavlyayutsya binarni zminni x1 x2 displaystyle x 1 x 2 ta x3 displaystyle x 3 V comu vipadku isnuye lishe odin mozhlivij marshrut a same toj sho prohodit cherez tri vershini Cej marshrut zadovolnyaye nerivnosti x1 x2 x3 2 displaystyle x 1 x 2 x 3 geqslant 2 sho stverdzhuye sho marshrut povinen prohoditi cherez shonajmenshe dvi vershini Okrim cogo marshrutu sho vidpovidaye vektoru 1 1 1 zadovolnyayut nerivnosti takozh vsi tochki u vidmichenomu chervonim regioni ciyeyi nerivnosti Ploshini sho prohodyat cherez chervoni liniyi vidsikayut vsi kuti sho vidpovidayut neisnuyuchim marshrutam iz shonajbilshe odnim rebrom a same nul vektor 0 0 0 odinichni vektori 1 0 0 0 1 0 ta 0 0 1 Silnisha nerivnist x1 x2 x3 3 displaystyle x 1 x 2 x 3 geqslant 3 vidsiche vid odinichnogo kuba vse okrim yedinoyi pripustimoyi tochki 1 1 1 V comu okremomu vipadku mozhna dosyagti troma nerivnostyami tipu 1 Dlya viznachennya pripustimogo rebra z najmenshoyu vartistyu slid rozv yazati nabori zadach linijnoyi optimizaciyi sho vidsikayut sichnimi ploshinami nepotribni chastini odinichnogo kuba napriklad tipu 2 abo nerivnostyami domino parnosti ta sprobuvati podiliti odinichnij kub na menshi politopi metodom gilok i mezh Povnishe opisannya cih metodiv mozhna znajti v statti pro diskretnu optimizaciyu Zastosuvannya lishe cogo metodu dlya shvidkogo poshuku marshrutiv zazvichaj nedostatnye Osnovna perevaga tochnih metodiv polyagaye v tomu sho mayuchi dostatno chasu voni obchislyuyut najkorotshij marshrut Mayuchi nizhnyu granicyu dlya optimalnih rozv yazkiv mozhna ociniti te naskilki vidriznyayetsya znajdenij marshrut vid optimalnogo Napriklad mayuchi nizhnyu granicyu na rivni 100 ta pislya znahodzhennya marshrutu vartistyu 102 optimalnij marshrut mozhe znahoditis v mezhah vid 100 do 102 Tak zvanij interval optimalnosti abo maksimalna vidnosna vidstan mizh vartistyu optimalnogo marshrutu ta najdeshevshim vidomim marshrutom stanovitime 102 100 100 2 tobto vartist znajdenogo marshrutu 102 shonajbilshe na 2 vidriznyayetsya vid optimalnoyi Koli vartist obchislenogo marshrutu dorivnyuye vartosti poperednogo vvazhayetsya sho znajdenij rozv yazok ye optimalnim Dlya poshuku marshrutiv prijnyatnoyi dovzhini tochni metodi mozhut kombinuvatis z evristichnimi deyaki z nih opisano nizhche Evristichni metodi Dlya prishvidshennya poshuku prijnyatnih marshrutiv mozhna vikoristovuvati evristiki sho v zagalnomu vipadku ne garantuyut tochnosti znajdenih rozv yazkiv V zalezhnosti vid togo chi obchislyuye evristika novij marshrut chi namagayetsya pokrashiti vzhe isnuyuchij evristiki podilyayut na konstruktivni ta iterativni evristiki Krim togo vidriznyayut dualni evristiki ta metaevristiki Konstruktivni evristiki Iterativni evristiki Iterativni evristiki takozh pislya optimizacijni evristiki namagayutsya shlyahom deyakih zmin skorotiti vzhe obchislenij marshrut Prikladom takoyi evristiki ye sho sistematichno vidalyayut z marshrutu grupi z k displaystyle k reber i zaminyuyut yih inshimi k displaystyle k rebrami otrimuyuchi novij marshrut Oskilki povnij perebir mozhlivih variantiv dorivnyuye kilkosti mozhlivih marshrutiv na praktici obmezhuyut k displaystyle k shonajbilshe do 5 Pri comu viprobovuyutsya vsi varianti zamini dvoh ta troh reber unikayuchi pereboru z bilshoyu kilkistyu reber cherez znachni vitrati chasu Na praktici efektivnist k opt evristiki silno zalezhit vid viboru reber dlya zamini ta parametru k displaystyle k dlya viboru yakih isnuyut rizni evristichni kriteriyi Odniyeyu z vidomih osnovanih na principah k opt evristik ye rozroblena v 1973 roci Brajanom Kerniganom ta S Linom evristika Lina Kernigana Realizaciya Kelda Gelsgauna sered inshogo bula vikoristana dlya poshuku optimalnogo rozv yazku zadachi komivoyazhera z 24 978 mistami Shveciyi v 2004 roci Cya evristika polyagaye v tomu shob perebrati mozhlivi zamini z dvoma rebrami potim z troma i tak dali poki ne bude vikonano odin iz bagatoh kriteriyiv zupinki Metaevristichni metodi Metaevristichni metodi kombinuyut metodi poshuku lokalnih ta globalnih rozv yazkiv u abstraktni strategiyi evristichnoyi optimizaciyi zadach Bagato metodiv cogo tipu bazuyutsya na metodah poshuku lokalnih rozv yazkiv tobto voni obchislyuyut deyakij pochatkovij rozv yazok napriklad zastosovuyuchi metod najblizhchogo susida ta pokrashuyut jogo inshimi metodami napriklad metodom k opt evristiki doti poki nemozhlivo bude znajti krashij marshrut Vikoristovuyuchi rizni strategiyi taki yak napriklad abo simulyaciyi vidpalu mozhna sprobuvati uniknuti gluhih kutiv pid chas poshuku lokalnih minimumiv Inshi metodi taki yak murashinij algoritm genetichni algoritmi abo shtuchni nejronni merezhi persh za vse merezha Hopfilda vikoristovuyut yak shablon prirodni procesi V principi cimi metodami mozhna znahoditi yak dosit yakisni rozv yazki tak i dosit viddaleni vid optimalnogo Yakist rezultativ ta trivalist obchislennya zalezhat vid viznachennya ta realizaciyi okremih elementiv Dualni evristiki Oglyad Praktichni metodi obchislennyaVarianti ta zastosuvannyaPetlovi antenni vibratori formatu 10 10 sintezovani na osnovi rozv yazku zadachi komivoyazhera Zadacha komivoyazhera mozhe zastosovuvatis dlya shirokogo spektra zadach v osnovi yakih lezhit prohodzhennya pevnogo ob yektu cherez mnozhinu punktiv tak shob zakinchennya shlyahu zbigalosya z pochatkom Prikladami zadach v yakih docilne zastosuvannya danogo metodu ye V hodi planuvannya robit dlya kur yera z dostavki tovariv Planuvannya marshrutu prohodzhennya kur yerom punktiv dostavki tovaru V hodi planuvannya robit dlya odniyeyi mashini Planuvannya marshrutu vid punktu pochatku avtostoyanki do punktu z zapasami skladom ta podalshe prohodzhennya vsih punktiv z potrebami z povernennyam mashini v kinci zmini na misce pochatku robit Prikladom zastosuvannya rozv yazku zadachi komivoyazhera dlya 100 mist ye sintez petlovih ta nepetlovih antennih vibratoriv formatu 10x10 za dopomogoyu murashinogo algoritmu optimizaciyi Dekilka komivoyazheriv Klasteri mist Varianti kriteriyiv optimalnosti Dodatkovi umovi Na praktici chasto zustrichayutsya dodatkovi umovi sho nazivayutsya chasovi obmezhennya i nakladayutsya na chas koli maye buti vidvidano kozhne misto Napriklad inzhener sluzhbi pidtrimki domovlyayetsya z kliyentami pro chas vizitu dlya remontu pobutovoyi tehniki Ci chasovi ramki povinni bratis do uvagi v sluzhbi pidtrimki pid chas planuvannya marshrutu inzhenera Vidpovidno do on lajn zadachi vsi mista ne vidomi napered natomist kozhne nastupne misto staye vidomim todi koli komivoyazher vzhe v dorozi Komivoyazher povinen na osnovi otrimanih danih obchislyuvati svij marshrut tak abi novi mista yaknajkrashe vpisuvalis u vzhe zaplanovanij marshrut Takij variant mozhe zustrichatis napriklad v sluzhbi planuvannya ADAC tehnichnoyi dopomogi avtomobilistam koli informaciya pro polamani avto staye vidomoyu postupovo i centr keruvannya povinen novi vikliki yaknajkrashe rozpodilyati mizh remontnimi avtomobilyami Oskilki na dorozi znahoditsya dekilka remontnih avtomobiliv ta centr keruvannya maye povidomiti pro pribliznij chas pributtya remontnikiv to taka zadacha ye on lajn zadacheyu dekilkoh komivoyazheriv z chasovimi obmezhennyami Primitki14 2 43589145600 displaystyle frac 14 2 43 589 145 600 Alexander Schrijver On the history of combinatorial optimization till 1960 In Handbook of Discrete Optimization K Aardal G L Nemhauser R Weismantel eds Elsevier Amsterdam 2005 pp 1 68 William Cook Daniel Espinoza Marcos Goycoolea Computing with Domino Parity Inequalities for the TSP 20 lyutogo 2012 u Wayback Machine 2005 Preprint pdf Keld Helsgaun An Effective Implementation of the Lin Kernighan Traveling Salesman Heuristic 28 veresnya 2009 u Wayback Machine In European Journal of Operational Research Amsterdam 126 2000 Nr 1 S 106 130 ISSN 0377 2217 Ermolaev S Yu Slyusar V I Sintez antenn na osnove muravinyh algoritmov optimizacii 19 ya Mezhdunarodnaya Krymskaya konferenciya SVCh tehnika i telekommunikacionnye tehnologii KryMiKo 2009 Materialy konferencii Sevastopol 14 18 sentyabrya 2009 S 431 432 Ermolaev S Y Slyusar V I Antenna synthesis based on the ant colony optimization algorithm 7 ya Mezhdunarodnaya konferenciya po teorii i tehnike antenn ICATT 09 Lvov Ukraina 6 9 oktyabrya 2009 g 2009 S 298 300 LiteraturaAnanij V Levitin 2006 Glava 3 Metod gruboj sily Zadacha kommivoyazhera M Vilyams s 159 160 ISBN 0 201 74395 7 Arhiv originalu za 2 zhovtnya 2011 Procitovano 18 listopada 2007 A Aho Dzh Hopkroft Dzh Ulman 1979 Postroenie i analiz vychislitelnyh algoritmov Moskva Mir Bernhard Korte Jens Vygen 2006 Combinatorial Optimization vid 3 tye Springer ISBN 3 540 25684 9 Div takozhPortal Matematika Uzagalnena zadacha komivoyazhera Doslidzhennya operacij Zadacha listonoshi Zadacha pakuvannya ryukzaka PosilannyaThe Traveling Salesman Problem Home 7 lyutogo 2006 u Wayback Machine vicherpna informaciya pro zadachu komivoyazhera angl The VRP Web 13 zhovtnya 2008 u Wayback Machine vicherpna informaciya pro zadachu poshuku shlyahiv dlya mashin angl Doslidzhennya efektivnosti isnuyuchih algoritmiv dlya rozv yazannya zadachi komivoyazhera Vizualizaciya riznih strategij rozv yazannya zadachi komivoyazhera 16 bereznya 2016 u Wayback Machine Ce nezavershena stattya z matematiki Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi