Solution & Population Based Metaheuristics

What are Genetic Algorithms - Genetic algorithms are general-purpose search algorithms based upon the principles of evolution observed in nature. It is the most popular type of Evolutionary Algorithm that includes genetic algorithm, genetic programming, evolutionary programming, and evolution strategy. Genetic algorithms combine selection, crossover, and mutation operators with the goal of finding the best solution to Single-Objective Optimization problem or Pareto-Optimal Front to Multi-Objective Optimization problems. Genetic algorithms evolve until a specified termination criterion is met.

Genetic algorithms in general can be classified into two categories: Single-Objective genetic algorithms and Multi-Objective algorithms. The implemented algorithms in this library include GenerationalGA and SteadyStateGA for Single-Objective Optimization as well as NonDominatedSortingGA for Multi-Objective Optimization.

A solution to a problem is called a chromosome . A chromosome is made up of a collection of genes which are simply the parameters to be optimized as well as collections of constraints and Objectives for Multi-Objective Optimization problems. A genetic algorithm creates an initial population (a collection of chromosomes), evaluates this population, then evolves the population through multiple generations (using the genetic operators discussed above) in the search for a good solution for the problem at hand.

Simulated Annealing - Simulated annealing is a generic probabilistic metaheuristic searching for the global optimal of a given objective function in a large search space.