Problém obchodního cestujícího

Podobné dokumenty
Problém obchodního cestujícího(tsp) Vstup: Množina n měst a vzdálenosti mezi nimi. Výstup: Nejkratší okružní cesta procházející všemi městy.

Aproximativní algoritmy UIN009 Efektivní algoritmy 1

Úvod do úloh plánování rozvozu (Vehicle Routing Problems)

5 Orientované grafy, Toky v sítích

HEURISTICKÉ ALGORITMY PRO ŘEŠENÍ ÚLOH OBCHODNÍHO CESTUJÍCÍHO

TGH12 - Problém za milion dolarů

Definice 1 eulerovský Definice 2 poloeulerovský

Kapitola 11. Vzdálenost v grafech Matice sousednosti a počty sledů

1. Nejkratší cesta v grafu

Diskrétní matematika. DiM /01, zimní semestr 2016/2017

Základy informatiky. Teorie grafů. Zpracoval: Pavel Děrgel Úprava: Daniela Szturcová

TGH08 - Optimální kostry

Problémy třídy Pa N P, převody problémů

Hledáme efektivní řešení úloh na grafu

10 Přednáška ze

Převoditelnost problémů nezávislé množiny na problém hamiltonovského cyklu () IS HC 1/10

Výpočetní složitost algoritmů

Optimalizace. Obsah přednášky. DÚ LP - Okružní problém. Lineární optimalizace. DÚ LP - Okružní problém. DÚ LP - Okružní problém

Další NP-úplné problémy

Úvod do vybíravosti grafů, Nullstellensatz, polynomiální metoda

Problém batohu. Zdeněk Hanzálek ČVUT FEL Katedra řídicí techniky. 5. dubna 2011

12. Aproximační algoritmy

13. Lineární programování

4. NP-úplné (NPC) a NP-těžké (NPH) problémy

Základy informatiky. 07 Teorie grafů. Kačmařík/Szturcová/Děrgel/Rapant

8 Přednáška z

Jan Březina. Technical University of Liberec. 21. dubna 2015

TGH02 - teorie grafů, základní pojmy

Jan Březina. 7. března 2017

Vzdálenost uzlů v neorientovaném grafu

FIT ČVUT MI-LOM Lineární optimalizace a metody. Dualita. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Jan Březina. Technical University of Liberec. 30. dubna 2013

Celočíselné lineární programování(ilp)

Binární vyhledávací stromy pokročilé partie

Drsná matematika III 10. demonstrovaná cvičení Kostry grafů

Optimální plánování rozvozu pomocí dopravních prostředků

Základní pojmy teorie grafů [Graph theory]

PQ-stromy a rozpoznávání intervalových grafů v lineárním čase

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Teoretická informatika Tomáš Foltýnek Barvení grafů Platónská tělesa

VUT Brno Fakulta informačních technologií Simulační nástroje a techniky (SNT) 2014/2015 Vehicle routing problem Ant colony

9.Cosipočítstěžkýmproblémem

Diskrétní matematika. DiM /01, zimní semestr 2018/2019

Teorie grafů. zadání úloh. letní semestr 2008/2009. Poslední aktualizace: 19. května First Prev Next Last Go Back Full Screen Close Quit

Univerzita Pardubice Fakulta elektrotechniky a informatiky Programový nástroj pro plánování svozných a rozvozových tras v regionu

Třída PTIME a třída NPTIME. NP-úplnost.

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

4 Stromy a les. Definice a základní vlastnosti stromů. Kostry grafů a jejich počet.

TOKY V SÍTÍCH II. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

10 Podgrafy, isomorfismus grafů

Úvod do teorie grafů

4EK311 Operační výzkum. 5. Teorie grafů

Modely teorie grafů, min.kostra, max.tok, CPM, MPM, PERT

Grafy. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 13.

H {{u, v} : u,v U u v }

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Definice barevnosti grafu, základní vlastnosti. Varinaty problému barvení.

Vybíravost grafů, Nullstellensatz, jádra

TEORIE GRAFŮ TEORIE GRAFŮ 1

Dijkstrův algoritmus

zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.

Metody síťové analýzy

