This project is destined for one or two students who took the course
Evolutionary Algorithms and Artificial Life. It involves up-to-date
research areas such as dynamic problem decomposition and coevolution. The
work will be in collaboration with Assaf Zaritsky who will give all the
necessary background and guidance. The preferable programming language is
Java.
The goal of this project is to create a genetic algorithm (GA) that
automatically decomposes a hard optimization problem into a number of
smaller subproblems and then optimizes the global problem by applying
cooperative coevolution on the subproblems (a species per subproblem).
The target global function for optimization will be defined as the
artificial concatenation of two or more known hard functions. Thus, the
desired decomposition is known, but this knowledge is not passed on to the
GA.
The GA consists of two main stages:
- A standard run of a simple GA with one major difference: during the run
of the GA information on the "quality" of recombination loci is updated in
order to find potential decomposition loci.
- The problem is decomposed into a number of subproblems. The
first-stage results aid in deciding where to decompose the problem.
These subproblems are optimized using a cooperative
coevolutionary GA.
Goto mini-project home page.