FRANĚK, J. Optimalizace úloh typu TSP technikami kolektivní výpočetní inteligence [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2024.
S přihlédnutím k výše uvedeným skutečnostem považuji celkově práci za zdařilou a navrhuji nadprůměrné hodnocení známkou B.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Informace k zadání | Práce měla výzkumný charakter, téma považuji za náročnější. | ||
Práce s literaturou | Bez vážnějších připomínek. | ||
Aktivita během řešení, konzultace, komunikace | Diplomant byl aktivní po celou dobu řešení, v tomto smyslu nemám vážnějších výhrad. | ||
Aktivita při dokončování | Práce byla dokončena včas, konzultace k finálnímu textu probíhaly průběžně při dokončování, rozsah navrhovaných korekcí byl nicméně vyšší a to se mohlo odrazit na podobě finálního textu. | ||
Publikační činnost, ocenění | Bez publikační činnosti. |
Tato práce na mě působí velice rozporuplně. Na jedné straně je to rozsáhlá a dobře zpravovaná experimentální studie, na straně druhé, velice jednoduchý kód s řadou sporných bodů ohledně jeho výkonnostních parametrů a každodenního provozování. Proto hodnotím práci stupněm C.
Kritérium | Známka | Body | Slovní hodnocení |
---|---|---|---|
Náročnost zadání | Cílem diplomové práce bylo prozkoumat vhodné techniky kolektivní inteligence pro optimalizaci problému TSP. Po implementační stránce nebyla DP nijak výrazně náročná. Naopak experimentální část vyžadovala velké množství času pro naměření, zpracování a vyhodnocení výsledků a jejich využití k následné optimalizaci algoritmů. | ||
Rozsah splnění požadavků zadání | Zadání bylo splněno. Zde bych rád poznamenal, že implementace vlastních inovativních řešení může být chápána jako práce nad rámec zadání. | ||
Rozsah technické zprávy | Rozsah práce je v obvyklém rozmezí. Velice obsáhlá je experimentální část, která přináší velmi zajímavé výsledky. Návrh algoritmů je popsán ve standardní rozsahu, ovšem vlastní realizace implementace je velice stručná. | ||
Prezentační úroveň technické zprávy | 80 | Prezentační úroveň předložené práce je poměrně dobrá. Funkce jednotlivých variant PSO a ABC je vysvětlena poměrně dobře, i když neznalý čtenář bude muset některé části číst vícekrát, než pochopí, jak přesně algoritmy fungují. Implementační část je popsána poměrně stručně a věnuje se v podstatě jen nastavení algoritmů a formátu vstupních dat. O vlastní realizaci v jazyce RUST se nedozvíme v podstatě nic, a to je dle mého názoru chyba. V experimentální části měl autor velice těžkou úlohu, jak zpracovat a vyhodnotit velkou sadu měření. Dle mého názoru se mu to povedlo poměrně dobře, i když na několika místech nechává otevřené otázky a jistou inkonzistenci v nastavení algoritmů. Velmi se mi líbí porovnání s existujícími algoritmy a optimální řešením. Jen bych na tuto skutečnost upozornil čtenáře dříve než na konci. Celkově tedy prezenční část zpravována lehce nadprůměrně, především díky komentování dosažených výsledků. | |
Formální úprava technické zprávy | 75 | Formální úprava je v pořádku. V práci je několik gramatických prohřešků, drobná chybka v rocvnici 2.1, seznam obrázků a tabulek by mohl pracovat se zkrácenými popisky, a místy se mi v práci hůře orientovalo. | |
Práce s literaturou | 85 | Student prozkoumal poměrně velké množství variant algoritmů PSO a ABC, a rovněž prostudoval studie oblasti problému obchodního cestující. Citace jsou v pořádku, jejich počet a kvalita je velmi dobrá. | |
Realizační výstup | 60 | Realizační výstup ve mě nezanechal dobrý dojem na rozdíl od experimentální části, která je výrazně nadprůměrná. 1. O realizaci se v textu nic moc nedozvíme. 2. Zdrojové soubory nemají hlavičku, komentářů je jen pár na úrovni hlaviček funkcí a celkově si bude muset případný zájemce implementaci pracně procházet pomocí reverzního inženýrství. 3. Použití souboru s parametry je dobrý nápad, bohužel jeho jméno zafixované na params.yaml je opravdu hloupý nápad. Pokud bude chtít uživatel dělat více různých testů, bude si muset dávat kopie souboru do různých složek a složitě řešit spuštění více instancí současně. 4. Výsledky běhu se ukládají až na konci, tedy po ukončení všech, např. 20, běhů. Pokud dojde k přerušení výpočtu, uživatel ztratí veškeré výsledky. Uživatel také nemůže monitorovat běh aplikace (vývoj fitness funkce) a operativně ukončit běh, který je zjevně špatný (nevhodné nastavení parametrů). 5. Autor v práci tvrdí, že některé běhy trvaly až 60 hodin. Zůstává rozum stát, proč u takto výpočetně náročného problému nebyla vyžita paralelizace, která je minimálně mezi jednotlivými běhy triviální. Na testovaném serveru to mohlo urychlit výpočet cca 10x, možná i více díky sdílení globálních dat. A to nemluvíme o možnosti paralelizace fitness funkce přes částice, atd. | |
Využitelnost výsledků | Práce sice nepřekonává nejlepší algoritmy v dané oblasti, ale o to ani nešlo. Práce ukazuje velice zajímavé směry a možnosti vylepšení pro PSO a ABC. Rovněž bych práci vyzdvihl jako skvělou komparativní studii pro tyto dva algoritmy. |
eVSKP id 153685