Skip to content

kressi/evolutionary-algorithms

Repository files navigation

Computational Intelligence

Lecture: Computational Intelligence - ZHAW
Lecturer: Dr. Carsten Franke
Author of Algorithms: Michael Kressibucher

Algorithms:

  • Evolutionary Algorithms
    • Einkriterielle Evoulutionäre Algorithmen
    • Mehrkriterielle Evolutionäre Algorithmen
      • Vector Evaluated Genetic Algorithm (VEGA)
  • Metaheuristic
    • Simulated Annealing

API

Install Requirements

Terminalplot is required for all but simulated_annealing.py. It plots simple graphs within command line.

pip install -r requirements.txt

or

pip install terminalplot

Execute Scripts

Parameters of scripts can be changed in main function inside a script. Scripts then are executed in command line with python.

python evolution_strategy.py

python genetic_algorithm.py

python vector_evaluated_genetic_algorithm.py

python simulated_annealing.py

Evolutionary Algorithms

Problem solved with algorithms

Height of Cylinder h: 0 ≤ h ≤ 31
Diameter of Cylinder d: 0 ≤ d ≤ 31

Volume V: π * d² * h / 4 ≥ 300
Surface S: π * d² / 2 + π * d *h

By a genetic algorithm, diameter and height have to be determined, such that the surface of the cylinder is minimal.

Context Parameters

  • Object Properties (Encoding of Problem): o_k
  • Strategy Parameters (Mutation, Recombination, Selection): s_k
  • Fitness: F(o_k)
  • Size of Population at Time t: μ = |P_(t,μ)|
  • Number of Descendants: λ
  • Number of Parents at recombination: ρ
  • Max Number of Generations an Individual lives: κ
  • k: index of individual

Genetic Algorithm

  • Individuals a_k = (o_k, F(o_k))
  • μ = λ
  • κ = 1
  • s_k constant

Binary Encoding

Phenotype: Individual, Creatur, Properties ∈ {l, u}^n , l, u: lower and upper bound of interval of n parameters
Genotype: {0,1}^l, (l: length of binary encoding)

About

This collection of algorithms is part of a lecture on computational intelligence at ZHAW.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages