Project Overview: GenOptima is a comprehensive framework that demonstrates the power of Genetic Algorithms (GA) in searching large multi-dimensional solution spaces. The project specifically optimizes a 3-variable function (x+y+z) using binary-encoded chromosomes to represent real-valued variables within a defined range (−10,10).
Key Technical Components:
Binary Encoding & Decoding: Utilizes 16-bit precision per variable, resulting in a 48-bit chromosome for high-resolution optimization.
Advanced Selection Mechanisms: Implements both Tournament Selection and Roulette Wheel Selection to balance exploration and exploitation.
Crossover Strategies: Features both One-Point and Two-Point Crossover operators to simulate genetic recombination.
Mutation & Variability: Employs a bit-flip mutation operator with adjustable rates to maintain population diversity and prevent premature convergence.
Performance Monitoring: Integrated visualization using Matplotlib to track Best, Average, and Worst fitness scores across generations.
Technical Stack:
Language: Python.
Libraries: NumPy for numerical operations, Matplotlib for convergence plotting.
Core Concept: Heuristic Search, Evolutionary Computing.