• Nebyly nalezeny žádné výsledky

Hodnocení vedoucího75910_kalcevov.pdf, 58.3 kB Stáhnout

N/A
N/A
Protected

Academic year: 2022

Podíl "Hodnocení vedoucího75910_kalcevov.pdf, 58.3 kB Stáhnout"

Copied!
2
0
0

Načítání.... (zobrazit plný text nyní)

Fulltext

(1)

Posudek vedoucího bakalářské práce

Studijní program:Aplikovaná informatika Studijní obor:Aplikovaná informatika Akademický rok:2020/2021

Název práce:Program pro grafické zobrazení řešení úloh lineárního programování Řešitel:Jakub Matějka

Vedoucí práce:Mgr. Jana Sekničková, Ph.D.

Oponent:Ing. Adam Borovička, Ph.D.

Hlediska Stupeň

hodnocení

1. Jasnost a srozumitelnost formulace tématu a cíle práce 3

2. Rozsah a relevance popisu současného poznání 2

3. Náročnost řešeného tématu práce 2

4. Adekvátnost metod k řešení stanoveného problému, správnost jejich výběru a použití 3

5. Rozsah, hloubka a preciznost popisu výsledku 3

6. Relevance a správnost diskuse výsledku 3

7. Věcný přínos výsledku dosaženého v práci 3

8. Relevance informačních zdrojů a korektnost jejich citování 4

9. Logická stavba práce a vzájemná konzistence jednotlivých částí 2 10. Gramatika, jazykový styl, terminologie a celková úprava práce 2

11. Iniciativnost studenta a spolupráce s vedoucím práce 2

12. Využití analytických metod a metod zpracování dat 3

13. Naplnění zásad etiky a udržitelnosti 2

14. Schopnost kritického a tvůrčího myšlení 2

Konkrétní připomínky a dotazy k práci:

Předložená bakalářská práce byla zaměřená na tvorbu aplikace, která by propojila grafické zobrazení úloh lineárního programování s numerickým výpočtem optimálního řešení. Úlohy lineárního programování lze s úspěchem řešit pomocí simplexové metody. Pro počítačové implementace byly rozvinuty různé

modifikace této metody, zejména s cílem zrychlit výpočty. Autor práce se úspěšně pokusil implementovat jednu z nich, a sice multiplikativní simplexovou metodu.

S potěšením musím konstatovat, že student odvedl mnoho práce vlastním nastudováním simplexové metody i její multiplikativní modifikace, neboť ani jedna z uvedených metod se v základním kurzu nevyučuje. Dále úspěšně zvládl multiplikativní simplexovou metodu implementovat. V práci se bohužel nepodařilo dořešit zobrazení odpovídajících simplexových tabulek pro jednotlivá základní přípustná řešení, což ale částečně není vinou studenta. Problematika určení správné báze a konstrukce odpovídající simplexové tabulky není nijak triviální a nedostatek času znemožnil implementaci této části aplikace.

Bohužel, stejně jako aplikace, není dokonalá ani vlastní textová část práce. První kapitola je věnována simplexové metodě a multiplikativní simplexové metodě. Spíše, než slovní popis postupu, by byl vhodný matematický popis metody a precizní popis algoritmu pro implementaci metody. Při formálních zápisech by student odhalil některé nepřesnosti ve své práci (např. matematicky chybný zápis pro zvýšení indexu ve vztahu 1.12 nebo formální chybu u popisu výpočtu eta-vektoru, kde na místě klíčového prvku není jednička) či chybné formulace. Zároveň by si vyjasnil souvislost mezi bází příslušného řešení a obecným tvarem simplexové tabulky, která by pomohla při implementaci chybějící části aplikace. Teoretická část, kterou student složitě nastudoval, je tak zcela nedostatečně popsaná. Korektní popis algoritmu

„dvoufázové“ multiplikativní simplexové metody by jistě byl významným přínosem celé práce. Bez precizních zápisů působí celá kapitola spíše zmateně a ani uvedené příklady na srozumitelnosti příliš nepřidávají.

V druhé kapitole student uvedl pěkný přehled souvisejících softwarových produktů (avšak odkazy na internetové stránky nejsou citovány správně, neboť chybí minimálně uvedené datum citace, a též by bylo

(2)

vhodné je uvést v seznamu zdrojů). Zde citelně postrádám srovnání těchto produktů s vytvořenou aplikací (na což směřuje i moje otázka na konci posudku).

