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

Podobné dokumenty
Metody síťové analýzy

OPTIMALIZACE DISTRIBUČNÍHO SYTÉMU NÁHRADNÍCH DÍLŮ AUTOMOBILŮ OPTIMIZATION OF DISTRIBUTING SYSTEM OF CAR SPARE PARTS

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

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

Hledání optimální cesty v dopravní síti

MEDZINÁRODNÝ VEDECKÝ ČASOPIS MLADÁ VEDA / YOUNG SCIENCE

Use of ant colony optimization for vehicle routing problem. Použití metody mravenčích kolonií pro úlohy okružních jízd

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

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

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

VYUŽITÍ NĚKTERÝCH METOD TEORIE GRAFŮ PŘI ŘEŠENÍ DOPRAVNÍCH PROBLÉMŮ

B a k a l ářská práce

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

Algoritmizace prostorových úloh

= 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

Vzdálenost uzlů v neorientovaném grafu

Operační výzkum. Síťová analýza. Metoda CPM.

FAKULTA EKONOMICKÁ. Bakalářská práce. Posouzení efektivnosti podnikové dopravy při rozvozu zboží zákazníkům

UNIVERZITA PARDUBICE DOPRAVNÍ FAKULTA JANA PERNERA BAKALÁŘSKÁ PRÁCE Lukáš Macoun

Aplikovaná matematika I

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

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Technologie dopravy a logistika

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

Operační výzkum. Přiřazovací problém.

4EK213 Lineární modely. 12. Dopravní problém výchozí řešení

5. Lokální, vázané a globální extrémy

OPTIMALIZACE LINKOVÉHO VEDENÍ ČETNOST OBSLUHY, TAKT

Analýza Petriho sítí. Analýza Petriho sítí p.1/28

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

Grafové algoritmy. Programovací techniky

Obecná úloha lineárního programování

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

Parametrické programování

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

Návrh svozových a rozvozových tras s heterogenním vozovým parkem

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

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2015

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE. Optimalizace trasy při revizích elektrospotřebičů

Vektorový prostor. Př.1. R 2 ; R 3 ; R n Dvě operace v R n : u + v = (u 1 + v 1,...u n + v n ), V (E 3 )...množina vektorů v E 3,

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

Systematická tvorba jízdního řádu 2. cvičení

SÍŤOVÁ ANALÝZA. Kristýna Slabá, 1. července 2010

Grafové algoritmy. Programovací techniky

Globální matice konstrukce

4EK213 Lineární modely. 4. Simplexová metoda - závěr

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

Fakt. Každou soustavu n lineárních ODR řádů n i lze eliminací převést ekvivalentně na jednu lineární ODR

Algoritmus pro hledání nejkratší cesty orientovaným grafem

Layout pracoviště a řízení Rozvrhování pracovníků

Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Přiřazovací problém. Přednáška č. 7

0.1 Úvod do lineární algebry

4EK213 Lineární modely. 10. Celočíselné programování

Exponenciální modely hromadné obsluhy

CVIČNÝ TEST 36. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

Static Load Balancing Applied to Time Dependent Mechanical Problems

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

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

Metody lineární optimalizace Simplexová metoda. Distribuční úlohy

6 Simplexová metoda: Principy

2.6. Vlastní čísla a vlastní vektory matice

4EK213 LINEÁRNÍ MODELY

Obecná úloha lineárního programování. Úloha LP a konvexní množiny Grafická metoda. Jiří Neubauer. Katedra ekonometrie FEM UO Brno

