2013-05-24 18 views
35

Sto analizzando Internet per le librerie disponibili per utilizzare GA con potenziale sviluppo di algoritmi multi-obiettivo come NSGAII per Python. Hai qualche suggerimento?Algoritmi genetici e ottimizzazione multi-obiettivi su PYTHON: librerie/strumenti da usare?

Ecco quello che ho finora:

  1. Pyevolve: Ben documentato ma non include più obiettivo
  2. Pygene: Non sembra includere più obiettivo
  3. deap: Sembra ben documentati , include multiobiettivo
  4. inspyred: sembra ok-documentato, include multiobiettivo

La domanda non è necessariamente su quale sia meglio ma più sulle caratteristiche di queste librerie e sulla possibilità di passare facilmente dall'ottimizzazione singola a quella multiobiettivo.

Grazie

+18

Era una domanda utile, non capisco le persone, perché l'hai chiusa ... – erogol

+6

Sono d'accordo, questa era una domanda utile e un insieme di risposte. Ha risolto uno dei miei problemi di ottimizzazione. – rhody

+14

La domanda in quanto affronta un argomento utile, è ben studiata e richiede risposte obiettive. Non "sollecita dibattiti, discussioni, sondaggi o discussioni estese" - coloro che scelgono di chiuderla sono quelli che non sono costruttivi. – Dave

risposta

22

Disclosure: Sono uno degli sviluppatori di DEAP.

DEAP è il progetto più attivamente sviluppato tra quelli menzionati. Ha una mailing list attiva, che è una caratteristica interessante se hai bisogno di aiuto ad un certo punto. La creazione di classi che è unica per DEAP rende davvero semplice il passaggio da obiettivi singoli a multipli. Viene fornito con più esempi, inclusi esempi di algoritmi genetici multiobiettivo.

È compatibile anche con Python 2 e 3, mentre altri framework supportano solo Python 2. Infine, mentre è scritto in Python puro, avremo sempre delle prestazioni in mente, quindi è abbastanza veloce. La tempistica dei diversi esempi è disponibile allo http://deap.gel.ulaval.ca/speed/.

+0

Ciao. Dopo una maggiore documentazione, DEAP sicuramente sembra buono. La mailing list è davvero molto attiva (riceve una risposta mezz'ora dopo aver postato una domanda) e la possibilità di utilizzare il multiprocessing sembra promettente. Inizierò con esso. – Serge