Třetí kapitola je zaměřena na vlastní aplikaci. Nikde v celé práci není uvedeno, jak se aplikace spouští (o souboru LP_solver.exe se autor poprvé zmíní až na posledním řádku celé práce; o požadavcích není zmínka v celé práci vůbec). I zde je vidět nedostatečně popsaný algoritmus „dvoufázové“ multiplikativní simplexové metody, zejména v kapitole 3.4. Při čtení textu si čtenář pokládá mnoho otázek, na které v textu nenajde odpovědi. Např. v kap. 3.5 je popsán výpis tabulky optimálního řešení, ale nikde není uvedeno, která či které tabulky se zobrazují v případě nekonečně mnoha optimálních řešení. Podobně v kap. 3.6 je popsáno grafické zobrazení, ale opět není uvedeno, jak vypadá grafické zobrazení v případě alternativního optimálního řešení (o tom jsou pouze 4 řádky v kapitole 3.6.3).

Podobně testování popsané ve čtvrté kapitole není dostatečné. Autor uvádí grafické řešení pro

bezproblémový příklad řešený „jednofázovou“ simplexovou metodu. Grafické řešení pro „dvoufázovou“

simplexovou metodu ale již nepředkládá. Z popisu není vůbec zřejmé, zda došlo k testování netriviálních příkladů – například úloh s prázdnou nebo neomezenou množinou přípustných řešení, nebo úloh s nekonečně mnoha optimálními řešeními (viz druhou otázku na konci posudku).

K formální stránce práce lze dodat, že stylistické formulace by si zasloužily autorovu pozornost (např. ”Jak je vidět z Tabulka 3 a Obrázek 5 Simplexová tabulka (Výstup programu), program přı́klad vyřešil

správně.”). Interpunkční čárky mnohdy chybí (např. „pro dvoufázovou metodu se může jednat o y(k-j) kde j je počet strukturnı́ch a přı́datných proměnných“) a místy věty začínají malým písmenem (např. pod

tabulkou 1). Vztahy jsou číslovány bez ohledu na to, zda jsou v textu referovány, avšak bylo by vhodné číslování uvést např. v závorkách. Taktéž typografická sazba vektorů a matic není standardní a neznělé předložky na koncích řádků nepůsobí dobře.

Seznam použité literatury obsahuje pouze 4 položky – 3 z nich jsou skripta a zbývající je bakalářská práce. Takový seznam nelze považovat za relevantní informační zdroje. Právě multiplikativní simplexovou metodu by bylo vhodné referovat z vědeckých zdrojů spíše než z výukových skript.

Shrnutí: Student velmi dobře nastudoval potřebnou problematiku a vytvořil funkční program, který zobrazuje grafické řešení úloh lineárního programování a konečnou simplexovou tabulku optimálního řešení. Bohužel zbývající simplexové tabulky aplikace zobrazit neumí. Vlastní text práce vykazuje mnoho nedostatků, které jsou uvedeny v předchozím textu. Domnívám se, že předložená práce splňuje

předpoklady kladené na závěrečnou práci bakalářského studia, a proto ji doporučuji k obhajobě. Z výše uvedených důvodů ji však navrhuji hodnotit známkou dobře.

Otázky:

1. Jaké jsou výhody Vaší aplikace ve srovnání s aplikacemi uvedenými ve druhé kapitole Vaší práce?

2. Jak se vypořádá Vaše aplikace s úlohou, kde optimální řešení tvoří polopřímku na neomezené množině přípustných řešení? Např. pro úlohu: (1) x2 >= 100, (2) -x1 + x2 = 20, (ÚF) 55x1 – 55x2 –>

max?

Závěr: Bakalářskou práci doporučuji k obhajobě.

Navrhovaná výsledná klasifikace práce: 3

Datum: 3. 6. 2021 Mgr. Jana Sekničková, Ph.D.

vedoucí práce

Odkazy

Související dokumenty

Bakalářská práce se zaměřuje na grafické uživatelské rozhraní v programovacím jazyce Java. Podrobně jsou prozkoumány dostupné knihovny a jejich prvky pro

Již při zadání práce bylo evidentní, že grafické zobrazení 3D úloh lineárního programování nebude jednoduchou záležitostí.. Student však absolvoval kurz

Předložená bakalářská práce je ryze prakticky zaměřená a zabývá se analýzou webových stránek a vybraných online marketingových činností pro společnost

Předložená bakalářská práce je ryze prakticky zaměřená a zabývá se implementací pokročilejších (a zatím ne zcela obecně známých a využívaných) metod ověřování

Předložená bakalářská práce je prakticky zaměřená a zabývá se analýzou vybraných oblastí bezpečnostní politiky se zaměřením na politiku hesel a návrhem opatření

Cíl práce: Popsat vybranou skupinu úloh lineárního a bivalentního programování, pro které byly vyvinuty speciální algoritmy a heuristiky. Irena Šindelá ř

Cílem práce bylo popsat problematiku generování úloh lineárního programování, navrhnout vhodný algoritmus a sumarizovat generování t ě chto úloh v softwaru

Věta lineárního programování: K vyhledání optimálního řešení úlohy lineárního programování stačí prohledat krajní body množiny přípustných