Skip to content

Latest commit

 

History

History
64 lines (50 loc) · 1.71 KB

README.md

File metadata and controls

64 lines (50 loc) · 1.71 KB

multi-objective-optimisation

animation of improving generations

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

To Run:

1. Install pipenv

$ pip install pipenv

2. Cd to project directory and:

$ pipenv install
$ pipenv shell
  1. To see a plot comparing random, single objective and multi-objective:
$ python src/plot.py
  1. To see the animation:
$ python src/animation.py

If you prefer not to use pipenv:

You'll need to install DEAP globally:

$ pip install deap

or using Conda

$ conda install -c conda-forge deap

Cd to project directory and:

  1. To see a plot comparing random, single objective and multi-objective:
$ python src/plot.py
  1. To see the animation:
$ python src/animation.py

✨🍰✨