Evolutionary Computation

The activity of evolutionary computation research group is dedicated to improvement of efficiency of evolutionary algorithms. One can consider improvement of efficiency from the two points of view. The first point considers improving the quality of heuristics which are in the heart of evolutionary algorithms, and adaptivity of such algorithms to certain features of considered problems in particular. The second point considers improving computational efficiency of the hardest parts of evolutionary algorithms, and improving the efficiency of computer resource usage (multicore systems in particular). The current group activity is dedicated to both points of view, which greatly improves the results and speeds up progress in solving the considered problem.


Main research projects


To enhance efficiency of evolutionary algorithms, our group works in the following directions:


Development of methods for theoretical estimation of black-box complexities of optimization problems, as well as for theoretical estimation of running times of certain evolutionary algorithms on optimization problems.


Currently there are only a few general yet powerful methods for estimating the lower bounds on black-box complexity. The preliminary research conducted by the participants of the evolutionary computations group show that splitting algorithm states into several classes and considering their properties separately will likely lead to more precise bounds, which is demonstrated on several simple problems.


Development of methods for adapting evolutionary algorithms, as well as combinations of such algorithms, to certain features of a solved optimization problem, during optimization.


Trends in modern evolutionary algorithms contain self-adaptation of algorithms to the solved problem during optimization run. An important point is parameter adaptation, which is currently developed to a satisfiable degree only for some areas of real-valued optimization. The participants of the evolutionary computations group have developed a method called EA+RL which belongs to the area of self-adaptation at the level of choosing appropriate fitness functions.


Development of efficient algorithms for solving computationally complex subproblems which arise in implementation of evolutionary algorithms and Development of efficient implementations of evolutionary algorithms, which aim to maximize utilization of available computational resources, such as multiprocessor computers.


Many modern evolutionary algorithms consist of building blocks, some of which are computationally complex, and the complexity gaps are not closed yet for many of them, which motivates further research in this area. Some of the most recent results in this area belong to the participants of the group.


Development of an efficient and user friendly software library of algorithms and data structures for implementation of evolutionary algorithms.


None of the existing software products for research and application of evolutionary algorithms satisfies three groups of requirements simultaneously: flexibility, performance and usability. The participants of the evolutionary computations group have developed many structural pieces of evolutionary algorithms and now possess a unified view on how to design and develop software to satisfy the three requirement groups.