Problém obchodního cestujícího - Travelling salesman problem

The problém obchodního cestujícího (nazývané také problém obchodního cestujícího[1] nebo TSP) se ptá na následující otázku: „Vzhledem k seznamu měst a vzdálenostem mezi každou dvojicí měst, jaká je nejkratší možná trasa, která každé město navštíví přesně jednou a vrátí se do původního města?“ Je to NP-tvrdé problém v kombinatorická optimalizace, důležité v teoretická informatika a operační výzkum.
The problém s cestujícím kupujícím a problém s směrováním vozidla jsou obě zobecnění TSP.
V teorie výpočetní složitosti, rozhodovací verze TSP (pokud je uvedena délka L, úkolem je rozhodnout, zda má graf maximálně prohlídku L) patří do třídy NP-kompletní problémy. Je tedy možné, že nejhorší případ provozní doba pro jakýkoli algoritmus pro zvýšení TSP superpolynomiálně (ale ne více než exponenciálně ) s počtem měst.
Problém byl poprvé formulován v roce 1930 a je jedním z nejintenzivněji studovaných problémů v oblasti optimalizace. Používá se jako měřítko pro mnoho optimalizačních metod. I když je problém výpočetně obtížný, mnoho heuristika a přesné algoritmy jsou známy, takže některé případy s desítkami tisíc měst lze zcela vyřešit a dokonce i problémy s miliony měst lze přiblížit s malým zlomkem 1%.[2]
TSP má několik aplikací i ve své nejčistší formulaci, jako např plánování, logistika a výroba mikročipy. Mírně upravený se jeví jako dílčí problém v mnoha oblastech, jako např Sekvenování DNA. V těchto aplikacích koncept město představuje například zákazníky, pájecí body nebo fragmenty DNA a koncept vzdálenost představuje cestovní časy nebo náklady, nebo a opatření podobnosti mezi fragmenty DNA. TSP se také objevuje v astronomii, protože astronomové pozorující mnoho zdrojů budou chtít minimalizovat čas strávený pohybem dalekohledu mezi zdroji. V mnoha aplikacích mohou být zavedena další omezení, jako jsou omezené zdroje nebo časová okna.
Dějiny
Původ problému obchodního cestujícího je nejasný. Příručka pro obchodní cestující z roku 1832 zmiňuje problém a zahrnuje ukázky prohlídek Německo a Švýcarsko, ale neobsahuje žádné matematické zacházení.[3]

