Systém pro pokročilé plánování
Loading...
Date
Authors
Horký, Aleš
ORCID
Advisor
Referee
Mark
A
Journal Title
Journal ISSN
Volume Title
Publisher
Vysoké učení technické v Brně. Fakulta informačních technologií
Abstract
Tato diplomová práce se zabývá návrhem a implementací softwaru pro automatizované plánování rozvrhů zkoušek a přednášek. Návrh je přizpůsoben pro specifické potřeby Fakulty informačních technologií Vysokého učení technického v Brně. Problém je řešen kombinací genetického a heuristického algoritmu. Pomocí genetického algoritmu je získáno pořadí předmětů v jakém mají být vkládány do výsledného rozvrhu heuristickým algoritmem. Výkonnostně optimalizovaná implementace v jazyce Python 3 umožňuje tento výpočet paralelizovat, díky čemuž lze získat vygenerované rozvrhy již za dobu řádově desítek minut. Provedené experimenty vykazují ve všech sledovaných kritériích přibližně o 13% lepší výsledky, než jakých bylo dosaženo u zkouškových rozvrhů v minulosti. Vývoj byl pravidelně konzultován s osobami zodpovědnými za tvorbu rozvrhů na fakultě. Program bude použit při vytváření zkouškových rozvrhů pro akademický rok 2015/2016.
This master thesis deals with the automatic design of examinations and courses scheduling. The design is adapted to the specific requirements of the Faculty of Information Technology of Brno University of Technology. A genetic algorithm and a heuristic algorithm are employed to solve this task. The genetic algorithm is used to specify the sequence of the examinations (or the courses) and then the heuristic algorithm spread them out into a timetable. An implementation (written in Python 3) provides a fast parallel processing calculation which can generate satisfactory schedules in tens of minutes. Performed experiments show approximately 13% better results in all considered criteria in comparison with utilized examination schedules in the past. The development was periodically consulted with persons responsible for the schedule processing at the faculty. The program will be used while designing of examination schedules for the academic year 2015/2016.
This master thesis deals with the automatic design of examinations and courses scheduling. The design is adapted to the specific requirements of the Faculty of Information Technology of Brno University of Technology. A genetic algorithm and a heuristic algorithm are employed to solve this task. The genetic algorithm is used to specify the sequence of the examinations (or the courses) and then the heuristic algorithm spread them out into a timetable. An implementation (written in Python 3) provides a fast parallel processing calculation which can generate satisfactory schedules in tens of minutes. Performed experiments show approximately 13% better results in all considered criteria in comparison with utilized examination schedules in the past. The development was periodically consulted with persons responsible for the schedule processing at the faculty. The program will be used while designing of examination schedules for the academic year 2015/2016.
Description
Citation
HORKÝ, A. Systém pro pokročilé plánování [online]. Brno: Vysoké učení technické v Brně. Fakulta informačních technologií. 2015.
Document type
Document version
Date of access to the full text
Language of document
cs
Study field
Inteligentní systémy
Comittee
doc. Ing. František Zbořil, CSc. (předseda)
prof. RNDr. Alexandr Meduna, CSc. (místopředseda)
Ing. Vladimír Bartík, Ph.D. (člen)
doc. Ing. Michal Bidlo, Ph.D. (člen)
Ing. Martin Hrubý, Ph.D. (člen)
Ing. William Steingartner, Ph.D. (člen)
Date of acceptance
2015-06-23
Defence
Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázky oponenta a na další otázky přítomných. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A. Otázky u obhajoby: V práci používáte algoritmus NSGA-II implementovaný v jazyce python. Jedná se o Vaši implementaci nebo o implementaci převzatou? Jak jste nastavoval pravděpodobnost křížení? V rámci experimentální části jste určil, že ideální velikost populace je 50 jedinců a mutace 7%. Při testování na reálných datech, jste však nastavil parametry jiné (350 jedinců, 10% mutace). K čemu bylo hledání optimálních parametrů, když jste ve finále nastavil úplně jiné? Jaké úspěšnosti by jste dosáhl s optimálními parametry? Co by jste doporučil běžnému uživateli jako vhodné parametry optimalizace? Existuje i jiná možnost paralelizace v pythonu? Technika, kterou jste použil vykazuje obrovskou režii a špatné škálování.
Result of defence
práce byla úspěšně obhájena
Document licence
Standardní licenční smlouva - přístup k plnému textu bez omezení