V roce 2015 byli dva dispečeři společnosti Rohlík.cz zcela zaměstnáni pouze plánováním rozvozů. S maximálním nasazením zvládali sestavit 250–300 tras pro 1500 objednávek denně. Žádný div, že toho měli plné brýle a nic jiného nestíhali.
Tak jsme se dostali k úloze navrhnout systém, který by plán rozvozů zautomatizoval, zefektivnil a službu zbavil výpadků. Také bylo třeba optimalizovat využití vozového parku — neblokovat rozvoz nedostatkem vozidel ani zbytečně nedržet auta v pohotovosti, když je objednávek méně.
Logistika Rohlíku.cz je skutečně komplikovaná. Nutnost zpracovávat objednávky kontinuálně a reagovat na ně v reálném čase nás přiměla k vývoji nového softwaru. V čem se liší od klasických plánovacích programů, je vlastně jen drobnost: kontinuální rozvoz nezná luxus uzávěrky objednávek. Dopady na výpočet jsou ale zásadní.
Trasu vařte za stálého míchání
Systém přicházející objednávku prozkoumá a nasype do společného hrnce. Zatímco jí začíná běžet čas a stoupat teplota, algoritmus prochází desítky až stovky v té chvíli rozpracovaných tras, aby ji do nejlepší z nich zařadil. Pokud žádnou vhodnou trasu nenajde, založí ji a bleskově vyhledá další objednávky, kterým by mohla vyhovovat víc.
Přitom sleduje tikající hodiny. Jakmile se některé objednávce přiblíží čas nakládky, její trasu uzavře a odešle na Rohlík.cz, aby zakázky stihli vychystat, naložit a poslat do světa.
Náš systém se ale naučil pořadí zakázek k vychystání predikovat dřív, než trasy uzavře. Tím pomáhá expedici snižovat stres a chybovost.
Kolik višní, tolik třešní
Ukázalo se, že propojit plánování s vozovým parkem, který měl zpočátku Rohlík.cz k dispozici, bude tvrdý oříšek. Rozlouskli jsme ho tak, že jsme problém obrátili. Zavedli jsme fikci neomezeného vozového parku a přestali řešit, kolik aut Rohlík.cz potřebuje pro existující objednávky. Místo toho jsme začali počítat, kolik objednávek může přijmout, aby je stihl včas rozvést dostupným počtem vozidel.
Přechod na Kiru osvobodil dispečery od plánovací řehole a umožnil jim věnovat se další užitečné agendě. Přitom se denní kapacita zvedla z původních 1500 na dnešních cca 13 000 zakázek. Dalších 7000 objednávek generují pobočky v Brně, Budapešti a Vídni. Současně se plánuje i doprava do vzdálenějších regionů, což všechno dohromady výrazně zvyšuje nároky na výkon aplikace.
Přesto počet zakázek na trase stoupl z pěti na téměř trojnásobek a výrazně se zkrátil čas k obsloužení zakázky, což je hlavní ukazatel úspory kurýrů i vozidel.