Průvodce studiem. do bodu B se snažíme najít nejkratší cestu. Ve firmách je snaha minimalizovat

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu (reg. č. CZ.1.07/2.2.00/28.

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

ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA EKONOMICKÁ. Distribution network optimization in a chosen company

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

metoda Regula Falsi 23. října 2012

7. přednáška Systémová analýza a modelování. Přiřazovací problém

VYUŽITÍ FLOYDOVA ALGORITMU NA SITÍCH USE OF FLOYD ALGORITHM IN NETWORKS

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

METODY HODNOCENÍ MĚSTSKÉ HROMADNÉ DOPRAVY

4EK311 Operační výzkum. 4. Distribuční úlohy LP část 1

63. ročník Matematické olympiády 2013/2014

Soustavy se spínanými kapacitory - SC. 1. Základní princip:

4EK213 LINEÁRNÍ MODELY

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

Zadání a řešení testu z matematiky a zpráva o výsledcích přijímacího řízení do magisterského navazujícího studia od podzimu 2014

CVIČNÝ TEST 35. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17

PROBLEMATIKA VEDENÍ TRAS LINEK LINE ROUTING PROBLEMATIC

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE. Teze diplomové práce

Algoritmus pro generování normálních magických čtverců

2. část: Základy matematického programování, dopravní úloha. Ing. Michal Dorda, Ph.D.

Hledání kořenů rovnic jedné reálné proměnné metoda půlení intervalů Michal Čihák 23. října 2012

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Úvod do teorie grafů

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

Matematické modelování 4EK201

9.5. Soustavy diferenciálních rovnic

Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?

4. Napjatost v bodě tělesa

12. Lineární programování

STROMY. v 7 v 8. v 5. v 2. v 3. Základní pojmy. Řešené příklady 1. příklad. Stromy

0.1 Úvod do lineární algebry

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

Délka (dny) terénní úpravy (prvotní) příprava staveniště (výstavba přístřešku pro materiál)

Transkript:

CLARKEOVA-WRIGHTOVA METODA ŘEŠENÍ ÚLOHY VRP 1. Definice úlohy Úloha VRP (Vehicle Routing Problem problém okružních jízd) je definována na obecné dopravní síti S = (V,H), kde V je množina uzlů sítě a H množina hran spojujících tyto uzly. Uzel V 0 je označován jako středisko této sítě a uzly V 1,,V n představují místa odběru (místa vyžadující obsluhu). V místech odběru vzniká požadavek na přepravu určitého množství dopravních elementů - tato přeprava je uskutečňována vozidly, jejichž trasa začíná a končí ve středisku V 0 a jejichž kapacita je shora omezená. Úlohou je pak sestavit sadu tras vozidel tak, aby byl požadavek každého místa odběru uspokojen jedinou obsluhou vozidla, a aby celkové náklady na přepravu byly minimální (z hlediska délky nebo času). Ze zadání úlohy vyplývají dvě podmínky přípustnosti jejího řešení: každý zákazník musí být v rámci některé trasy obsloužen právě jednou (1) musí být respektována nepřekročitelná kapacita obsluhujících vozidel (2) Vedle těchto základních podmínek mohou být na sadu tras obsluhujících vozidel kladeny další podmínky přípustnosti řešení, jejichž zavedením se původní úloha VRP modifikuje jsou to např.: globální podmínky: množství elementů, které je možné rozvést v rámci jedné trasy omezení maximální doby trvání, resp. délky jedné trasy (nepřekročitelná pracovní doba osádek vozidel, nutné doby odpočinků, zákazy jízd v určitých dnech apod.) omezení vyplývající z maximálně možného počtu obsloužených míst jednou trasou vzhledem k jejich požadavkům a kapacitám vozidel omezený disponibilní vozový park, kde v případě, že je park heterogenní, se mohou jednotlivá vozidla lišit svou technologickou a kapacitní způsobilostí lokální podmínky: respektování časové dosažitelnosti obsluhovaných míst, tzn. uspokojení požadavku obsluhovaného místa v zadaném časovém intervalu respektování technologické dosažitelnosti obsluhovaných míst, tzn. požadavek na obsloužení zákazníka pouze vozidlem určitých parametrů limitovaná spotřeba pohonných hmot; přijatelné náklady vynaložené na obsluhu apod. V dalším textu se budeme zabývat úlohou trasování pro nejjednodušší případ, kdy předpokládáme homogenní vozový park, a kde trasa jednoho vozidla bude tvořena jedinou okružní 1

jízdou. Je-li doba trvání trasy omezená, může být trasa vytvořena z více okružních jízd. Dále v úloze, kterou budeme řešit neklademe žádné omezující časové podmínky pro obsluhu uzlů. Úloha se v tom případě redukuje na pokrytí požadavků odběratelů soustavou tras a následné přidělení těchto tras jednotlivým vozidlům disponibilního parku může být řešeno v následující fázi nezávisle na úloze trasování. 2. Clarkeova-Wrightova metoda Nejznámější heuristickou metodou řešící uvedenou úlohu VRP je Clarkeova-Wrightova, kterou zveřejnili její autoři G. Clarke a J. W. Wright v roce 1964. Postup metody spočívá v tom, že v každé iteraci metody jsou podle jistého kritéria vybrány dvě možné trasy (V 0 V i V 0 ) a (V 0 V j V 0 ) a tyto jsou spojeny do jedné tzv. sdružené trasy (V 0 V i V j V 0 ). Dvě trasy mohou být sdruženy jen tehdy, jestliže vzniklá sdružená trasa bude vyhovovat uvedeným podmínkám přípustnosti řešení (1) a (2), což znamená, že součet zátěže sdružovaných tras nesmí překročit kapacitu vozidla K. Při postupu lze snadno kontrolovat i splnění dalších globálních podmínek jako např. maximální délku trasy, počet navštívených uzlů, dobu trvání jízdy, kde příslušná kontrolovaná veličina nově vzniklé sdružené trasy je závislá pouze na odpovídajících sledovaných veličinách sdružovaných tras, resp. sdružovaných uzlů. Výhodnost nebo nevýhodnost sdružení dvou tras je určena úsporou, která jejich sdružením vznikne. Tuto úsporu měříme tzv. výhodnostním koeficientem z ij podle vztahu z ij = (d 0i + d 0j d ij ), kde d 0i, d 0j a d ij označují délky hran (V 0,V i ), (V 0,V j ) a (V i,v j ). Hodnota z ij tedy vyjadřuje rozdíl mezi součtem délek tras (V 0 V i V j ) a (V 0 V j V 0 ) a délkou sdružené trasy (V 0 V i V j V 0 ). Metoda sdruží v každé iteraci postupu ty dva uzly, které vykazují nejvyšší výhodnostní koeficient z ij, pokud je možné s ohledem na přípustnost toto sdružení provést. Výhodou tohoto postupu je, že koeficient z ij závisí pouze na vzájemných vzdálenostech uzlů V i, V j a V 0 a nemění se pokud je možné tyto dva uzly spojit. Metodu, kterou jsme právě popsali můžeme zformulovat do několika kroků: 1) Pro danou dopravní síť S = (V,H) sestavíme matici vzdáleností D = {d(i,j)}, kde i,j = 0,1,,n; n = V. Obecně nemusí být síť S úplná (tj. v grafové reprezentaci znázorněna grafem, který není úplným grafem), to znamená, že prvky matice D mohou vyjadřovat jak délky úseků, tak i vzdálenosti mezi jednotlivými uzly. Dále mějme zadány následující hodnoty: c.. průměrná rychlost pohybu vozidla na síti t...doba potřebná k vyložení jednotkového množství elementů z obsluhujícího vozidla T..maximální doba pobytu vozidla mimo výchozí uzel V 0 K.kapacita vozidla q i. množství elementů přepravovaných z uzlu V 0 do uzlu V i (i = 1,,n) 2) Vytvoříme počáteční řešení, které představuje soubor elementárních tras (V 0 V i V 0 ) pro všechny uzly sítě i = 1,,n s uvedeným množstvím elementů a dobami přepravy (lze také doplnit doby potřebné k vyložení elementů z vozidla): 2

