Aim of the course
The aim of the course is to familiarize the students with a wide range of heuristic search and optimization techniques, with particular emphasis on the methods based on the theory of evolution (the so-called evolutionary algorithms or calculations).
Overview of types of tasks and techniques of optimization. Heuristic search. Global optimization and non-monotonic heuristics. Simulated annealing. The theory of evolution vs optimization problems. The overall concept of evolutionary algorithm. Genetic algorithms, evolutionary strategies, evolutionary programming - representation, variation operators, selection mechanisms. Classification of evolutionary algorithms. The problem of choice of representation. The types of genetic operators. Evaluation function and selection mechanisms. Taking into account restrictions. Autoadaptation of parameters. Techniques to maintain the diversity of the population. Niching and speciation. Co-evolutionary algorithms. Parallel and distributed evolutionary algorithms. Evolution in agent systems. Multiobjective optimization algorithms. Memetic and cultural algorithms. Formic algorithms. Immunologic algorithms. Hybrid systems. Evolution of neural networks. Evolution of fuzzy systems.
Overview of the course elements
Laboratory classes allow to practice skills in the use of heuristic optimization algorithms to solve real tasks of engineering design including the use of dedicated tools and libraries, the selection of the type and parameters of the algorithm and the experimental test of its effectiveness.
1. Jarosław Arabas: Wykłady z algorytmów ewolucyjnych
2. Zbigniew Michalewicz: Algorytmy genetyczne + struktury danych = programy ewolucyjne
3. David E. Goldberg: Algorytmy genetyczne i ich zastosowania
4. Thomas Back, David B. Fogel, Zbigniew Michalewicz: Handbook of Evolutionary Computation