CW05 - TEORIE ROZHODOVACÍCH PROCESŮ CW13 - LOGISTIKA Ústav technologie, mechanizace a řízení staveb Fakulta stavební VUT v Brně © Ing. Václav Rada, CSc. 26. a 24. PŘEDNÁŠKA Březen 2016 Čínský listonoš + TSP
Březen 2016 ….. pokračování „ Teorie rozhodování “ A JINÉ ASPEKTY ☺ ČL + TSP WW
Březen 2016 ….. doporučení pro pochopení těchto dvou úloh je vhodné seznámit se s teorií grafů ………… ☺ POKRAČOVÁNÍ
GRAFICKY PREZENTOVATELNÉ PROBLÉMY ŘEŠITELNÉ OPTIMALIZACÍ ANALÝZA PROBLÉM ČÍNSKÉHO LISTONOŠE PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2014
GRAFICKY PREZENTOVATELNÉ PROBLÉMY ŘEŠITELNÉ OPTIMALIZACÍ díl „podrobnosti“ PROBLÉM ČÍNSKÉHO LISTONOŠE PROBLÉM OBCHODNÍHO CESTUJÍCÍHO duben 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Leden 2010
PROBLÉM ČÍNSKÉHO LISTONOŠE Proč se tato úloha takto jmenuje? Výraz „problém čínského listonoše“ vznikl ne zcela přesným překladem z angličtiny, ale vžil se natolik, že se stále používá. Ve skutečnosti však jde o „čínský problém listonoše“, protože jeho autorem popisu a prvního řešení je čínský matematik Kwan. Leden 2010
PROBLÉM ČÍNSKÉHO LISTONOŠE TROCHA Z HISTORIE Výsadní postavení na cestách měli i čínští listonošové zvaní tschien-fu neboli silní muži. Jejich zvláštní pojmenování nut- ně svádí k závěru, že svými atletickými postavami formova- nými nepřetržitým tréninkem se museli nápadně odlišovat od svých spoluobčanů. Čínský listonoš zvonil. Nikoliv ovšem za dveřmi bytu adresá- ta, ale na zvonek zavěšený na krku či rozeznívaný pohybem ruky. Jeho daleko slyšitelný hlas uvolňoval spěchajícímu doručovateli cestu stejně účinně jako v moderní době vý- stražné houkání sirény na vozech záchranné zdravotní služby či hasičů. duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE TROCHA Z HISTORIE Podobným zvoncem, který z chvátajícího posla dělal privi- legovanou osobu silničního provozu, byli vybaveni i japonští poštovní doručovatelé. Nezbytnou součástí jejich vybavení byla dřevěná skříňka na zádech nahrazující brašnu. Japonští poslové běhali zásad- ně ve dvojicích. To zaručovalo, že doručení zprávy nebylo ohroženo ani mimořádnou událostí, která mohla jednoho z nich na cestě potkat. duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE všechny ulice Listonoš musí denně projít všechny ulice svého obvodu a vrátit se na místo, odkud vyšel. cesta byla co nejkratší a aby zbytečně neprocházel některými ulicemi dva- či více-krát = ale každou musí projít alespoň jednou (!). Jde o to, aby cesta byla co nejkratší a aby zbytečně neprocházel některými ulicemi dva- či více-krát = ale každou musí projít alespoň jednou (!). Leden 2014
PROBLÉM ČÍNSKÉHO LISTONOŠE souvislý ohodnocený graf: Obcházený obvod je souvislý ohodnocený graf: - hrany jsou ulice ohodnocené délkou - uzly jsou rozcestí. Úloha je o hranově ohodnoceném grafu. uzavřený sled průchodu všemi hranami. Hledá se nejkratší uzavřený sled průchodu všemi hranami. Sled obsahuje Sled obsahuje alespoň (minimálně) jednou každou hranu grafu. Leden 2010
PROBLÉM ČÍNSKÉHO LISTONOŠE eulerovský tahtriviální Pokud je v grafu možné provést eulerovský tah, je řešení triviální a listonoš projde všemi hranami právě jednou. Pokud jsou všechny uzly sudého stupně, pak každou ulicí projde právě jednou (Eulerův cyklus). duben 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Součet ohodnocení hran udává délku cesty, kterou ušel. V opačném případě je nutné do grafu přidat hrany (resp. vybrané hrany zdvojit), tak aby bylo možné nalézt v novém grafu Eulerův cyklus. Kvůli optimalizaci vybíráme hrany s nejnižším ohodnocením. duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE Jestliže v grafu rajónu existuje eulerovský tah, pak tento tah je optimálním řešením úlohy. Jestliže v grafu rajónu eulerovský tah neexistuje, pak pošťák musí projít některými ulicemi vícekrát, tj. mu- síme minimalizovat součet délek opakovaně prochá- zených ulic. duben 2014
eulerovském tahu“ KRÁTCE O „eulerovském tahu“ duben 2014 G = (V, E) je neorientovaný graf a posloupnost a je uzavřeným tahem, když je eulerovským tahem pokud platí, že, Pro orientované grafy je nutné pojem tah nahradit pojmem cyklus. eulerovském tahu“ KRÁTCE O „eulerovském tahu“
duben 2014 Uzavřený tah v grafu G, který obsahuje všechny hrany a všechny vrcholy grafu G, se nazývá uzavře- ný eulerovský tah nebo jen eulerovský tah. Tah v grafu G, který obsahuje všechny hrany grafu G a výchozí vrchol se liší od koncového vrcholu, se nazývá otevřený eulerovský tah. Graf, ve kterém existuje uzavřený eulerovský tah, se nazývá eulerovský graf.,
eulerovském tahu“ KRÁTCE O „eulerovském tahu“ duben 2014 Graf nazveme sudý, jestliže má všechny vrcholy sudého stupně. Souvislý graf G je eulerovský právě tehdy, když je sudý.,
eulerovském tahu“ KRÁTCE O „eulerovském tahu“ duben 2014 Eulerovský tah je tah, který obsahuje všechny hrany grafu (tj. každou hranu právě jednou). Hamiltonovská cesta je cesta, která obsahuje každý vrchol grafu (tj. každý vrchol právě jednou).,
eulerovském tahu“ JEŠTĚ KRÁTCE O „eulerovském tahu“ duben 2014 Vyjádření faktu, že každou hranu započítává- me dvakrát - jednou ve vrcholu, kde začíná, podruhé ve vrcholu, kde končí. Počet vrcholů s lichým stupněm je sudé číslo. Neboli „počet lidí, kteří si na večírku potřásli ruce s lichým počtem účastníků, je sudé číslo“., eulerovském tahu“ KRÁTCE O „eulerovském tahu“
PROBLÉM ČÍNSKÉHO LISTONOŠE Součet ohodnocení hran udává délku cesty, kterou ušel. V opačném případě je nutné do grafu přidat hrany (resp. vybrané hrany zdvojit), tak aby bylo možné nalézt v novém grafu Eulerův cyklus. Kvůli optimalizaci vybíráme hrany s nejnižším ohodnocením. duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE graf eulerovský Listonoš to má nejsnazší, pokud je graf eulerovský (všechny uzly mají sudý stupeň). graf jedním tahem Pak může procházet obvodem tak, jako by kreslil graf jedním tahem. Leden 2014 Viz známá úloha o kreslení lucerny jedním tahem.
PROBLÉM ČÍNSKÉHO LISTONOŠE Leden 2014 V grafech na následujícím obrázku lze najít eulerov- ský tah pouze v posledním z nich, a to otevřený eule- rovský tah. Domeček lze tedy nakres- lit jedním tahem, musí se však začít v jednom ze spodních vrcholů a skončit v druhém spodním vrcholu.
PROBLÉM ČÍNSKÉHO LISTONOŠE eulerovský tah V teorii grafů se termínem eulerovský tah označuje takový tah, který obsahuje každou hranu grafu právě jednou. Zavedl jej Leonhard Euler, když se roku 1736 pokoušel vyřešit slavný problém sedmi mostů města Královce. Existuje-li v grafu uzavřený eulerovský tah, nazýváme tento graf rovněž eulerovský. Eulerovské grafy lze nakreslit „jedním tahem“. Leden 2014
PROBLÉM ČÍNSKÉHO LISTONOŠE Sedm mostů města Královce. Leden 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Sedm mostů města Královce. Leden 2014 To, že úloha o 7 mostech nemá řešení, dokázal švýcarský matematik Leonard Euler ( ) roku 1736 na „společenskou“ objednávku během svého pobytu v Petrohradu – má liché stupně. Jeho důkazy existence či neexistence eulerovského tahu v obecném grafu jsou považovány za počátek teorie grafů.
PROBLÉM ČÍNSKÉHO LISTONOŠE Neexistuje-liuzavřený sled některými hranami vícekrát Neexistuje-li v grafu uzavřený eulerovský tah (tj. v grafu jsou i uzly lichého stupně), pak uzavřený sled pokrývající všechny hrany (tj. průchody ulicemi) musí procházet některými hranami vícekrát. Je vhodná i nezbytná minimalizace vícekrát procházených hran např. vhodná je metoda nejlevnějšího párování. Leden 2010
PROBLÉM ČÍNSKÉHO LISTONOŠE Matematický model – výchozí stav Výchozí místo – uzel č. 1. Hrany ~ ulice, silnice atd. c ij – vzdálenost mezi uzly i a j. duben 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Matematický model duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE První model pro neorientovaný graf: Tmnožina uzlů lichého stupně U-Tuzlů sudého stupně 1 přidáme do grafu hranu (i, j), 0 jinak, minimalizovat za podmínek duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE Druhý model pro neorientovaný graf: kolikrát bude hrana (i,j) zahrnuta v Eulerově cyklu minimalizovat za podmínek duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE Model pro orientovaný graf: počet orientovaných hran/cest mezi uzly i a j, které přidáme do grafu minimalizovat náklady na hranu/cestu mezi uzly i a j, kterou přidáme do grafu za podmínek duben 2011
PROBLÉM ČÍNSKÉHO LISTONOŠE duben 2014 Další možnost postupu …. …. úlohy čínského listonoše
PROBLÉM ČÍNSKÉHO LISTONOŠE ….. znamená, že každou ulici projde právě jednou a nakonec se vrátí na to místo, odkud vyšel. Taková cesta je zřejmě ze všech možných cest (možných průchodů) nejlepší. Žádnou ulicí neprochází vícekrát. Leden 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Například pro graf na obrázku: Leden 2010
PROBLÉM ČÍNSKÉHO LISTONOŠE bude řešením cesta: a − b − f − d − f − b − g − d − c − g − a − e − c − e − a = 34 Leden 2012
PROBLÉM ČÍNSKÉHO LISTONOŠE Leden 2014 a a b f d c e g a 4 1. a 4
PROBLÉM ČÍNSKÉHO LISTONOŠE Leden 2014 a Postup b fdc e g a 4 konec
GRAFICKY PREZENTOVATELNÉ PROBLÉMY ŘEŠITELNÉ OPTIMALIZACÍ díl „podrobnosti“ PROBLÉM ČÍNSKÉHO LISTONOŠE PROBLÉM OBCHODNÍHO CESTUJÍCÍHO duben 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO neboli: Travelling Salesman Problem (TSP) Tento problém je řešen ve velmi bohaté literatuře …… březen 2014
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO HISTORIE Původ problému obchodního cestujícího je nejasný. Jako první se uvádí matematická formulace uvede- ná v roce 1800 – autor irský matematik William Rowan Hamilton a britský matematik Thomas Kirkman. Moderní počátky položil roku 1920, matematik a ekonom Karl Menger ve Vídni. březen 2014
V roce 1930, problém se objevil v matematic- kých kruzích univerzity v Princetonu. Postupně byla úloha řešena řadou více i méně známých matematiků se snahou zvládnout op- timalizaci cesty pro co největší počet navštíve- ných míst. V roce 1950 a 1960, tento problém stal se zvýšeně populární ve vědeckých kruzích v Evropě a USA. únor 2012 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Pozoruhodné příspěvky k řešení problému TSP byly uveřejněny od autorů: George Dantzig, Delberta Ray Fulkerson. Selmer M. Johnson z RAND Corporation v Santa Monice vyjádřila problém jako celé číslo lineárního programu a vyvinula metodu pro řešení dělicího plánu (řezný plán). S novými metodami byly dále řešeny instance TSP se 49 městy na optimalitu vytvořeného turné a do- kázání, že žádná jiná prohlídka nemůže být kratší. březen 2014
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Velký pokrok byl učiněn v letech 1970 a 1980, kdy Grötschel, Padberg, Rinaldi a dalším se podařilo přesně řešit případy až 2392 měst. TSP byly modelovány jako neorientovaný vážený graf sestavený tak, že města jsou vrcholy grafu a cesty jsou hrany grafu, přičemž vzdálenost (délka cesty) je délka hrany. březen 2014
Synoptickým znakem tohoto problému a jeho řešení je fakt, že výsledky (konkrétní hodnoty a řešení) nelze automaticky pře- nášet na jiný soubor míst a propojujících cest (seznam – libovolně vybraných na konkrétním a uceleném území). únor 2012 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Nejúspěšnější řešitelskou metodou je li- neární programování v kombinaci s meto- dou řezu. … Computational study … Princenton University Press 2006, únor 2012 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Březen 2013 Problém obchodního cestujícího, nebo TSP v krátkosti, je snadné uvést: Vzhledem k tomu, konečný počet "města" spolu s náklady na cestování mezi každou dvojicí z nich najít nejlevnější způsob, jak navštívit všechny města a vrátit se do výchozího bodu.. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Problém obchodního cestujícího je obtížný diskrétní optimalizační problém, matematicky vyjadřující a zobecňující úlohu nalezení nej- kratší možné cesty procházející všemi zadanými body na mapě. Duben 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO každé právě jednou Máme k měst se známou vzdáleností mezi nimi. Cestující se vydá na cestu z jednoho z nich tak, že navštíví všechna ostatní města, každé právě jednou, a vrátí se do výchozího města. cesta byla co nejkratší Jde o to, aby cesta byla co nejkratší. Leden 2010
nejkratší hamiltonovská kružnice grafu: Hledá se nejkratší hamiltonovská kružnice v úplném grafu: - uzly jsou města - hrany jsou přímo ohodnocené vzdálenosti. Úloha je o uzlově ohodnoceném grafu. uzavřený sled průchodu všemi uzly. Hledá se nejkratší uzavřený sled průchodu všemi uzly. Sled obsahuje Sled obsahuje alespoň (minimálně) jeden každý uzel grafu. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
graf obklopen hamiltonovskou kružnicí. Obchodní cestující to má nejsnazší, pokud je graf obklopen hamiltonovskou kružnicí. graf jedním tahem Pak může procházet obvodem tak, jako by kreslil graf jedním tahem. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Laická formulace úlohy: k míst existuje k míst propojených cestami (podle jisté mapy vyjadřující zobrazovanou realitu) se známou délkou, tj. vzdáleností mezi nimi. každé právě jednou Cestující se vydá na cestu z jednoho z nich (cen- trum, startovní bod, výchozí bod) a navštíví vše- chna ostatní města, každé právě jednou, a vrátí se do výchozího města. Jde o to, aby délkacesty byla minimální délka cesty byla minimální. Duben 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Přesnější a reálnější matematická formulace úlohy: vzhledem ke grafickým možnostem jisté třídy řešení využívající principu grafického zobrazení dané formulace je potřebné použít pojmosloví teorie grafů: hamiltonovskou kružnici "V daném ohodnoceném úplném grafu najděte nejkratší hamiltonovskou kružnici.„ Nutno podotknout, že se nijak neliší obě zadání úlohy. Duben 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Hamiltonovské grafy se zdají být obdobou eulerovských grafů … Rrozhodnout, zda je graf hamiltonovský, není vždy snadné. Dosud není známa žádná jednoduchá nutná a postačující podmínka k tomu, aby graf byl hamiltonovský. Není znám ani algoritmus pro nalezení hamiltonovské kružnice v daném grafu. Je však známo několik postačujících podmínek k hamil- tonovskosti grafu ……. Leden 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Označme u počet uzlů grafu a předpokládejme, že u ≥ 3. Má-li každý uzel stupeň alespoň ½ u, je graf hamiltonovský. Je-li pro každou dvojici uzlů, které nejsou spojeny hranou, součet jejich stupňů alespoň u, pak je graf hamiltonovský. Jestliže pro každé přirozené číslo k < ½ u je počet uzlů, jejichž stupeň nepřevyšuje k, menší než k, pak je graf hamiltonovský. Leden 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO hamiltonovský K tomu, aby byl graf s u ≥ 3 uzly hamiltonovský, tedy stačí splnění některé z následujících podmínek. Každý uzel má stupeň alespoň ½ u. (Diracova podmínka) Každá dvojice uzlů nespojených hranou má součet stupňů alespoň u. (Oreho podmínka) Pro každé přirozené číslo k < ½ u je počet uzlů, jejichž stupeň nepřevyšuje k, menší než k. (Pósova podmínka) Leden 2013
Jak je zadáno: úkolem je – celková vzdále- nost musí být nejkratší, takže přesněji …. úkolem je nalézt Hamiltonův cyklus s mi- nimálním součtem ohodnocení hran. Úloha je optimalizační úlohou spadající do diskrétní a kombinatorické matematiky. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2012
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2012 Výchozí stav V literatuře je jako „klasický graf“ pro znázornění Hamiltonovy kružnice uváděn tento:
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2012 Cílový stav - řešení
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2012 Jiný cílový stav - řešení
Systémy řízení zásob Březen 2014 TSP tour pro x měst v USA, Kanadě, Německu a dosti dlouhé řadě dalších zemí..…. je vždy dán seznam měst (přesněji míst na dané mapě) a úkolem je najít nejkratší cestu – hra spočívá v rozšiřování počtu míst…….. a vzhledem k určitým změnám v reálných mapách cest ……. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Systémy řízení zásob Březen 2013 TSP tour pro 49 měst v USA v červenci 1954 – nejkratší cesta měřila mílí. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Systémy řízení zásob TSP tour pro 532 měst v USA v roce 1987 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Březen 2013
Systémy řízení zásob Březen 2013 TSP tour pro obcí v Německu – rok 2001 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO
Logistika a ……. Systémy řízení zásob Březen 2013 TSP tour pro obcí v Německu – rok 2001 Jihovýchodní výsek bavor- sko-českého příhraničí
Logistika a ……. Systémy řízení zásob Březen 2013 TSP tour pro obcí v Německu – rok 2001 Severní výsek
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Příklad řešení - 7 cities using brute force search. Note: Number of permutations: (7-1)!/2 = 360
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Příklad řešení - 7 cities using brute force search. Note: Number of permutations: (7-1)!/2 = 360 … jeden z výsledků výpočtu
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Příklad řešení - 7 cities using brute force search. Note: Number of permutations: (7-1)!/2 = 360 … jeden z výsledků výpočtu
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Příklad řešení - 7 cities using brute force search. Note: Number of permutations: (7-1)!/2 = 360 … jeden z výsledků výpočtu
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Současný konečný soubor dat TSP probíhá od obce Lincoln v Talladega County, Alabama – podle US Geological Survey byl sestaven seznam ze 48 států obsahující velko- měst, měst a vesnic, seskupených podle států. Je vypsána odměna pro řešitele $ 1,000,000 od Clay Mathematics Institute
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Přestože dopravní aplikace jsou nejvíce běžné (v životě obvyklé) nastavení pro úlohy typu TSP, jednoduchost modelu vedla k mnoha zajímavým aplikacím i v jiných oblastech. Klasickým příkladem je plánování nasazení strojů k vrtání děr v desce s obvody - v tomto případě otvory, které musí být vyvrtány jsou ekvivalentem obcí, a náklady na cestování jsou ekvivalentem času přesunutí vrtací hlavy z jedné díry do druhé. Technologie vrtání se liší od jednoho odvětví k druhému, ale pokud doba přesunu vrtací hlavy je významnou částí celkového výrobního procesu - pak úloha TSP může hrát velkou roli při snižování nákladů.
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Další příklady z literatury TSP lze nalézt na webových stránkách při zadání hesla "problém obchodního cestujícího„ do vyhle- dávače. Chceme-li dát vzorek některých současných aplikací TSP, lze nabídnout seznam na stránkách některých z publikovaných aplikací – a to prací obsahujících například moduly z knihovny Concorde TSP. Jedna z aplikací úlohy TSP byla přijata skupinou ve Francii – pro řešení rozvojové mapy myšího genomu. Výsledky práce jsou popsány v „Přepis radiačního hybridního genomu myši", Nature Genetics 29 (2001), str
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Vědci z Národního institutu zdraví použili Concorde TSP solver postavit záření hybridní mapy jako součást své pokračující práci sekvenování genomů. TSP poskytuje způsob, jak propojit místní mapy do jedné celkové mapy akčního hybridního genomu - obce jsou místní mapy a náklady na cestování jsou míra pravděpodobnosti, že jedna místní mapa bezprostředně následuje další. Zprávy o činnosti jsou uvedeny v knize "Rychle a škálovatelně v mapě radiační hybridní konstrukce a strategie integrace", autorů R. Agarwala, DL Applegate, D. Maglott, G.D. Schuler, a A.A. Schaffler.
TSP Březen 2013 PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Tým inženýrů v Hernandezově inženýrském institutu v Houstonu a na Brigham Young University experimentoval s použitím na připoutané Lin-Kerninghan optimalizovné pořadí nebeských objektů – výsledky byly využity v navrhovaném interferometru NASA vesmírného Starlight programu. Cílem studie je minimalizovat používání pohonné hmoty v cílení manévrů pro dvojici družic zapojených do mise (města v TSP jsou nebeské objekty a náklady na cestování jsou množství mpaliva potřebného k přemístění dvou satelitů) - zpráva o činnosti je uvedena v dokumentu "Strategie pro šetření paliva na Spacecraft interferometrii".
tsp – vývoj počtu zahrnutých měst Významné publikované práce začínají rokem: 1954 Datzing, Fulkerson, Johnson 49 měst 1975 Camerini, Fratta, Maffioli 67 měst 1977 Groetschel 120 měst 1980 Crowder, Padberg 318 měst 1987 zač. roku Padberg, Rinaldini 532 měst 1987 konec r. Padberg, Rinaldini 2392 měst 1998 Applegate, Bixby, Chvátal, Cook měst 2004 Applegate, Bixby, Chvátal, Cook, Helsgaun měst 2011 ?????? měst nebo již víc ? únor 2012
Zadání Výchozí místo (depot) – uzel č. 1, jedno vozidlo. Zákazníci – 2,3,…,n, nulové požadavky. c ij – vzdálenost mezi uzly i a j. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben v ozidlo pojede z uzlu i do uzlu j, 0 jinak,
Matematický popis PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2011 minimalizovat za podmínek Miler-Tucker- Zemlin
Matematický popis PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2011 Dantzig-Fulkerson- Johnson
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2011 Symetrická úloha obchodního cestujícího 1 hrana (i,j) leží na Hamiltonově cyklu 0 jinak, minimalizovat za podmínek i < j
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2011 Metrická úloha obchodního cestujícího Trojúhelníkové nerovnosti „Euklidovská“ úloha obchodního cestujícího. „Otevřená“ úloha obchodního cestujícího. Vozidlo se nevrací do výchozího místa.
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Duben 2011 Úloha obchodního cestujícího s časovými okny (Travelling Salesman Problem with Time Windows). – čas, v němž je navštíven uzel i. časové okno i-tého zákazníka. c ij – vzdálenost mezi uzly i a j. d ij – doba přejezdu mezi uzly i a j.
tsp – jednoduchý příklad Navštivte 3 místa – A, B a C – výchozí bod je Z. Tabulky vzdáleností [km]: Najděte postup s nejkratší cestou – nejmenším počtem ujetých kilometrů. únor 2011 Na dále uvedené úloze snad lze ukázat princip platný pak i pro úlohy složitější a obsáhlejší…….
tsp – jednoduchý příklad Navštivte 3 místa – O, M a N – výchozí bod je Z. Tabulky vzdáleností [km]: ZOMN Z O M N únor 2012
tsp – jednoduchý příklad Základním řešení je „slepý“ postup s využitím „selského“ rozumu – proto je nazýván „řešením pomocí hrubé síly“ ….. Řešením je vyhledání každé přípustné trati (spoj- nice míst) pro všechna existující uspořádání posloupnosti míst. Výsledek je dán výběrem nejmenšího ze součtů jednotlivých délek tras. Vzdálenosti a výsledek je na dalším slide. únor 2011
tsp – Výsledek Výsledek – trasa Z-M-O-N-Z nebo obráceně Z-N-O-M-Z s celkovou délkou 249 km. TrasaSoučtyCelkem Z-O-M-N-Z Z-O-N-M-Z Z-M-N-O-Z Z-M-O-N-Z Z-N-O-M-Z Z-N-M-O-Z únor 2011
tsp - složitost Je asi zřejmé, že pro 3 navštívená místa nemá cenu takovou analýzu dělat – rozdíly celkových délek jednotlivých variant je minimální (dá se říci nepodstatný). únor 2011
tsp - složitost Pro ilustraci a lepší (graficky podpořený) názor (náhled na výsledek) jsou na dalším slidu grafické záznamy variant cest pro uve- dený příklad 3 míst, kdy celkový počet tras bude 3 * 2 * 1…. = 6 tras únor 2011
tsp – složitost – grafika variant cest únor 2011
tsp - složitost Již pro 10 míst toto číslo naroste na hodnotu 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 ) / 2 = …. neboť na začátku je volba z 10 míst, pak z 9, pak z 8, atd. únor 2011
tsp - Globální definice – def. č. 1. Trochu nut (d) né matematiky a jejích definic … únor 2011 G = ( V, E ) Graf nad množinou uzlů V (navštívených míst) a hran E (spojujících cest) G = ( V, E ) pro V = 1, 2, …, n je množina uzlů (míst ) E = {( i, j ) | i, j V ; i ≠ j } je množina hran (cest) n = | V | je počet uzlů (míst) m = | M | je počet hran (spojovacích cest) d i,j = ∞ (i,j) Ejsou náklady na projetí hrany (i,j)
únor 2011 Okružní cesta (je totéž, co je Hamiltonovská kruž- nice) je posloupnost všech vrcholů grafů v 0, v 1, …, v n taková, že: (v i-1, v j )je hranou pro i = 1,2, …,n v i ≠ v j pro i ≠ j platí rovnost, kromě v 0 = v n v 0 = v n tsp - Okružní cesta – def. č. 2.
únor 2011 TSP znamená nalezení ze všech uspořádaných množin K = {k 1, k 2, …, k n } - vytvořených z množiny míst V - množinu K*, pro níž platí: f(K*) ≤ f(K) K, kde f(K) je definována vztahem: f(K) = d ki,ki+1 + d kn,k1 což znamená nalezení ze všech možných okružních cest K právě tu K*, která má nejkratší délku f(K) tsp - Kombinatorická – def. č. 3.
únor 2011 Graf G reprezentující TSP má hranu mezi každou dvojicí různých míst E = {(i,j) (V x V) | i ≠ j } tsp – Úplný TSP – def. č. 4.
únor 2011 Takto definovaná úloha – úplný symetrický TSP je úlohou nejběžnější a zároveň i nejjednodušší. Pro každou dvojici různých míst platí stále, že d i,j = d j,i tsp – Symetrický TSP – def. č. 5.
únor 2011 Existuje alespoň jedna dvojice různých míst, pro kterou platí, že d i,j ≠ d j,i tsp – Asymetrický TSP – def. č. 6. Počet různých tras (cest) bude tento: - pro úplný symetrický TSP je (n – 1)! / 2 - pro úplný asymetrický TSP je (n – 1)!
únor 2011 tsp – klasifikace úlohy 20,7 let Pokud by ohodnocení délky jedné jediné z možných cest trvalo pouhou 1 milisekundu – pak při použití „výpočtu hrubou silou“ (jak bylo definováno v předchozím textu) by výpočet pro pouhých 16 míst trval asi tak 20,7 let.
únor 2014 tsp – klasifikace úlohy Pro objasnění předchozího tvrzení pár údajů: Počet místMožných cest (n-1)!/2Výpočet [ms] = 3 min = 5,5 h dnů ,7 roku
únor 2011 tsp – klasifikace úlohy Pro přesný časový údaj, který by - při nasazení výpočetní techniky – byl relevantní = počet ope- rací potřebných k realizaci výpočtu. Tím by se významně postihla výpočetní potence použitého počítače a jeho schopnost vysoko- rychlostních matematických kalkulů.
únor 2011 tsp – klasifikace úlohy Úloha TSP – obchodního cestujícího je nedeterministickým problémem (NP) nedeterministickým problémem (NP) probíhající v nedeterministickém polynomiálním čase nedeterministickém polynomiálním čase
únor 2011 tsp – klasifikace úlohy orákula Nedeterministický znamená, že by bylo po- třeba orákula, aby se 100 % přesností a spo- lehlivostí řeklo, která cesta do kterého místa je v daném okamžiku optimální = nejkratší.
únor 2012 tsp – klasifikace úlohy - vysvětlivka orákulum (latinsky) = věštba … konkrétní vyslovená předpověď - předpovídání budoucnosti na základě magických praktik se označuje jako věštění … věštec je osoba se schopností předpovídat budoucnost, … umějící vykládat sny, nebo vyjevovat lidem boží vůli
únor 2012 tsp - grafika Ukázka grafiky řešení problému rozvozu zboží ze skladu zákazníkům …. Okružní cesta Zákazníci
únor 2011 tsp – metody řešení Používané metody dělené podle způsobu řešení: - heuristické - exaktní - metaheuristické.
únor 2011 tsp – metody heuristické Metody nezabývající se všemi okružními cestami, jen vybranými (kriterium ?) – jsou proto rychlé – nezaručují, že výsle- dek je reálně nejkratší metoda nejbližšího souseda ( M. Nearest Neighbour) optimalizace metodou výměny hran ( k-OPT) lineární Kernighamova metody ( M. LinKer, LK) ……
únor 2011 tsp – metody exaktní Metody zabývající se všemi okružními cestami – nejsou proto rychlé – zaručují, že výsledek je skutečně nejkratší metody lineárního programování (LP) metody dynamického programování (DP) metody větví a hranic ( M. Branch&Bound) metody větví a řezů ( M. Branch&Cut) ……
únor 2011 tsp – metody metaheuristické Metody kvalitnější než heurisitcké – opouští lokální optima, hledají globální – vedeny přes poznání horších řešení, které opouští a na- hrazují dalším řešením – rychlé – zaručují, že výsledek je reálně blízký nejkratší cestě metoda simulovaného žíhání ( M. Simulated Annealing) metoda neuronových sítí ( M: Neural Network) metoda genetických algoritmů ……
únor 2011 tsp – lineární programování Metody LP využívají systémů hledání mini- ma a maxima jediné cílové funkce v prostoru přípustných řešení, který je vymezen množi- nou omezujících podmínek – cílová funkce i omezující podmínky musí být lineárním vztahem
únor 2011 tsp – dynamické programování Metody DP využívají rekurze při návrhu algo- ritmů řešení – tj. převádění problémů na pro- blémy shodného typu, ale podobné menší. Většinou se řeší pomocí maticového počtu. Výhodou je velká rychlost – předchozí případ by byl vyřešen pro 16 míst za pouhých 4,7 h.
únor 2011 tsp – rekurze Matematika pojem rekurze chápe jako defino- vání objektu pomocí sebe sama. Latinské sloveso recurso (vrátit se) nebo substantivum recursus (návrat, zpětný běh). Využívá se například pro definici přirozených čísel, stromových struktur a některých funkcí.
únor 2011 tsp – rekurze Programování pojem rekurze, rekurzní (rekur- zivní) funkce chápe jako opakované vnořová- ní téže funkce – musí mít podmínku ukončují- cí vnořování – je nejčastějším zdrojem chyb, je třeba ji navrhnout dostatečně robustním způsobem a prověřit veškeré možné stavy.
metoda větvení a mezí (Branch and Bound Method). Při řešení těchto úloh se používá tak zvaná metoda větvení a mezí (Branch and Bound Method). hledání globálního extrému Je to iterační metoda pro hledání globálního extrému funkce f na množině přípustných řešení M. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
únor 2011 tsp – větve a hranice (meze) Vhodná pro řešení optimalizačních kombina- torických úloh. Pro TSP hledá nejkratší okružní cestu. Není zaručeno nalezení řešení v polynominál- ním čase – v praxi je dostupné řešení pro desítky míst.
únor 2011 tsp – větve a hranice (meze) Během prohledávání je vytvářen strom s vět- vením – je prováděno na základě zvolené vlastnosti. Jednotlivé větve představují skupinu okruž- ních cest, které všechny splňují vlastnosti dané větve.
únor 2011 tsp – větve a hranice (meze) Strom je postupně vytvářen tak, že v každém kroku je vybrána některá dosud nezpracova- ná větev – začíná se od kořene stromu – vybraná větev se zpracuje buď dalším větve- ním do alespoň dvou nových větví nebo vyře- šením nebo zjištěním, že větev lze „uříznout“ (vyloučit z dalšího procesu hledání řešení).
únor 2011 tsp – větve a hranice (meze) Pokud se z porovnání těchto dvou hodnot zjistí, že zpracovávaná větev nemůže obsaho- vat lepší výsledek (řešení), než které již bylo nalezeno = tato větev může být z dalšího procesu vyloučena (vyříznuta). Nenastane-li tento stav, musí se tato dále větvit – minimálně na dvě další nové.
únor 2011 tsp – větve a hranice (meze) Optimální řešení je pak takové, které je nej- lepší nebo, že úloha nemá řešení (? je to vůbec reálné, aby neexistovalo ? ).
únor 2011 tsp – větve a hranice (meze) POSTUP: - schema prohledávání stromu = pořadí v pos- tupu zpracovávání větví (nelze vše najednou) - nalezení horní hranice (hodnoty, meze) dané větce nebo přípustného řešení řešené větve - ………..
únor 2011 tsp – větve a hranice (meze) - …. - nalezení dolní hranice větve - způsob (metodika postupu) větvení nebo nalezení dělicích množin přípustných řešení na podmnožiny. Obě meze musí být co nejkvalitnější.
únor 2011 tsp – větve a řezná rovina Je to nejúčinnější metoda dneška pro řešení problémů obchodního cestujícího. Pomocí vytváření řezných (nad)rovin se hledá řešení v dosud neřešené oblasti, nebo v části kde je dosavadní řešení nejednoznačné. Prů- běh řešení tyto postupně vylučuje.
únor 2011 tsp – větve a řezná rovina Lze ji označit za doplňkovou metodu. Zajímavé webovské odkazy:
únor 2011 tsp – metoda nejbližšího souseda Patří mezi nejpřirozenější způsoby hledání výsledku. Pokud se má vydat na okružní ces- tu, začne (zřejmě, rozumově nejvýhodněji) místem, které je nejblíže – odtud do dalšího nejbližšího, dosud nenavštíveného, místa – atd. Metoda vede i ke zřejmě špatným výsledků – proto se používá jako výchozí (úvodní).
únor 2011 tsp – metoda nejbližšího souseda Ukázka → vede k pozdní návštěvě nejvzdále- nějšího místa a tedy ke zbytečnému prodlou- žení délky okruhu. Okružní cesta
únor 2011 tsp – metoda k-OPT Právě tato metody se používá jako „pokraču- jící (navazující, střídající)“ k předchozímu úvodu (vstupu) do procesu řešení. Základem je postupná výměna k hran v okruž- ní cestě tak, aby výsledkem byla kratší cesta. Optimální je pouze ve smyslu postupu a vy- braných kriterií – změna počtu hran.
únor 2011 tsp – metoda LinKer Autoři S. Lin a B.W.Kerninghan – 1973 první publikace (An Effective Heuristic Algorithm for the TSP – Operations Research, roč. 21 – 1073, pp. 483 – 516. K. Helsgaun – rok 2000 – rozvoj metody, jak LK metody naprogramovat efektivně.
únor 2011 tsp – metoda LinKer Je to metoda “zlepšovací“ – musí jí být úvo- dem dodána okružní cesta, kterou vylepšuje.
únor 2011 tsp – Genetický algoritmus Genetický algoritmus je heuristický postup, který se snaží aplikací principů evoluční biologie nalézt řešení složitých problémů, pro které neexistuje použitelný exaktní algoritmus. Genetické algoritmy, resp. všechny postupy patřící mezi tzv. evoluční algoritmy, používají techniky napodobující evoluční procesy – dědičnost, mutace, přirozený výběr a křížení – pro „šlechtění“ řešení zadané úlohy.
únor 2011 tsp – Genetický algoritmus Princip činnosti je v postupné tvorbě generací růz- ných řešení daného problému. Při řešení se uchová- vá tzv. populace, jejíž každý jedinec představuje jedno řešení daného problému. Jak populace probíhá evolucí, řešení se zlepšují. Tradičně je řešení reprezentováno binárními čísly, řetězci nul a jedniček, nicméně používají se i jiné reprezentace (strom, pole, matice, …). Typicky je na začátku simulace (v první generaci) populace složena z naprosto náhodných členů.
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO xxxxxxxxxxxxx duben 2012 Princip praktického řešení Travelling Salesman Problem (TSP) Problému obchodního cestujícího ……..
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO každé právě jednou Máme k měst se známou vzdáleností mezi nimi. Cestující se vydá na cestu z jednoho z nich tak, že navštíví všechna ostatní města, každé právě jednou, a vrátí se do výchozího města. cesta byla co nejkratší Jde o to, aby cesta byla co nejkratší. Leden 2010
nejkratší hamiltonovská kružnice grafu: Hledá se nejkratší hamiltonovská kružnice v úplném grafu: - uzly jsou města - hrany jsou přímo ohodnocené vzdálenosti. Úloha je o uzlově ohodnoceném grafu. uzavřený sled průchodu všemi uzly. Hledá se nejkratší uzavřený sled průchodu všemi uzly. Sled obsahuje Sled obsahuje alespoň (minimálně) jeden každý uzel grafu. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
graf obklopen hamiltonovskou kružnicí. Obchodní cestující to má nejsnazší, pokud je graf obklopen hamiltonovskou kružnicí. graf jedním tahem Pak může procházet obvodem tak, jako by kreslil graf jedním tahem. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
To znamená, že každé město navštíví právě jednou a nakonec se vrátí na to místo, odkud vyšel. Taková cesta je zřejmě ze všech možných cest (možných průchodů) nejlepší. Žádným městem neprochází vícekrát. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
Například pro graf na obrázku: PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
Příklad: Je dána matice délek hran ohodnoceného grafu na předchozím obrázku. 0 pro i = j A = (a ij ) = { x ij délka nejkratší hrany z i do j když hrana z i do j neexistuje. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
Matice délek hran: abcdef A B C D E F PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
Pro daný úplný graf má řešení problému obchodního cestujícího: a − c − d − f − b − e − a = 33 Přitom např. cesta po obvodu dá v součtu 60. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2014
PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden a b c d e f
Postup PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden ab c def konec
metoda větvení a mezí (Branch and Bound Method). Při řešení těchto úloh se používá tak zvaná metoda větvení a mezí (Branch and Bound Method). hledání globálního extrému Je to iterační metoda pro hledání globálního extrému funkce f na množině přípustných řešení M. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
Je založena na opakování následujících dvou operací: – větvení, při němž se nejprve množina M, později její vybraná podmnožina, rozkládá na po dvou disjunktní podmnožiny – omezování, při němž se pro každou pod- množinu získanou předchozí operací určuje dolní (při minimalizaci), resp. horní (při maxi- malizaci) mez hodnot funkce f na této pod- množině. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2010
Postup rozkladu množiny M se dá znázornit stromem, jehož uzly odpovídají jednotlivým podmnožinám. Pro další rozklad se volí podmnožina s nej- nižší dolní, resp. nejvyšší horní mezí. přípustné řešení Cílem je najít takové přípustné řešení, pro než hodnota funkce f není vetší než dolní meze, resp. není menší než horní meze dosud nerozložených podmnožin. Takové řešení je optimální. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
Užití úlohy: - rozvoz zboží ze skladu na místa spotřeby - minimalizace přesunu součástek mezi místy jejich zpracování – např. při vrtání děr obrá- běcími stroji. PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
TSP = Traveling Salesman Problem - problém obchodního cestujícího NP = Non-deterministic Polynomial (Problem) = nedeterministicky polynomiální (nedeterministický problém) PROBLÉM OBCHODNÍHO CESTUJÍCÍHO Leden 2012
Březen 2014 ještě doplněk… dobrá literatura k teorii grafů je: Miloš Šeda: Teorie grafů. VUT FSI v Brně, listopad 2003 – na webu = NEBO pod názvem kapitoly Domečkologie (Zadání) = NEBO NEBO ALGORITMY - Eulerovský tah NEBO otevřít Wordovský dokument 09c5efad51a8.
březen 2016 …..… CW05 – p. 26 CW13 – p. 24 POKRAČOVÁNÍ PŘÍŠTĚ ……. Informace k „ “ pokračují …… „ Teoriím ………….. “ pokračují ……
……… Březen 2016