Trasa Množství elementů Doba přepravy 2 d V 0 V i V 0 q 1 c...... 01 + q t 1 V 0 V n V 0 q n 2 d 0n + q c n t 3) Z matice D odvodíme matici výhodnostních koeficientů Z = {z ij }, kde i,j = 1,,n podle vztahu z ij = d 0i + d 0j d ij, kde z ij, jak bylo zavedeno, vyjadřuje rozdíl mezi součtem délek tras (V 0 V i V 0 ) a (V 0 V j V 0 ) a délkou sdružené trasy (V 0 V i V j V 0 ). 4) V matici Z najdeme největší kladný prvek z ij a sdružíme, je-li to možné, trasy (V 0 V i V 0 ) a (V 0 V j V 0 ) do sdružené trasy (V 0 V i V j V 0 ). Pokud takový prvek neexistuje, skončíme. Aktuální množina okružních tras je výsledkem algoritmu. V opačném případě přejdeme na krok 5). 5) Zkontrolujeme, zda sdružením tras (V 0 V i V 0 ) a (V 0 V j V 0 ) vznikne přípustná trasa. Pokud přípustná trasa nevznikne, tak položíme z ij = 0 a přejdeme na krok 4). V opačném případě pokračujeme krokem 6). 6) Aktualizujeme množinu uzlů V vyjmutím uzlů i a j, pokud sdružením tras přestaly být krajními uzly trasy. Položíme z ij = 0. Aktualizujeme množinu tras vyjmutím sdružených tras a vložením nové trasy. Současně také aktualizujeme ostatní sledované parametry (dobu přepravy, množství elementů, délku trasy aj.). Není-li krok 4) a 5) možný, najdeme nejblíže menší nebo stejně velký prvek z st a sdružíme trasy obsahující uzly V s a V t ; mohou to být elementární trasy nebo trasy, vzniklé předchozím sdružováním. Pro krajní uzly V s a V t nově vzniklé trasy položíme z st = 0 a přejdeme na krok 4). Postup opakujeme, pokud není matice Z vyčerpána nebo pokud není zřejmé, že kapacity vozidel jsou vyčerpány a další řešení nemá smysl. Výsledné řešení nemusí být optimální, ale často bude jen suboptimální. 3. Příklad Máme dánu neorientovanou, souvislou a hranově ohodnocenou dopravní síť S = (V,H). Požadujeme přepravit dané množství dopravních elementů z výchozího uzlu V 0 do ostatních uzlů sítě V i, kde i = 1,,n. Dále známe průměrné rychlosti a kapacity všech vozidel a budeme předpokládat, že jsou stejné. Množství elementů, přepravované do kteréhokoliv uzlu, nepřekračuje kapacitu jednoho vozidla. Dále je známa doba potřebná pro vyložení elementu z vozidla, která je stejná pro všechny komplety a všechny uzly. Doba mezi výjezdem a návratem každého vozidla do výchozího uzlu V 0 je shora omezená. 3

