Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Genetic Algorithms and multi-objectives optimization on PYTHON : libraries/tools to use? [closed]

I am scanning the internet for libraries available to use GA with potential development for multi-objective algorithms like NSGAII for Python. Do you have any suggestion?

Here is what I have so far:

  1. Pyevolve : Well documented but doesn't include multi objective
  2. Pygene : Doesn't seem to include multi objective
  3. deap : Seems well documented, includes multi objective
  4. inspyred: seems ok-documented, includes multi objective

The question is not necessarily about which one is better but more about the features of these libraries and the possibility to switch easily from single to multi-objective optimization.

Thank you

like image 428
Serge Avatar asked May 24 '13 16:05

Serge


People also ask

What is multi-objective optimization in genetic algorithm?

Multi-objectives Genetic Algorithm (MOGA) is one of many engineering optimization techniques, a guided random search method. It is suitable for solving multi-objective optimization related problems with the capability to explore the diverse regions of the solution space.

What is Pymoo?

Abstract: Python has become the programming language of choice for research and industry projects related to data science, machine learning, and deep learning.

What is the advantage of multi-objective genetic algorithms?

However, multiobjective evolutionary algorithms (MOGA), seem to be the best method used nowadays. One of their main advantages is that they are population based, thus finding more than one interesting solution in a single run. Another advantage is the lack of assumptions about the problem to be solved.


2 Answers

Disclosure: I am of one of the developers of DEAP.

DEAP is the most actively developed project amongst the ones mentioned. It has an active mailing-list, which is an interesting feature if you need help at some point. The class creation which is unique to DEAP makes switching from single to multiple objectives really easy. It comes with multiple examples, including examples of multiobjective genetic algorithms.

It is also compatible with both Python 2 and 3, while some other frameworks only support Python 2. Finally, while it is written in pure Python, we will always have performances in mind, so it is quite fast. Timing of the different examples are available at http://deap.gel.ulaval.ca/speed/.

like image 125
CmdNtrf Avatar answered Sep 17 '22 01:09

CmdNtrf


Pybrain seems to have GA and multiobjective GA:

http://pybrain.org/docs/api/optimization/optimization.html?highlight=genetic#population-based

Still seems to be a bit basic. I didn't try it so I can't tell you how good it is.

like image 42
Imanol Luengo Avatar answered Sep 17 '22 01:09

Imanol Luengo