Dvojetapové stochastické programovanie a rovnomerné rozvrhy pri neistote
16. Máj, 2011, Autor článku: Ladovský Tomáš, Informačné technológie
Ročník 4, číslo 5
Pridať príspevok
Článok sa venuje problematike rozpisovania služieb vodičom autobusov pre prvé tri víkendy predvianočného obdobia, pričom tvorca rozvrhu chce tento rozvrh navrhnúť tak, aby prechod na Vianočný rozvrh, ktorého rozvrhovanie sa ešte len bude realizovať, bol čo najplynulejší. Tvorca rozvrhu na riešenie použije dvojetapové stochastické programovanie (SP), ktorého jadro tvorí priraďovacia úloha. Princíp dvojetapového SP spočíva v tom, že v prvej etape sa priradia turnusy vodičom pre každý deň predvianočného víkendu a v druhej etape sa vykonávajú rekurzívne opravy týchto priradení vzhľadom na predpokladaný rozvrh vo Vianočnom rozvrhu.
1. Úvod
Tvorca rozvrhu má za úlohu vytvoriť rozpisy služieb vodičom autobusov v prímestskej doprave [3] pre časové obdobie dvoch dní. Ide o dni sobota a nedeľa v mesiaci december 2010. Tri víkendy sú v tomto mesiaci pred Vianocami a dva víkendy sa vyskytujú počas sviatkov (Vianoce, Nový rok). Predpokladom je krátkodobé plánovanie, t.j. pre tento mesiac sa vytvára rozvrh najskôr pre prvé tri týždne. Po aplikovaní rozvrhu v praxi sa plánuje Vianočný rozvrh.
Tvorca rozvrhu chce pre tri periodicky sa opakujúce víkendy predvianočného obdobia rozvrhnúť vodičom autobusov turnusy tak, aby celkové výkony vodičov boli čo najrovnomernejšie. Realizácie pracovných časov turnusov predvianočného obdobia modelujeme priemernou hodnotou trvania turnusov za predošlé roky. Tento rozvrh ale treba vytvoriť tak, aby prechod na Vianočný rozvrh, ktorého rozvrhovanie sa ešte len bude realizovať, bol čo najplynulejší, tzv. prechod z predvianočného rozvrhu na Vianočný rozvrh sa realizoval s čo najmenším počtom zmien v priradeniach vodič/turnus, viď. poznámka 6. Realizácie denných pracovných časov turnusov počas Vianočného obdobia nepoznáme vopred, poznáme iba ich optimistický, priemerný a pesimistický odhad.
Najskôr si ukážeme (sekcia 3), ako môžeme vytvoriť rozpis služieb bez predpokladania nejakej náväznosti na Vianočný rozvrh. Tvorba rozpisu služieb na dva dni je optimalizačne nekomplexný problém, ktorý môže riešiť exaktne pomocou bivalentného lineárneho programovania, “priraďovacej úlohy”. Potom si ukážeme (sekcia 4), ako vytvoriť predvianočný rozvrh vzhľadom na predpokladaný Vianočný rozvrh a to tak, aby prechod medzi týmito dvoma rozvrhmi bol čo najplynulejší, t.j. počet zmien v priradeniach vodič/turnus je nulový. Vianočný rozvrh zatiaľ neexistuje, poznáme ale predpokladané realizácie denných pracovných časov turnusov, ktoré môžu byť optimistické, priemerné alebo pesimistické. Na základe týchto predpokladov vieme vytvoriť Vianočný rozvrh. Teda získame tak tri scenáre Vianočného rozvrhu, ktoré sa pravdepodobne môžu udiať.
Ak by sme mali informácia o tom, aké časy turnusov sa budú počas Vianočného obdobia realizovať, tak by tvorba predvianočného rozvrhu nebola vôbec komplikovaná. Keďže ale túto informáciu nemáme, vytvoríme tri samostatné predvianočné rozvrhy. Nakoniec si ukážeme (sekcia 5), ako vytvoriť predvianočný rozvrh pomocou dvojetapového modelu stochastického programovania [1]. Keďže nepoznáme informáciu o skutočných realizáciách denných pracovných časov turnusov vo Vianočnom období, skúsime vytvoriť taký predvianočný rozvrh, ktorý je ideálny za všetkých okolností, ktoré môžu nastať počas sviatkov. Princíp dvojetapového SP spočíva v tom, že pridelí turnusy vodičom v predvianočnom rozvrhu tak, aby celkové výkony vodičov boli čo najrovnomernejšie a druhá etapa vykonáva rekurzívne opravy v tomto predvianočnom rozvrhu vzhľadom na predpokladaný Vianočný rozvrh.
Problém rozpisovania služieb vodičom autobusov (angl. The Bus Driver Rostering Problem – DRP) môžeme formulovať ako: Nech je počet vodičov autobusov a je počet pracovných dní. Pre každého vodiča má tvorca rozvrhu navrhnúť postupnosť turnusov, teda -ty vodič má prejsť -ty turnus v -ty deň. DRP je obmedzovaný viacerými právnymi predpismi [6] a pravidlami spoločností pomocou nasledujúcich ťažkých podmienok:
- (h1) v uvažovanom dni môžeme každému vodičovi priradiť práve jeden turnus alebo deň voľna,
- (h2) v uvažovanom dni musíme každému turnusu priradiť práve jedného vodiča,
- (h3) pre všetkých vodičov sú splnené všetky nutné podmienky na zákonný denný a týždenný odpočinok (článok sa nezaoberá),
- (h4) pre všetkých vodičov sú splnené všetky nutné podmienky týkajúce sa maximálneho týždenného pracovného času a času vedenia vozidla (článok sa nezaoberá).
Nazývame ich ťažkými podmienkami, pretože sa nesmú porušiť. Ďalej je dobrý rozpis služieb charakterizovaný čo najlepším dodržaním ľahkých podmienok:
- (s1) celkové pracovné časy jednotlivých vodičov za dané obdobie sú približne rovnaké,
- (s2) prechod z predvianočného rozvrhu na vianočný rozvrh obsahuje čo najmenej zmien v priradení vodič/turnus.
- (s3) náklady sú minimálne (článok sa nezaoberá),
- (s4) vodič má priradené turnusy, ktoré dobre pozná, t.j. postupnosť priradených turnusov obsahuje rovnaké alebo podobné trasy (článok sa nezaoberá).
V ľahkých podmienkach sú zahrnuté ciele rozpisovania služieb a tie optimalizujeme. Celkový pracovný čas -teho vodiča spočítame ako súčet pracovných časov pre každý pracovný deň. Denný pracovný čas vodiča je súčet časov jazdy, prejazdov, manipulácie a státia.
2. Matematická formulácia
Nech je množina dní, je množina indexov vodičov autobusov a je množina turnusov. Parametere vyjadrujú porade počet dní, počet vodičov a počet turnusov. Ďalej v texte predpokladáme, že .
Rozpisovanie služieb vodičom autobusov znamená, že pre každý deň z množiny dní priradí tvorca rozvrhu vodičovi deň voľna alebo turnus z množiny turnusov tak, aby nedošlo k porušeniu žiadnej ťažkej podmienky počas optimalizovania ľahkých podmienok.
Turnus je pevne daná postupnosť trás pre jeden autobus na jeden deň. Definujeme ho ako usporiadanú štvoricu nasledovných parametrov: čas obsadenia, čas prejazdov, čas manipulácie a čas státia -teho turnusu. Denný pracovný čas -teho turnusu spočítame ako pre . Jednotkou času sú minúty.
Celkový pracovný čas i-teho vodiča spočítame ako súčet denných pracovných časov turnusov jemu priradených za celé obdobie rozpisovania služieb.
Rozpisy služieb vodičov autobusov môžeme zovšeobecniť a formulovať ako kombinatorický problém rovnomernosti riadkových súčtov stĺpcovo permutovanej matice (angl. matrix permutation problem ) [5]. Vhodným preusporiadaním stĺpcov (denných výkonov) matice možno zrovnomerniť výkony vodičov zodpovedajúce riadkovým súčtom.
Definícia 1 Matrix permutation problem
Nech a sú konečné neprázdne množiny a nech je reálna matica rozmeru . Hľadá sa taká matica permutácií stĺpcov matice pre ktorú platí:
kde je nejaká miera nerovnomernosti vektora reálnych čísel, je -ty riadkový súčet matice a je množina všetkých permutácií množiny . Riešením takto formulovanej úlohy je matica .
Mieru nerovnomernosti potrebujeme na určenie nerovnomernosti riadkových súčtov matice pri danej permutačnej matici . Čím je miera nerovnomernosti menšia, tým sú riadkové súčty matice viac zrovnomernené. V súčasnosti existuje niekoľko mier nerovnomernosti. S ich definíciou sa môžeme stretnúť napríklad v [4,5]. V nasledujúcom texte sa stretneme s nasledujúcimi troma formami miery nerovnomernosti:
(1) |
Jednotlivé premenné až predstavujú kumulované pracovné výkony vodičov1 a je ideálnym pracovným výkonom vodiča, v tomto prípade priemerná hodnota, ktorú spočítame ako
Problém rovnomernosti riadkových súčtov stĺpcovo permutovanej matice je výpočtovej zložitosti . Z tohoto dôvodu sú exaktne riešiteľné len veľmi malé inštancie. Na riešenie veľkých inštancií môžeme použiť heuristické metódy. Najznámejšou a najvhodnejšou heuristickou metódou, ktorá je veľmi rýchla a dosahuje veľmi dobré výsledky, je stochastická-dekompozičná metóda [4,5].
V nasledujúcom texte si predstavíme príklad dvojdňového predvianočného rozpisu služieb, t.j. inštanciu, kde . Takto definovaný problém poznáme pod menom \uv{problém rovnomernosti riadkových súčtov stĺpcovo permutovanej dvojstĺpcovej reálnej matice}, ().
3. Rozpisovanie služieb v predvianočnom období
Riešme nasledujúcu inštanciu MPP2c problému s nasledujúcimi vstupnými hodnota: Nech a . Pre prvky matice $\mathbb A = (a_{ij})$ rozmeru $m\times 2$ platí, že $a_{ij} = c_i$ pre , kde predstavuje denný pracovný čas -teho turnusu. Časy obsadenia, prejazdov, manipulácie, státia a celkové časy turnusov sú v tabuľke 1. Problém [4,5] vieme riešiť exaktne v polynomiálnom čase pomocou priraďovacej úlohy lineárneho bivalentného programovania, pre ktorú sú obe ťažké podmienky () splnené.
Tab.1. Časy obsadenia, prejazdov, manipulácie, státia a celkové časy turnusov obdobia pred Vianocami
Turnus | |||||
---|---|---|---|---|---|
Turnus 1 | 206 | 8 | 53 | 75 | 342 |
Turnus 2 | 274 | 4 | 75 | 141 | 494 |
Turnus 3 | 216 | 4 | 54 | 77 | 351 |
Turnus 4 | 228 | 8 | 60 | 106 | 402 |
Turnus 5 | 239 | 4 | 54 | 92 | 389 |
Turnus 6 | 314 | 4 | 68 | 111 | 497 |
Turnus 7 | 212 | 4 | 65 | 117 | 398 |
Definícia 2 Klasická priraďovacia úloha )
Medzi najznámejšie inštancie rozvrhovacích úloh patrí klasická priraďovacia úloha. Nech je konečná množina, typu je daná matica reálnych čísel a typu je hľadaná matica priradení. Potom priraďovaciu úlohu možno formulovať ako nasledujúcu úlohu bivalentného lineárneho programovania.
Prvky matice priradení môžeme pre problém definovať ako: xij =
- 1 – ak $latexi$-temu vodičovi/turnusu v prvý deň priradíme -ty turnus v druhý deň, t.j.
- 0 – nič nerobíme
Ostáva nám teraz, vzhľadom na ľahkú podmienku (s1), správne navrhnúť účelovú funkciu, t.j. prvky matice . Pre tento účel nám poslúži miera nerovnomernosti (1). Po jednoduchej úprave získavame nasledujúci tvar
kde je a to za predpokladu, že permutácia prvého stĺpca je identická, t.j. . Hodnoty a sú konštantné a neovplyvňujú výsledok optimalizácie, preto ich z účelovej funkcie môžeme vypustiť. Za predpokladu môžeme písať prvok matice ako . Potom účelová funkcia nadobúda tvar
Priraďovaciu úlohu môžeme riešiť napríklad použitím solvera GLPK [7]. V tabuľke 2 môžeme nájsť víkendový rozpis služieb predvianočného obdobia. Výsledku sa dá ľahko porozumieť. Solver spojil prvý najkratší turnus s prvým najdlhším turnusom, druhý najkratší turnus s druhým najdlhším turnusom, a tak ďalej. Hodnoty mier nerovnomerností sú pre rozvrh viď. tabuľka 2 zobrazené v tabuľke 3. Vyriešili sme problém, dodržali všetky podmienky a získali sme rozvrh pre tri víkendy predvianočného obdobia, ktorých celkové pracovné časy medzi vodičmi sú približne rovnaké.
Tab. 2. Výsledky priradenia turnusov – finálny rozvrh
Vodič | Sobota | Nedeľa | |
---|---|---|---|
1 | T1 (342) | T6 (497) | 839 |
2 | T2 (494) | T3 (351) | 845 |
3 | T3 (351) | T2 (494) | 845 |
4 | T4 (402) | T5 (389) | 791 |
5 | T5 (389) | T4 (402) | 791 |
6 | T6 (497) | T1 (342) | 839 |
7 | T7 (398) | T7 (398) | 796 |
Tab.3. Výsledky priradenia turnusov – miery nerovnomernosti
Cieľová f. | hodnota |
---|---|
54 | |
0.029 | |
4224.86 |
Poznámka 1
Čitateľ si mohol všimnúť, že rovnomernejšie výkony vodičov, pre prvé tri víkendy mesiaca december 2010, by sme obdržali riešením problému s parametrami a , kde prvé dva stĺpce predstavujú prvý víkend, druhé dva stĺpce druhý víkend a posledné dva stĺpce matice predstavujú tretí víkend. Tento problém je však -ťažký a riešiteľný už pre takto malú inštanciu iba heuristickými metódami. Najúspešnejšou z nich je vzhľadom na rýchlosť a optimalitu riešenia stochastická dekompozičná metóda [4,5].
4. Reprezentácia pomocou scenárov
V predošlej sekcii sme navrhli predvianočný rozpis služieb pre prvé tri víkendy mesiaca december 2010. Vieme, že vianočný rozpis služieb, t.j. posledné dva víkendy mesiaca december 2010, sa bude rozvrhovať až po odovzdaní a aplikovaní predvianočného rozvrhu. Ak by sme použili predvianočný rozpis služieb a rovnakým spôsobom naplánovali Vianočný rozpis služieb, tak by mohla nastať situácia, že celkové kumulované pracovné časy by boli veľmi nerovnomerné, t.j. by sme porušili veľmi ľahkú podmienku (s1).
Taktiež je veľmi pravdepodobné, že by došlo k porušeniu podmienky (s2), tzv. prechod z predvianočného rozvrhu na Vianočný rozvrh by znamenal zmeny v priradeniach medzi turnusmi a vodičmi, na čo by protestovali vodiči autobusov. Preto sa pokúsime vytvoriť predvianočný rozvrh, ktorý by viedol na rovnomerné kumulované pracovné výkony vodičov za celý mesiac, pričom prechod z tohoto rozvrhu na Vianočný rozvrh je čo najplynulejší.
Poznámka 2 Zaujímavá sa zdá byť problematika minimalizovania počtu zmien pri prechode z rozvrhu A na rozvrh B.
Predpokladajme, že z predošlej sekcie máme k dispozícií časy obsadenia, prejazdov, manipulácie, státia a denné pracovné časy turnusov predvianočného obdobia 1. Realizácie denných pracovných časov turnusov Vianočného obdobia nepoznáme, poznáme iba ich optimistický, priemerný a pesimistický odhad. Tabuľka 4 obsahuje takéto dáta, pričom 3(a) sú dĺžky turnusov za dobrých podmienok, 3(b) sú dĺžky turnusov za priemerných podmienok a 3(c) sú dĺžky turnusov za zlých podmienok.
Tab.3. Časy obsadenia, prejazdov, manipulácie, státia a celkové časy turnusov za dobrých, priemerných a zlých podmienok v období Vianoc
(a) Dobré podmienky
215 | 8 | 59 | 77 | 359 | |
279 | 6 | 77 | 143 | 505 | |
218 | 5 | 54 | 78 | 355 | |
231 | 9 | 65 | 108 | 413 | |
239 | 5 | 56 | 96 | 396 | |
321 | 7 | 69 | 117 | 514 | |
219 | 9 | 69 | 122 | 419 |
(b) Priemerné podmienky
220 | 8 | 60 | 77 | 365 | |
283 | 6 | 77 | 146 | 512 | |
218 | 6 | 59 | 84 | 367 | |
235 | 9 | 65 | 110 | 419 | |
251 | 8 | 59 | 100 | 401 | |
322 | 7 | 69 | 118 | 516 | |
220 | 9 | 70 | 123 | 422 |
(c) Zlé podmienky
222 | 9 | 61 | 79 | 371 | |
286 | 6 | 79 | 148 | 519 | |
219 | 8 | 62 | 89 | 378 | |
237 | 9 | 65 | 114 | 425 | |
251 | 8 | 59 | 100 | 418 | |
323 | 7 | 70 | 118 | 518 | |
221 | 9 | 70 | 124 | 424 |
Pomocou týchto údajov vyhodnotíme pre každý turnus tri hodnoty:
- optimistický odhad pracovného času za predpokladu realizácie krátkych pracovných časov možných situácií,
- priemerný odhad pracovného času
- pesimistický odhad pracovného času za predpokladu realizácie dlhých pracovných možných situácií.
Teraz nás zaujíma citlivosť rovnomernosti predvianočného rozvrhu vzhľadom na predpokladané Vianočné realizácie denných pracovných časov. Preto spravíme ešte ďalšie tri optimalizácie založené na predpokladaných realizáciách denných časov turnusov počas Vianočného obdobia. Ako príklad si ukážeme výpočet optimálneho rozvrhu za predpokladu, že počas Vianoc nastanú tie najlepšie podmienky.
Nech je množina indexov vodičov autobusov a nech prvky matice rozmeru predstavujú plánované denné pracovné časy predvianočného obdobia a nech prvky matice rozmeru predstavujú plánované optimistické denné pracovné časy Vianočného obdobia. Účelovú funkciu navrhneme rovnako ako v predošlom matematickom modeli.
(2) |
kde
- 1 ak i-temu turnusu v prvý deň priradíme j-ty turnus v druhý deň, t.j.
- 0 inak
Poznámka 3 Aj keď sa dá matematický model (2) zjednodušiť aplikovaním substitúcie , tak túto formuláciu ponechávame z ilustračného dôvodu a neskoršieho použitia v nasledujúcej sekcii v dvojetapovom stochastickom programovaní, kde premenné matice vyjadrujú rozhodnutia prvej etapy a premenné matice vyjadrujú rozhodnutia druhej etapy.
Poznámka 4 Ďalším vhodným spôsobom optimalizácie ľahkej podmienky (s2) z úvodu článku je Lagrangeová relaxácia podmienky z matematického modelu (2). Nech $\lambda\geq 0$, potom účelovú funkciu matematického modelu \REFe{\eqnlabelname: extended assignment problem} môžeme zapísať ako:
Použitím solvera GLPK [7] sme obdržali predvianočný rozvrh a to za predpokladu, že sa počas Vianoc budú realizovať optimistické odhady denných pracovných časov turnusov. Takto spočítame predvianočné rozvrhy aj pre ostatné scenáre. V tabuľke 5 sa nachádzajú optimálne rozvrhy obdobia pred Vianocami za predpokladu výskytu najlepších možných situácií 4(a), za predpokladu výskytu priemerných situácií 4(b) a za predpokladu výskytu najhorších možných situácií 4(c).
Tab.5. Predvianočné rozvrhy za optimálnych, priemerných a pesimistických podmienok Vianočného obdobia
(a) Predvianočný rozvrh za dobrých podmienok
Sobota | Nedeľa | ||
---|---|---|---|
1 | T1 (342) | T6 (494) | 836 |
2 | T2 (494) | T3 (342) | 836 |
3 | T3 (351) | T2 (497) | 848 |
4 | T4 (402) | T5 (402) | 804 |
5 | T5 (389) | T4 (398) | 787 |
6 | T6 (497) | T1 (351) | 848 |
7 | T7 (398) | T7 (389) | 787 |
(b) Predvianočný rozvrh za priemerných podmienok
Sobota | Nedeľa | ||
---|---|---|---|
1 | T1 (342) | T6 (497) | 839 |
2 | T2 (494) | T3 (351) | 845 |
3 | T3 (351) | T2 (494) | 845 |
4 | T4 (402) | T5 (402) | 804 |
5 | T5 (389) | T4 (398) | 787 |
6 | T6 (497) | T1 (342) | 839 |
7 | T7 (398) | T7 (389) | 787 |
(c) Predvianočný rozvrh za zlých podmienok
Sobota | Nedeľa | ||
---|---|---|---|
1 | T1 (342) | T6 (497) | 839 |
2 | T2 (494) | T3 (351) | 845 |
3 | T3 (351) | T2 (494) | 845 |
4 | T4 (402) | T5 (389) | 791 |
5 | T5 (389) | T4 (402) | 791 |
6 | T6 (497) | T1 (342) | 839 |
7 | T7 (398) | T7 (398) | 796 |
Pre predvianočné rozvrhy z tabuľky 5 môžeme spočítať miery nerovnomernosti, ktoré sú zobrazené v tabuľke 6.
Tab.6 Miery nerovnomernosti predvianočných rozvrhov za optimálnych, priemerných a pesimistických podmienok Vianočného obdobia
(a)
Cieľová f. | hodnota |
---|---|
848 | |
0.0294 | |
4508.86 |
(b)
Cieľová f. | hodnota |
---|---|
845 | |
0.0294 | |
4400.86 |
(c)
Cieľová f. | hodnota |
---|---|
845 | |
0.0294 | |
4224.86 |
Poznámka 5 Je zrejmé, že veľkosť miery nerovnomernosti závisí od realizácií denných pracovných časov Vianočného obdobia ale zároveň je nezávislá od charakteru scenára. Mohli by sme totiž predpokladať, že pri optimistických Vianočných časoch je miera nerovnomernosti minimálna. Za dobrých podmienok je miera nerovnomernosti rovná hodnote 4508.86 a za zlých podmienok je miera nerovnomernosti rovná hodnote 4224.86, ktorá je nižšia ako hodnota za dobrých podmienok, t.j. rozvrh je viac zrovnomernený pri pesimistických denných pracovných časoch turnusov.
Poznámka 6 Po vypustení podmienky z matematického modelu 2 získame dva nezávislé rozvrhy, ktoré sme schopní zostaviť na základe rozhodnutí priradenia turnusov a . Ak sú za tohoto predpokladu tieto rozhodnutia rovnaké pre každé i a j, tak oba rozvrhy majú minimálne miery nerovnomernosti a nedôjde k žiadnym zmenám v rozvrhoch pri prechode z predvianočného obdobia na vianočné obdobie. Ak by ale rozhodnutia a boli rôzne, napr. a , tak prvému vodičovi v predvianočnom rozvrhu priradíme prvý turnus, zatiaľ čo vo vianočnom rozvrhu by sme prvému vodičovi museli zmeniť prvý turnus na štvrtý.
5. Stochastický prístup
V predošlej sekcii by sa nám veľmi zišla informácia o tom, aké denné pracovné časy turnusov sa počas Vianoc budú realizovať. Ak by sme takúto informáciu mali, napríklad podmienky budú počas Vianoc dobré, čo bude viesť k optimistickým časom, tak by nám stačilo použiť predvianočný rozvrh z tabuľky 4(a). Nanešťastie takúto informáciu nemáme, a tak sa musíme rozhodnúť bez nej. Vieme ale, že chceme taký predvianočný rozvrh, ktorý bude vyhovovať všetkým podmienkam.
Rozhodnutia musíme urobiť v najbližšom čase, ale rozhodnutia budeme robiť pár dní pred Vianočným rozvrhom. Na rozlíšenie rozhodnutí závislých na Vianočných podmienkach použijeme index scenára , odpovedajúci optimálnym, priemerným a pesimistickým realizáciám denných pracovných časov turnusov. Toto vytvorí novú množinu premenných tvaru .
Rozhodnutie predstavuje priradenie prvého turnusu v prvý víkendový deň Vianočného obdobia k tretiemu turnusu v druhý víkendový deň Vianočného obdobia a to za predpokladu pesimistických realizácií pracovných časov turnusov. Rovnako ako v predošlej sekcii je našim cieľom vytvoriť predvianočný rozvrh, ktorý by viedol na rovnomerné kumulované pracovné výkony vodičov za celý mesiac, pričom prechod z tohoto rozvrhu na Vianočný rozvrh je čo najplynulejší.
Nech je množina indexov vodičov autobusov, nech je množina indexov scenárov (opt., priem., pes.) a nech prvky matice rozmeru predstavujú plánované denné pracovné časy predvianočného obdobia a nech prvky matice rozmeru predstavujú plánované denné pracovné časy Vianočného obdobia za scenára . Účelovú funkciu rozšírime podobne ako v predošlej sekcii. Ak majú scenáre rovnakú pravdepodobnosť rovnú hodnote 1/3, potom problém rovnomerného rozpisovania služieb vodičom autobusov, môžeme zapísať ako:
(3) |
kde
- 1 ak v predvianočnom rozvrhu i-temu turnusu v prvý deň priradíme j-ty turnus v druhý deň, t.j.
- 0 inak,
kde
- 1 ak vo Vianočnom rozvrhu i-temu turnusu v prvý deň priradíme j-ty turnus v druhý deň v s-tom scenári, \quad \forall (i,j,s)\in\mathcal V\times\mathcal V\times\mathcal S$
- 0 inak,
Rozhodnutia sa nazývajú prvou etapou SP a sú vykonané teraz (predvianočný rozvrh). Rozhodnutia sa nazývajú druhou etapou SP a závisia na budúcich okolnostiach. Takýto model stochastického pregramovania je známy ako rozsiahla forma (extensive form) [1], pretože explicitne2 popisuje druhú etapu (second stage) premenných rozhodnutí pre všetky scenáre. Optimálne riešenie pre (3) je v tabuľke 7.
Tab. 7. Predvianočný dvojetapový rozvrh
Vodič | Sobota | Nedeľa | [min] |
---|---|---|---|
1 | T1 (342) | T6 (497) | 839 |
2 | T2 (494) | T3 (351) | 845 |
3 | T3 (351) | T2 (494) | 845 |
4 | T4 (402) | T5 (402) | 804 |
5 | T5 (389) | T4 (398) | 787 |
6 | T6 (497) | T1 (342) | 839 |
7 | T7 (398) | T7 (389) | 787 |
Na základe predvianočného dvojetapového rozvrhu sú vypočítané miery nerovnomernosti, ktoré môžeme vidieť v tabuľke 8.
Tab. 8 Miery nerovnomernosti predvianočného dvojetapového rozvrh
Cieľová f. | hodnota |
---|---|
845 | |
0.0294 | |
4296.86 |
Záver
Článok sa zaoberal problematikou rovnomerného rozpisovania služieb vodičom autobusov v prímestskej autobusovej doprave. Zovšeobecnený problém môžeme v literatúre nájsť pod názvom \uv{problém rovnomernosti riadkových súčtov stĺpcovo permutovanej matice} (angl. Matrix permutation problem [4,5]). Rozpisy služieb sme vytvorili pre prvé tri víkendy mesiaca December 2010 tak, aby tento predvianočný rozvrh mal zrovnomernené celkové kumulované výkony vodičov autobusov. Navyše sme tento rozvrh vytvorili tak, aby prechod na Vianočný rozvrh, ktorého rozvrhovanie sa ešte len bude realizovať, bol čo najplynulejší, tzv. aby ostali rovnaké (podobné) turnusy vodičom počas celého mesiaca December.
Takto zadefinovaný problém sme najskôr riešili iba pre predvianočné obdobie. Potom sme problém rozšírili o Vianočný rozvrh, ktorého realizácie denných pracovných časov turnusov sme nepoznali, poznali sme iba ich optimistické, priemerné a pesimistické odhady. Vzhľadom na tieto odhady sme obdržali tri možné scenáre predvianočného rozvrhu. Takto vyriešený problém je ale neefektívny v praxi. Preto sme využili nástroj stochastického matematického programovania a vytvorili jeden rozpis služieb, ktorý je výhodný pre všetky tri scenáre.
Poďakovanie
Táto práca vznikla s podporou grantovej agentúry VEGA vrámci riešenia projektu 1/0374/11 “Modelovanie a optimalizácia mobility a infraštruktúry v logistických sieťach.”.
Literatúra
- Birge, J.R., Louveaux, F., Introduction to Stochastic Programming, Springer, ISBN 0-387- 98217-5, 1997
- Krišandová, M., Návrh mesačných rozvrhov vodičov autobusov, Fakulta riadenia a informatiky, Univerzita v Žiline, Diploma work 268/2006, 2007
- Ladovský, T., Fuzzifikovaná heuristika day-by-day pre tvorbu rozvrhu služieb vodičov autobusov, Dopravná infraštruktúra v mestách, 7. medzinárodná konferencia DIvM 2010, 2010
- Peško, Š., Optimalizácia NP-ťažkých dopravných rozvrhov, ŽU Žilina, Habilitačná práca, 2002
- Peško, Š., The Matrix Permutation Problem in Interval Arithmetic, Journal of Information, Control and Management Systems, vol. 1, num. 1, 2006
- Poliak, M. and Gnap, J., Práca vodičov nákladných automobilov a autobusov a používanie tachografov, Žilinská Univerzita v Žiline – EDIS-vydavateľstvo ŽU, ISBN 978-80-8070-989-1, 2009
- GNU Linear Programming Kit (GLPK), Package for solving large-scale linear programming (LP) and mixed integer programming (MIP)
1 Pre MPP problém platí xi = si pre všetky i ∈ M
2Explicitne (lat.) je výslovne, jasne, jednoznačne