Framework pro vývoj optimalizačních algoritmů
Framework for development of optimization algorithms
diploma thesis (DEFENDED)

View/ Open
Permanent link
http://hdl.handle.net/20.500.11956/116762Identifiers
Study Information System: 165200
Collections
- Kvalifikační práce [11325]
Author
Advisor
Referee
Hric, Jan
Faculty / Institute
Faculty of Mathematics and Physics
Discipline
Software Systems
Department
Department of Theoretical Computer Science and Mathematical Logic
Date of defense
6. 2. 2020
Publisher
Univerzita Karlova, Matematicko-fyzikální fakultaLanguage
Czech
Grade
Excellent
Keywords (Czech)
kombinatorická optimalizace, doménově nezávislé plánování, prohledávací algoritmy, plánovací systémKeywords (English)
combinatorial optimization, domain-independent planning, search algorithms, planning systemCílem práce je navrhnout a implementovat efektivní nástroj pro vývoj a testování algoritmů v oblasti kombinatorické optimalizace. Bude vysvětlena problematika plánování a následně budou popsány kroky postupného návrhu a implementace vznikajícího programu. Framework bude podporovat dva hlavní vstupní forma- lismy pro popis optimalizačních problémů (PDDL, SAS+ ). Zajištěna bude pod- pora zpracování vstupů, navrhnuty budou vhodné datové struktury a efektivní implementace prohledávacích algoritmů. Důraz bude kladen na dobrý objektový návrh programu z hlediska budoucího vývoje a snadné rozšiřitelnosti. K docílení toho budou využity ověřené principy z oblasti softwarového inženýrství. 1
The aim of the thesis is to design and implement an efficient tool for research and testing of algorithms of the combinatorial optimization. The domain of the planning research will be explained and the steps of design and implementation of such program will be covered. The framework will support two primary for- malisms for the description of optimization problems (PDDL, SAS+ ). The inputs processing will be provided, suitable data structures and efficient implementati- ons of search algorithms will also be included. The emphasis will be on a proper object design and easy extensibility for the future development. To achieve this goal, proven principles of software engineering will be used. 1