47

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

dexterous
  • 146
  • 2
  • 10
Serge
  • 1,018
  • 2
  • 11
  • 14
  • 29
    It was a useful question, I dont understand people, why you closed it... – erogol Dec 02 '13 at 00:07
  • 7
    I agree, this was a useful question and set of answers. It solved one of my optimization problems. – rhody Feb 06 '14 at 04:58
  • 14
    The question as worded addresses a useful topic, is well-researched, and asks for objective answers. It doesn't "solicit debate, arguments, polling, or extended discussion" - those choosing to close it are the ones being not constructive. – Dave Apr 04 '14 at 17:12
  • I agree with the above comments. Perhaps the members who have closed the question could suggest specifically which criteria for closing this question falls under (I suspect it's the one about soliciting polling) and how it might be reworded to exclude itself from that criteria. – dexterous Mar 27 '15 at 07:32
  • 1
    While I agree that this question is somewhat useful there is a close reason that addresses specifically this type of question: _Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow [...]_. Also have a look at this post: http://meta.stackexchange.com/questions/199411 – moooeeeep Nov 02 '15 at 11:51

2 Answers2

24

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/.

CmdNtrf
  • 1,163
  • 7
  • 16
  • Hello. After more documentation DEAP certainly looks good. The mailing list is indeed very active (got an answer half an hour after posting a question) and the possibility to use multiprocessing seems promising. I will start with it. – Serge May 28 '13 at 13:07
5

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.

Imanol Luengo
  • 15,366
  • 2
  • 49
  • 67