Optimisation for Artificial Intelligence, a 4-day course

View the Project on GitHub xoolive/optim4ai

Evolutionary methods

« Previous | Home ↑ | Next »

Evolutionary methods become of interest when exact methods reach their limits because of combinatorial of the problem running out of control; functions to optimise behaving as black boxes, with noisy output; or functions with complex shapes and difficulty to run out of local minima.

The premise of evolutionary computation is simple: the simulation of natural selection used to solve a problem, where candidate solutions compete as individuals in order to influence future generations. From this simple premise, a multitude of algorithms have been developed, and evolutionary computation can be found in a number of domains.

8.0 A bestiary of functions for optimisation
8.1 Simulated annealing
8.2 Genetic algorithms
8.3 CMA-ES
At this point of the course, as many of such methods are more of metaheuristics, general approaches to optimisation where much is left to code, we do not provide any notebook but leave the reader with the freedom to choose their most appropriate tool.