Skip to content

Optimization Algorithms

JakeMikouchi edited this page Jul 4, 2025 · 6 revisions

Genetic Algorithm (GA)

GA is based on the process of natural selection and the survival of the fittest. Initially, a population $N$ of random solutions $x^0_1 \dots x^0_N$ is generated. These solutions are considered the Generation 0 and can be seen as a chromosome with every $x^0_i \in \mathcal{X}^d$ having $d$ genes. The GA optimization continues with an iterative procedure between Evaluation, Selection and Reproduction. In the Evaluation step, every solution is evaluated to compute the corresponding fitness. In the Selection step, based on their fitness some solutions are selected to become parents for the next generation. A tournament selection approach is used for this step. In the Reproduction step, the selected parent solutions mate using a cross-over operator to produce a child. Mutation of one of the child genes can occur with some probability to allow for increased randomness in the process. A total of $N$ children are obtained that constitute the next Generation $x^1_1 \dots x^1_N$. This procedure is repeated until a predefined number of generations G is reached. The total number of code evaluations, excluding the initial population, is $N \times G$.

A flow chart of the GA in MIDAS is shown below.

Bayesian Optimization (BO)

Simulated Annealing (SA)

future work

Parallel Simulated Annealing (PSA)

future work

Reinforcement Learning (RL)

future work

Clone this wiki locally