Skip to content

Mexbow/Evolutionary-Algorithms-Differential-Evolution-vs.-Genetic-Algorithm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

🔬 Evolutionary Algorithms: Differential Evolution vs. Genetic Algorithm

This project implements and compares two powerful evolutionary optimization algorithms: Differential Evolution (DE) and Genetic Algorithm (GA). Both algorithms are applied to a suite of benchmark functions to explore their performance in solving complex, non-linear optimization problems.

📌 Benchmark Functions

  • 🌀 Ackley

  • image

  • 🏔️ Bukin

  • image

  • ✖️ Cross-in-Tray

  • image

  • 🌊 Drop-Wave

  • image

  • 🍳 EggHolder

  • image

Each function is visualized in both 2D and 3D plots, highlighting the best solution found by each algorithm on the function’s surface.


✅ Features

  • 🔁 Differential Evolution (DE) implementation
  • 🧬 Genetic Algorithm (GA) with:
    • Crossover
    • Mutation
    • Roulette Wheel Selection
  • 🧠 Optimization over 5 well-known benchmark functions
  • 📈 2D & 3D function visualization using Matplotlib
  • 🐍 Fully implemented in Python with NumPy

📊 Output

  • Prints best fitness per generation for each algorithm
  • Displays 2D contour plots and 3D surface plots
  • Shows best-found solution points for DE and GA on each function image

📎 License

This project is open-source under the MIT License.


🔗 References

Benchmark function definitions were adapted from the collection maintained by SigOpt and Surjanovic & Bingham (Simon Fraser University):
🔗 https://www.sfu.ca/~ssurjano/

🛠️ Getting Started

Clone the repo and run:

EA.py

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages