TALPA, J. Pokročilé optimalizační algoritmy a jejich efektivní implementace [online]. Brno: Vysoké učení technické v Brně. Fakulta strojního inženýrství. 2020.

Posudky

Posudek vedoucího

Popela, Pavel

Autor zcela přesvědčivě splnil požadavky zprvu obecněji formulovaného zadání diplomové práce, které následně bylo ve spolupráci s vedoucím práce konkretizováno. Autor rovněž dosáhl všech cílů stanovených vedoucím práce. Vlastní práce má rozsah 63 číslovaných stran a je vhodně členěna do dvou částí (teoretické a výpočtové), každá pak obsahuje dvě kapitoly, které jsou tradičně doplněny úvodem, závěrem a tištěnými i elektronickými přílohami. Přílohy v ZIP souboru obsahují všechny zdrojové kódy v programovacím jazyce Julia, vstupní data, a také výsledky pro řešený aplikační problém. Z důvodu jejich velikosti (více než 22 MB) nemohla být tato data plně prezentována v tištěné verzi práce. Například mezi 34 soubory se vstupními daty (dále přílohy obsahují 6 obrázků, 5 výstupních souborů, 17 souborů se zdrojovými kódy) jeden soubor generator_cr_hrany_kaly.xlsm zahrnuje 15 listů a incidenční matice na jednom z listů má 2144 řádků. Vlastní přínos autora vidím ve všech kapitolách práce. Na přístupu autora si vysoce cením toho, jak autor zpracoval a vhodně propojil tři tematicky odlišné celky: originální optimalizační model pro vybraný problém odpadového hospodářství (viz kapitola 4); pokročilý modulární a dekomponovatelný ADMM algoritmus s původní transformací (viz kapitoly 1, 2 a 3) a nakonec jeho obecnou implementaci, modifikovanou pro řešenou aplikační úlohu (viz kapitoly 3 a 4). Autor použil pro každý celek adekvátní metody, a tak více než stoprocentně zúročil nejen své znalosti získané úspěšným studiem oboru matematické inženýrství, ale také dlouhodobou programátorskou praxi mimo VUT a půlroční zahraniční Erasmus+ pobyt v Norsku věnovaný mimo jiné studiu optimalizačních logistických modelů na Molde University College – Specialized University in Logistics. Autor rovněž zužitkoval svůj obecný zájem o vhled do teoretických poznatků a využil zkušenosti získané širším studiem a implementací optimalizačních technik, zejména dekompozičních algoritmů stochastického programování, jako je např. progressive hedging algoritmus (PHA). Klíčovou roli při zpracování zadaného tématu hrály také autorovy zkušenosti získané víceletou spoluprací na projektech ÚPI FSI VUT. Autorova práce a programátorské dovednosti kolegy z ÚPI nadchly natolik, že jejich nabídka další spolupráce a rozvoje autorovi bohužel předčila nejen jakoukoliv nabídku ÚM, ale přebila i významný zájem o autorovo působení v zahraničí, které již projevily tři ((zatím jen) norské univerzity. Postup řešení problematiky autorem považuji za mimořádně úspěšný a rozsah práce za plně odpovídající. Výklad autora z pohledu čtenáře je přesvědčivý a jednotlivé části textu, ač tak odlišné, na sebe vhodně navazují. Nejprve rozšířený abstrakt na třech stranách názorně uvádí nejpodstatnější body diplomové práce. Potom jasný a stručný úvod rekapituluje obsah práce. Autor pak cíleně vybral dále užitečné pojmy konvexní analýzy v 1.1. Na připomenutí běžných optimalizačních pojmů v 1.2 autor navazuje uvedením a vysvětlením problematiky proximálních operátorů a jejich vlastností v 1.3, kterou graduje názorným příkladem použití proximálního algoritmu v 1.3.1. Kapitola 2 postupně přibližuje klíčový ADMM algoritmus čtenáři. Vysvětlení začíná v 2.1 připomenutím Lagrangeovy funkce a formulace duální úlohy v nelineárním programování. Ta je využita k formulaci DAM algoritmu a objasnění jeho dekompoziční formy pro duálně separovatelnou úlohu v 2.1.1. Rozšíření Lagrangianu v 2.1.2 pak předchází obecné formulaci ADMM v 2.2, která krok za krokem využívá dříve uvedených poznatků, a autor také připomíná některé vazby na klasické numerické metody. Tato formulace je pak konkretizována pro lineární případ v 2.3. a její zefektivnění je rozebráno v 2.3.1. Teoretická část pak končí rozborem dekomponovatelnosti ADMM algoritmu v 2.4. Průběžně tedy shrňme, že teoretická část je podána formálně přesně a přímočaře provádí čtenáře jednotlivými stavebními kameny ADMM algoritmu a jejich postupným provázáním. Interpretace výsledků autorem představuje další vrstvu v mnohapatrovém chutném dortu diplomové práce, jehož předchozí patra rozdílné chuti nám autor servíruje v teoretické části. Jako lehce se rozplývající patro dortu příjemné chuti, navazující na sytá teoretická patra, můžeme chápat výpočtovou část práce, která se nejprve v kapitole 3 zaměřuje na implementaci algoritmu v jazyce Julia orientovaném na vědecko-technické výpočty. Vlastní jazyk je zasvěceně přiblížen v 3.1 a část 3.2 klade důraz na původní implementační kód ADMM. Ten je na dalších šesti stranách využit k perfektní prezentaci chování algoritmu pro dva snadno vizualizovatelné příklady lineárního a kvadratického programování. Autor tak docílil působivé interpretace tím, že vstřícně reagoval na školitelovu zálibu hledat srozumitelnou formu prezentace i složitých algoritmů pomocí vhodných grafů a obrázků. To se mimořádně pěkně podařilo v 3.3.1 a 3.3.2 (viz obrázky 3.1 a 3.2), i když obrázky (podobně jako např. ty názorné učebnicové u interior point metod) pro úlohy malého rozměru působí jako antireklama na příslušnou metodu. Je to logické, protože účinnost toho typu algoritmů roste s významně rostoucí dimenzí řešené úlohy. Diplomová práce má jednoznačný publikační potenciál v teoretických i aplikačních časopisech věnovaných operačnímu výzkumu, předpokládá se, že bude realizován v následujícím období odborné práce autora. Praktická využitelnost výsledků práce je plně prokázána díky vazbě na reálný problém v kapitole 4. Tato vrstva práce působí jako poslední vrstva dortu pokrytá hladce čitelným a jasným marcipánem, plným grafických zpestření a kompaktně prezentuje rozsáhlý aplikační příklad, vycházející z reálného problému, řešeného v rámci projektů na ústavu procesního inženýrství ve spolupráci s autorem práce. Stručný ale výstižný úvod do řešené problematiky v 4.1 je následován návrhem rozsáhlého modelu vícekriteriální optimalizace v 4.2. Autor se též v souladu se zadáním práce zabývá transformací modelu, a to nejprve agregací v 4.2.1 (viz obr 4.1). Dále navazuje na teoretickou část a rozsáhlý model transformuje do tvaru vhodného pro použití ADMM algoritmu v 4.3. Původní zjednodušení proximálních operátorů doporučuje v 4.3.1.Vlastní aplikaci ADMM na diskutovanou úlohu odpadového hospodářství podrobně prezentuje v 4.4, kde v částech věnovaných preprocessingu (viz 4.4.1) a spuštění algoritmu (viz 4.4.2) kombinuje ukázky programového kódu s matematickými vztahy. Volba vah v multikriteriální optimalizaci je dále diskutována s pomocí obrázku v 4.4.3. Opět originální je diskuse k heuristice doplňující ADMM v 4.5. Závěry pak jsou stručné a jasné. Všechny přílohy včetně elektronických jsou přehledné. Práce je brilantně logicky uspořádána, jak již plyne z předchozích odstavců posudku. Formální náležitosti jsou splněny, ale po mnoha slovech chvály a nadsázky, snad zpříjemňujících četbu tohoto dlouhého posudku, musím zvážnět a vznést některé drobné připomínky, které ale nijak nesnižují mé kladné hodnocení celé práce. Za rušivé lze považovat přetečení pravého okraje jak ve výstižném abstraktu, tak v závěru. Lokálně chybí použití tučných písmen pro vektory (viz 1.8 a 1.9). Grafická úprava práce je velmi příjemná, styl autora považuji za odborný a čtivý, na pravopisné chyby jsem nenarazil. Zdroje jsou vhodně citované, autor uvádí 16 položek věnovaných řešené problematice. Všechny položky jsou průběžně citovány s výjimkou univerzálního pramene pro inženýrskou optimalizaci [10]. Zejména ale oceňuji ,jak jsou citacemi vhodně opatřeny číslované odstavce v teoretické části. Student pracoval při řešení všech úkolů práce samostatně a soustavně, a doslova si užíval volnosti poskytnuté vedoucím práce. Jiná věc ovšem je, že autorovo volno bylo pak značně cíleně využito jeho spolupracovníky z ÚPI FSI VUT, což pak ale kladně přispělo k působivému vyznění kapitoly 4. Konzultace autora s vedoucím práce byly sporadické a efektivní. Samostatné řešení vzniklých odborných problémů si autor práce užíval, pouze vždy vedoucího informoval o jejich vzniku, a pak celkem záhy popsal jejich vyřešení. Předloženou diplomovou práci hodnotím jako výbornou a doporučuji ji k obhajobě.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosažené výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti A
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Samostatnost studenta při zpracování tématu A
Navrhovaná známka
A

Posudek oponenta

Roupec, Jan

The diploma thesis deals with current issues of solving complex optimization problems. In the first chapter, the author provides a brief introduction to the issue of optimization. Furthermore, the ADMM method is discussed in great detail, the implementation and use of which is a key part of the work. The third chapter deals with the implementation of the ADMM algorithm. The author chose the Julia programming language, in my opinion it was a good choice. The implementation is well described and seems to be quite imaginative and original. The functionality is verified on simple examples. The fourth chapter describes a real complex optimization problem, to solve which the implementation of the ADMM algorithm is used. The description of the results focuses on the description of the behavior of the algorithm and the implementation details. Unfortunately, the text of the thesis does not include quantified data of the model and the obtained real results. Given the scale of the problem, it would certainly be difficult to provide this information, but at least in some simplified form they should be present. I have some small formal comments: The abbreviation ADMM is introduced and explained in chapter "Rozšířený abstrakt", that is written in Czech, and in English part on page 23. But this abbreviation is used previously. It should be introduced either in Abstract or in the beginning of Chapter 2 (page 21). In my print, there is a typical “orphan” paragraph on page 31. Fig. 3.1 does not show quite clearly that the optimal solution was actually found (the endpoint is not highlighted in any way). In the description of the mathematical model, I would prefer to use several more different letters instead of “hiding” parts of the names in the superscript. The work proves that the author is not only perfectly familiar with the mathematical basis but also has very good programming skills in the use of high-level programming languages. I highly appreciate the direct use to solve a specific practical problem. I consider all point of the assignment to be completely met. I recommend this thesis for defense.

Dílčí hodnocení
Kritérium Známka Body Slovní hodnocení
Splnění požadavků a cílů zadání A
Postup a rozsah řešení, adekvátnost použitých metod A
Vlastní přínos a originalita A
Schopnost interpretovat dosaž. výsledky a vyvozovat z nich závěry A
Využitelnost výsledků v praxi nebo teorii A
Logické uspořádání práce a formální náležitosti B
Grafická, stylistická úprava a pravopis A
Práce s literaturou včetně citací A
Navrhovaná známka
A

Otázky

eVSKP id 125372