Suppose we're developing a software, we have a list of requirements, their costs and a list of customers with desired requirements ordered by wishes. Each customer has a weight. Each requirement has a cost and score. Using a genetic algorithm this project is trying to find solutions using NSGA2 selection. Trying to minimise cost and maximise score.
This repo comes with a complementary report.
Using the DEAP Evolutionary Algorithms Python library. Main paper for reference: Deb et al. Reference for DEAP multi-objective-optimisation
1. Install pipenv
$ pip install pipenv
$ pipenv install
$ pipenv shell
- To see a plot comparing random, single objective and multi-objective:
$ python src/plot.py
- To see the animation:
$ python src/animation.py
You'll need to install DEAP globally:
$ pip install deap
or using Conda
$ conda install -c conda-forge deap
Cd to project directory and:
- To see a plot comparing random, single objective and multi-objective:
$ python src/plot.py
- To see the animation:
$ python src/animation.py
✨🍰✨