DEAP / deap

Distributed Evolutionary Algorithms in Python
http://deap.readthedocs.org/
GNU Lesser General Public License v3.0
5.8k stars 1.12k forks source link

Evolutionary algorithms variator strategy choice #70

Closed wvangeit closed 9 years ago

wvangeit commented 9 years ago

Would it be possible to allow the user to specify the variator strategy in the evolutionary algorithms (e.g. eaMuPlusLambda) ? At the moment in eaMuPlusLambda the variator strategy is hard coded as varOr. This could e.g. be achieved by letting the user register a 'variate_strategy' (name to be chosen) function (and fall back to the default behavior in case no such function was registered). Thanks.

fmder commented 9 years ago

IMHO, modifying the variator in an agorithm doesn't make much sense as I doupt the current algorithms would work with the other implemented variator. Plus, changing the variator in the toolbox make you write almost the same nmber of line as to recode the entire algorithm with your variator of choice.

Most importantly, I'm closing this issue because I think allowing to change the variator would most often than not lead to algorithm that aren't working as the user would like them to. It would be bug prone and bad result prone (just think of the varAnd with NSGA-2 selection ...)

Thank for your interest in DEAP. If you have any other idea, don't hesitate to post them.

2015-04-17 4:51 GMT-04:00 wvangeit notifications@github.com:

Would it be possible to allow the user to specify the variator strategy in the evolutionary algorithms (e.g. eaMuPlusLambda) ? At the moment in eaMuPlusLambda the variator strategy is hard coded as varOr. This could e.g. be achieved by letting the user register a 'variate_strategy' (name to be chosen) function (and fall back to the default behavior in case no such function was registered). Thanks.

— Reply to this email directly or view it on GitHub https://github.com/DEAP/deap/issues/70.