Problém obchodního cestujícího byl matematicky formulován v 18. letech irským matematikem W.R. Hamilton a britským matematikem Thomas Kirkman. Hamiltonova icosian hra byla rekreační hádanka založená na hledání a Hamiltonovský cyklus.[4] Obecná forma TSP se zdá být poprvé studována matematiky ve 30. letech ve Vídni a na Harvardu, zejména Karl Menger, který definuje problém, uvažuje o zřejmém algoritmu hrubou silou a sleduje neoptimálnost heuristiky nejbližšího souseda:
Označujeme posel problém (protože v praxi by tuto otázku měl vyřešit každý pošťák, každopádně také mnoho cestujících) úkol najít pro konečně mnoho bodů, jejichž párové vzdálenosti jsou známy, nejkratší cestu spojující tyto body. Tento problém je samozřejmě řešitelný konečně mnoha pokusy. Pravidla, která by posunula počet pokusů pod počet permutací daných bodů, nejsou známa. Pravidlo, že jeden by měl nejdříve přejít z počátečního bodu do nejbližšího bodu, poté do nejbližšího bodu atd., Obecně nepřináší nejkratší trasu.[5]
To bylo poprvé zváženo matematicky ve 30. letech 20. století Merrill M. Flood který hledal řešení problému se směrováním školního autobusu.[6]Hassler Whitney na Univerzita Princeton vyvolal zájem o problém, který nazval „problém 48 států“. Nejstarší publikací používající frázi „problém obchodního cestujícího“ byl rok 1949 RAND Corporation zpráva od Julia Robinson „O hře Hamiltonian (problém obchodního cestujícího).“[7][8]
V padesátých a šedesátých letech se tento problém stal stále populárnějším ve vědeckých kruzích v Evropě a USA RAND Corporation v Santa Monica nabídl ceny za kroky při řešení problému.[6] Pozoruhodné příspěvky poskytl George Dantzig, Delbert Ray Fulkerson a Selmer M. Johnson od společnosti RAND Corporation, která problém vyjádřila jako celočíselný lineární program a vyvinuli rovina řezání metoda jeho řešení. Napsali to, co je považováno za seminární práci na toto téma, v níž pomocí těchto nových metod vyřešili instanci se 49 městy na optimálnost vytvořením prohlídky a prokázáním, že žádná jiná prohlídka nemůže být kratší. Dantzig, Fulkerson a Johnson však spekulovali, že vzhledem k téměř optimálnímu řešení budeme schopni najít optimálnost nebo dokázat optimálnost přidáním malého počtu zvláštních nerovností (řezů). Tuto myšlenku využili k vyřešení svého počátečního 49 městského problému pomocí řetězcového modelu. Zjistili, že k vyřešení problému s 49 městy potřebují pouze 26 škrtů. I když tento článek neposkytl algoritmický přístup k problémům TSP, myšlenky, které v něm byly, byly nepostradatelné pro pozdější vytvoření přesných metod řešení pro TSP, ačkoli nalezení algoritmického přístupu při vytváření těchto řezů by trvalo 15 let.[6] Kromě metod roviny řezu použili Dantzig, Fulkerson a Johnson větev a svázaný algoritmy snad poprvé.[6]
V roce 1959 Jillian Beardwood J.H. Halton a John Hammersley publikoval v časopise Cambridge Philosophical Society článek s názvem „Nejkratší cesta mnoha body“.[9] Věta Beardwood – Halton – Hammersley poskytuje praktické řešení problému obchodního cestujícího. Autoři odvodili asymptotický vzorec k určení délky nejkratší trasy pro obchodníka, který začíná doma nebo v kanceláři a navštíví pevný počet míst před návratem na začátek.
V následujících desetiletích byl problém studován mnoha výzkumníky z matematika, počítačová věda, chemie, fyzika a další vědy. V šedesátých letech však byl vytvořen nový přístup, že místo hledání optimálních řešení by bylo možné vytvořit řešení, jehož délka je prokazatelně omezena násobkem optimální délky, a tím by vznikly spodní hranice problému; ty pak mohou být použity s větvenými a vázanými přístupy. Jedním ze způsobů, jak toho dosáhnout, bylo vytvořit a minimální kostra grafu a poté zdvojnásobte všechny jeho okraje, což vytváří vazbu, že délka optimální cesty je nejvýše dvojnásobkem váhy minimálního kostry.[6]
V roce 1976 udělali Christofides a Serdyukov nezávisle na sobě velký pokrok v tomto směru:[10] the Algoritmus Christofides-Serdyukov poskytuje řešení, které je v nejhorším případě maximálně 1,5krát delší než optimální řešení. Protože algoritmus byl tak jednoduchý a rychlý, mnozí doufali, že ustoupí téměř optimální metodě řešení. Toto zůstává metodou s nejlepším nejhorším scénářem. Pro poměrně obecný zvláštní případ problému byl však v roce 2011 poražen nepatrnou rezervou.[11]
Richard M. Karp v roce 1972 ukázal, že Hamiltonovský cyklus problém byl NP-kompletní, což znamená NP-tvrdost TSP. To poskytlo matematické vysvětlení zjevné výpočetní obtížnosti nalezení optimálních cest.
Velký pokrok byl učiněn na konci 70. a 80. let, kdy Grötschel, Padberg, Rinaldi a další dokázali přesně řešit případy až s 2392 městy pomocí řezacích letadel a větev a svázaný.
V 90. letech Applegate, Bixby, Chvátal, a kuchař vytvořil program Concorde který byl použit v mnoha nedávných řešeních záznamu. Gerhard Reinelt publikoval TSPLIB v roce 1991, soubor srovnávacích příkladů různé obtížnosti, který byl použit mnoha výzkumnými skupinami pro srovnání výsledků. V roce 2006 Cook a další vypočítali optimální prohlídku instancí 85 900 měst danou problémem s uspořádáním mikročipů, v současnosti největší řešenou instancí TSPLIB. Pro mnoho dalších případů s miliony měst lze najít řešení, u nichž je zaručeno, že budou v rozmezí 2–3% od optimální cesty.[12]
V roce 2020 byl vyvinut mírně vylepšený aproximační algoritmus.[13][14]
Popis
Jako problém s grafem

