Obecný problém cestujícího prodejce

Zobecněný problém obchodního cestujícího  je kombinatorický optimalizační problém, který je zobecněním známého problému obchodního cestujícího . Výchozími daty pro problém je množina vrcholů, rozdělení této množiny do tzv. shluků a také matice nákladů na přechod z jednoho vrcholu do druhého. Problém je najít nejkratší uzavřenou cestu, která by navštívila jeden vertex v každém clusteru (je zde i úprava, kdy cesta musí navštívit alespoň jeden vrchol v každém clusteru).

V závislosti na vlastnostech matice nákladů může být problém symetrický, pokud je matice symetrická, nebo v opačném případě asymetrický. Jedním z nejčastěji zvažovaných speciálních případů symetrického problému je euklidovský nebo rovinný problém, kdy každý vrchol má své vlastní souřadnice v prostoru a náklady na pohyb mezi vrcholy odpovídají euklidovské vzdálenosti mezi odpovídajícími body v prostoru.

Stejně jako problém cestujícího obchodníka , zobecněný problém obchodního cestujícího patří do třídy NP-těžkých problémů . Abychom to dokázali, stačí zvážit speciální případ problému, kdy každý shluk obsahuje právě jeden vrchol a problém se redukuje na jednoduchý problém obchodního cestujícího, který je NP-těžký.

Metody řešení

Přesné metody

Existují dvě účinné metody pro přesné řešení zobecněného problému obchodního cestujícího: Brunch-and-Cut [1] , stejně jako metoda redukce zobecněného problému na obvyklý problém obchodního cestujícího, metody řešení jsou dobře prostudované. [2] .

V roce 2002 se ukázalo [3] , že zobecněný problém obchodního cestujícího lze redukovat na problém běžného obchodního cestujícího stejného rozměru nahrazením matice hmotnosti. .

Heuristické metody

Jednoduché heuristické metody

K nejjednodušším heuristickým metodám řešení zobecněného problému obchodního cestujícího patří chamtivý algoritmus , který v každém kroku vybírá hranu s nejnižšími náklady ze sady hran, které nenarušují správnost řešení, a také efektivnější Nearest Neighbor. metoda, která začíná z libovolného vrcholu a v každém kroku přidává k řešení vrchol nejblíže poslednímu přidaný. Existují také další heuristiky, které jsou modifikacemi známých heuristiek pro problém běžného obchodního cestujícího.

Často se používají zejména následující typy místního vyhledávání :

  • 2-opt , který je široce používán v mnoha kombinatorických optimalizačních problémech, se redukuje na odstranění dvou hran z obchůzky a vložení dvou nových hran, které nenarušují správnost řešení (v případě 2-opt, hrany, které mají být vloženy jsou jednoznačně určeny). Prohlídka se považuje za lokální minimum, pokud v ní nejsou dvojice hran, jejichž nahrazení by vedlo ke zlepšení řešení. Tedy jak velikost okolí, tak složitost heuristiky jsou , kde  je počet shluků.
  • 3-opt je podobný 2-opt, ale ne dva, ale tři okraje na každém. V případě 3 opt existuje osm netriviálních způsobů, jak vložit nové hrany pro obnovení správnosti obchůzky. Jeden z těchto způsobů zachovává směr každého z fragmentů prohlídky, což je důležitá vlastnost pro asymetrické problémy. Velikost okolí a složitost heuristiky jsou .
  • Existují přirozené modifikace 2-opt a 3-opt algoritmů, které navíc zahrnují hledání optimálních vrcholů v rámci měnících se shluků.
  • "Vložení" je speciální případ 3-op. Při každé iteraci algoritmus odstraňuje vrchol a snaží se pro něj najít výhodnější pozici. Složitost algoritmu je . Široce se používá modifikace, která uvažuje vložení nejen vzdáleného vrcholu, ale také jakéhokoli jiného vrcholu odpovídajícího clusteru.
  • Optimalizace klastrů je místní vyhledávání specifické pro obecný problém cestujících obchodníků. Podstatou algoritmu je najít nejkratší cestu danou sekvencí shluků. Jinými slovy, okolí algoritmu zahrnuje všechny cesty, které se od originálu neliší o více než výběr vrcholů v každém ze shluků. Velikost zkoumané čtvrti je:

kde  je shluk očíslován . Použitím hledání nejkratší cesty ve speciálně vytvořeném grafu algoritmus najde lokální minimum pro , kde . Cluster Optimization tedy patří do třídy lokálních vyhledávání s velmi velkým sousedstvím , to znamená, že zkoumá exponenciální okolí v polynomiálním čase.

Metaheuristika

Oblast genetických algoritmů, které prokázaly svou účinnost pro tento úkol, byla dobře prostudována. První práce v této oblasti patří Snyderovi a Duskinovi [4] , později významné výsledky dosáhli Silbergoltz a Golden [5] , Gyuten a Karapetyan [6] .

Poznámky

  1. M. Fischetti, J. J. Salazar-Gonzalez a P. Toth. Algoritmus Branch-and-Cut pro problém symetrického zobecněného obchodního cestujícího. Operations Research 45(3) (1997), 378-394.
  2. D. Ben-Arieh, G. Gutin, M. Penn, A. Yeo a A. Zverovitch. Transformace zobecněných ATSP na ATSP, Operations Research Letters 31 (2003), 357-365.
  3. 6. Arash Behzad, Mohammad Modarres (2002). Nová efektivní transformace zobecněného problému cestujícího obchodníka na problém cestujícího obchodníka
  4. LV Snyder a MS Daskin. Genetický algoritmus s náhodným klíčem pro zobecněný problém obchodního cestujícího. European Journal of Operational Research 174 (2006), 38−53.
  5. J. Silberholz a B. Golden. Generalized Traveling Salesman Problem: Nový přístup genetického algoritmu. Extending the Horizons: Advances in Computing, Optimization and Decision Technologies, 2007, 165-181.
  6. G. Gutin a D. Karapetjan. Gregory Gutin a Daniel Karapetyan. Memetický algoritmus pro problém zobecněného obchodního cestujícího. Natural Computing 9(1), strany 47-60, Springer 2010.  (nedostupný odkaz)