Optimization and evolutionary computation


Optimization is the task of finding the most appropriate set of numerical values to solve a certain problem. Optimization has a wide range of applications, such as finding the optimal design of objects (such as antennas, car parts, protheses, etc), finding the optimal parameters of a mathematical model (such as a weather model, subsurface model, etc), or, more recently, finding optimal parameters for Machine Learning models (such as weights and hyper-parameters).

Traditional numerical optimization methods can be very effective, but certain problems have characteristics that make the application of these methods difficult, such as multiple objectives, unknown gradients, discontinuity, and constraint conditions. To solve these complex problems, we research Evolutionary Computation algorithms. Evolutionary Computation is a family of search based meta-heuristic optimization methods that are inspired by the process of natural evolution. They do not depend on a gradient, and can solve a large variety of optimization problems.

Recent Research Topics

  • Theoretical Improvement on Optimization Methods
    • Development of algorithms for Multi-Objective Optimization Problems
    • Visualization of Multi-Objective Algorithm Performance
    • Auto-adaptation of Algorithm parameters depending on Problem type.
    • Constrained Optimization of Multi-Objective Problems
    • Optimization of Algorithm Design
    • Analysis of Optimization Algorithms on Blackbox Benchmarks
  • Application of Optimization Methods
    • Optimization of Underground Reservoir Models
    • Optimization of Room Layout
    • Optimization of Neural Networks (Neuro Evolution)
    • Classification of BCI data using Evolutionary Computation

Future Research Topics

  • High performance Evolutionary Computation using Parallel Computation
  • Software Repair using Genetic Programing
  • Quality Diversity Evolutionary Computation
  • Solving several optimization problems using Evolutionary Algorithm