TSP lze modelovat jako neorientovaný vážený graf, takže města jsou grafy vrcholy, cesty jsou grafy hrany a vzdálenost cesty je váha hrany. Jedná se o problém s minimalizací, který začíná a končí ve stanoveném čase vrchol po vzájemné návštěvě vrchol přesně jednou. Model je často a kompletní graf (tj. každá dvojice vrcholů je spojena hranou). Pokud mezi dvěma městy neexistuje žádná cesta, přidání libovolně dlouhé hrany dokončí graf bez ovlivnění optimální trasy.
Asymetrické a symetrické
V symetrický TSP, vzdálenost mezi dvěma městy je stejná v každém opačném směru, tvořící neorientovaný graf. Tato symetrie snižuje počet možných řešení na polovinu. V asymetrický TSP, cesty nemusí existovat v obou směrech nebo mohou být různé vzdálenosti, které tvoří a řízený graf. Dopravní kolize, jednosměrné ulice, a letenky pro města s různými odletovými a příletovými poplatky jsou příklady toho, jak by se tato symetrie mohla rozpadnout.
Související problémy
- Ekvivalentní formulace ve smyslu teorie grafů je: Vzhledem k tomu, a kompletní vážený graf (kde vrcholy by představovaly města, hrany by představovaly silnice a váhy by byly cena nebo vzdálenost dané silnice), najděte Hamiltonovský cyklus s nejmenší hmotností.
- Požadavek návratu do výchozího města nemění výpočetní složitost problému, viz Problém hamiltonovské cesty.
- Dalším souvisejícím problémem je Problém úzkého hrdla obchodního cestujícího (úzké místo TSP): Najděte Hamiltonovský cyklus v a vážený graf s minimální hmotností nejtěžší okraj. Například vyhýbání se úzkým uličkám s velkými autobusy.[15] Problém má značný praktický význam, kromě zjevných přepravních a logistických oblastí. Klasický příklad je v tištěný obvod výroba: plánování trasy trasy vrtat stroj na vrtání otvorů do PCB. V aplikacích pro robotické obrábění nebo vrtání jsou „městy“ součásti ke stroji nebo díry (různých velikostí) k vrtání a „náklady na cestování“ zahrnují čas na přestavení robota (problém se sekvenováním úlohy jednoho stroje).[16]
- The zobecněný problém obchodního cestujícího, známý také jako „problém cestovního politika“, se zabývá „státy“, které mají (jedno nebo více) „měst“, a prodejce musí navštívit přesně jedno „město“ z každého „státu“. Jedna aplikace se vyskytla při objednávání řešení problém řezného materiálu aby se minimalizovaly změny nože. Další se týká vrtání polovodič výroba, viz např. US patent 7 054 798 . Poledne a Bean prokázali, že obecný problém obchodního cestujícího lze transformovat na standardní problém obchodního cestujícího se stejným počtem měst, ale upravený matice vzdálenosti.
- Problém sekvenčního řazení se zabývá problémem návštěvy souboru měst, kde existují prioritní vztahy mezi městy.
- Běžnou dotazovací otázkou na Googlu je, jak směrovat data mezi uzly zpracování dat; trasy se liší časem pro přenos dat, ale uzly se také liší jejich výpočetním výkonem a úložištěm, což zvyšuje problém, kam posílat data.
- The problém s cestujícím kupujícím jedná s kupujícím, který je pověřen nákupem sady produktů. Může si tyto produkty koupit v několika městech, ale za různé ceny a ne všechna města nabízejí stejné produkty. Cílem je najít cestu mezi podmnožinou měst, která minimalizuje celkové náklady (cestovní náklady + pořizovací náklady) a která umožňuje nákup všech požadovaných produktů.
Celočíselné formulace lineárního programování
TSP lze formulovat jako celočíselný lineární program.[17][18][19] Je známo několik formulací. Dvě pozoruhodné formulace jsou formulace Miller – Tucker – Zemlin (MTZ) a Dantzig – Fulkerson – Johnson (DFJ). Formulace DFJ je silnější, ačkoli formulace MTZ je v některých nastaveních stále užitečná.[20][21]
Formulace Miller – Tucker – Zemlin
Označte města čísly 1,…, n a definovat: