Skip to content

vladinator1000/multi-objective-optimisation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

✨🍰✨

About

Objective optimization with genetic algorithms

Topics

Resources

Stars

Watchers

Forks

Languages