A nature-inspired optimization project that designs healthy meals meeting multiple nutritional targets using a Genetic Algorithm, and benchmarks it against Cuckoo Search and Ant Colony Optimization.
Originally developed as an academic coursework project.
Given a dataset of foods — each described by its calorie, vitamin, and mineral content — the system searches for meal combinations that best satisfy a set of nutritional criteria. The core solver is a Genetic Algorithm built with the DEAP framework. Two further nature-inspired metaheuristics, Cuckoo Search and Ant Colony Optimization, are implemented as comparison baselines, and their performance is compared using statistical tests.
Each candidate meal is scored by a fitness function that rewards meals falling within healthy ranges (thresholds informed by common WHO / NHS / USDA guidance):
| Criterion | Target range |
|---|---|
| Calories | 500–800 kcal |
| Water-soluble vitamins | ≥ 50 mg |
| Fat-soluble vitamins | 5–25 mg |
| Beneficial minerals (iron, magnesium, potassium) | ≥ 300 mg |
| Potentially unsafe minerals (sodium) | ≤ 200 mg |
- Representation: linear chromosome, where each gene is one food item
- Selection: roulette-wheel selection
- Termination: 100 generations, or no fitness improvement for 10 generations
- Genetic Algorithm implemented with DEAP, including a custom ("bespoke") mutation operator
- Parameter tuning and population-diversity analysis
- Comparison against Cuckoo Search (CSA) and Ant Colony Optimization (ACO), with statistical significance testing via SciPy
| File | Description |
|---|---|
task1_data.py |
Dataset, Food / Meal classes, train/test split |
task2_algorithm_setup.py |
Fitness function, chromosome encoding, CSV export |
task3_genetic_algorithm.py |
Core Genetic Algorithm (DEAP) |
task4_csa.py |
Cuckoo Search comparison |
task5_parameter_tuning.py |
GA parameter tuning |
task6_diversity_analysis.py |
Population diversity and summary statistics |
task7_operator_enhancement.py |
Enhanced GA with custom mutation |
task10.py |
Ant Colony Optimization comparison |
*.csv |
Result logs and comparison outputs |
- Python 3.9+
deap,numpy,scipy
Install dependencies:
pip install -r requirements.txtRun any task from inside the project folder, for example:
python task3_genetic_algorithm.pyThe later tasks import from the earlier ones (e.g. the fitness function and dataset), so run them from within the project directory.
Python · DEAP · NumPy · SciPy
Mariam — @mariamharoon17