Úkolem je určit počet vozidel a jejich trasy tak, aby při splnění všech uvedených požadavků byl součet délek tras všech vozidel, začínajících a končících v uzlu V 0, minimální. Pro nalezení suboptimálního řešení této úlohy použijeme popsanou C-W metodu. Dopravní síť úlohy je definována pomocí matice vzdáleností D této sítě, která je úplnou sítí (tzn., že prvky matice vzdáleností jsou zároveň délkami příslušných úseků hran). Jsou dány počty elementů q i a další výchozí údaje: c = 30 km/h; t = 0,1 h; T = 8h; K = 15 elementů. Matice vzdáleností D je v tomto případě neorientované sítě symetrická, můžeme tedy prvky pod hlavní diagonálou vynechat matice vypadá takto: i/j 0 1 2 3 4 5 0 0 33 60 54 50 52 1 0 38 35 34 76 2 0 15 70 94 3 0 48 73 4 0 28 5 0 Z matice vzdáleností D je odvozena matice výhodnostních koeficientů Z = {z ij }: i/j 1 2 3 4 5 1 0 55 52 49 9 2 0 99 40 18 3 0 56 33 4 0 74 5 0 Údaje v následující tabulce zachycují počáteční řešení: Elementární q trasy i Délky 0 1 0 6 66 2,8 0 2 0 3 120 4,3 0 3 0 8 108 4,4 0 4 0 5 100 3,8 0 5 0 4 104 3,9 1. iterace: Podle kroku 4) hledáme první zlepšující řešení: max z ij = z 23 = 99; sdružíme proto trasy (0 2 0) a (0 3 0). Podle kroku 5) kontrolujeme přípustnost sdružené trasy na základě provedení kroku 6) takto: vyjmutím právě sdružené trasy aktualizujeme množinu tras počátečního řešení; pro právě sdruženou trasu aktualizujeme množství elementů q a dále aktualizujeme délku trasy a dobu T strávenou kompletem mimo uzel V 0. Po provedení kroku 6) zjišťujeme, že součet zátěží q 2 + q 3 = 11, což je hodnota nižší než přípustná 4

