Function optimizing with genetic algoritm, can optimize any function in any dimension, can search for minimum and maximum in given range. Implemented binary and real chromosomes.
- Levy function
- Michalewicz function
- Bukin function
- Damavandi function
- Optimizing function
- Searching value min or max
- Chromosome representation RealChromosome or BinaryChromosome
- Number of chromosomes in individual, corresponds with number of dimensions in function
- Accuracy for BinaryChromosome
- Range in which function optimum will be searching for. range_start and range_end
- Number of epochs
- Size of population
- Selection type with proper parameter:
- Roulette with number to select parameter,
- By best value with number to select parameter,
- Tournament selection with tournament size parameter
- Chromosome crossover type depending on chromosome representation
- Binary Chromosome
- one point crossing
- two points crossing
- three points crossing
- Real Chromosome
- arithmetic crossing
- heuristic crossing
- Binary Chromosome
- Chromosome mutation
- Binary Chromosome
- one point mutation
- two points mutation
- three points mutation
- border mutation
- Real Chromosome
- even mutatation
- mutation by index change
- Binary Chromosome
- Inversion operator only for Binary chromosome
- Elite strategy with number parameter, keeping number of best individuals in whole evolution process.
Run with main.py as console application or MainPage.py to run as window application.
Chromosome representation and most calculations are implemented with numpy arrays.