Jan Fábry ŘEŠENÍ VYBRANÝCH PŘEPRAVNÍCH ÚLOH 1 Úvod Společnost zabývající se svozem, rozvozem a přepravou zboží, materálu č ldí, čelí v současnost vysoé onurenc v dynamcy se rozvíjející oblast dstrbučních služeb Tla na snžování přepravních náladů je umocněn nebezpečím ztráty záaznía z důvodu nenaplnění jeho nároů na včasné vyřízení jeho požadavů Optmalzace tras se tudíž stává nedílnou součástí podnání ve zmíněné oblast Přepravní úlohy jsou specálním případem rozvozních úloh, v nchž není cílem svézt č rozvézt zboží záazníům, ale v rámc trasy jej přepravt z místa vyzvednutí do místa doručení Jedná se o úlohy v zahranční lteratuře známé pod pojmem Pcup and Delvery Problem (PDP) V tomto článu se budeme zabývat specální úlohou tohoto typu, terá je známá jao úloha urýrní služby Pozornost bude věnována případům, dy přepravě zásle je využíváno něol vozdel V něterých stuacích je nezbytné uvažovat apactu vozdel, případně je nutné respetovat časová ona pro vyzvednutí zásly a její následné doručení Protože se jedná o NP-obtížné problémy (Pelán, 2001), je nutné v reálných aplacích dsponovat, romě optmalzačního matematcého modelu, něterou přblžnou metodou V následujícím textu budou pro vybrané úlohy s něola vozdly prezentovány modface známých heurstcých metod, a sce metody nejblžšího souseda, vládací metody a metody výměn, terá je určena pro zlepšení vygenerovaných tras Uvedené metody byly ověřeny pomocí výpočetních expermentů na generovaných příladech za použtí VBA for Excel Další vybranou přepravní úlohou je Transhpment Problem (TP) Úloha je na rozdíl od většny problémů typu PDP určena přepravě homogenního zboží Specfčnost této úlohy je dána mj tím, že se jedná o případ, terý lze řešt pomocí teore grafů ve formě toové úlohy V článu je uveden model ontejnerové verze tohoto problému 1 OKRUŽNÍ A ROZVOZNÍ ÚLOHY Pojem oružní úlohy je nědy spojován s pouhým průjezdem daným místy č úsey, resp s jejch návštěvou (Fábry, 2006) K pratcým úlohám tohoto typu se řadí napřílad opravy č revze, odečty eletroměrů a plynoměrů aj V taovém případě nelze hovořt o rozvozních úlohách, neboť vytváření tras není spojeno s rozvozem a vzhledem nulovým č zanedbatelným požadavům záazníů není nutné uvažovat apactu 1 Tato publace byla podpořena projetem F4/11/2013 IGA VŠE v Praze 13
vozdla K taovým úlohám se řadí úloha obchodního cestujícího spolu se všem jejím modfacem (Gutn a Punnen, 2002) Poud jde o vymezení pojmu rozvozní úlohy, většnou autoř tato přeládají anglcý termín Vehcle Routng Problem (VRP) Toto označení je vša nepřesné 2, neboť se jedná o úlohy, teré samozřejmě zahrnují nejen rozvoz zboží, surovn, materálu, ldí apod, ale taé jejch svoz, nehledě na to, že mnoho pratcých úloh doonce přpouští rozvoz a svoz v rámc jedné trasy (PDP) Specální úlohy tohoto typu jsou taé předmětem tohoto článu V rozvozních úlohách je významná apacta vozdla vzhledem nenulovým požadavům obsluhovaných míst V typcém případě je svoz č rozvoz rozvržen do něola tras, teré mohou být realzovány paralelně (poud je dspozc více vozdel) č sérově (postupně jedním vozdlem) Jednou z nejvýznamnějších publací, obsahující přehled záladních varant rozvozních úloh včetně metod pro jejch řešení, je sborní Totha a Vga (2002) Stejně jao v úloze obchodního cestujícího, taé v rozvozní úloze mohou být zadána časová ona (Savelsbergh, 1992), během nchž je nutné navštívt jednotlvé záazníy Ve výše uvedeném sborníu Cordeau et al (2002) popsují zísání horních odhadů účelové funce pomocí specálních heurstcých algortmů za pomoc deompozčních přístupů Kromě pevně daných časových oen (hard tme wndows) defnují možnost jejch uvolnění (soft tme wndows) V něterých aplacích je možné rozdělt požadave záaznía do více tras V taovém případě se jedná o rozvozní (svozní) úlohu s dělenou dodávou (naládou), tzv Splt Delvery VRP (Dror a Trudeau, 1989, Ččová et al 2014 aj) Další významnou publací, týající se rozvozních úloh, je sborní Goldena et al (2008), terý obsahuje 25 prací týajících se porou v této oblast včetně prezentace budoucího výzumu Poud se pro plánování tras uvažuje využtí něola vozdel, ať jž z důvodu velost požadavů a omezené apacty vozdel, nebo z důvodů časových (zavedení časových oen, uvažování omezené pracovní doby apod), jsou zajímavé úlohy, v nchž se vozdla nacházejí v něola depotech Laporte et al (1988) se zabývají úloham, v nchž mají vozdla stejnou apactu Exstuje jednoduchá modface tohoto modelu pro úlohu s rozdílnou apactou vozdel (Fábry, 2006) Pro nalezení optmálního řešení v případě rozvozních úloh menšího rozsahu lze použít modface metody větvení a hranc jao např metodu větvení a řezů, případně metodu větvení a oceňování Tyto metody popsují Toth a Vgo (1998), Achuthan et al (2003), Desrochers et al (1992), Kolen et al (1987) aj Vzhledem tomu, že oružní a rozvozní úlohy patří do třídy NP-obtížných úloh, pro řešení rozsáhlejších úloh, časově velm náročných, lze použít řadu přblžných postupů, teré posytují poměrně valtní řešení v aceptovatelném čase Jedná se především o metaheurstcé algortmy, jejchž použtím se zabývají Ččová a Brezna (2008), Potvn a Bengo (1996), Potvn et al (1996), Bräysy a Gendreau (2005a, 2005b), Gendreau et al (1994), Russel (1995), 2 Tento termín se ovšem v česé termnolog vžl natol, že nemá smysl jej ntera měnt 14
Tallard et al (1997), Golden et al (1998) aj Většna uvedených prací se týá rozvozních úloh s časovým ony 2 PŘEPRAVNÍ ÚLOHY U přepravních úloh se nejedná o rozvoz jednote z jednoho č něola výchozích míst, ale o přepravu jednote mez jednotlvým místy v rámc trasy Přestože většnou exstují výchozí místa jao stanovště pro vozdla, samotné převážení náladu se děje nezávsle na těchto depotech v tom smyslu, že cílem není odvézt nějaý nálad z výchozího místa č do něj naopa nějaý nálad svézt, ale místa nalády a vylády jsou umístěna na trase Navíc se může velce snadno stát, že jedno místo může být ja místem nalády, ta zároveň místem vylády; tato stuace má samozřejmě svůj význam jen v případě, že se jedná o přepravu nehomogenního zboží V něterých případech není doonce nutné an vytvářet oruhy Do supny úloh PDP lze zahrnout obrovsé množství problémů, teré mají jedno společné, a sce sutečnost, že požadave je zadán místem vyzvednutí (pcup) a místem doručení zásly (delvery) č vyložení osob (drop off) Právě tím se tyto úlohy zásadně odlšují od rozvozních úloh, v nchž se jedná o rozvoz nebo svoz jednote z nebo do výchozího místa a aždý požadave je tedy určen pouze jedním místem, am má vozdlo přjet Cordeau et al (2008) vyjadřují záladní lasfac úloh PDP První třída úloh odpovídá slovnímu spojení one-to-one, teré je typcé pro úlohy urýrní služby Požadave je zadaný dvěma místy, a sce místem vyzvednutí a místem doručení Předpoládáme, že v žádném z těchto dvou míst nelze vyzvednout an doručt žádné jné zásly, týající se jných míst Poud se jedná o převoz osob, např hendepovaných, pa se tato úloha označuje jao Dal-a-Rde Problem Many-to-many PDP je úlohou, terá se podobá dále uvedenému TP Jsou zadána místa, v nchž je potřeba naložt určtá množství homogenního produtu, a jná místa, am je nutné určtá množství tohoto produtu doručt Na rozdíl od TP ovšem není zadána apacta hran, ale je zadána apacta vozdla Navíc exstuje depot, odud toto vozdlo na trasu vyjíždí (prázdné, neboť ve výchozím místě není zásoba produtu), a do terého se vrací, tj jedná se o oružní typ úlohy Opět se místa rozdělují na množnu těch, de se produt pouze naládá, a množnu těch, de se produt pouze vyládá Ještě lze zmínt úlohu PDP typu one-to-many-toone V aždém místě lze (obecně) určtou záslu č zásly naložt a jnou záslu č zásly vyložt Opět je zadáno výchozí místo, odud prázdné vozdlo vyjíždí a am se pozděj taé prázdné vrací Nejprve se ale podívejme na specální přepravní úlohu, označovanou jao Transhpment Problem, resp její ontejnerovou verz 21 Contaner Transhpment Problem Tato přepravní úloha, jejíž záladní verz TP popsují např Eselt a Sandblom (2000), patří mez tzv toové úlohy a není tedy typcým představtelem rozvozních úloh Cílem je přepravt homogenní produt od dodavatelů odběratelům prostřednctvím dstrbuční sítě s omezenou apactou Jao rtérum je zvolena funce celových G U, H, de U je množna přepravních náladů Dstrbuční síť je vyjádřena grafem 15
uzlů a H množna hran Každému uzlu U je přřazena hodnota q, uzly jsou rozděleny do tří množn: 1) 2) 3) U, poud uzel je dodavatelem produtu; hodnota q > 0 je jeho apacta, U, poud uzel je odběratelem produtu; hodnota q 0 určuje jeho požadave, 0 U, poud uzel je tranztní; hodnota q 0 h j H Evdentně platí: U U U U 0 a U 0 U U Každé hraně jsou přřazeny nálady c j na přepravu jedné jednoty produtu po této hraně a dále maxmální propustnost (apacta) hrany j Pro následující model předpoládejme neorentovaný graf: mnmalzovat c x, za podmíne j j (21) U ju hj H xj x j q, U, (22) ju hjh ju h jh 0 x, h H (23) j j Hodnota proměnné x j určuje to hranou j h j, tedy počet jednote produtu přepravovaného mez místy a j Všechny proměnné musí respetovat zadanou apactu (23) Mnmalzační účelová funce (21) představuje celové přepravní nálady Rovnce (22) jsou blančním podmínam pro aždý uzel Pro dodavatele musí být počet jednote, teré jsou z něj přepravovány, o q vyšší než počet jednote do něj přepravených Pro odběratele je tomu naopa (na pravé straně rovnc jsou záporná čísla) Pro tranztní uzly platí, že blance dovozu a odvozu musí být vyrovnaná Je zřejmé, že nutnou podmínou přípustnost řešení této úlohy je následující rovnce: U q q 0, (24) U tedy součet všech apact dodavatelů je roven součtu všech požadavů odběratelů, nebol celová nabída je rovna celové poptávce Poud by rovnce (24) nebyla splněna, je 16
uvedený model možné použít pouze v případě, že přdáme ftvní uzel Dalším podmínam, teré musí být splněny, jsou nerovnce: j ju h H j q, U, (25) tj součet apact hran ncdentních s daným uzlem musí být mnmálně taový, jao je jeho apacta, resp požadave (pro tranztní uzly je tato podmína splněna vždy) Zajímavým rozšířením je ontejnerová verze výše uvedeného problému Předpoládejme, že produt je přepravovaný v ontejnerech (vozdlech, vagónech) o apactě V Přepravní nálady c j jsou vztaženy na přepravu jednoho ontejneru 3 po hraně h j V taové úloze je nutné zavést pro aždou hranu celočíselnou proměnnou y j, jejíž hodnota udává počet ontejnerů použtých pro přepravu produtu po hraně h j Účelová funce bude upravena následovně: mnmalzovat c y j j (21a) U ju hjh Navíc musí být výše uvedenému modelu přdána soustava omezujících podmíne, teré blancují využtí ontejnerů pro přepravu množství produtu a podmíny celočíselnost pro proměnné y j : x j Vy, h H, (26) j yj Z0, hj H j (27) V reálných úlohách většnou apacty hran představují horní meze počtu ontejnerů (např vagónů, teré lze na daném železnčním úseu použít), namísto počtu jednote, terý je předpoládán v uvedeném modelu V taovém případě je zapotřebí vhodným způsobem upravt podmíny (23) a (27) V aždém případě model výše uvedeného ontejnerového přepravního problému neřeší logstcou otázu vozového paru (obecně počtu ontejnerů), teré jsou v jednotlvých místech dspozc, an to, ja se do těchto míst dostanou V případě reálné úlohy, v níž se tento model řeší opaovaně (např aždý den) s různým apactam dodavatelů a požadavy odběratelů, je nutné určt pro aždý uzel další údaj, a sce počet ontejnerů, teré budou daný den v daném místě dspozc Následující část článu je 3 V případě vozdla se jedná o nálady na jízdu vozdla po hraně, v případě vagónu se jedná např o jeho pronájem 17
zaměřena na přepravní úlohy s vyzvednutím a doručením, jejchž řešení (na rozdíl od řešení TP) spočívá v nalezení oruhů pro přepravu většnou nehomogenního zboží 22 Úloha urýrní služby s něola vozdly Podstata tohoto problému odpovídá do jsté míry úloze Dal-a-Rde Problem, v níž jsou ovšem místo věcných zásle přepravovány osoby (tzv přeprava od dveří e dveřím) V taovém případě je vždy zapotřebí uvažovat apactu vozdla a většnou taé časová ona pro nástup (pcup) a výstup (drop off) aždého lenta Přesný algortmus pro statcou úlohu, v níž jsou všechny požadavy na přepravu osob známé předem, uvedl Psarafts (1983) Statcou úlohou, v níž je pro přepravu osob dspozc něol vozdel umístěných v jednom výchozím místě se zabýval Cordeau (2006), terý pro řešení této úlohy popsal metodu větvení a řezů Pro úlohu s více vozdly a časovým ony navrhl Toth a Vgo (1997) paralelní heurstcý vládací algortmus, Jorgensen et al (2007) použl pro řešení genetcé algortmy Možnost využtí constrant programmng př řešení výše uvedené úlohy uvádí Berbegla et al (2011) Kurýrní služba je v povědomí ldí většnou spojena s přepravou věcných zásle V pratcých aplacích lze nalézt úlohu s jedním vozdlem, jejíž statcá dynamcá verze je podrobněj popsána v prác Fábryho (2006) Jsou v ní uvedeny ja optmalzační matematcé modely, ta heurstcé algortmy pro řešení rozsáhlejších úloh V dalším textu bude pozornost věnována úloze, v níž je pro doručení zásle použto více vozdel, terá jsou umístěna v jedném depotu Následující model (Fábry, 2010) vychází z defnce n zásle, teré jsou určeny dvojcí míst (uzlů) a 1, de > 1, sudé V místech se sudým číslem jsou zásly vyzvedávány a v místech s lchým číslem doručovány Celový počet míst (včetně výchozího místa) je tudíž 2n 1 Protože je použtí něola vozdel vhodné pro úlohu s časovým ony, uvedeme model úlohy, v níž jsou defnovány nejdříve možné termíny vyzvednutí zásle a nejpozděj přípustné termíny jejch doručení Tyto hodnoty je možné označt jao ( 2,3,,2n 1) V úloze je nutné znát nejratší a vzdálenost mez uzly a j, označené c j, a odpovídající doby přejezdů t j Protože mají zásly nezanedbatelnou velost q, je nutné uvažovat apactu vozdel Předpoládejme, že ve výchozím místě se nachází K vozdel s různou apactou V ( 1,2,, K) Cílem je tedy najít trasy těch vozdel, terá z depotu vyjedou K tomuto účelu zavedeme bnární proměnnou x j, terá nabývá hodnoty 1 v případě, že -té vozdlo (vozdlo na -té trase) bezprostředně po vyzvednutí č doručení zásly v místě vyzvedne č doručí záslu v místě j Matematcý model lze pa zapsat následujícím způsobem: mnmalzovat za podmíne K 2n1 2n1 z 1 1 1 c j x j (28) 18
K 2n1 1 j1 2n 1 2 2n1 1 v v xj 1, 2,3,,2n 1, (29) x1 1, 1,2,, K, (210) 2n1 xj x jl, j 1,2,,2n 1, 1,2,, K, (211) q q 2 j 2 j1 l 1 V ( 1 x,2 j ) v2 j, 1,2,,2n 1, 1,2,, K, 1,2,, K, j 2,3,, n, V ( 1 x,2 j1) v2 j1, 1,2,,2n 1, j 2,3,, n, j, j, (212) (213) 0 v V, 2,3,,2n 1, 1,2,, K, (214) t j M (1 x j ) j, 1,2,,2n 1, 1,2,, K, j 2,3,,2n 1, j, (215) 2 2 1, 1,2,, n, 1,2,, K, (216) 2n 1 j 1 2 a2 x2, j, 1,2,, n, 1,2,, K, (217) 2n 1 j 1 2 1 a21 x21, j, 1,2,, n, 1,2,, K, (218) 2n1 j 1 2n1 x2, j x21, j, 1,2,, n, 1,2,, K, (219) v1 0, j1 1 0, 1,2,, K, (220) x 0, 1,2,,2n 1, 1,2,, K, (221) 0,1,, j 1,2,,2n 1, j, 1,2 K x j,,, (222) v R0, R0, 2,3,,2n 1, 1,2,, K (223) V modelu jsou zavedeny proměnné ( 1,2,,2n 1; 1,2,, K), jejchž hodnoty představují oamž návštěvy příslušného místa Účelová funce (28) představuje celovou délu všech tras Rovnce (29) zajšťují, že aždé místo (romě depotu) je navštíveno právě jednou Nerovnost (210) povolují aždému vozdlu v depotu maxmálně jeden výjezd (buď vozdlo vůbec nevyjede, nebo vyjede pouze jednou) Podmíny (211) zaručí, že to samé vozdlo, teré do něterého uzlu vjede, z něj taé vyjede Nerovnost (212) a (213) blancují velost náladu vozdla po naložení č vyložení zásly Podmíny (214) zabrání přeročení apacty vozdel na všech trasách Nerovnost (215) jsou analogcé nerovnostem v lascém rozvozním problému s časovým ony Doručení zásly až po jejím vyzvednutí je zajštěna nerovnostm (216) 19
Podmíny (217) a (218) defnují dodržení nejdříve možných termínů vyzvednutí zásle a nejpozděj přípustných termínů pro jejch doručení Rovnce (219) zajstí, že záslu doručí totéž vozdlo, teré j vyzvedlo Expermenty s výše uvedeným modelem uázaly, že př větším rozsahu úlohy je výpočet v prax nerealzovatelný Proto hrají důležtou rol heurstcé algortmy (Fábry a Kobzareva, 2012) Uveďme algortmy pro statcou neapactní úlohu bez časových oen, teré lze snadno rozšířt na úlohu, jejíž matematcý model je uveden výše 221 Modfovaná metoda nejblžšího souseda Opět budeme předpoládat jedno výchozí místo (označené ndexem 1), v němž se nachází K vozdel Množna U bude obsahovat dosud nezařazené uzly, teré může v daném rou navštívt vozdlo, tj na začátu budou všechny tyto množny obsahovat pouze sudé uzly, představující místa vyzvednutí zásle Nechť U je posloupnost míst, odpovídající vygenerované trase -tého vozdla, j je poslední uzel na této trase a z je déla této trasy Hodnota z představuje celovou délu všech tras Kro 1: Pro 1,2,, K U 2,4,, 2n ; U (1) ; j 1; z 0 z 0 Kro 2: Najd vozdlo m a místo s taové, že c j s mn mn c j r nastav m 1,2,, K ru Um U m ( s) ; zm zm c jms ; U U \ s pro 1,2,, K Jestlže s je sudé, pa U U s 1 m m j m s Kro 3: Když je U Ø pro 1,2,, K, pa jd na ro 4, jna jd na ro 2 Kro 4: Pro 1,2,, K proveď: Poud U (1), pa U U ( 1) ; z z c 1 z K z 1 Konec V prvním rou se jedná o ncalzac všech tras Ve druhém rou je nalezeno místo, teré je nejblíže něterému z vozdel, a je následně zařazeno do jeho trasy Vzhledem tomu, že je nutné zachovat přípustnost řešení ja z hledsa doručování zásle až po jejch vyzvednutí, ta z hledsa toho, že záslu musí doručt vozdlo, teré j vyzvedlo, je nutné, během generování tras, odpovídajícím způsobem modfovat výše uvedenou množnu U a posloupnost U pro 1,2,, K 222 Modfovaná vládací metoda Následující algortmus je defnovaný pro K vozdel, terá budou všechna použta, tj předpoládáme K oruhů V množně U se nacházejí dosud nezařazené uzly, teré lze v daném rou zařadt do trasy, tj na začátu budou všechny tyto množny obsahovat j 20
uzly 2,3,,2n 1 Nechť U je posloupnost míst, odpovídající vygenerované trase -tého vozdla, u je prve posloupnost U na -té pozc, z je déla -té trasy Hodnota z představuje celovou délu všech tras Kro 1: Pro 1,2,, K Kro 2: nastav 2,3,,2n 1 Pro 1,2,, K opauj: c 1s max ru U c1r ; U (1, s,1) ; z c1 s cs1 pro 1,2,, K, proveď: U U \ s jestlže s je sudé, pa U U \ s 1 z Pro 1,2,, K opauj: pro aždé r U opauj: a) poud je r sudé a v posloupnost pozc, pa z mn ( c c c rj 1,2,, s1 ; U U s \, jna U U \ s 1 u, r r, u1 u, u1 U exstuje uzel r + 1 na s-té b) poud je r lché a v posloupnost U exstuje uzel r 1 na s-té pozc, pa z mn ( c c c ), c) jna z Poud rj rj z rj s, s1,, U mn 1,2,, U z, pa ), 1 u, r r, u 1 u, u 1 ( c c c 1 u, r r, u1 u, u1 z z rj ; v = r; w = j; m = m Do posloupnost U m přdej uzel v za prve u w U U v ; z z z ; z z z m m \ Pro 1,2,, K, m opauj: m m U U \ v poud je v sudé, pa U U \ v 1 ), jna U U \ v 1 Kro 3: Když je U Ø pro 1,2,, K, pa jd na ro 4, jna jd na ro 2 Kro 4: Konec Tato modface předpoládá, že do obsluhy záazníů se zapojí všechna vozdla, neboť v rou 1 se vytvoří K jednoduchých oruhů (přímých jízd typu 1-s-1), obsahujících výchozí místo a nějaý další uzel V tom případě tedy předpoládáme, že počet K n Př taové podmínce je ovšem zcela evdentní, že tento algortmus může být 21
neefetvní z hledsa zísání dobrého přípustného řešení (poud se K bude blížt n) Metoda tedy vyhovuje spíše úlohám, v nchž počet zásle výrazně převyšuje hodnotu K, případně dy přpouštíme možnost, že pro přepravu nebudou použta všechna dsponblní vozdla Oba modfované heurstcé algortmy, tedy metoda nejblžšího souseda vládací metoda, se řadí mez generující postupy, jejchž aplací zísá řeštel něol tras Samozřejmě se nabízí otáza, zda je možné zísané řešení zlepšt Jednou z možností je aplace metody výměn (Ln a Kernghan, 1973), terá byla původně oncpována pro úlohu obchodního cestujícího, a tudíž se týala výměny hran v rámc jedné trasy My j upravíme pro úlohu urýrní služby s něola vozdly Ve sutečnost nepůjde o výměnu hran, ale uzlů 223 Modfovaná metoda výměn Předpoládejme K tras naplánovaných metodou nejblžšího souseda č vládacím algortmem Nechť U je posloupnost míst, odpovídající vygenerované trase -tého vozdla, u je prve posloupnost déla všech tras Kro 1: U na -té pozc, z je déla -té trasy, z je celová Pro aždou trasu najdeme záslu, tj dvojc příslušných uzlů vyzvednutí a doručení, terá přnese maxmální reduc dély trasy, poud tuto záslu z trasy vyřadíme Tato zásla je anddátem na výměnu Označme tuto reduc jao zexcl ( 1,2,, K) Z těchto hodnot pa vybereme maxmální reduc: zexcl max zexcl m 1,2,, K Nechť tato reduce v trase m odpovídá dvěma uzlům r a r + 1 na pozcích v a w v posloupnost U m Kro 2: Pro všechny trasy 1,2,, K, m najdeme nejvýhodnější vložení uzlů r a r + 1 s využtím standardního vládacího algortmu, terý musí respetovat chronolog vyzvednutí a doručení dané zásly U aždé trasy tedy určíme její mnmální prodloužení, teré označíme zext ( 1,2,, K, m) Z těchto hodnot dále vybereme mnmální hodnotu: zext mn zext p 1,2,, K m Nechť toto prodloužení trasy p odpovídá vložení uzlu r za uzel r + 1 za uzel p u j Je zřejmé, že j 4 p u a uzlu 4 V případě = j budou oba uzly vloženy bezprostředně za sebe 22
Kro 3: Jestlže zexclm > Ext p, proveď přesun, tedy úpravu tras m a p, a poračuj roem 1, jna jd na ro 4 Kro 4: Konec U tohoto algortmu je zapotřebí upřesnt, že se ve sutečnost nejedná a výměnu, ale přeřazení zásly z jedné trasy do trasy jné Výpočetní expermenty (Fábry a Kobzareva, 2012) uazují, že dodatečná změna vygenerovaných heurstcých řešení přnáší výrazné úspory 224 Výpočetní expermenty Ve VBA for Excel byla vytvořena aplace pro ověření efetvnost metody výměn použté pro zlepšení tras vygenerovaných výše uvedeným heurstcým algortmy Bylo vygenerováno 25 úloh s reálným nejratším vzdálenostm mez 21 místy Případy byly rozděleny do 6 supn úloh: aždá supna byla charaterzována horním mezem nejratších vzdáleností mez místy V první supně se mnmální vzdálenost pohybovaly do 60 m, v poslední supně do 200 m Pro obsluhu záazníů byla použta 2 vozdla Modfovaná metoda nejblžšího souseda posytovala v 96 % případů stejné nebo lepší řešení než metoda vládací (aby byly výsledy srovnatelné, v případě metody nejblžšího souseda vyjela na trasy obě vozdla, podobně jao u vládací metody) Po následném použtí metody výměn na trasy zísané oběma typy algortmů, se snížla tato hodnota na 63 %, což uazuje na výhodnost použtí metody výměn, a to především v ombnac s vládacím algortmem Z hledsa celové ujeté vzdálenost došlo v případě ombnace metody nejblžšího souseda a metody výměn e zrácení tras o 3 až 37 % Téměř v polovně případů byla úspora větší než 15 %, pouze ve 3 případech byla úspora nžší než 5 % Průměrná hodnota čnla 16 % U vládací metody přnesla metoda výměn úsporu 9 až 54 %, přčemž v 80 % případů byla celová déla všech tras zrácena o více než 20 % a pouze v 1 případě bylo zrácení nžší než 10 % Téměř u polovny případů zlepšení přesáhlo doonce 30 % Průměrná hodnota byla 29 % Uvedené výsledy uazují na význam metody výměn jao zlepšujícího postupu pro vygenerované trasy Zároveň bylo proázáno, že vládací metoda ve výše uvedené formě neposytuje očeávané výsledy, což může být způsobeno mj nevhodně zvoleným postupem ncalzace tras v rou 1 Poud by př ncalzac tras vyjížděla vozdla přblžně stejným směrem, bude zřejmě zísané řešení neefetvní (vz obr 21) Podle navrženého postupu by první vozdlo zařadlo do své trasy místo a druhé vozdlo místo v (poud by byly samozřejmě splněny další podmíny pro zísání přípustného řešení) 23
Obr 21: Vládací algortmus, ncalzace tras j 1 v Intutvně lepším řešením je zařadt do trasy druhého vozdla místo j, aby místo v mohlo zařadt do své trasy první vozdlo Jedná se samozřejmě o modelový přílad Tuto alternatvní možnost ncalzace lze formalzovat následujícím způsobem: Kro 1: Pro 1,2,, K nastav U 2,3,,2n 1 c (1,,1 z c c ; U U \ s ; U1 s ) ; 1 1s s1 c1s max 1v vu 1 Pro 2,3,, K proveď: U U s 1 1 \ jestlže s je sudé, pa U U \ s 1, jna U U \ s 1 Pro 2,3,, K opauj: p 1 vu c p max c p ; U (1, s,1) ; z c1 s cs1 ; 2 s p 1 2 v pro 1,2,, K, proveď: U U \ s jestlže s je sudé, pa U U \ s 1, jna U U \ s 1 Nejprve je nalezen uzel, terý je nejvzdálenější výchozímu uzlu a ten je zařazen do trasy prvního vozdla, tj vytvořena posloupnost U1 (1, s,1) Následně se vytvářejí trasy dalších vozdel ta, že se hledá taový uzel, terý může být přřazen danému vozdlu a zohledňují se nejratší vzdálenost (resp jejch součet) tohoto uzlu od uzlů jž přřazených p předchozím vozdlům Index 2 označuje v pořadí vždy druhý uzel na trase p-tého vozdla, de p musí být menší než (trasy vozdel jsou vytvářeny postupně podle jejch pořadí) Taé metoda výměn může být vylepšena Poud by v jejím rou 3 algortmus sončl, neboť by plánované přeřazení zásly nepřneslo žádoucí efet, je možné se vrátt e rou 1 a poust se o efetvní přeřazení z druhé nejvýhodnější trasy v pořadí, tedy trasu m zařadíme do jaéhos tabu seznamu Tato můžeme postupovat s dalším trasam Tento postup je výhodné využít v úlohách, v nchž uvažujeme apactu vozdel č časová ona Přeřazování zásle je užtečné v případě nerovnoměrného zatížení jednotlvých vozdel z hledsa počtu vyřízených zásle, případně z hledsa časové dély jednotlvých tras a dély pracovního dne 24
Závěr Přepravní úlohy patří v prax velce freventovaným dstrbučním úlohám Z hledsa lasface se jedná většnou o úlohy typu PDP, v nchž je požadave na přepravu daný místem vyzvednutí a místem doručení zásly V česé termnolog se pro tento typ úloh často používá označení úloha urýrní služby Z pratcého hledsa je mnohdy nezbytné pro přepravu zásle použít více vozdel, ať jž vůl omezené apactě vozdel nebo vzhledem časovým nároům ladeným na přepravu Právě využtí něola vozdel je předmětem článu Je uveden matematcý model, jehož pratcá použtelnost ovšem naráží na NP-obtížnost úlohy Proto je nutné se přlont přblžným postupům V textu lze najít modfované heurstcé metody, onrétně metodu nejblžšího souseda a vládací algortmus Obě tyto metody se používají pro generování tras vozdel, teré lze následně vylepšt dalším heurstcým metodam jao např metodou výměn V našem případě se jedná o výměnu zásle mez jednotlvým trasam, přesněj řečeno o jejch přesun z trasy jednoho vozdla do trasy jného vozdla Navržené metody byly aplovány ve VBA for Excel a jejch funčnost ověřena na vygenerovaných úlohách s využtím nejratších vzdáleností v reálné dstrbuční sít Navíc byl proázán význam metody výměn, terá zlepšuje (z hledsa celové dély tras) zísané trasy až o desíty procent Klíčová slova Transhpment Problem, přepravní úloha, úloha urýrní služby, metoda nejblžšího souseda, vládací algortmus, metoda výměn Klasface JEL C02, C44, C61 LITERATURA [1] ACHUTHAN, N R CACCETTA, L HILL, S P 2003 An Improved Branchand-Cut Algorthm for the Capacted Vehcle Routng Problem In Transportaton Scence 37, s 153-169 [2] BERBEGLIA, G PESSANT, G ROUSSEAU, L-M 2011 Checng the Feasblty Dal-a-Rde Instances Usng Constrant Programmng In Transportaton Scence 45, s 399-412 [3] BRÄYSY, O GENDREAU, M 2005a Vehcle Routng Problem wth Tme Wndows, Part I: Route Constructon and Local Search Algorthms In Transportaton Scence 39, s 104-118 [4] BRÄYSY, O GENDREAU, M 2005b Vehcle Routng Problem wth Tme Wndows, Part II: Metaheurstcs In Transportaton Scence 39, s 119-139 [5] CORDEAU, J-F 2006 A Branch-and-Cut Algorthm for the Dal-a-Rde Problem In Operatons Research 54, s 573-586 25
[6] CORDEAU, J-F LAPORTE, G ROPKE, S Recent Models and Algorthms for One-to-One Pcup and Delvery Problems s 327-357 In GOLDEN, B L RAGHAVAN, S WASIL, E A (eds) 2008 The Vehcle Routng Problem: Latest advances and New Challenges Sprnger [7] CORDEAU, J-F DESAULNIERS, G DESROSIERS, J SOLOMON, M M SOUMIS, F VRP wth Tme Wndows s157-193 In TOTH, P, VIGO, D (eds) 2002 The Vehcle Routng Problem SIAM [8] ČIČKOVÁ, Z REIFF, M SURMANOVÁ, K 2014 Splt delvery vehcle routng problem wth tme wndows In Mathematcal Methods n Economcs 2014, Olomouc, s 128-132 [9] ČIČKOVÁ, Z BREZINA, I 2008 An evolutonary approach for solvng vehcle routng problem In Quanttatve methods n economcs: multple crtera decson mang XIV: proceedngs of the nternatonal conferencene, Hgh Tatras, Slovaa, s 40-44 [10] DESROCHERS, M DESROSIERS, J SOLOMON, M 1992 A New Algorthm for the Vehcle Routng Problem wth Tme Wndows In Operatons Research 40, s 342-354 [11] DROR, M TRUDEAU, P 1989 Savngs by Splt Delvery Routng In Transportaton Scence 23, s 141-145 [12] EISELT, H A SANDBLOM, C-L 2000 Integer Programmng and Networ Models Sprnger [13] FÁBRY, J Oružní a rozvozní úlohy 53-84 In Fala, P (ed) 2010 Operační výzum nové trendy Praha : Professonal Publshng [14] FÁBRY, J 2006 Dynamcé oružní a rozvozní úlohy Dsertační práce VŠE-FIS, Praha 141 s [15] FÁBRY, J KOBZAREVA, M 2012 Multple Messenger Problem In Mathematcal Methods n Economcs 2012, Karvná, s 141-147 [16] GENDREAU, M HERTZ, A LAPORTE, G 1994 A Tabu Search Heurstc for the Vehcle Routng Problem In Management Scence 40, s 1276-1290 [17] GOLDEN, B RAGHAVAN, S WASIL, E (eds) 2008 The Vehcle Routng Problem: Latest Advances and New Challenges Sprnger [18] GOLDEN, B L WASIL, E A KELLY, J P CHAO, I-M Metaheurstcs n Vehcle Routng s 33-56 In CRAINIC, T, LAPORTE, G (eds) 1998 Fleet Management and Logstcs Boston : Kluwer Academc Publsher [19] GUTIN, G PUNNEN, A P (eds) 2002 The Travelng Salesman Problem and Its Varatons Kluwer Academc Publshers [20] JORGENSEN, R M LARSEN, J BERGVINSDOTTIR, K B 2007 Solvng the Dal-a-Rde Problem Usng Genetc Algorthms In Journal of the Operatonal Research Socety 58, s 1321-1331 [21] KOLEN, A W J RINNOOY KAN, A H G TRIENEKENS, H W J M 1987 Vehcle Routng wth Tme Wndows In Operatons Research 35, s 266-273 [22] LAPORTE, G NOBERT, Y, TAILLREFER, S 1988 Solvng a Famly of Mult-Depot Vehcle Routng and Locaton Routng Problems In Transportaton Scence 22, s 161-172 26
[23] LIN, S KERNIGHAN, B W 1973 An Effectve Heurstc Algorthm for the Travelng Salesman Problem In Operatons Research 21, s 498-516 [24] PELIKÁN, J 2001 Dsrétní modely v operačním výzumu Praha : Professonal Publshng [25] POTVIN, J-Y BENGIO, S 1996 The Vehcle Routng Problem wth Tme Wndows, Part II: Genetc Search In INFORMS Journal on Computng 8, s 165-172 [26] POTVIN, J-Y KERVAHUT, T GARCIA, B-L ROUSSEAU, J-M 1996 The Vehcle Routng Problem wth Tme Wndows, Part I: Tabu Search In INFORMS Journal on Computng 8, s 158-164 [27] PSARAFTIS, H N 1983 An Exact Algorthm for the Sngle Vehcle Many-to-Many Dal-a-Rde Problem wth Tme Wndows In Transportaton Research 17, s 351-357 [28] RUSSEL, R A 1995 Hybrd Heurstcs for the Vehcle Routng Problem wth Tme Wndows In Transportaton Scence 29, s 156-166 [29] SAVELSBERGH, M W P 1992 The Vehcle Routng Problem wth Tme Wndows: Mnmzng Route Duraton In ORSA Journal on Computng 4, s 146-154 [30] TAILLARD, É D BADEAU, P GENDREAU, M GUERTIN, F POTVIN, J-Y 1997 A Tabu Search Heurstc for the Vehcle Routng Problem wth Soft Tme Wndows In Transportaton Scence 31, s 170-186 [31] TOTH, P VIGO, D (eds) 2002 The Vehcle Routng Problem SIAM [32] TOTH, P VIGO, D Exact Soluton of the Vehcle Routng Problem s 1-31 In CRAINIC, T LAPORTE, G (eds) 1998 Fleet Management and Logstcs Boston : Kluwer Academc Publsher [33] TOTH, P VIGO, D 1997 Heurstc Algorthms for the Handcapped Persons Transportaton Problem In Transportaton Scence 31, s 60-71 RESUMÉ Přepravní úlohy jsou specálním typem rozvozních úloh Transhpment Problem je úlohou, v níž se přepravuje homogenní zboží mez uzly po hranách s omezenou apactou Cílem je uspoojt požadavy odběratelů a nepřeročt apacty dodavatelů př mnmálních celových přepravních náladech V ontejnerové verz tohoto problému se zboží přepravuje v ontejnerech s defnovanou apactou; pro aždou hranu jsou defnovány nálady na přepravu jednoho ontejneru Úloha urýrní služby patří mez úlohy typu Pcup and Delvery Jedná se o přepravu heterogenních zásle, z nchž aždá je dána místem vyzvednutí a místem doručení Protože může být zadána velost zásly, je nezbytné uvažovat apactu vozdla V taovém případě je nutné pro přepravu zásle použít něol vozdel Navíc mohou být zadána časová ona např v podobě nejdříve možných termínů vyzvednutí zásle a nejpozděj přípustných termínů jejch doručení Vzhledem tomu, že se jedná o NP-obtížné problémy, je pro reálné úlohy nutné dsponovat vhodným heurstcým postupy K jednoduchým algortmům patří modface metody nejblžšího souseda a vládací metody Vygenerované trasy vozdel je 27
možné dodatečně upravt za účelem nalezení lepšího rozvržení zásle mez jednotlvá vozdla např použtím modfované metody výměn SUMMARY Pcup and Delvery Problems are specal nstances of Vehcle Routng Problems In Transshpment Problem, homogenous goods are transported between nodes through arcs wth lmted capacty The objectve s to satsfy requrements of customers wthout exceedng capactes of supplers and mnmze total transportaton cost Contaner verson conssts n the transport of goods n capactated contaners; cost per contaner s defned for each arc In Messenger Problem, a shpment s gven by the pcup locaton and delvery locaton Because shpment szes are obvously gven, vehcle capacty has to be consdered In such case multple vehcles must be used In addton, tme wndows can be ntroduced n the form of the earlest possble tme for pcup and the latest possble tme for delvery Because NP-hard problems are solved, t s necessary to use heurstc algorthms for real applcatons, eg smple modfcatons of nearest neghbor method and nserton method Generated routes can be mproved usng the modfed exchange algorthm Kontat Ing Jan Fábry, PhD, Katedra eonometre, Faulta nformaty a statsty, Vysoá šola eonomcá v Praze, nám W Churchlla 4, 130 67 Praha 3, tel: +420/224 095 448, e-mal: fabry@vsecz 28