Skip to content

Stifanox/Evolutionary-algorithms

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

82 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logo.png

This project implements genetic algorithms in Python.

⭐ Features

Feature Details
Crossover (binary) ✔️ k-point, shuffle, discrete, uniform
Crossover (real) ✔️ arithmetic, blend α, blend αβ, average, flat, linear
Selection ✔️ top, roulette, tournament
Mutation (binary) ✔️ edge, single-point, two-point
Mutation (real) ✔️ uniform, gauss
Elitism ✔️ by percent, by count
Inversion ✔️ implemented
GUI ✔️ implemented (in Tkinter)
Plots ✔️ implemented (in Matplotlib)
File export ✔️ implemented

🧪 Built-in functions

The repository contains many built-in functions:

Hypersphere, Hyperellipsoid, Schwefel, Ackley, Michalewicz, Rastrigin, Rosenbrock, De Jong 3, De Jong 5, Martin And Gaddy, Griewank, Easom, Goldstein And Price, Picheny Goldstein And Price, Styblinski And Tang, Mc Cormick, Rana, Egg Holder, Keane, Schaffer 2, Himmelblau, Pits And Holes.

🛠️ Prerequisites

In order to run this code, the end user must install the following list of programs and libraries:

  • Python 3.10
  • Matplotlib
  • Numpy
  • Scipy
  • Multimethod
  • Benchmark-functions

🧬 Usage

After you have downloaded (or cloned) this repository, you can immediately begin to simulate the evolution by following these simple steps:

  1. Select main.py and run it via Python interpreter.
  2. Configuration window will pop up. You can set every parameter including, but not limited to the examined function, crossover type, selection type, and so on.
  3. Click Start evolution button. Depending on the speed of your machine and selected settings, the evolution may take a while.
  4. If you checked Show chart option previously, plots will be updated from time to time.
  5. Once the simulation is complete, summary window will show the results.
  6. You can now also view EvolutionSave_ files, which contain statistics for every epoch.

🎥 Demonstration

animation.gif

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5

Languages