Mendelova univerzita v Brně Provozně ekonomická fakulta Optimalizace distribučních tras firmy PNS, a. s. Bakalářská práce Vedoucí práce: Ing. Jakub Šácha Zpracovala: Alexandra Suchánková Brno 2012
Zde bych chtěla poděkovat vedoucímu bakalářské práce Ing. Jakubu Šáchovi za jeho pomoc, kterou mi při tvorbě této práce poskytl.
Prohlašuji, že jsem tuto bakalářskou práci zpracovala samostatně za použití literatury, která je uvedena v přiloženém seznamu. V Brně dne 20. května 2012
Abstract SUCHÁNKOVÁ, A. Optimization of distribution routes in company PNS. Bachelor thesis. Brno: Mendel University in Brno, 2012. The bachelor thesis deals with the solution of orbital transport problem. The aim of the thesis is to suggest optimal distribution routes. For the calculation is used Little s algorithm and Storm software. The new routes are compared with the original and then are evaluated according to various criteria. Keywords Optimization of distribution routes, orbital transport, Little s algorithm, Storm software Abstrakt SUCHÁNKOVÁ, A. Optimalizace distribučních tras firmy PNS, a. s. Bakalářská práce. Brno: Mendelova univerzita v Brně, 2012. Bakalářská práce se zabývá řešením dopravního okružního problému. Cílem je navrhnout firmě distribuční cesty tak, aby byly optimální. Pro výpočet je využito Littlova algoritmu a programu Storm. Nové trasy jsou porovnány s původními a jsou zhodnoceny podle různých hledisek. Klíčová slova Optimalizace distribučních cest, okružní problém, Littlův algoritmus, program Storm
Obsah 5 Obsah 1 Úvod 10 2 Cíl práce a metodika 11 2.1 Cíl práce... 11 2.2 Metodika práce... 11 3 Literární rešerše 12 3.1 Logistika...12 3.1.1 Pojem a vývoj logistiky...12 3.1.2 Cíle logistiky...13 3.1.3 Členění logistiky...13 3.1.4 Dopravní logistika...14 3.1.5 Metody uplatňované v logistice při řízení a optimalizaci...14 3.1.6 Významné podněty pro rozvoj logistiky... 17 3.2 Operační výzkum... 17 3.2.1 Matematické programování...18 3.2.2 Lineární programování...18 3.2.3 Distribuční úlohy... 20 3.2.4 Okružní problém... 20 3.2.5 Řešení úloh za pomoci softwaru... 23 3.2.6 STORM... 23 4 Vlastní analýza problému 30 4.1 Charakteristika podniku... 30 4.2 Vstupní data...31 4.2.1 Trasa č. 1 před optimalizací... 33 4.2.2 Trasa č. 2 před optimalizací... 34 4.2.3 Trasa č. 3 před optimalizací... 34
Obsah 6 4.3 Optimalizace pomocí Littlovy metody...35 4.4 Optimalizace pomocí programu STORM... 42 4.4.1 Trasa č. 1... 43 4.4.2 Trasa č. 2... 44 4.4.3 Trasa č. 3... 46 4.5 Zhodnocení výsledků...47 4.5.1 Porovnání průběhu tras...47 4.5.2 Zhodnocení výsledků z hlediska najetých kilometrů... 50 4.5.3 Zhodnocení výsledků z hlediska spotřeby času...51 4.5.4 Zhodnocení výsledků z hlediska spotřeby paliva...51 4.5.5 Zhodnocení výsledků z finančního hlediska...52 5 Diskuse 55 6 Závěr 56 7 Literatura 58 Přílohy
Seznam obrázků 7 Seznam obrázků Obr. 1 Obr. 2 Obr. 3 Obr. 4 Obr. 5 Obr. 6 Obr. 7 Úvodní obrazovka programu STORM Hlavní menu programu STORM Vstupní režim programu STORM Editační režim programu STORM Režim zpracování programu STORM Režim zpracování programu STORM Optimalizovaná trasa č. 1 programem STORM Obr. 8 Optimalizovaná trasa č. 1 programem STORM - pokračování Obr. 9 Optimalizovaná trasa č. 2 programem STORM Obr. 10 Optimalizovaná trasa č. 2 programem STORM - pokračování Obr. 11 Optimalizovaná trasa č. 3 programem STORM Obr. 12 Optimalizovaná trasa č. 3 programem STORM - pokračování Obr. 13 Podíl jednotlivých tras na celkové roční úspoře
Seznam tabulek 8 Seznam tabulek Tab. 1 Tab. 2 Tab. 3 Tab. 4 Tab. 5 Tab. 6 Tab. 7 Trasa č. 1 před optimalizací Trasa č. 2 před optimalizací Trasa č. 3 před optimalizací První krok Littlovy metody první část První krok Littlovy metody druhá část Jednotlivé kroky výpočtu Littlovou metodou Optimalizovaná trasa č. 1 Littlovou metodou Tab. 8 Porovnání průběhu trasy č. 1 Tab. 9 Porovnání průběhu trasy č. 2 Tab. 10 Porovnání průběhu trasy č. 3 Tab. 11 Tab. 12 Tab. 13 Najeté vzdálenosti v kilometrech Úspora paliva (v litrech) Úspora finančních prostředků (v Kč) Tab. 14 Přehled státních svátků roku 2013 Tab. 15 Tab. 16 Úspora finančních prostředků za rok (v Kč) Úspora času (v min) Tab. 17 Matice vzdáleností (v km) trasy č. 1 Tab. 18 Matice vzdáleností (v km) trasy č. 2 Tab. 19 Matice vzdáleností (v km) trasy č. 3 Tab. 20 Matice časů (v min) trasy č. 1 v návaznosti na matici vzdáleností
Seznam tabulek 9 Tab. 21 Tab. 22 Matice časů (v min) trasy č. 2 v návaznosti na matici vzdáleností Matice časů (v min) trasy č. 3 v návaznosti na matici vzdáleností
Úvod 10 1 Úvod Jedním z hlavních rysů podnikání je, že se jedná o činnost prováděnou za účelem dosažení zisku. Avšak aby tohoto základního motivu podnikání bylo dosaženo, musí tomu odpovídat především orientace podniku na zákazníka a kvalita nabízených služeb. Mezi tyto služby můžeme zahrnout také logistické služby, to znamená včasné a správné doručení nákladu odběratelům, což jsou v této práci ve většině případů trafiky. V dnešní době je stěžejním faktorem reakční rychlost dodávek dle přání individuálních zákazníků. Všechny podnikové oblasti vyžadují efektivní řízení pro minimalizaci nákladů a maximalizaci zisku. Do konečné ceny výrobku se ve značné míře promítají logistické náklady, což mohou být např. náklady na přepravu, skladování a řízení zásob nebo náklady na mzdy pracovníků logistického oddělení. Proto je vhodné i tyto náklady eliminovat. Jedno z možných řešení je pomocí lineárního programování a následné optimalizace distribučních cest. S její pomocí získáme distribuční cesty, které jsou pro podnik nejvýhodnější, tedy nejkratší. Dojde ke snížení najetých kilometrů a tím i ke snížení přepravních nákladů, což s dnešními rekordně vysokými a stále rostoucími cenami ropy může uspořit značnou částku. Kromě finančních prostředků se může snížit i časová náročnost při rozvozu. Proto jsem se rozhodla v této práci zaměřit na optimalizaci distribučních cest při rozvozu deníků, časopisů, elektronických médií a neperiodického sortimentu. Konkrétně se bude jednat o optimalizaci (minimalizaci) dopravní náročnosti, tzn. snížení počtu najetých kilometrů poskytnutých tras. K této optimalizace chci použít Littlův algoritmus a program Storm. Výsledky zjištěné pomocí těchto dvou různých metod budou porovnány v další části i se stávajícími trasami, které jsou nyní pro rozvoz využívány. Předpokládám, že program Storm zajistí lepší výsledky než ruční výpočet podle Littlovy metody. A zároveň předpokládám, že z výpočtů této práce vyplynou firmě úspory, což je také potencionální cíl této práce. Výstupy této práce společně s návrhem nových tras a interpretací výsledků předložím řidičům tras a také vedení firmy.
Cíl práce a metodika 11 2 Cíl práce a metodika 2.1 Cíl práce Hlavním cílem této práce je navrhnout distribuční cesty firmě, resp. řidičům rozvozu tak, aby byly optimální pro zajišťování dodávek deníků, časopisů, elektronických médií a neperiodického sortimentu. Dalším cílem je tyto optimální cesty porovnat s dosavadními a obsáhnout rozdíly mezi nimi, tzn. případně vytvořit úspory při rozvážce. 2.2 Metodika práce V teoretické části (kapitola 3) se zaměříme na základní poznatky o logistice, jako jsou pojem logistika, její vývoj, cíle a členění. Dále uvedeme metody uplatňované při řízení a optimalizaci oběhových procesů, které zahrnují i problém obchodního cestujícího, kterým se v této práci budeme zabývat. Shrneme také faktory, které zapříčinily rozvoj logistiky. V druhé polovině této kapitoly se budeme zaobírat operačním výzkumem a lineárním programováním, jako jeho součástí. Uvedeme zde obecné informace a typické úlohy pro lineární programování. Dále si uvedeme metody s jejichž pomocí náš problém vyřešíme. V praktické části (kapitola 4) je využita zejména metoda modelování, jako základní instrument operačního výzkumu. Na začátku této kapitoly si uvedeme základní charakteristiku podniku a jeho činnost. Budeme analyzovat získaná data a problém s nimi související. V další části této kapitoly bude provedena optimalizace původních dat. Ta bude provedena podle vybrané metody a také za použití speciálního softwaru. V poslední části (podkapitola 4.5) bude využita metoda komparace. Z této komparace budou odvozeny konkrétní závěry.
Literární rešerše 12 3 Literární rešerše 3.1 Logistika 3.1.1 Pojem a vývoj logistiky Pojem logistika není v literatuře jednoznačně vymezen, existuje pro něj řada definic. Dle Kubíčkové (2006, s. 4) lze zjednodušeně říci, že se logistika zabývá pohybem zboží a materiálu z místa vzniku do místa spotřeby a s tím souvisejícím informačním tokem. Logistika se týká všech komponent oběhového procesu, zejména se jedná o dopravu, řízení zásob, manipulaci s materiálem, balení, distribuci a skladování. Zahrnuje také informační, komunikační a řídící systémy. Jejím hlavním úkolem je zajistit správné materiály na správném místě, ve správném čase, v požadované kvalitě, s příslušnými informacemi a s odpovídajícím finančním dopadem. Jinou definici předkládá Sixta a Žižka (2009, s. 19), která označuje logistiku jako vědu, která se zabývá celkovou koordinací a optimalizací všech činností, jejichž řetězce jsou nezbytné k pružnému a hospodárnému dosažení daného konečného efektu. Logistika má tedy dbát na to, aby místo příjmu bylo zásobeno podle jeho požadavků z místa dodání správnými výrobky, ve správném množství, ve správném čase a to všechno za předpokladu minimálních nákladů. Podle Drahotského a Řezníčka (2003, s. 1-2) pojem logistika nejdříve používali řečtí filozofové, později se vyskytoval v aritmetice a znamenal praktické počítání s čísly. Od 9. století se tento výraz používal ve spojitosti s vojenstvím. Logistika zajišťovala zásobování vojska potravinami, zbraněmi nebo také municí, logističtí důstojníci připravovali vojenské akce a kontrolovali pohyby vojenských jednotek. V souvislosti s podporou obchodní strategie podniku a dosahováním užitné hodnoty času a místa se logistika jako předmět zkoumání objevuje až na počátku dvacátého století. Výrazná pozornost logistice se začala věnovat po skončení druhé světové války, především v USA. Problémy se zásobováním vedly k hojnému využívání matematických metod. Tyto metody našly uplatnění v podnikové logistice, konkrétně stanovení optimálního množství produkce, rozmístění skladů nebo problémy spojené s dopravou a jejími náklady. Uplatnění logistiky bylo stále větší, bylo nutné řešit stále složitější výrobní a distribuční procesy. Náročnější požadavky byly také na dopravu. Za pomocí optimalizace zásobování bylo možné snížit finanční prostředky vázané v zásobách.
Literární rešerše 13 Význam logistiky v současnosti neustále roste spolu s narůstající globalizací. Účinnost logistiky se zvyšuje spolu s rozvojem informačních technologií. (Drahotský a Řezníček, 2003, s. 2) 3.1.2 Cíle logistiky Cíle podnikové logistiky musí vycházet z podnikové strategie a musí pomáhat plnit cíle celopodnikové. Na druhé straně také musí zabezpečit přání zákazníků na zboží a služby s požadovanou úrovní a to při minimálních celkových nákladech. Cíle logistiky lze podle Sixty a Mačáta (2005, s. 41-44) rozčlenit na vnější a vnitřní cíle nebo také dle jiných kritérií na složku výkonovou a ekonomickou. Vnější cíle se složkou výkonovou jsou brány podnikem jako prioritní, naopak vnitřní cíle se složkou ekonomickou jako sekundární. Vnější logistické cíle se zaměřují na uspokojování přání zákazníků, což je základním cílem logistiky. Zákazník je nejdůležitějším článkem celého řetězce a zároveň i posledním, zde logistický řetězec zabezpečující pohyb materiálu a zboží končí. Do této skupiny cílů lze např. zařadit zvyšování objemu prodeje, zkracování dodacích lhůt nebo zlepšování flexibility logistických služeb. Vnitřní cíle se orientují na snižování nákladů, což mohou být náklady na zásoby, dopravu, manipulaci a skladování, výrobu nebo řízení. Výkonové cíle zajišťují požadovanou úroveň služeb a ekonomickými cíli se tyto služby snaží zabezpečit a to s minimálními náklady. 3.1.3 Členění logistiky Logistické systémy, jak uvedli Sixta a Mačát (2005, s. 45-50), lze dělit z různých pohledů odborníků, ale také z různých hospodářských zájmů. Nejjednodušší a v dnešní době používané členění je možné rozdělit dle dvou nejběžnějších hledisek: podle šíře zaměření na studium materiálových toků o makrologistika o mikrologistika podle hospodářsko-organizačního místa uplatnění o výrobní (podniková) logistika o obchodní logistika o dopravní logistika
Literární rešerše 14 Makrologistika se zabývá logistickými řetězci, které jsou nezbytné pro výrobu určitých výrobků od těžby až po prodej a dodání zákazníkovi. Její pohled překračuje hranice jednotlivých podniků a někdy i států. Mikrologistika se zabývá logistickým systémem uvnitř určité organizace nebo její částí (průmyslový závod, jednotlivý sklad). Náplní podnikové logistiky je např. nákup materiálu, polotovarů a dílčích výrobků (logistika zásobování), řízení toku materiálu (vnitropodniková logistika) a dodávky výrobků zákazníkům (logistika distribuce). Obchodní logistika se zaměřuje na řízení pohybu zboží od výroby až k zákazníkovi. Dopravní logistika je samostatně uvedena v kapitole 3.1.4. 3.1.4 Dopravní logistika Dopravní logistika dle Kubíčkové (2006, s. 48) koordinuje, synchronizuje a optimalizuje pohyby zásilek po dopravní síti od místa a okamžiku jejich vstupu do sítě až po místo a okamžik jejich výstupu ze sítě, a to za účasti jednoho druhu dopravy nebo několika druhů dopravy. Protože pohyb každé zásilky probíhá za účasti dopravních, manipulačních prostředků a zařízení a je zprostředkován přenosem informací, zabývá se dopravní logistika i koordinací, synchronizací a optimalizací prostorového rozmístění, kapacit a pohybů těchto prostředků a zařízení. Kubíčková (2006, s. 48) také uvádí, že doprava zajišťuje přesun výrobků na geograficky oddělené trhy, pokud výrobky přicházejí na trh včas, nepoškozené a v požadovaném množství, poskytuje doprava zákazníkům přidanou hodnotu. Tímto přispívá doprava k úrovni zákaznického servisu a tím ke spokojenosti zákazníků. Jedná se tedy o souhrn činností uskutečňující pohyb dopravních prostředků po dopravních cestách. Termínem přeprava rozumíme část dopravy, kterou se uskutečňuje přemístění materiálu (věcí) nebo osob dopravními prostředky či zařízeními. 3.1.5 Metody uplatňované v logistice při řízení a optimalizaci Logistika je "kvantitativní řízení", které musí upozorňovat na slabá místa v toku materiálu. Musí utvářet všechny příslušné procesy od začátku tvorby strategie až po okamžik dodání výrobku zákazníkovi. Z toho důvodu je nutné při řešení logistických projektů uplatnit širokou škálu metod. (Sixta a Žižka, 2009, s. 7) Podle Drahotského a Řezníčka (2003, s.133) se metodou rozumí promyšlený a cílevědomý přístup k řešení a postup při řešení problému. Každá z metod má obecný cíl, tj. poznání skutečnosti a její změna k lepšímu. V některých pří-
Literární rešerše 15 padech se využívá kombinace dvou nebo i více metod. Předpokladem k úspěchu je správné zvolení metody. V logistice využíváme především metod exaktních a heuristických. Metody exaktní, nazývané též teoretické metody, jsou podloženy poznáním vědních oborů, nejčastěji matematických disciplín. Využívají se zejména pro diagnostické a optimalizační úlohy rozhodovacích procesů. Do exaktních metod, jak uvádí Sixta a Žižka (2009, s. 7-9), můžeme zařadit: metody sloužící k analýze logistických procesů o systémová analýza o analýza ABC o hodnotová analýza o analýza nákladů statistické metody metody operační analýzy o teorie zásob o teorie obnovy o teorie front o lineární programování simulační metody metody teorie grafů o úlohy síťové analýzy o stanovení optimálních toků v sítích prognostické metody Systémová analýza slouží k objasnění celkových procesů v podniku. Metoda ABC je vhodná hlavně k určení prvků, které mají pro ekonomiku celkového systému největší význam. Hodnotová analýza se využívá pro hodnocení hospodárnosti při pohybu materiálu. Analýza nákladů je metoda zjišťování nákladů v pohybových úsecích logistiky. Statistické metody jsou metody matematické statistiky, které jsou využívány ve formě statistické analýzy pro diagnózu řídicích systémů a také se využívají pro různé formy matematického modelování. Metody operační analýzy shrnují metody, které pomocí řady matematických disciplín modelují určité stavy technologických procesů nebo procesů rozhodovacích. Simulační metody za pomoci algoritmu, který s dostatečnou přesností popisuje určité děje nebo procesy zobrazující určitý systém nebo práci určitého
Literární rešerše 16 systému v dosti dlouhém časovém období, jsou schopny v krátkém časovém intervalu problém vyřešit. Metody teorie grafů se často využívají pro řešení dopravních systémů ve formě orientovaného nebo neorientovaného grafu. Úlohy síťové analýzy (např. CPM) se využívají pro optimalizaci postupů a technologických procesů. Stanovením optimálních toků v sítích, můžeme zjistit maximální možný tok uskutečnitelný v rámci sítě. Prognostické metody se zabývají odhadem budoucího vývoje nebo budoucí události. Metody heuristické se obvykle využívají pro rozhodovací procesy s vysokou mírou neurčitosti a využívají technik, které zpracovávají intuitivní, avšak vysoce kvalifikované odhady špičkových pracovníků expertů. Tyto metody se dají rozdělit do dvou skupin: expertní systémy metody tvořivého myšlení o brainstorming 1 o brainwritting 2 U expertních systémů se expert opírá o svoje znalosti nabyté studiem dané problematiky a o zkušenosti z obdobných úloh. Základním principem metod tvořivého myšlení je výběr, přetváření a spojování prvků předcházejících zkušeností. Nejznámějšími představiteli těchto metod jsou brainstorming a brainwritting. 1 Brainstorming je metoda, jak přimět skupinu lidí, aby přinesla množství nápadů během relativně krátkého časového intervalu. Počet nápadů je obvykle větší než pokud je člověk sám a výhodou je také soutěživost, která může zvýšit výkonnost účastníků. Brainstorming má svá pravidla, která je nutné dodržovat. 2 Brainwritting má základ v metodě brainstormingu, výhodu mají ti účastníci, kteří mají potíže s verbální komunikací, své nápady tedy zaznamenávají v písemné formě. (Drahotský a Řezníček, 2003, s. 138-142)
Literární rešerše 17 3.1.6 Významné podněty pro rozvoj logistiky Významné podněty pro vývoj logistiky byly formulovány v období 50. let minulého století. K rychlé implementaci logistiky do hospodářské praxe pomohl: vývoj a využití elektronického zpracování dat matematické modelování rozšíření trhu v národním a mezinárodním měřítku intenzifikace konkurence, především zahraniční intenzivní tlak na zisky zvýšení významu distribuce růst distribučních nákladů a jejich účinky na zisk objevení systémové teorie a teorie řízení výzkum a literatura v oblasti distribuce Předmětem úsilí logistických odborníků nesmí být optimalizace dílčích oblastí, ale vždy se musí hledat optimální řešení logistického systému jako celku. Z toho plyne, že jádrem logistické orientace podnikového managementu je systémové myšlení. (Sixta a Žižka, 2009, s. 13-14) 3.2 Operační výzkum Operační výzkum, jak uvádí Dudorkin (1997, s. 5), je vědecká disciplína, která zkoumá operace v organizačních jednotkách a je charakterizována systémovým přístupem, analýzou matematických modelů, orientací na procesy rozhodování, s využitím výpočetní techniky. Podle Jablonského (2007, s. 10) lze operační výzkum označit jako prostředek pro nalezení optimálního řešení problému při respektování různých omezení ovlivňujících chod systému. Jeho základním nástrojem je matematické modelování. Holoubek (2010, s. 8) uvádí, že modelování je nepřímý způsob poznání, spočívající v napodobení podstatných vlastností objektů, procesů a na nich definovaných systémů. Přitom modelované objekty mohou ale také nemusí fakticky existovat. Cílem modelování je získání poznatků o zkoumaném problému, omezení nejistoty při rozhodování. Rašovský a Šišláková (1999, s. 11) uvádí, že při modelování zobrazujeme jeden systém (originál) jiným, jednodušším systémem. Tento systém se nazývá model, který je abstrakcí reality. Jablonský (2007, s. 10-13) také uvádí postup užívaný při modelování. V první řadě jde o rozpoznání problému v rámci reálného systému a jeho definování. Následuje formulace ekonomického modelu, který představuje zjednodušený popis reálného systému, obsahuje tedy pouze nejpodstatnější prvky.
Literární rešerše 18 Jedná se o slovní a numerický popis problému, který je následně převeden na matematický model. Ten je poté řešitelný standardními postupy. V další fázi nastává řešení matematického modelu standardními postupy s využitím počítačového programu. Po vyřešení modelu nastává ověření výsledků (verifikace) a interpretace. V případě úspěšné verifikace lze přistoupit k implementaci v rámci reálného systému. Ta by měla přispět ke zlepšení fungování daného systému s ohledem na předem definovaný cíl. Problémy řešené operačním výzkumem jsou z různých oblastí ekonomického života. Proto postupně vznikly samostatné disciplíny, které zajišťují pro dané problémy specifický přístup. Klasifikace disciplín, jak uvádí Jablonský (2007, s. 13-16), je následující: 1. Matematické programování 2. Vícekriteriální rozhodování 3. Teorie grafů 4. Teorie zásob 5. Teorie hromadné obsluhy (teorie front) 6. Modely obnovy 7. Markovské rozhodovací procesy 8. Teorie her 9. Simulace 3.2.1 Matematické programování Matematické programování je odvětví operačního výzkumu, které se zabývá řešením optimalizačních úloh. Cílem je nalezení extrému daného kritéria definovaného kriteriální funkcí na množině variant určených soustavou omezujících podmínek (Jablonský, 2007, s. 13). Řečeno jinými slovy dle Holoubka (2010, s. 6): Cílem této disciplíny je hledání optimálního řešení problému, který vyplývá z existence množiny omezujících podmínek. Jsou-li kriteriální funkce a všechny rovnice a nerovnice v modelu použité lineární, jedná se o úlohu lineárního programování. V případě, že funkce nebo alespoň jedna z omezujících podmínek jsou nelineární, mluvíme o úloze nelineárního programování. 3.2.2 Lineární programování Holoubek (2010, s. 11) uvádí, že lineární programování je součást operačního výzkumu, která je nejlépe propracovaná a v praxi nejvíce využívaná. Výhodou je,
Literární rešerše 19 že pro řešení všech úloh dané třídy existuje univerzálně použitelná a relativně jednoduchá metoda. Zde uvedu typické úlohy lineárního programování podle Holoubka (2010, s. 13): 1. kapacitní problém 2. problém optimálního rozmístění finančních prostředků 3. výživový (nutriční, směšovací) problém 4. řezný (krájecí) problém 5. distribuční problém Jablonský (2007, s. 28) uvádí ještě jednu skupinu navíc, kterou tvoří rozvržení pracovníků. Jak již bylo uvedeno v jedné z předchozích kapitol, při aplikaci lineárního programování je nezbytná formulace ekonomického a matematického modelu řešeného problému. Obecný tvar lineárního matematického modelu v rozepsané formě má podle Holoubka (2010, s. 11) tuto podobu: a z a a extr 11 21 m1 1 x x x 1 x, x 2 c 1 1 1 a a a x 1 1 2 22 m2,..., x n c x x x 2 2 2 2 x 2... a... a... c 1n... a 0 2 n mn x x n n x n x n b n 1 b 2 b m První řádek modelu vyjadřuje lineární mnohočlen. Tento mnohočlen známe pod názvem účelová nebo také kriteriální funkce. Podle situace se snažíme nalézt extrém (maximum nebo minimum této funkce). Další tři řádky obsahují soustavu lineárních rovnic a nerovnic a jsou označovány jako vlastní omezující podmínky. Poslední řádek nám garantuje nezápornost jednotlivých hodnot. Cílem je stanovit takové hodnoty strukturních proměnných (tj. x1, x2,, xn), aby účelová funkce při respektování vlastních omezujících podmínek a podmínek nezápornosti dosáhla požadované extrémní hodnoty. Pokud hledáme nejvyšší hodnotu účelové funkce, jde o řešení úlohy maximalizační. Používá se např. v případě, kdy chceme maximalizovat zisk. V opačném případě se jedná o minimalizační úlohu, kterou můžeme použít např. při minimalizaci nákladů. Úlohu zapsanou v obecném tvaru lze jednoduše převést do tvaru standardního. Ten nám slouží ke zjednodušení práce při výpočtech. Model zapsaný
Literární rešerše 20 v obecném tvaru obsahuje pouze tzv. strukturní proměnné a také platí, že vlastní omezující podmínky mají podobu rovnic a/nebo nerovnic obou typů. Převodem z obecného tvaru do standardního získáme všechny omezující podmínky stejného typu, kdy všechny omezující podmínky budou mít podobu rovnic. K tomuto převodu využijeme doplňkových proměnných, které do modelu zavedeme. Účel doplňkových proměnných tkví v tom, že slouží k vyrovnání levé a pravé strany vlastních omezujících podmínek. Tyto proměnné zavádíme vždy do levé strany rovnice. Na následujícím příkladě si ukážeme, jak bude převod vypadat. Obecný tvar: a i1 Standardní tvar: x 1 a a x... a i2 2 i1 x1 ai 2x2... in x n a in b x n i x n 1 b Doplňkové proměnné jsou vyjádřeny jako xn+1. Stejně jako pro strukturní proměnné platí i pro doplňkové proměnné podmínky nezápornosti. V účelové funkci mají doplňkové proměnné koeficient nula a tím nijak neovlivňují hodnotu kritéria. Úloha zapsaná v obecném tvaru je ekvivalentní k úloze zapsané ve standardním tvaru. i 3.2.3 Distribuční úlohy Jak už z názvu vyplývá, distribuční úlohy řešíme v těch situacích, kdy potřebujeme uskutečnit přepravu z jednoho místa do druhého. Cílem těchto distribučních úloh je minimalizovat dopravní náročnost. K jejich řešení není využíváno simplexové metody (i když se jedná o metodu univerzální), protože její aplikací podle Rašovského a Šišlákové (1999, s. 109) mohou vzniknout simplexové tabulky velkých rozměrů, což může zkomplikovat výpočty. Autoři uvádí, že již malé distribuční úlohy vedou k rozsáhlým simplexovým tabulkám. Díky svým vlastnostem jsou tyto úlohy řešeny specifickými metodami, které jsou pro tyto případy efektivnější. Do distribučních úloh se podle Holoubka (2010, s. 80) řadí problém dopravní, přiřazovací problém, kontejnerový dopravní problém, obecný dopravní problém a problém obchodního cestujícího (okružní problém), kterým se budeme podrobněji zabývat a který budeme aplikovat na tuto práci. 3.2.4 Okružní problém Okružní problém, nazývaný též problém obchodního cestujícího, řeší situaci, kdy dodavatelé (obchodní cestující) rozváží zboží, popř. služby svým odběrate-
Literární rešerše 21 lům v rámci jedné jízdy, přičemž každý odběratel je navštíven jen jednou. Přitom ještě platí pravidlo, že dodávka začíná a končí ve stejném místě. Tento problém má v praxi široké uplatnění. Jedná se např. o rozvoz tisku do prodejních stánků, který budeme následně řešit. Další uplatnění může mít při svozu komunálního odpadu, při doplňování zboží v prodejních automatech, při zásobování prodejen zbožím nebo se může jednat o kontrolní činnost a okružní jízdy obchodních zástupců. Cílem tedy je uspořádat navštívená místa tak, aby byla dopravní náročnost trasy minimální. Minimalizace dopravní trasy zahrnuje snížení najetých kilometrů, úspory spotřeby času a pohonných hmot a ostatní náklady s tím související. Tento problém však může mít omezující podmínky, které je třeba respektovat. Gros (2003, s. 119) uvádí, že se jedná například o: Potřebu respektovat striktní požadavky zákazníků na časové intervaly příjezdu vozidel Omezenou pracovní dobu u zákazníků Omezený přístup určitých typů vozidel k některým zákazníkům (např. zákaz využívání velkokapacitních vozidel v centrech měst). Pro problém zabývající se okružní jízdou se využívá Littlova metoda. Holoubek (2010, s. 106) uvádí, že Littlova metoda je postavena na uplatnění metody větvení a mezí, kdy se množina přípustných řešení systematicky zmenšuje až do nalezení konečného řešení. Tato metoda však nezaručuje řešení optimální, pouze řešení blízké optimu. Úloha se zapisuje do čtvercové matice, kdy v jednotlivých políčkách jsou uvedeny vzdálenosti mezi jednotlivými odběrateli, které představují koeficienty účelové funkce. Matice vzdáleností může být symetrická nebo asymetrická. Symetrická matice udává, že vzdálenost mezi dvěma místy je shodná v obou směrech, u asymetrické matice tomu tak není. Při řešení existují i trasy, které je nutno, jak uvádí i sám autor, vyloučit. Jedná se o trasu z místa i zpět přímo do místa i, což označují políčka hlavní diagonály matice, která předem vyškrtneme. Další případ nastává u trasy, která by předčasně uzavřela okruh, tzn. že by všechna naplánovaná místa nebyla navštívena. Proto je pro tyto zakázané cesty použit symbol. Algoritmus Littlovy metody lze rovněž podle Holoubka shrnout do několika bodů: 1. ve čtvercové matici se provede redukce koeficientů účelové funkce pomocí transformačních konstant α a β tak, aby v každé řadě a v každém sloupci byla alespoň jedna nulová sazba (ci,j = 0);
Literární rešerše 22 2. následuje výpočet hodnoty Zo, o níž klesne hodnota účelové funkce po redukci matice: Z n n 0 i j i 1 j 1 αi a βj jsou transformační konstanty pro i-tý řádek a j-tý sloupec čtvercové matice koeficientů účelové funkce (i = j = 1, 2,, n); 3. pro všechna políčka s nulovou redukovanou sazbou (tj. políčka, kde ci,j = 0) se vypočítá hodnota Φ i, j : * Φ i, j min ci min c min ci* a min cj* jsou nejmenší redukované sazby v i-tém řádku a j-tém sloupci matice; 4. ze všech vypočtených Φ se vybere ta, která má maximální hodnotu. Platí-li Φ max = Φ i,j, pak první etapa hledaného optimálního okruhu bude vést po cestě z i-tého do j-tého místa. (Je-li maximálních hodnot Φ v matici více, pak si lze pro zařazení do okruhu vybrat kteroukoliv z těchto cest.); * j 5. vypočítá se hodnota účelové funkce j-tého místa do okruhu: Z i Z, j 0 Z i, j Φ max při nezařazení etapy z i-tého do 6. vynechá se i-tý řádek a j-tý sloupec redukované matice sazeb; 7. zamezí se protisměrné jízdě mezi místy určujícími první etapu, tj. vyloučí se průjezd mezi j-tým a i-tým místem políčko ve zmenšené matici odpovídající zakázané cestě se označí znakem ; 8. ověří se, zda zmenšená a redukovaná matice získaná v předcházejícím kroku obsahuje v každé řadě a každém sloupci alespoň jednu nulovou sazbu. V případě, že v některé řadě není žádná nulová sazba, pak pomocí transformačních konstant je možné tento požadavek zajistit (viz. bod 1);
Literární rešerše 23 9. ověří se správnost zařazení etapy z i-tého do j-tého místa pomocí vztahu: i j Z i, j Z i, j Z, představuje hodnotu předcházející účelové funkce zvětšenou o n i 1 n, přičemž transformační konstanty αi a βj jsou převzaty z 8. i j 1 j bodu. Pokud uvedený vztah neplatí, nebyl důsledně dodržen stanovený algoritmus a je třeba úlohu řešit znova; 10. celý postup počínaje bodem 3 se opakuje až do okamžiku, kdy redukovaná čtvercová matice sazeb bude mít rozměr 2 x 2, přičemž dvě ze čtyř cest v matici jsou zakázané. Dvě zbývající cesty celý okruh uzavřou. 3.2.5 Řešení úloh za pomoci softwaru Rozsáhlé příklady vyskytující se v praxi s velkým množstvím proměnných i vlastních omezujících podmínek jsou velmi pracné na výpočet, časově náročné a značně náchylné na chyby při ručním výpočtu. Proto existují speciální softwary, s jejichž pomocí se lze dopracovat k výslednému řešení bez námahy během několika minut až hodin. Řešení je zabezpečeno řadou kvalitních programů, bez kterých by bylo řešení mnohdy nereálné (Jablonský, 2001, s. 11). Holoubek (2010, s. 145) uvádí, že mezi jednoduché a cenově dostupné programy, které jsou schopny řešit úlohy s několika desítkami proměnných a omezení, patří např. STORM ve verzi pro pedagogické účely. Na druhé straně existují softwary na profesionální úrovni (např. LINDO, LINGO), kde počet proměnných i vlastních omezujících podmínek může dosahovat až několika tisíců. Tomuto faktu však odpovídá i výrazně vyšší cena, která se pohybuje v tisících amerických dolarech. Holoubek dále uvádí, že některé programy jsou úplně nebo částečně specializovány na konkrétní typy úloh operačního výzkumu. Jiné jsou univerzální. Do této skupiny můžeme zařadit tabulkové kalkulátory a jejich nejpoužívanější různé verze MS Excel s nainstalovaným modulem Solver (Řešitel), který je schopen vyřešit úlohy s 200 proměnnými a také s 200 omezujícími podmínkami. 3.2.6 STORM Produkt STORM (STatistics, Operations Research, Management) jak uvádí Holoubek (2010, s.145), pochází od americké firmy Storm Software, Inc. Tento
Literární rešerše 24 fakt vidíme také na obrázku č. 1. Dále je po spuštění na úvodní obrazovce tohoto programu uvedeno, že se jedná o verzi Storm 3.0. Ten je k dispozici na Mendelově univerzitě. Jedná se o program poměrně starý, pochází z roku 1991, avšak svou funkci stále plní a pro naše účely postačí. Pro pokračování v programu stiskneme libovolnou klávesu, jak nás nabádá nápověda v posledním řádku úvodní obrazovky. Tento program patří mezi programy, které jsou hojně využívané. Důvodem je zajisté snadná orientace v programu, rychlé zpracování dat a tím rychle získané výsledky a v neposlední řadě přijatelné náklady na nákup programu. I když tento program není dostupný v národní lokalizaci, jak uvádí Jablonský (2007, s.136), práci s ním by měl zvládnout každý. Ten, kdo ovládá základní práce na počítači a má základní znalost anglického jazyka, je schopen s programem manipulovat. Samotné ovládání je zajištěno pomocí směrových kláves nebo zadáním číslic na numerické klávesnici. Obr. 1 Úvodní obrazovka programu STORM Tento systém obsahuje celkem osmnáct modulů, jak vidíme v nabídce hlavní menu na obrázku 2. Jejich výčet uvádí také Holoubek (2010, s. 145) v českém jazyce: 1. Lineární a celočíselné programování 2. Přiřazovací problém 3. Dopravní problém
Literární rešerše 25 4. Typické grafické optimalizační úlohy 5. Toky v síti 6. Řízení projektů, metody CPM/ PERT 7. Teorie front 8. Teorie zásob 9. Optimální rozmisťování 10. Optimalizace využití výrobních linek 11. Analýza investic 12. Prognózování 13. Plánování výroby 14. Plánování potřeby materiálu 15. Statistické řízení procesů 16. Statistika 17. Rozhodovací analýza 18. Rozhodovací stromy Z výčtu vidíme, že program má poměrně široké uplatnění, a to nejen co se týče operačního výzkumu. Problém, který je v rámci této práce řešen, najdeme (opět obrázek č. 2) pod výběrem bodu 4) Distance Networks (Paths, Tours, Trees), pod nímž se skrývají typické optimalizační úlohy v grafech.
Literární rešerše 26 Obr. 2 Hlavní menu programu STORM Po výběru požadovaného modulu z nabídky hlavní menu se dostaneme do režimu INPUT (obrázek 3). Nabízí se zde dvě možnosti. Jako první možnost je uvedena varianta, že data budou načtena z již existujícího souboru. Tento soubor však musí být v takové formě, aby mohl být bez problémů načten tímto programem. Kromě správné formy musí být tento soubor také uložen pod správnou koncovkou (.dat). Druhou možností je data vytvořit přímo v programu. U asymetrických matic tento postup však trvá delší dobu, ale i toto řešení je přijatelné.
Literární rešerše 27 Obr. 3 Vstupní režim programu STORM Na následujícím obrázku č. 4 vidíme okno editoru ve Stormu. Vrchní část editoru slouží k základnímu popisu úlohy. Obsahuje Title (název úlohy), number of nodes (rozměr úlohy) a distance matrix type (určení, zda se jedná o matici symetrickou či asymetrickou). V případě, že by se jednalo o matici symetrickou, tzn. že cesta z jednoho bodu do druhého by byla shodná s cestou v opačném směru, tak by matice obsahovala pouze hodnoty, které se nachází nad hlavní diagonálou. V druhé, prostřední části, je prostor pro vkládání dat. Z obrázku je zřejmé, že jde o maticové uspořádání dat. Pod samotnými daty se nachází informační řádek, který nám pomáhá při zadávání dat a také pole pro zadávání údajů, které jsou poté přesunuty na pozici kurzoru. V tomto případě vidíme, že nás informuje o tom, že nemáme vkládat hodnoty, protože se jedná o zakázanou cestu. Poslední řádek je pomocný a obsahuje informace o tom, co v daném okamžiku můžeme dělat. Jedná se o funkční klávesy F1 až F8.
Literární rešerše 28 Obr. 4 Editační režim programu STORM Po vložení a kontrole správnosti všech dat stiskneme funkční klávesu F7 Done. Ta zajistí ukončení zadávání dat a přejde k procesu zpracování (obrázek 5). V režimu zpracování jsou čtyři možné varianty dalšího průběhu. Nabízí se návrat do předešlého editoru, uložení dat v požadované formě pro zpracování programem, tisk aktuálních dat nebo konečné zpracování. Obr. 5 Režim zpracování programu STORM Pro zpracování je vybrána nabídka 3) Traveling salesperson s tour (problém obchodního cestujícího), která je zobrazena na obrázku č 6. Ten zobrazuje po-
Literární rešerše 29 slední krok zpracovatele. Po potvrzení volby pracuje už jen program na konečném výsledku, který se zobrazí po malé chvilce (do půl minuty). Výsledek obsahuje jednotlivé úseky trasy i se vzdálenostmi a celkovou vzdálenost celé trasy. Obr. 6 Režim zpracování programu STORM
Vlastní analýza problému 30 4 Vlastní analýza problému 4.1 Charakteristika podniku PNS a. s. byla zapsána do obchodní rejstříku 21. července 1992, značkou PNS však navazuje na tradici distribuce tisku již z roku 1953. Sídlí v Praze 9 v Horních Počernicích a zaměstnává přes tisíc pracovníků. Hlavním předmětem činnosti firmy je koupě zboží, a to zejména tisku, za účelem jeho dalšího prodeje. Na prodejní místa v rámci celé České republiky zajišťuje dodávky šest dní v týdnu (pondělí až sobota). Těchto prodejních míst je okolo 19 000 a dodává se zde periodický i neperiodický tisk, celostátní deníky (např. Sport, Aha!) a regionální deníky (např. Brněnský deník, Břeclavský deník, Jihlavské listy), elektronická média (CD, DVD) a podobný sortiment dle přání zákazníků. Firma vychází vstříc svým zákazníkům a distribuuje i nestandardní přílohy. Zákazníky jsou nejen stánky a trafiky, ale také nemocnice, orgány státní správy, maloobchodní prodejci i čerpací stanice. Pro své zákazníky má firma k dispozici na svých internetových stránkách elektronický katalog tisku, kde najdou podrobné informace o jednotlivých titulech a jejich vydáních. Tento katalog také obsahuje katalog DVD, kde zákazníci najdou seznam všech distribuovaných multimédií. Další činností firmy je provozování sítě prodejen umístěných na místech s vysokou koncentrací zákazníků, což jsou především zastávky, obchodní centra, nádraží a školy. V současné době vlastní asi 250 prodejních jednotek. PNS, a. s. je mateřskou společností, která má pod sebou čtyři společnosti dceřiné: PNS Grosso s. r. o., R.E.T. s. r. o., PNS Projektová s. r. o. a Maloobchodní prodej tisku s. r. o. PNS Grosso s. r. o. zajišťuje distribuci tisku a služby s tím související pro mateřskou společnost. Je členěna do šesti regionálních divizí, které se nachází v Pardubicích, Ústí nad Labem, Plzni, Českých Budějovicích, v Brně a v Ostravě. Z brněnské divize pochází data, kterými se budu zabývat pro účely této práce. Největší podíl na ročním obratu firmy mají časopisy, v těsném závěsu pak noviny a svým malým podílem oproti již zmiňovaným přispívají i multimédia, která dominovala spíše v předešlých letech (zaznamenala rychlý nárůst, ale i rychlý pád). Co se týče poměru distribuovaného zboží, tak největší podíl (nadpoloviční) tvoří noviny, podíl časopisů je o něco menší a opět nejmenší podíl je zaznamenán u distribuovaných multimédií.
Vlastní analýza problému 31 Distribuce tisku, jak již bylo řečeno, probíhá kromě neděle každý den. Část sortimentu je návozovou dopravou do jednotlivých divizí dodána přes den, kdy dojde k jeho postupnému zpracování. Zbylá část (jedná se především o noviny) je dopravena přímo z tiskáren vydavatelů až v noci. Všechen uvedený sortiment je zpracován pracovníky expedice na základě tištěného seznamu zboží. Tento seznam obsahuje číslo trasy, odběratele, adresu odběratele, jednotlivé položky zboží a počet kusů od každé této položky a souhrnný řádek, kde je celkový počet kusů k vyexpedování a celková váha balíku. Jednotlivé balíky neváží více než patnáct kilogramů, aby nedošlo ke zvedání příliš těžkých břemen, jelikož zde pracují jako expedientky ženy a několik žen také pracuje na pozici řidičů. Po vyexpedování zaměstnanci se zboží nachystané pro jednoho odběratele sváže zvlášť do balíku. Všechny balíky se poté roztřídí na palety podle toho, o kterou trasu se jedná. Tzn., že balíky určené pro určitou trasu se nacházejí na jedné paletě. Zboží pro dopravce je na paletách připravené okolo třetí hodiny ranní. Ti provedou jeho nakládku do vozidel k tomuto přidělených a zajistí odvoz k zákazníkovi. Důvod, proč při rozvozu vzniká okruh je ten, že se zpět do divize sváží remitenda. Tedy výchozím a zároveň posledním navštíveným místem je divize Brno. Remitenda je zde pak zpracována skenováním pracovníky denní směny a následně je tříděna na vratnou a sběrovou. O dopravu k zákazníkům se starají externí dopravci. Každý řidič obdrží ke své trase tzv. nákladní list, podle kterého zjistí, která prodejní místa navštíví a také je zde uveden celkový počet balíků, který danému zákazníkovi náleží. Počet prodejních míst na trase není každý den stejný. Zejména v sobotu je odběratelů méně, protože svou činnost o víkendech neprovozují. Jednu trasu zajišťuje jeden řidič šest dní v týdnu. Počet prodejních míst, které v rámci trasy musí navštívit, se pohybuje okolo dvaceti a časová náročnost je zhruba dvě hodiny na objížďku jedné trasy. Většina zaměstnanců rozvozu má tuto práci jako přivýdělek a po rozvezení své trasy jde do svého zaměstnání. Zaměstnanci zajišťující dopravu k odběrateli jsou odměňováni fixní mzdou. 4.2 Vstupní data Vstupní data jednotlivých tras jsem získala od rozvážejících řidičů jednotlivých tras, které se v této práci pokusím zefektivnit. Řidiče jsem oslovila s nabídkou optimalizace jejich trasy s přislíbením poskytnutí výsledků nejen jim, ale také vedení firmy. Jelikož se jedná o citlivé firemní údaje, byly mi se souhlasem firmy poskytnuty tři brněnské trasy, které pro tuto práci mohu využít a zveřejnit.
Vlastní analýza problému 32 Z každého získaného nákladního listu jsem sestavila pro každou trasu tabulku navštívených míst, kterou jsem uspořádala abecedně podle adres zákazníků. Tyto tabulky (tab. 1 3) můžeme vidět v následujících třech podkapitolách. Počet zastávek na řešených trasách se pohybuje od 18 do 21. Řidiči přijíždí k brněnské divizi, která se nachází Brně Tuřanech, na ulici Tuřanka 877/125, kolem třetí hodiny ranní. Vyexpedované a nachystané zboží je umístěno na paletách podle jednotlivých tras. Balíky zboží jedné trasy jsou umístěny na jedné paletě. Řidič si podle čísla trasy najde tu svou a provede nakládku. Do vozidla si každý řidič seřadí balíky podle toho, jak je zvyklý trasu jezdit, tedy podle svého obvyklého pořadí. Vozidla určená pro rozvoz jsou poskytnuty firmou. Ta také zajišťuje jejich opravu a údržbu, čímž je zaměstnán pracovník firmy. Návštěvní pořadí řidiči převzali od předchozích řidičů, kteří trasu jezdili před nimi a při nástupu na rozvoz je také tyto trasy zaučovali. Podle získaných informací nepřemýšleli nad jinou variantou, která by pozměnila jejich průběh. Řidič po provedené nakládce vyjíždí z divize, poté navštíví prvního zákazníka na trase, kde vyloží připravené zboží v balíku. To předá buď zaměstnanci prodejního místa (pokud je v tuto dobu přítomen, což vzhledem k brzkým ranním hodinám není obvyklé) nebo zboží umístí do uzamykatelného boxu, který je umístěn zpravidla před prodejnou. Pro všechny boxy náležící jedné trase má řidič klíče. Z boxu vyzvedne balík s remitendou (neprodaným zbožím), pokud je k dispozici. Remitenda je pravým důvodem, proč se řidiči vrací zpět do divize, čímž vzniká řešený okruh. Dále pokračuje v jeho cestě, dokud neobjede všechna prodejní místa zaznamenaná v nákladním listě. S remitendou se vrací zpět do divize a tím se okruh uzavírá. S pomocí Littlovy metody a softwaru se tento okruh pokusíme stanovit tak, aby byl co nejvýhodnější. Prvním krokem, který vede k optimalizaci dat, bude sestavit čtvercovou matici. Jednotlivá políčka obsahují hodnoty, které zaznamenávají vzdálenost mezi jednotlivými odběrateli udané v kilometrech. Tyto vzdálenosti jsem získala z internetového serveru www.mapy.cz, kde jsem pracovala s funkcí Plánovač tras. Podle uvedeného plánovače je možné zjistit vzdálenost mezi dvěma body v kilometrech (s přesností na desetiny kilometru) a plánovač nám také určí spotřebu času při ujetí této vzdálenosti. Při určení času pracuje plánovač s rychlostními omezeními, které jsou v dané oblasti stanoveny. V této práci jsou matice vzdáleností vždy asymetrické, protože vzdálenost mezi dvěma místy není vždy shodná v obou směrech. To je dáno například jednosměrnými ulicemi a uzavírkami v podobě zákazu vjezdu, se kterými se ve velkém městě, jako je Brno, můžeme setkat poměrně často.
Vlastní analýza problému 33 4.2.1 Trasa č. 1 před optimalizací Trasa číslo 1 obsahuje 21 návštěvních míst. V tabulce 1 je uvedeno původní pořadí odběratelských míst, tak jak jsou postupně navštívena spolu se vzdálenostmi. Tab. 1 Trasa č. 1 před optimalizací Pořadí Adresa Vzdálenost (km) 11 Tuřanka 877/125 7,3 12 Za mostem 1,0 13 Zvonařka 4 0,3 14 Zvonařka 470/2b 0,3 15 Rosická 136/20 0,5 16 Opuštěná 227/4 2,2 17 Plotní 471/22 1,1 18 Úzká 4 0,2 19 Dornych 4 0,4 10 Dornych 195/33 1,5 11 Vlhká 21 0,2 12 Křenová 297/22 0,2 13 Křenová 31 0,2 14 Křenová 185/59 0,9 15 Masná 418/20 0,5 16 Křenová 389/77 1,3 17 Huskova psych. léčebna 0,3 18 Charbulova/ Huskova 2 0,5 19 Blatouchova 2/1074 0,8 20 Štolcova 569/31 0,9 21 Olomoucká 240/38 4,7 Celková najetá vzdálenost = 25,3 km Zdroj: Vlastní práce Z tabulky můžeme vidět, že zákazníky nejsou jen stánky, jak už jsem zmiňovala, v tomto případě je také jedním z odběratelů zdravotnické zařízení. Naším cílem bude tuto trasu zoptimalizovat, tedy snížit počet najetých kilometrů, a to pomocí Littlovy metody a programu Storm. Při rozvozu této trasy řidič využívá vozidla Renault Kangoo. Jako palivo využívá naftu a jeho průměrná spotřeba nafty činí 5,3 litrů/100 kilometrů.
Vlastní analýza problému 34 4.2.2 Trasa č. 2 před optimalizací Tato trasa je sestavena z osmnácti míst, které se rovněž nachází v Brně. Tyto místa je třeba všechny navštívit a poté se vrátit zpět do výchozího bodu, do divize. Po objetí této trasy řidič ujede 41,3 kilometrů. Tab. 2 Trasa č. 2 před optimalizací Pořadí Adresa Vzdálenost (km) 11 Tuřanka 877/125 12,0 12 Palackého třída 1891/162 04,5 13 Sportovní 2941/39 02,8 14 Srbská 1824/27 00,8 15 Purkyňova 45a 00,1 16 Purkyňova 1925/71 00,3 17 Purkyňova 2415/116 01,3 18 Hradecká 612 00,1 19 Hradecká 614 01,6 10 Kolejní 2906/2 01,0 11 Technická 2896/2 01,4 12 Makovského náměstí 2574/1 00,2 13 Přívrat 84 01,0 14 Klímova 2055/18 02,0 15 Nám. Míru 373/1 00,2 16 Čápkova 32/28 00,5 17 Čápkova 17 01,5 18 Jiráskova 71/1 10,0 Celková najetá vzdálenost = 41,3 km Zdroj: Vlastní práce Pro rozvoz je využito vozidlo Volkswagen Caddy, které jezdí rovněž na naftu. Průměrná spotřeba nafty činí 6 litrů/100 kilometrů. 4.2.3 Trasa č. 3 před optimalizací Třetí trase je přidělen opět vůz Renault Kangoo, který disponuje velkým vnitřním prostorem, s již zmiňovanou spotřebou 5,3 litrů na 100 kilometrů. Trasa obsahuje dvacet zastávek a celková vzdálenost této původní trasy dosahuje 27,6 kilometrů.
Vlastní analýza problému 35 Tab. 3 Trasa č. 3 před optimalizací Pořadí Adresa Vzdálenost (km) 11 Tuřanka 877/125 6,7 12 Zábrdovická 25/2 0,7 13 Cejl 85 0,8 14 Bratislavská 197/11 0,7 15 Lidická 692/5 1,1 16 Třída Kapitána Jaroše 7 0,6 17 Milady Horákové 1958/17 0,2 18 Příkop 838/6 1,6 19 Bratislavská 238/59 0,7 10 Ponávka 6 0,3 11 Cejl 20 0,3 12 Cejl 50a 1,2 13 Milady Horákové 321/8 1,1 14 Černopolní Dětská nemocnice 1,0 15 Ryšánkova 10 1,0 16 Nováčkova 11 0,6 17 Nám. Republiky 0,2 18 Dukelská třída 154/58 0,1 19 Dukelská 77 0,5 20 Tomkovo náměstí 10/5 8,2 Celková najetá vzdálenost = 27,6 km Zdroj: Vlastní práce 4.3 Optimalizace pomocí Littlovy metody Jelikož se nejedná o klasickou dopravní úlohu, tak i řešení úlohy okružního problému se od klasické dopravní úlohy bude lišit také použitou metodou. Díky vlastnostem, které úlohy tohoto typu mají, existují specifické metody, které zajistí jejich hladší průběh. Příkladem specifické metody pro tento druh problému je Littlova metoda, která bude pro tuto optimalizaci využita. Pro provedení optimalizace pomocí Littlovy metody jsem si vybrala trasu č. 1. Při výpočtu budu postupovat podle algoritmu, který je uveden v teoretické části práce v kapitole 3.2.4. Jelikož se jedná o rozsáhlé a časově náročné výpočty také náchylné na chyby, budu tuto metodu využívat pouze u této trasy. Zbylé
Vlastní analýza problému 36 trasy vypočítám za pomocí softwaru. Což předpokládám, že bude vzhledem k výsledkům výhodnější, protože výsledky takto získané by měly být přesnější. Odběratelská místa jsem seřadila podle abecedy vzestupně podle názvu ulic, kde se odběrní místa nacházejí. I když to nebylo podmínečně nutné, na první místo jsem uvedla adresu divize Brno, aby bylo předem jasné, že se jedná o výchozí i konečný bod trasy. Poté jsem pro tyto místa sestavila matici vzdáleností, kde jsou uvedeny jednotlivé vzdálenosti v kilometrech. Matice vzdáleností pro všechny řešené trasy jsou uvedeny v příloze (Tab. 17-19). Vzdálenosti nám vyjadřují koeficienty účelové funkce. Jelikož trasa číslo 1 obsahuje 21 návštěvních míst, bude se jednat o čtvercovou matici o políčkách 21x21. Při každém dalším kroku se tato matice zmenší vždy o jeden sloupec a řádek, který bude postupně utvářet výsledné řešení. Konečný výsledek získáme z matice o rozměrech 2x2. Dvě trasy obsažené v této matici (z celkem čtyř tras) budou zakázané, tudíž zbylé dvě trasy nám celý okruh uzavřou. V matici vzdáleností se objeví dva druhy tras, které budeme chtít vyloučit. Jedná se o trasy, které by předčasně okruh uzavřely, čímž by došlo k tomu, že by všechna naplánovaná místa nebyla navštívena. Tyto trasy označíme symbolem. Dalším případem je cesta z místa i zpět do místa i. Tyto políčka se nachází na hlavní diagonále a označíme je symbolem. Jak již bylo uvedeno, tabulka 4 zahrnuje vzdálenosti mezi všemi návštěvními místy v kilometrech. Pro pokračování do dalšího výpočtu musíme zredukovat koeficienty účelové funkce tak, aby se v každém řádku i sloupci matice nacházela alespoň jedna nulová sazba. To provedeme pomocí tzv. transformačních konstant, tedy odečtením nejnižší hodnoty nacházející se v příslušném řádku či sloupci. Ty se v uvedené tabulce označují jako i a j. U redukce řádků musíme využít transformačních konstant u každého z nich. To nám zajistí nulové hodnoty i v některých sloupcích, proto sloupcové transformační konstanty odečítáme pouze u sloupců č. 1, 2, 11, 15, 18 a v 19. sloupci.
Vlastní analýza problému 37 Tab. 4 První krok první část 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 i 1-5,7 6,9 6,6 5,4 5,6 6,3 6,1 6,5 5,8 6,0 4,7 6,9 7,1 7,1 5,2 7,1 7,7 7,3 6,5 6,8 4,7 2 5,8-2,2 1,9 1,1 0,3 1,6 1,4 1,8 1,2 1,3 1,4 2,2 2,3 2,4 0,8 2,4 3,0 2,8 1,8 2,1 0,3 3 6,9 2,2-0,4 2,1 1,7 0,9 1,1 0,6 1,1 1,2 2,5 0,8 1,0 1,0 2,0 0,2 1,3 1,4 0,6 0,7 0,2 4 6,6 1,8 0,3-2,3 1,8 1,1 1,2 0,8 1,3 0,8 2,2 0,7 0,8 0,9 1,7 0,5 1,5 1,3 0,3 0,6 0,3 5 5,5 0,5 2,0 1,9-0,3 1,7 1,5 2,0 1,3 1,7 1,1 2,3 2,5 2,5 0,5 2,5 3,1 2,6 1,9 2,2 0,3 6 5,6 0,5 1,7 1,8 0,3-1,5 1,3 1,7 1,0 1,4 1,1 2,0 2,2 2,2 0,5 2,2 2,9 2,7 1,7 2,0 0,3 7 6,3 1,6 1,4 1,1 1,7 1,5-0,2 0,2 0,4 1,1 1,9 1,7 1,8 1,9 1,4 1,9 1,4 2,3 1,3 1,6 0,2 8 6,1 1,4 1,2 1,2 1,5 1,3 0,2-0,4 0,2 0,9 1,7 1,5 1,7 1,7 1,2 1,7 1,6 2,1 1,1 1,4 0,2 9 6,6 1,8 1,6 0,8 2,0 1,7 0,2 0,4-0,7 1,3 2,1 1,9 2,1 2,1 1,6 1,8 1,2 2,5 1,5 1,8 0,2 10 5,9 1,1 1,0 1,3 1,3 1,0 0,4 0,2 0,7-0,5 1,5 1,3 1,5 1,5 1,0 1,5 1,9 1,9 0,9 1,2 0,2 11 6,0 1,2 1,2 0,8 1,6 1,3 1,1 0,9 1,2 0,5-1,8 0,9 1,1 1,1 1,2 1,1 2,1 1,5 0,5 0,8 0,5 12 4,7 1,3 2,5 2,2 1,0 0,9 1,9 1,7 2,1 1,4 1,9-2,5 2,7 2,7 0,8 2,7 3,3 3,1 2,1 2,4 0,8 13 8,2 3,4 1,3 1,6 3,6 3,3 1,7 2,2 1,8 2,5 2,0 3,8-2,2 1,9 3,3 1,1 2,6 2,7 1,7 1,6 1,1 14 7,0 2,3 1,0 0,7 2,4 2,2 1,5 1,7 1,3 1,6 0,9 2,6 0,8-1,0 2,1 1,1 2,1 0,6 0,5 0,8 0,5 15 7,1 2,3 0,8 0,8 2,5 2,2 1,5 1,7 1,3 1,7 1,0 2,7 0,5 1,0-2,2 0,7 2,1 1,5 0,6 0,3 0,3 16 5,3 0,7 2,0 1,6 0,5 0,5 1,4 1,2 1,6 0,9 1,4 0,9 1,9 2,1 2,2-2,1 2,8 2,6 1,6 1,9 0,5 17 7,1 2,3 0,2 0,5 2,5 2,2 0,9 1,1 0,7 1,3 0,9 2,7 0,5 1,1 0,7 2,2-1,5 1,6 0,6 0,5 0,2 18 6,7 1,9 1,8 1,7 2,1 1,8 0,3 0,5 0,2 0,8 1,4 2,2 2,0 2,1 2,2 1,7 2,0-2,6 1,6 1,9 0,2 19 7,3 2,6 1,4 1,2 2,8 2,5 1,9 2,1 1,7 1,9 1,3 3,0 1,3 0,6 1,5 2,4 1,5 2,6-1,0 1,2 0,6 20 6,5 1,8 0,5 0,3 1,9 1,7 1,0 1,1 0,8 1,1 0,4 2,1 0,4 0,5 0,6 1,6 0,6 1,7 1,0-0,3 0,3 21 6,8 2,1 0,7 0,5 2,2 2,0 1,3 1,5 1,0 1,4 0,7 2,4 0,2 0,8 0,3 1,9 0,5 1,8 1,2 0,3-0,2 j 3,9 0,2 0,1 0,1 1,0 0,1 Zdroj: Vlastní práce Dalším krokem bude vypočítat hodnotu Z0, o níž se sníží hodnota účelové funkce po redukci matice. Hodnotu zjistíme součtem řádkových a sloupcových transformačních konstant. V tomto případě řádkové transformační konstanty dávají sumu 12,1 a v případě sloupcových transformačních konstant dostaneme hodnotu 5,4. Po sečtení těchto dvou hodnot získáváme požadovanou hodnotu Z0, která činí 17, 5.
Vlastní analýza problému 38 Tab. 5 První krok druhá část 1-2 3 4 5 6 7 8 9 10 11 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1,6 0,8 2,2 1,9 0,7 0,9 1,6 1,4 1,8 1,1 1,2-2,8 1,8 2,4 1,3 1,3 1,4 1,9 1,6 0,8-0 0-0 2,2 2,4 2,3 0,5 2,4 2 2,5 1,8 2,1 0,9 0 1,3 1,1 1,5 0,9 0,9 1,1 1,9 2 2 0,5 2,1 1,7 2,4 1,5 1,8 0,5 0,2 1,9 1,5 0,7 0,9 0,4 0,9 0,9 2,3 0,6 0,8 0,7 1,8 0 0,1 1,1 0,4 0,5 0,1 2 1,5 0,8 0,9 0,5 1 0,4 1,9 0,4 0,5 0,5 1,4 0,2 0,2 0,9 0 0 0,3 0 0 1,7 1,6 0 1,4 1,2 1,7 1 1,3 0,8 2 2,2 2,1 0,2 2,2 1,8 2,2 1,6 1,9-0 0 0 1,4 1,5 0 0-2,2 1,2 1,2 0,9 1,5 1,3 2 1 1 1 1,3 1,1 2,5 1,4 1,4 0,6 1,8 1,5 1,8 0,7 0,8 1,1 1,1 0,8 0,2 1,2 1 1,4 0,7 1 0,8 1,7 1,9 1,8 0,2 1,9 1,6 2,3 1,4 1,7-0 0 0 0,2 0,8 1,7 1,5 1,6 1,6 1,2 1,7 0,2 2 1,1 1,4 0 0 0-0,2 0 0 0,2-0,2 0 0,5-1,6 0,5 0,7 0,3 1,1 0,8 0,6 0,4 0,7 0 0,6 1,5 1,3 1,5 1,4 1 1,5 0,4 1,8 0,9 1,2 0 0,5 1 1,9 1,7 1,9 1,8 1,4 1,6 0 0-12 0,9 0 0,3 1,7 1,4 0,2 0,1 1,1 0,9 1,3 0,6 1 13 14 15 16 17 18 19 20 21 3,2 2,1 0,2 0,5 2,5 2,2 0,6 1,1 0,7 1,4 0,8 2,7 2,6 1,6 0,5 0,2 1,9 1,7 1 1,2 0,8 1,1 0,3 2,1 0,3 0 2,2 1,3 1,6 0,1 0,2 1,3 1,1 1,3 1,2 0,8 1,3 0,7 1,6 0,7 1 1,3 0,4 0,6 0,5 0,7 0,6 0,6 0,9-1,7 1,9 1,8 2,9 1,8 0,5 0,5 2,2 1,9 1,2 1,4 1 1,4 0,6 2,4 0,2 0,7 0,9 3 1,9-1,1 0,7 2,2 0 0 1,5 1,1 0 0 0 0 0,9 0,7 1,1 0,4 0,8 0,4 1,4 1,6 1,6 - - 0 0 0,3 0 1,9 1,5 2,2 1,3 1,6 0,2 0,4 1,6 0,6 0,6 0,3 0 0,3 2,3 2 0,7 0,9 0,5 1,1 0,6 2,5 0,3 0,9 0,4 2-2,6 1,5 1,6 1,5 1,9 1,6 0,1 0,3 2,8 1,8 0,8 0,6 2,2 1,9 1,3 1,5 1,1 1,3 0,6 2,4 0,7 2,3 1,3 0,2-0 0,5 1,5 0,6 0,5 0,2 0,6 0 0 0 0,3 1,9 0,4 0,8 1,1 0,3 0,1 0 0,6 1,1 2 1,8 1,9 1,9 1,5 1,8-0,2 0 1,6 1,3 2 1,1 1,4 0,6 0 0,8 1,8 0,9 1-0,3 1,3 0,4 0,3 2,3 1,4 1,7 0,4 0,6 0,2 0 1,6 1,4 0,7 0,8 0,5 0,8 0,2 0 1,8 0,1 0,2 0,2 1,3 0,3 0,4 0,6-0 0 2,7 1,7 0,5 0,3 2 1,8 1,1 1,3 0,8 1,2 0,4 2,2 0,1 0 0,6 0,2 0 1,7 0,3 0,6 0,9 0,1 - Zdroj: Vlastní práce Tabulka 5 vznikla z předešlé tabulky odečtením transformačních konstant. Uvnitř nalezneme koeficienty účelové funkce po redukci a také hodnoty Φ i, j, které jsou tučně zvýrazněné. Hodnoty Φ i, j počítáme pro všechna políčka s nulovou redukovanou sazbou, a to tak, že sečteme nejmenší redukované sazby v i-tém řádku a j-tém sloupci matice. Ze všech Φ i, j vybereme tu, která má hodnotu maximální. V našem případě se Φ i, j (Φ max ) rovná hodnotě 0,9. Jelikož se zde nacházejí dvě políčka se stejnou maximální hodnotou, zvolíme si libovolně jedno z těchto dvou políček. V tomto kroku jsme získali část okruhu, která povede z
Vlastní analýza problému 39 12 1. Víme tedy poslední část úseku, která povede z ulice Olomoucká do divize na ulici Tuřanka. Proto, aby nedošlo k předčasnému uzavření okruhu, musíme zamezit cestě z 1 12 a v dalším kroku výpočtu označíme tuto cestu symbolem. Dále se budeme zabývat hodnotou Z, kterou zjistíme sečtením hodnot 12, 1 Z0 a Φ max. Ta nám poslouží k tomu, abychom zjistili, zda jsme zjištěný úsek vypočítali správně. Jak již víme, hodnota Z0 činí 17,5 a Φ max je 0,9. Jejich součtem získáme 18,4. Toto číslo musí být větší nebo rovno hodnotě Z 12, 1, kterou vypočítáme jako součet nových transformačních konstant a Z0. Jelikož platí vztah 18,4 je větší než 18,1 (17,5 + 0,2 + 0,4), došlo ke správnému zařazení úseku do okruhu. Tento postup se bude opakovat obdobně až do doby, kdy získáme matici 2x2. Celý postup krok po kroku nebude uveden vzhledem k rozsáhlým výpočtům a zdlouhavému zpracování. Pro ukázku výpočtu byly předvedeny první dva kroky výpočtu a pro lepší představu je v tabulce 6 uveden celý postup. Tabulka udává jednotlivé kroky, zjištěný úsek v tomto kroku, dosud zjištěnou cestu (v posledním řádku tabulky je to již hledaný okruh) a zakázanou cestu vyplývající ze zjištěného úseku.
Vlastní analýza problému 40 Tab. 6 Jednotlivé kroky výpočtu Littlovou metodou Krok Úsek Cesta Zakázaná cesta 11 12 1 12 1 1 12 12 14 19 12 1; 14 19 19 14 13 2 6 14 19; 12 1; 2 6 6 2 14 1 16 14 19; 12 1 16; 2 6 16 12 15 17 3 14 19; 12 1 16; 2 6; 17 3 3 17 16 13 17 14 19; 12 1 16; 2 6; 13 17 3 3 13 17 20 14 20 14 19; 12 1 16; 2 6; 13 17 3 19 20 18 4 20 4 20 14 19; 12 1 16; 2 6; 13 17 3 19 4 19 21 15 10 15 13 11 19 21 12 3 18 13 11 4 14 9 7 15 18 9 16 8 10 17 7 8 18 10 12 19 6 11 5 2 20 16 5 4 20 14 19; 12 1 16; 2 6; 13 17 3; 21 15 15 21 4 20 14 19; 12 1 16; 2 6; 21 15 13 17 3 3 21 4 20 14 19 21 15 13 17 3; 12 1 16; 2 6 3 4 4 20 14 19 21 15 13 17 3 18; 12 1 16; 2 6 18 4 11 4 20 14 19 21 15 13 17 3 18; 12 1 16; 2 6 18 11 11 4 20 14 19 21 15 13 17 3 18; 12 1 16; 2 6; 9 7 7 9 11 4 20 14 19 21 15 13 17 3 18 9 7; 12 1 16; 2 6 7 11 11 4 20 14 19 21 15 13 17 3 18 9 7; 12 1 16; 2 6; 8 10 10 8 11 4 20 14 19 21 15 13 17 3 18 9 7 8 10; 12 1 16; 2 6 10 11 11 4 20 14 19 21 15 13 17 3 18 9 7 8 10 12 1 16; 2 6 16 11 2 6 11 4 20 14 19 21 15 13 17 3 18 9 7 8 10 12 1 16 16 2 1 16 5 2 6 11 4 20 14 19 21 15 13 17 3 18 9 7 8 10 12 1 Zdroj: Vlastní práce
Vlastní analýza problému 41 Z výše uvedené tabulky vyplývá, že trasa povede : Tuřanka 877/125 Štolcova 569/31 Huskova psych. Léčebna Blatouchova 2/1074 Charbulova/ Huskova 2 Masná 418/20 Dornych 195/33 Zvonařka 4 Plotní 471/22 Za Mostem Zvonařka 470/2b Rosická 136/20 Opuštěná 227/4 Úzká 4 Dornych 4 Vlhká 21 Křenová 297/22 Křenová 31 Křenová 185/59 Křenová 389/77 Olomoucká 240/38 Tuřanka 877/125. Tab. 7 Optimalizovaná trasa č. 1 Littlovou metodou Pořadí Adresa Vzdálenost Čas 11 Tuřanka 877/125 5,2 9 12 Štolcova 569/31 0,5 1 13 Huskova psych. léčebna 0,5 1 14 Blatouchova 2/1074 0,3 1 15 Charbulova/ Huskova 2 1,4 2 16 Masná 418/20 0,8 1 17 Dornych 195/33 0,6 1 18 Zvonařka 4 0,5 1 19 Plotní 471/22 0,6 1 10 Za Mostem 1,2 2 11 Zvonařka 470/2b 0,3 1 12 Rosická 136/20 0,5 1 13 Opuštěná 227/4 1,1 2 14 Úzká 4 0,2 1 15 Dornych 4 1,3 2 16 Vlhká 21 0,2 1 17 Křenová 297/22 0,2 1 18 Křenová 31 0,2 1 19 Křenová 185/59 0,2 1 20 Křenová 389/77 1,5 2 21 Olomoucká 240/38 4,7 8 Celkem 22,1 km 41 min Zdroj: Vlastní práce
Vlastní analýza problému 42 Z původní matice vzdáleností je do tabulky 7 doplněna vzdálenost mezi jednotlivými zastávkami a také potřebný čas k ujetí této vzdálenosti. Samozřejmě se jedná o čistý čas jízdy, tudíž objížďka okruhu trvá řidiči podstatně déle. Záleží na více faktorech, které mohou dobu jízdy ovlivnit. Jedná se např. o počasí, různá dopravní omezení pro řidiče motorových vozidel (přechodné uzavírky silnic, zda jsou silnice v zimním období udržovány, práce na silnici), celkový počet a váha balíků pro zákazníka a vzdálenost odběratelského místa od zaparkovaného vozu řidiče. Celkový počet najetých kilometrů při rozvozu trasy č. 1 při výpočtu pomocí Littlovy metody je roven 22,1 kilometrů a čas potřebný k ujetí této vzdálenosti činí 41 minut. Tento poměr se může zdát nepravděpodobný, ale musíme brát v úvahu, že v centru města i mimo něj se nachází spoustu rychlostních omezení např. v podobě pěších zón, obytných zón a zón s dopravním omezením. Také časy mezi některými odběrateli mohou být při rozvozu trasy trochu jiné než je uvedeno v Plánovači tras (např. pokud se místa nachází na jedné ulici s jiným číslem popisným může cesta trvat méně než uvedenou jednu minutu), což je dáno také zaokrouhlením tohoto času na celé minuty. 4.4 Optimalizace pomocí programu STORM Pro počítačové zpracování našeho problému jsem využila programu Storm 3.0 pro jeho vlastnosti i za podmínky, že tento program nemusí zajistit přímo optimální řešení. Tento program zajistí pouze takovou hodnotu účelové funkce, která se blíží hodnotě optima. Ovšem výsledky v některých případech se mohou zcela shodovat s výsledky získané za pomoci jiného programu, který má zajistit přímo optimální hodnotu účelové funkce. V jiném případě zajistí různé výsledky, které však nejsou příliš rozdílné. Program Storm patří do řady programů jednodušších, což pro tuto problematiku a pro výpočet našich tří tras vystačí. S programem jsem se prakticky ve výuce nesetkala, ale jeho ovladatelnost není složitá a v programu jsem se poměrně rychle zorientovala. Jediná drobná komplikace je, že je program v anglické verzi, což po nastudování potřebných materiálů a informací o tomto programu daný problém odbourá. Výsledky program po zadání hodnot stanoví téměř okamžitě (za několik sekund). V teoretické části práce zaměřené na práci s programem Storm je uveden spolu s obrázky postup krok po kroku, který je třeba absolvovat pro získání výsledků. Po otevření programu se nacházíme v hlavním menu, kde je třeba vybrat požadovaný modul. Poté vstupujeme do režimu INPUT, kde svým výběrem za-
Vlastní analýza problému 43 jistíme vkládání dat přímo v programu. Zmiňovaná data vkládáme spolu se základními parametry úlohy v režimu EDIT. Po zadání všech hodnot se pokračuje režimem zpracování PROCESS a po výběru nabídky zpracování aktuálních dat program navrhne zoptimalizovanou trasu. Ta obsahuje jednotlivá místa v pořadí, ve kterém se mají navštívit a spolu s ní také jednotlivé vzdálenosti v kilometrech a jejich celkový součet pro celou trasu. Výsledky jsou zobrazeny pro jednotlivé trasy v následujících třech podkapitolách. 4.4.1 Trasa č. 1 Na následujících dvou obrázkách 7 a 8 vidíme výsledky, ke kterým jsme dospěli s přispěním programu Storm. Na prvním obrázku je uvedeno devatenáct úseků trasy a na druhém jsou zbylé dva úseky trasy spolu s celkovým počtem najetých kilometrů. 21,6 kilometrů je vzdálenost, kterou ujede řidič absolvováním trasy č. 1. Největší vzdálenosti mezi dvěma body tvoří u všech tří tras první a poslední úsek trasy, což je dáno polohou brněnské divize. První úsek této trasy tvoří 5,2 kilometrů a poslední úsek 4,7 kilometrů, což v součtu dává téměř polovinu celkové trasy. Obr. 7 Optimalizovaná trasa č. 1 programem STORM
Vlastní analýza problému 44 Nejlepší uspořádání návštěvních míst podle programu Storm je následující: Tuřanka 877/125 Štolcova 569/31 Huskova psych. Léčebna Charbulova/ Huskova 2 Blatouchova 2/1074 Masná 418/20 Dornych 195/33 Zvonařka 4 Plotní 471/22 Za Mostem Zvonařka 470/2b Rosická 136/20 Opuštěná 227/4 Úzká 4 Dornych 4 Vlhká 21 Křenová 297/22 Křenová 31 Křenová 185/59 Křenová 389/77 Olomoucká 240/38 Tuřanka 877/125 Obr. 8 Optimalizovaná trasa č. 1 programem STORM - pokračování 4.4.2 Trasa č. 2 Stejně jako u první trasy jsou zde dva obrázky zobrazující uspořádání míst navržené programem Storm. Avšak s tím rozdílem, že ujetá vzdálenost v rámci trasy je o více než deset kilometrů delší, zatímco návštěvních míst je méně, tedy celkem osmnáct. Rozvozem řidič této trasy ujede 34,7 kilometru. Nejlepší uspořádání návštěvních míst podle programu Storm je následující: Tuřanka 877/125 Čápkova 32/28 Čápkova 17 Jiráskova 71/1 Nám. Míru 373/1 Klímova 2055/18 Makovského nám. 1 Přívrat 84 Hradecká 614 Hradecká 612 Palackého třída 1891/162 Kolejní 2906/2
Vlastní analýza problému 45 Technická 2896/2 Purkyňova 2415/116 Purkyňova 1925/71 Purkyňova 45a Srbská 1824/27 Sportovní 2941/39 Tuřanka 877/125 Obr. 9 Optimalizovaná trasa č. 2 programem STORM Obr. 10 Optimalizovaná trasa č. 2 programem STORM - pokračování