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.pyYou'll need to install DEAP globally:
$ pip install deapor using Conda
$ conda install -c conda-forge deapCd 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✨🍰✨
