我正在研究遗传算法.
有两个目标,每个目标都有自己的适应值(fv1,fv2).
我知道世代(SGE)和稳态(SS)遗传算法是如何工作的.
我试图了解NSGA-2和SPEA-2(我正在使用Java库JCLEC的实现)如何工作,特别是:
如果有人正在使用JCLEC库,这些是我设置的参数:
roh*_*nag 22
这是NSGA-II的解释
我建议阅读有关这些算法的论文,它们很好地解释了功能:
我相信您可以在网上找到这些出版物的 PDF。
关于稳态遗传算法和世代遗传算法之间的区别:在代代替换中,您只使用旧种群中的基因创建一个与旧种群大小相同的全新种群,然后将其作为一个整体进行替换。在稳态替换中,您只创建一个新个体,然后只替换种群中的一个个体。稳态 GA 通常收敛得更快,但它们不太可能找到好的局部最优解,因为它们不像使用代代替换那样探索适应度景观。当然,这取决于问题,有时您可以选择要替换多少旧代,这允许您在这两者之间具有任意比例。