使用Pyevolve进行帕累托排名

时间:2011-08-01 11:58:44

标签: python genetic-algorithm evolutionary-algorithm pyevolve

我目前正在使用Pyevolve软件包解决一些遗传算法问题。我想知道在Pyevolve包中是否有任何使用Pareto排名的例子,因为我有多个评估函数。

如果不存在,你能不能提供一些Pareto排名算法的伪代码。我想自己实现它。

谢谢!

1 个答案:

答案 0 :(得分:5)

根据最新发布的文档,Pyevolve中似乎没有任何Pareto排名包。

如果你想自己实现它,你应该检查NSGA-II,这是一个众所周知的最佳工作算法,用于多目标优化。包含伪代码的原始文章可以在这里找到:http://sci2s.ugr.es/docencia/doctobio/2002-6-2-DEB-NSGA-II.pdf

如果您想在Python中开发多目标遗传算法,并且由于Pyevolve开发非常垂死,我建议您查看一个名为DEAP的更通用的框架:http://deap.googlecode.com/。该框架已经包含了完成多目标GA所需的一切,并提供了许多如何实现这一点的示例(NSGA-II已经在DEAP中实现)。由于文档非常完整,因此从Pyevolve过渡应该很容易。您也可以与开发人员联系,他们可以非常快速地回答问题。