Stromové rozklady. Definice 1. Stromový rozklad grafu G je dvojice (T, β) taková, že T je strom,

Složitost a moderní kryptografie

Kostry. 9. týden. Grafy. Marie Demlová (úpravy Matěj Dostál) 16. dubna 2019

Grafové algoritmy. Programovací techniky

Základy matematické analýzy

Grafové algoritmy. Programovací techniky

Přijímací zkouška - matematika

Obsah prezentace. Základní pojmy v teorii o grafech Úlohy a prohledávání grafů Hledání nejkratších cest

Ukážeme si lineární algoritmus, který pro pevné k rozhodne, zda vstupní. stromový rozklad. Poznamenejme, že je-li k součástí vstupu, pak rozhodnout

Třídy složitosti P a NP, NP-úplnost

07 Základní pojmy teorie grafů

TGH02 - teorie grafů, základní pojmy

ale je tam plno nadchodů a podchodů. Naším cílem je najít okružní cestu ze startovního místa zpátky na start, abychom

Optimalizační algoritmy inspirované chováním mravenců

VLASTNOSTI GRAFŮ. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze. BI-GRA, LS 2010/2011, Lekce 5

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

STROMOVE ALGORITMY Prohledavani do sirky (level-order) Po vodorovnejch carach fronta

PLANARITA A TOKY V SÍTÍCH

ALGORITMY A DATOVÉ STRUKTURY

Teorie grafů. Kostra grafu. Obsah. Radim Farana Podklady pro výuku pro akademický rok 2013/2014

TGH02 - teorie grafů, základní pojmy

Vrcholová barevnost grafu

Golayův kód 23,12,7 -kód G 23. rozšířený Golayův kód 24,12,8 -kód G 24. ternární Golayův kód 11,6,5 -kód G 11

1 Linearní prostory nad komplexními čísly

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP

Stromy, haldy, prioritní fronty

BAKALÁŘSKÁ PRÁCE. Algoritmy pro problém Euklidovského obchodního cestujícího Petr Maléř

4 Pojem grafu, ve zkratce

Bipartitní grafy. Karel Klouda c KTI, FIT, ČVUT v Praze 28. března, letní semestr 2010/2011

Složitost 1.1 Opera ní a pam ová složitost 1.2 Opera ní složitost v pr rném, nejhorším a nejlepším p ípad 1.3 Asymptotická složitost

Drsná matematika III 9. přednáška Rovinné grafy: Stromy, konvexní mnohoúhelníky v prostoru a Platónská tělesa

Kurz operačního výzkumu pro posluchače kombinovaného studia na FAST VUT v systému MOODLE

Dynamické programování

3. Třídy P a NP. Model výpočtu: Turingův stroj Rozhodovací problémy: třídy P a NP Optimalizační problémy: třídy PO a NPO MI-PAA

TGH05 - aplikace DFS, průchod do šířky

= je prostý orientovaný graf., formálně c ( u, v) 0. dva speciální uzly: zdrojový uzel s a cílový uzel t. Dále budeme bez

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Gabriela Znamenáčková. Hledání optimální cesty v grafech

Transkript:

Problém obchodního cestujícího Zdeněk Hanzálek hanzalek@fel.cvut.cz ČVUT FEL Katedra řídicí techniky 9. května 2011 Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 1/ 21

1 Obsah přednášky 2 Obecný TSP jeho složitost Pravděpodobná neexistence r-aproximačního algoritmu pro obecný TSP 3 Metrický TSP a aproximační algoritmy Dvojitá minimální kostra Christofidesův algoritmus 4 Heuristiky na zlepšení trasy- Lokální prohledávání k-opt 5 Závěr Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 2/ 21

Související rozhodovací problém Existence Hamiltonovské kružnice(hk) Instance: Neorientovaný graf G. Cíl: Rozhodnout, zda v grafu G existuje Hamiltonovská kružnice (kružnice procházejicí každým vrcholem právě jednou). NP-úplný problém též existuje orientovaná verze problému:(existence Hamiltonovského cyklu) pro orientované grafy snadno ukážeme, že patří do třídy NP, jelikož v případě kladného výsledku lze certifikát ověřit v polynomiálním čase prostým zakreslením do G Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 3/ 21

