Hlavným cieľom tejto práce je vytvorenie programového frameworku slúžiaceho na tvorbu distribuovaných evolučných algoritmov v jazyku Java.
V teoretickej časti sú krátko popísané použité softwarové technológie a evolučné algoritmy použité na testovanie funkčnosti programu.
Praktická časť popisuje princíp fungovania a verejné funkcie frameworku, popísané sú tiež triedy ktoré programuje jeho užívateľ. Uvedená je aj vzorová aplikácia s krátkym popisom jednotlivých častí kódu. Ďalej je otestovaná jeho funkčnosť a účinky rôznych nastavení na priebeh výpočtov a konečných výsledkov.
Anotace v angličtině
The main objective of this work is to create a programming framework for creating distributed evolutionary algorithms in Java.
The theoretical part shortly describes used software technologies and evolutionary algorithm used to test the program.
The practical part describes principles of operation and public functions of the framework. Classes programmed by user are also described. An exemplary application with short description of individual parts of code is also shown. Functionality and effects of various settings on the process and final results are also tested.
optimization, distributed computing, evolutionary algorithms, island algorithms, framework
Rozsah průvodní práce
50 s
Jazyk
SK
Anotace
Hlavným cieľom tejto práce je vytvorenie programového frameworku slúžiaceho na tvorbu distribuovaných evolučných algoritmov v jazyku Java.
V teoretickej časti sú krátko popísané použité softwarové technológie a evolučné algoritmy použité na testovanie funkčnosti programu.
Praktická časť popisuje princíp fungovania a verejné funkcie frameworku, popísané sú tiež triedy ktoré programuje jeho užívateľ. Uvedená je aj vzorová aplikácia s krátkym popisom jednotlivých častí kódu. Ďalej je otestovaná jeho funkčnosť a účinky rôznych nastavení na priebeh výpočtov a konečných výsledkov.
Anotace v angličtině
The main objective of this work is to create a programming framework for creating distributed evolutionary algorithms in Java.
The theoretical part shortly describes used software technologies and evolutionary algorithm used to test the program.
The practical part describes principles of operation and public functions of the framework. Classes programmed by user are also described. An exemplary application with short description of individual parts of code is also shown. Functionality and effects of various settings on the process and final results are also tested.
optimization, distributed computing, evolutionary algorithms, island algorithms, framework
Zásady pro vypracování
Vypracujte literární rešerši na téma programovacího modelu MapReduce a paralelizace evolučních algoritmů a jejich paralelizace pomocí ostrovních modelů.
Vytvořte framework, umožňující spouštění evolučních algoritmů v ostrovních modelech na distribuované architektuře.
Implementujte pomocí vytvořeného frameworku genetický algoritmus, diferenciální evoluci a algoritmus SOMA.
Vytvořte vzorové aplikace, demonstrující funkčnost frameworku i naprogramovaných evolučních algoritmů na vybraných testovacích funkcích.
Zásady pro vypracování
Vypracujte literární rešerši na téma programovacího modelu MapReduce a paralelizace evolučních algoritmů a jejich paralelizace pomocí ostrovních modelů.
Vytvořte framework, umožňující spouštění evolučních algoritmů v ostrovních modelech na distribuované architektuře.
Implementujte pomocí vytvořeného frameworku genetický algoritmus, diferenciální evoluci a algoritmus SOMA.
Vytvořte vzorové aplikace, demonstrující funkčnost frameworku i naprogramovaných evolučních algoritmů na vybraných testovacích funkcích.
Seznam doporučené literatury
VENNER, Jason. Pro HADOOP. United States of America : Apress, 2009. 407 s. ISBN 978-1-4302-1942-2.
LÄMMEL Ralf. Google?s MapReduce Programming Model ? Revisited. 42 s.
OPLATKOVÁ, Zuzana, OŠMERA, Pavel, ŠEDA, Miloš, VČELAŘ, František, ZELINKA , Ivan. Evoluční výpočetní techniky - principy a aplikace, 2008. 536 s. ISBN 80-7300-218-3.
ALBA, Enrique, TROYA, José M. A Survey of Parallel Distributed Genetic Algorithms. 1999. 32s.
JIN, Chao, VECCHIOLA, Christian, RAJKUMAR, Buyya. MRPGA: An Extension of MapReduce for Parallelizing Genetic Algorithms. 2008, 8s.
VERMA, Abhishek, LLORA, Xavier, GOLDBERG, David, CAMPBELL, Roy. Scaling Genetic Algorithms using MapReduce. 2009, 6s.
Distributed SOMA Algorithm in MapReduce framework. PAVLECH, Michal. Sborník konference: Mezinárodní Masarykova konference pro doktorandy a mladé vědecké pracovníky. 1. Hradec Králové : [s.n.], 2010. s. 1380. ISBN 978-80-86703-41-1, ETTN 042-10-10003-11-4.
Global Optimization : Methods and Codes [online]. 2007 [cit. 2011-01-05]. Test Functions for Unconstrained Global Optimization. Dostupné z WWW: (http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO_files/Page364.htm).
Seznam doporučené literatury
VENNER, Jason. Pro HADOOP. United States of America : Apress, 2009. 407 s. ISBN 978-1-4302-1942-2.
LÄMMEL Ralf. Google?s MapReduce Programming Model ? Revisited. 42 s.
OPLATKOVÁ, Zuzana, OŠMERA, Pavel, ŠEDA, Miloš, VČELAŘ, František, ZELINKA , Ivan. Evoluční výpočetní techniky - principy a aplikace, 2008. 536 s. ISBN 80-7300-218-3.
ALBA, Enrique, TROYA, José M. A Survey of Parallel Distributed Genetic Algorithms. 1999. 32s.
JIN, Chao, VECCHIOLA, Christian, RAJKUMAR, Buyya. MRPGA: An Extension of MapReduce for Parallelizing Genetic Algorithms. 2008, 8s.
VERMA, Abhishek, LLORA, Xavier, GOLDBERG, David, CAMPBELL, Roy. Scaling Genetic Algorithms using MapReduce. 2009, 6s.
Distributed SOMA Algorithm in MapReduce framework. PAVLECH, Michal. Sborník konference: Mezinárodní Masarykova konference pro doktorandy a mladé vědecké pracovníky. 1. Hradec Králové : [s.n.], 2010. s. 1380. ISBN 978-80-86703-41-1, ETTN 042-10-10003-11-4.
Global Optimization : Methods and Codes [online]. 2007 [cit. 2011-01-05]. Test Functions for Unconstrained Global Optimization. Dostupné z WWW: (http://www-optima.amp.i.kyoto-u.ac.jp/member/student/hedar/Hedar_files/TestGO_files/Page364.htm).
Přílohy volně vložené
CD-ROM
Přílohy vázané v práci
-
Převzato z knihovny
Ne
Plný text práce
Přílohy
Posudek(y) oponenta
Hodnocení vedoucího
Záznam průběhu obhajoby
Student seznámil komisi s obsahem a výsledky své bakalářské práce v krátké prezentaci. Po přečtení posudků vedoucího a oponenta práce následovala diskuze, ve které byly položeny následující dotazy:
Dr. Šilhavý
1) Porovnával jste rychlost alogoritmů ve srovnání s sw Mathematica, Matlab?
2) Zvažoval jste možnost ukládaní výsledků simulací v relační databázi?
Student na položené dotazy odpověděl. Následovalo zkoušení ze dvou předmětů.