VOLF, R. Inicializace pro optimalizaci reálného problému směrování vozidel [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.

Posudky

Posudek vedoucího

Sedlák, David

Student řešil složitý problém z praxe, v průběhu řešení se musel vypořádat s řadou komplikací. Vhodně upravil nastudované algoritmy a vytvořil zajímavé programové řešení. Výsledky práce považuji za kvalitní, mají potenciál pro použití v praxi a budou použity v dalším výzkumu této problematiky. Zejména kvůli nedostatkům v experimentální části textové zprávy celkově práci hodnotím jako velmi dobrou.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Informace k zadání Student při řešení pracoval s datovou sadou získanou z praxe, která stále obsahuje různé chyby a nekonzistence, se kterými se musel průběžně vypořádat. Zároveň na problém nešlo přímo aplikovat existující přístupy, student musel nejprve provést jejich vhodnou modifikaci. Zadání vnímám v kontextu bakalářské práce jako obtížnější. S dosaženými výsledky jsem celkově spokojen, jediným nedostatkem je z mého pohledu nepříliš důkladné provedení a vyhodnocení experimentální části práce. Zadání však považuji za splněné v plném rozsahu.
Práce s literaturou Práci s literaturou hodnotím pozitivně, student vhodně využil doporučenou literaturu a zároveň byl schopen ve vlastní režii dohledávat a použít i další relevantní zdroje.
Aktivita během řešení, konzultace, komunikace Student pracoval aktivně již v zimním semestru, práce byla pravidelně konzultována, student byl na konzultace připraven.
Aktivita při dokončování Většina práce byla dokončena v předstihu a většina byla i dostatečně konzultována již v průběhu semestru, některé části práce jsem však neměl k dispozici s dostatečným předstihem (experimenty, závěr) a moje zpětná vazba do těchto několika částí práce pravděpodobně nebyla zapracována v plném rozsahu.
Publikační činnost, ocenění Bez publikační činnosti.
Navrhovaná známka
B
Body
85

Posudek oponenta

Klhůfek, Jan

Student poctivě nastudoval zadanou problematiku, navrhl a implementoval rozšíření existující heuristiky pro řešení daného problému a v závěru experimentálně vyhodnotil její kvalitu nad dodanou sadou dat. Přes menší nedostatky v technické zprávě, zejména pak v kapitole o experimentech, navrhuji ohodnocení na horní hranici stupně C – dobře.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Náročnost zadání Cílem práce bylo navrhnout a implementovat heuristiku umožňující rychlou inicializaci validních řešení pro reálný problém směrování vozidel. Zadání řadím mezi obtížnější vzhledem k množství omezujících podmínek, jež bylo třeba zohlednit při tvorbě validních řešení.
Rozsah splnění požadavků zadání Student splnil všechny body zadání.
Rozsah technické zprávy Technická zpráva splňuje minimální požadovaný rozsah.
Prezentační úroveň technické zprávy 75 Technická zpráva je členěna logicky a jednotlivé kapitoly na sebe navazují. Práce nejprve čtenáře seznamuje s různými typy reálného problému směrování vozidel z praxe spolu s klasifikací metod používaných k jejich řešení. Následuje bližší specifikace řešené instance problému, která v sobě kombinuje šest dílčích omezení, jejichž splnění je nutné pro dosažení validního řešení. Pro účely práce byla k modifikaci zvolena heuristika vkládání s nejnižší cenou. V závěru je provedeno experimentální vyhodnocení s cílem najít hodnoty parametrů pro nejlepší chování metody. Drobnou výhradu mám k toku textu u popisu metod v kapitole 2, kde mohlo být využito víceúrovňové členění (např. "Heuristiky" jsou na stejné úrovni jako "Sekvenční vkládání", což je jedna z heuristik). Klidně zde pro přehlednost mohl být přejat i obrázek z literatury [8, str. 2036]. Obsahově mám pak výhrady především k 5. kapitole o implementaci a částečně i 6. kapitole o experimentech. Kapitola 5 obsahuje pouze tři strany textu a vzhledem k tomu, že se má jednat o popis implementace, měl by být popis více technický spíše než obecný. Chybí zde popis implementace navržené modifikace metody vkládání s nejnížší cenou nebo způsob realizace výběru mezi sekvenčním a paralelním režimem metody. URL na knihovny csv , serde či rayon by měly být odkazovány skrze poznámky pod čarou ('\footnote'), nikoliv jako hypertextové odkazy.  V kapitole 6 jsou prezentovány grafy s výsledky s využitím programu gnuplot. Krabicové grafy 6.2–6.15 působí jednotvárným dojmem a jednotlivé dny a režimy metody v nich zobrazené činí grafy méně přehledné. Odkaz na program gnuplot by měl být podobně jako u knihoven v kapitole 5 v poznámce pod čarou. Slovník pojmů je v této práci dle mého názoru zbytečný. Pojmů není takové množství.
Formální úprava technické zprávy 77 Zpráva je psána až na pár míst srozumitelným a čtivým jazykem. Algoritmy 1, 2 a 3 nejsou z textu přímo odkazovány (na rozdíl od ostatních algoritmů v technické zprávě). Pro konzistenci by navíc bylo lepší, kdyby tyto algoritmy měly také číslování řádků. V tabulce 3.2 je použit datový typ f32, který není definován v tabulce datových typů 3.4. V tabulce 4.1 je u významu značky t i,i +1 v popisu napsáno: "Čas přejezdu ze stanoviště i na stanoviště +1", místo "..na stanoviště i +1". V kapitole 6 a 7 je vyšší míra překlepů či občasné ztráty koherence textu mezi některými větami. V sekci 6.9 se v textu hovoří o vynesení dvou sledovaných proměnných do následných krabicových grafů, přičemž v textu se píše, že obě proměnné se mají vyskytovat "vpravo" na vertikální ose grafu. Jedna z nich však logicky musí být, a je, vlevo. Grafy na obrázcích 6.9, 6.10, 6.12, 6.13 obsahují chybný popis levé vertikální osy. Místo "Počet zbývajících objednávek" by zde mělo být "Suma vzdáleností [km]", jelikož osa znázorňuje kvalitu řešení, nikoliv odolnost. U popisu finálních grafů s kvalitou řešení a naměřenými rychlostmi chybí v textu odkaz na obrázky 6.14 a 6.15. V textu zní jen "..výsledná suma vzdáleností spolu s časem výpočtu byly vyneseny do následujících grafů." V textu se vyskytují drobné překlepy, na některých místech dokonce opakovaně, konkrétně např. "vozdel" místo "vozidel" u popisu obrázků 6.8–6.13.
Práce s literaturou 95 Bakalářská práce obsahuje 19 odkazů na literaturu, které bohatě pokrývají danou problematiku. Převzaté prvky z literatury jsou řádně označeny a rozlišeny. Oceňuji též přímou referenci na strany, odkud byly některé citované části převzaty. Drobnou výtku mám k algoritmu 6 převzatého z literatury [9], jelikož se krok algoritmu drobně liší na řádku 9. V práci je krok "go to 4;", avšak dle článku by zde správně mělo být "go to 14;". Může to být chyba způsobená z nepozornosti či kopírování vzhledem k tomu, že v literatuře je algoritmus krokově popsán trochu odlišně a je na tomto místě pokyn "go to step 4". Některé citace se vyskytují až za tečkou vět, i když se evidentně nejedná o citaci celého odstavce.
Realizační výstup 75 Výstupem práce je sada modulů v jazyce Rust, které implementují modifikaci heuristiky vkládání s nejnižší cenou. Řešení je schopno v rámci jednotek sekund vygenerovat validní řešení daného problému. Modifikovaná metoda funguje jak v sekvenčním, tak paralelním režimu. Mimo to práce obsahuje sadu skriptů napsaných v jazyce Fish, sloužících k spuštění modulů a generování grafů pomocí programu gnuplot. Zdrojové soubory jsou řádně komentovány. Prezentace výsledků by mohla být lepší. V experimentální části bylo provedeno testování vlivu změn koeficientů v ohodnocovací funkci na kvalitu dosažených výsledků v obou režimech metody s cílem nalézt optimální nastavení hodnoticí funkce. Výsledky jsou prezentovány na sadě krabicových grafů, které u každého nastavení zkoumají jak kvalitu řešení (snaha minimalizovat ujetou vzdálenost), tak odolnost řešení (počet objednávek, které se nepodařilo obsloužit). Dále jsou prezentovány krabicové grafy s finálními časy a kvalitou řešení pro 100 nezávislých běhů metody s hodnotami koeficientů zvolených dle výsledků předešlých experimentů. Krabicových grafů je v práci celkem 14, přičemž nejsou zcela přehledné a působí jednotvárným dojmem. Z dat v nich obsažených je však patrné, že metoda je schopna v krátkém čase vygenerovat validní řešení minimalizující celkovou ujetou vzdálenost vozidel. U jednotlivých dvojic grafů zkoumající nastavení koeficientů metody mi přijde zavádějící porovnání mezi sekvenčním a paralelním režimem. K výsledkům z grafů je tvrzeno, že paralelní režim generuje výsledky s menší odolností, avšak vyšší kvalitou. Srovnání vůči sekvenčnímu režimu čistě takto okometricky však nemá vypovídající hodnotu, jelikož je očekávané, že větší počet neobsloužených objednávek povede na menší celkovou ujetou vzdálenost. Není jasné, jaký režim metody byl použit pro finální vyhodnocení rychlosti a kvality v sekci 6.11.
Využitelnost výsledků Práce úspěšně implementuje adaptaci heuristiky sloužící ke generování validních počátečních řešení pro reálný problém směrování vozidel v rámci jednotek sekund. Vygenerovaná řešení mohou posloužit jako vstup pro další optimalizační metody pracujících na bázi populačního prohledávání.
Navrhovaná známka
C
Body
79

Otázky

eVSKP id 155987