Hamiltonova hádanka W.R. Hamilton zveřejnil v polovině 19. století hádanku v níž bylo cílem nalézt uzavřenou trasu přes dvacet vrcholů pravidelného dvanáctistěnu, přičemž přes žádný vrchol nelze projít dvakrát(obrázek lze chápat jako širokoúhlý pohled dovnitř dvanáctistěnu přes jednu jeho stěnu). Ve dvanáctistěnu, jako ve všech Platonovských tělesech, existuje Hamiltonoská kružnice. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 4/ 21

Formulace problému Problém obchodního cestujícího(traveling Salesman Problem- TSP) Instance:ÚplnýneorinetovanýgrafK n (n 3)aváhy c :E(K n ) Q + 0. Cíl:NaléztHamiltonovskoukružniciTjejížváha e E(T) c(e)je minimální. vrcholy odpovídají městům a váhy hran odpovídají vzdálenostem mezi městy(nebo nákladům na dopravu mezi městy) jde o symetrický TSP daný úplným neorientovaným grafem pokudsevzdálenostzměstaadoměstablišíodvzdálenostizbdo A(například jednosměrné ulice), použijeme úplný orientovaný graf jež vede na asymetrický TSP Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 5/ 21

Silně NP-obtížný(Strongly NP-hard) problém Nechť L je optimalizační problém. NechťL p jeomezenílpolynomempnatakovéinstancexsloženéz nezáporných celých čísel, pro které platí largest(x) p(size(x)), neboli numericképarametryl p jsouomezenypolynomemvelikostivstupu(viz omezení velikosti stavového prostoru v úloze dynamického programování). LjesilněNP-obtížnýpokudexistujepolynomptakový,žeL p je NP-obtížný. Pokud je L silně NP-obtížný, potom L nemůže být vyřešen pseudopolynomiálním algoritmem, ledaže by P = NP. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 6/ 21