kapacita vozidla K = 15. Dále zjišťujeme, že nová doba pobytu vozidla mimo uzel V 0 je rovna 5,4 a tedy nepřekračuje zadanou přípustnou hodnotu T = 8. Nepřekročení hodnot K a T znamená, že nová sdružená trasa (0 2 3 0) je přípustnou trasou. Uvedené skutečnosti jsou zřejmé z následující tabulky. Nakonec kroku 6) položíme z 23 = 0 a dále pokračujeme krokem 4) v hledání další přípustné trasy. Trasa q 2 + q 3 Délka Doba Po 1. iteraci dostáváme tuto aktualizovanou množinu tras a odpovídající zátěže: Elementární q trasy i Délky 0 1 0 6 66 2,8 0 4 0 5 100 3,8 0 5 0 4 104 3,9 2. iterace: Pokračujeme hledáním dalšího přípustného řešení: max z ij = z 45 = 74, sdružená trasa (0 4 5 0) je přípustná, viz tabulka: Trasa q 4 + q 5 Délka Doba 0 4 5 0 9 130 5,2 Po 2. iteraci dostáváme tuto aktualizovanou množinu tras a odpovídající zátěže: Elementární q trasy i Délky 0 1 0 6 66 2,8 0 4 5 0 9 130 5,2 3. iterace: Pokračujeme hledáním dalšího přípustného řešení: max z ij = z 34 = 56, vytvořit sdruženou trasu by znamenalo sdružit trasy obsahující uzly V 3 a V 4, tzn. trasy (0 2 3 0) a (0 4 5 0); z tabulky je zřejmé, že taková trasa je nepřípustná, protože bychom překročili přípustnou kapacitu K obsluhujícího vozidla: q(0 2 3 0) = 11, q(0 4 5 0) = 9; 11+9=20 > K=15. Proto po 3. iteraci zůstávají množina tras a odpovídající zátěže nezměněné. 4. iterace: Pokračujeme hledáním dalšího přípustného řešení: max z ij = z 12 = 55, trasa vzniklá sdružením tras, které obsahují uzly V 1 a V 2, tj. (0 1 0) a (0 2 3 0) je opět nepřípustná, protože 6+11=17 > K=15, což nelze. Tedy i po 4. iteraci zůstávají množina tras a odpovídající zátěže nezměněné. 5

5. iterace: Pokračujeme hledáním dalšího přípustného řešení: max z ij = z 13 = 52; nastává stejná situace jako po 4. iteraci; trasa vzniklá sdružením tras, které obsahují uzly V 1 a V 3, tj. (0 1 0) a (0 2 3 0) je opět nepřípustná, protože 6+11=17 > K=15, což nelze. I po 5. iteraci zůstávají množina tras a odpovídající zátěže nezměněné. 6. iterace: Pokračujeme hledáním dalšího přípustného řešení: max z ij = z 14 = 49; trasa vzniklá sdružením tras, které obsahují uzly V 1 a V 4, tj. (0 1 0) a (0 4 5 0) je přípustná, protože 6+9=15, což není hodnota větší než K=15 Trasa q 1 + q 4 + q 5 Délka Doba 0 1 4 5 0 15 147 6,4 Po 6. iteraci již nelze kroky 4) a 5) opakovat, tzn. že další sdružování tras není možné, a proto poslední aktualizovaná množina tras, zátěže, délek tras a dob pobytu mimo výchozí uzel obsahuje nalezené řešení viz tabulku: Elementární trasy q i Délky 0 1 4 5 0 15 147 6,4 Optimální množina tras vozidel je tedy dvouprvková, výsledné řešení má součet délek tras 276 km oproti výchozímu součtu délek elementárních tras 498 km; součet dob provozu vozidel je 11,8 h. Protože T = 8 < 11,8 < 2x8 = 16, jsou pro splnění úkolu nutná dvě vozidla. 4. Zdroje CLARKE, G; WRIGHT, J. W.: Scheduling of Vehicles from a Central Depot to a Number of Delivery Points, Operations research 12, 1964, strana 568-581 TUZAR, A.; MAXA, P.; SVOBODA, V.: Teorie dopravy, ČVUT v Praze, Praha 1997 6