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.
Each function is visualized in both 2D and 3D plots, highlighting the best solution found by each algorithm on the function’s surface.
- 🔁 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
- 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

This project is open-source under the MIT License.
Benchmark function definitions were adapted from the collection maintained by SigOpt and Surjanovic & Bingham (Simon Fraser University):
🔗 https://www.sfu.ca/~ssurjano/
Clone the repo and run:
EA.py