Složitost TSP a pravděpodobná neexistence pseudopolynomiálního alg. Věta TSP je silně NP-obtížný. Důkaz: Pomocí polynomiálního převodu z problému HK ukážme, že TSP jenp-obtížnýdokonceproinstancitspsváhami1nebo2: Mějme neorientovaný graf G v němž chceme rozhodnout zda existuje Hamilton. kružnice. Vytvoříme instanci TSP tak, že každému vrcholu grafu G odpovídá jedenvrchol(město)vúplnémneorinetovanémgrafuk n.váhahrany (vzdálenostmeziměsty) {i,j}vk n je: { 1 pokud {i,j} E(G); c({i,j}) = 2 pokud {i,j} / E(G). G má Hamiltonovskou kružnici právě když optimální řešení TSP má hodnotu n. Neboli TSP je silně NP-obtížný. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 7/ 21

Pravděpodobná neexistence r-aproximačního algoritmu pro obecný TSP Věta Pokud věříme, že P NP, pak pro TSP neexistuje r-aproximační algoritmusprožádnér 1. Důkaz sporem: Předpokládejme, že existuje(polynomiální) r-aproximační algoritmus A pro TSP. Dále ukážeme, že pomocí tohoto nepřesného algoritmu A lze rozhodnout problém HK. Jelikož problém HK je NP-úplný, tak P=NP. Neboli: kdyby existoval(polynomiální) r-aproximační algoritmus A pro TSP, pak by se jím nechal(v polynomiálním čase) rozhodnout NP-úplný problém HK. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 8/ 21

Pravděpodobná neexistence r-aproximačního algoritmu Kdyby existoval r-aproximační algoritmus A pro TSP, pak by dokázal rozhodnout problém HK: Mějme neorientovaný graf G v němž v němž chceme rozhodnout zda existuje Hamilton. kružnice. Vytvoříme instanci TSP tak, že každému vrcholu grafu G odpovídá jedenvrchol(město)vúplnémneorinetovanémgrafuk n.váhahrany (vzdálenostmeziměsty) {i,j}vk n je: { 1 pokud {i,j} E(G); c({i,j}) = 2+(r 1) n pokud {i,j} / E(G). Použijeme A na tuto instanci. Pokud výsledek má hodnotu n, potom existuje Hamiltonovská kružnice. V opačném případě má výsledek hodnotualespoň (n 1)+2+(r 1) n =r n+1.jelikož Aje r n+1 r-aproximační algoritmus, tak OPT(K r.cožpřevedeno n,c) (OPT(K n,c) >n)ukazuje,žegvtomtopřípaděnemá Hamiltonovskou kružnici. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 9/ 21

Trojúhelníková nerovnost Naštěstí ve většině praktických aplikací TSP vzdálenosti splňují trojúhelníkovou nerovnost. Metrický TSP Instance:ÚplnýneorinetovanýgrafK n (n 3)aváhy c :E(K n ) R + 0 prokteréplatíc({i,j}+c({j,k}) c({k,i})pro všechnyi,j,k V(K n ). Cíl:NaléztHamiltonovskoukružniciTjejížváha e E(T) c(e)je minimální. metrický TSP je silně NP-obtížný. K tomu lze použít stejný důkaz, jakýbyluvedenusložitostitsp,jelikožváhy1a2zachovávají trojúhelníkovou nerovnost. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 10/ 21

Nejbližší soused- heuristika Vstup:Instance (K n,c)metrickéhotsp. Výstup: Hamiltonovská kružnice H. Zvolímelibovolnývrcholv [1] V(K n ); fori:=2tondo vyberv [i] V(K n )\{v [1],,v [i 1] }takový,žec({v [i 1],v [i] })je minimální; end HamiltonovskákružniceHjetvořenaposloupností {v [1],,v [n],v [1] }; v každém kroku je vybráno nejbližší doposud nenavštívené město není to aproximační algoritmus časovánáročnostalgoritmujeo(n 2 ) Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 11/ 21

Dvojitá minimální kostra Vstup:Instance (K n,c)metrickéhotsp. Výstup: Hamiltonovská kružnice H. 1 NaleznemeT,minimálníkostrugrafu(MST)K n sváhamic; 2 Zdvojením hran T dostaneme multigraf v němž nalezneme Eulerovskou kružnici L; 3 Transformujeme Eulerovskou kružnici L na Hamiltonovskou kružnicihvúplnémgrafuk n : vytvoříme posloupnost vrcholů ležících na Eulerovské kružnici L; v posloupnosti vynecháme ty vrcholy, které se v ní již vyskytly; zbytek tvoří Hamiltonovskou kružnici H; Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 12/ 21

Dvojitá minimální kostra je 2-aproximační algoritmus časovánáročnostalgoritmujeo(n 2 ) pro metrický TSP jde o 2-aproximační algoritmus: 1. díky trojúhelníkové nerovnosti vynechání vrcholů neprodlouží trasu, neboliplatíc(e(l)) c(e(h)) 2. jelikož vymazáním jedné hrany v kružnici vznikne kostra, tak platí OPT(K n,c) c(e(t)) 3.díkykonstrukciLzdvojenímTplatí2c(E(T)) =c(e(l)) spojení2.,3.a1.implikuje2opt(k n,c) c(e(h)) Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 13/ 21

Christofidesův algoritmus[1976] Vstup:Instance (K n,c)metrickéhotsp. Výstup: Hamiltonovská kružnice H. 1 NaleznemeT,minimálníkostrugrafu(MST)K n sváhamic; 2 NechťWjemnožinavrcholůmajícílichýstupeňvT. 3 Nalezneme M nejlevnější perfektní párování vrcholů z množinywvgrafuk n sváhamic; 4 SpojenímTaMdostanememultigraf (V(K n ),E(T) M)vnemž nalezneme Eulerovskou kružnici L; 5 Transformujeme Eulerovskou kružnici L na Hamiltonovskou kružnicihvúplnémgrafuk n ; Pozn: Každá hrana spojuje 2 vrcholy součet stupňů všech vrcholů je 2 E vkaždémgrafujesudýpočetvrcholůslichýmstupněm (a libovolný počet vrcholů se sudým stupněm) ZpředchozívětyazúplnostigrafuK n plyne,želzenaléztperfektní párování. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 14/ 21

Christofidesůvalgoritmusje 3 2 -aproximační časovánáročnostalgoritmujeo(n 3 ) prometrickýtspjdeo 3 2 -aproximačníalgoritmus: 1. díky trojúhelníkové nerovnosti vynechání vrcholů neprodlouží trasu, neboliplatíc(e(l)) c(e(h)) 2. jelikož vymazáním jedné hrany v kružnici vznikne kostra, tak platí OPT(K n,c) c(e(t)) 3. jelikož perfektní párování M uvažuje v alternující cestě vždy každou druhouhranuajakonejlevnějšímvyberetumenšípolovinu,tak OPT(K n,c) 2 c(m) 4.díkykonstrukciLplatíc(M)+c(E(T) =c(e(l)) spojení2.,3.,4.a1.implikuje 3 2 OPT(K n,c) c(e(h)) Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 15/ 21

Heuristiky na zlepšení trasy- Lokální prohledávání k-opt Jedna z nejúspěšnějších technik pro instance TSP z praxe. Jednoduchá myšlenka použitelná i pro řešení jiných problémů: použijeme libovolnou Hamiltonovskou kružnici nalezenou např. heuristikou, toto řešení vylepšíme pomocí lokálních změn (např. vymazáním dvou hran, rozdělíme kružnici na dvě části, které spojíme pomocí jiných hran). Lokální prohledávání je algoritmický princip založený na dvou rozhodnutích: jaké modifikace jsou povolené, kdy skutečně modifikujeme dané řešení(jedna možnost je dovolit pouze modifikace, které vylepšují řešení). Příkladem je k-opt algoritmus pro TSP. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 16/ 21

k-opt algoritmus pro TSP Vstup:Instance (K n,c)tsp,číslok 2. Výstup: Hamiltonovská kružnice H. 1. Nechť H je libovolná Hamiltonovská kružnice; 2.Nechť Sjeskupinak-členýchpodmnožinE(H); for všechnys Sdo for všechnyham.kružniceh takové,žee(h ) E(H)\Sdo ifc(e(h )) <c(e(h))thenh:=h agoto2.; end end Stop Pozn: pro k = 2 se vnitřní for smyčka, jež vytváří Hamiltonovské kružnice H zhranco zbyly poh,provedepouzejednou,jelikožexistuje právě jedna nová Hamiltonovská kružnice Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 17/ 21

Ilustrace 2-opt a 3-opt pro TSP 2-opt 3-opt jedno možné řešení: zisk cenové funkce lze vyjádřit jako: c(e(h )) c(e(h))= (a,d)+(b,c)-(c,d)-(a,b) přitomcesta(b,...,d) změnila orientaci dvě možná řešení: c(e(h )) c(e(h))= (a,d)+(e,b)+(c,f)-(a,b)-(c,d)-(e,f) žádná cesta nemění orientaci c(e(h / )) c(e(h))= (a,d)+(e,c)+(b,f)-(a,b)-(c,d)-(e-f) cesta(c,...,b) změnila orientaci Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 18/ 21

Ilustrace 4-opt pro TSP Jedno z možných řešení zvané double bridge - nemění orientaci cest: Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 19/ 21

TSP-Shnutí Jeden z nejsledovanějších NP-obtížných problémů 49-120 550-2,392-7,397 19,509-24,978městodroku1954do roku 2004 Pro praktické použití je potřeba zahrnout velkou řadu omezení: CVRP- Capacitated Vehicle routing Problem- máme k dispozici několik automobilů s omezenou kapacitou a každý zákazník odebírá určité množství VRPTW- Time Windows- zákazníci definují časové okno, ve kterém přebírají náklad VRPPD- Pick-up and Delivery- zákazníci vracejí určité množství (například obaly), které zabírá místo v automobilu Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 20/ 21

Literatura David L. Applegate, Robert E. Bixby, Vasek Chvátal, and William J. Cook. The Traveling Salesman Problem: A Computational Study. Princeton University Press, 2007. B.H.KorteandJensVygen. Combinatorial Optimization: Theory and Algorithms. Springer, fourth edition, 2008. Z. Hanzálek (ČVUT FEL) Problém obchodního cestujícího 9. května 2011 21/ 21