4

我想知道在多目标优化中的选择上下文中,向量生成遗传算法(VEGA)和非支配排序遗传算法(NSGA)算法之间存在什么区别?

(我知道 NSGA 是基于帕累托的,而 VEGA 不是基于帕累托的。)

4

1 回答 1

4

差异相当大。正如您所说,一个是基于帕累托的,另一个不是。在 MOO 中,这是一件大事。VEGA 的工作原理是将总体划分为不相交的集合,并迫使不同的集合朝着不同的单一目标发展。那里有一些机制可以帮助将它们组合成帕累托集的有意义的表示,但它基本上只是针对不同目标的解决方案的联合。选择是通过选择相对于其单独设置的目标函数更好的解决方案来完成的。

NSGA 和其他基于 Pareto 的方法完全不同。他们的选择不是基于任何特定的目标选择,而是基于解决方案相互比较的特性。每个这样的算法在如何执行这些比较时都会做出略微不同的选择,NSGA-II(你绝对应该使用算法的第二个版本)通过非支配排序来做到这一点。基本上,您会找到所有非支配解决方案并将它们称为集合 #1。然后,如果您删除了集合#1 的元素,您会发现所有非支配的解决方案——它们变成了集合#2。你继续前进,直到所有解决方案都被考虑在内,结果就像剥洋葱层一样。然后,选择过程是您始终选择较低等级的成员(设置#1,然后设置#2,依此类推)。如果你可以的话'

通常,您应该查看基于 Pareto 的方法。至少 10-15 年来,它们一直是公认的选择。特别是,您应该关注基于精英帕累托的方法,如 NSGA-II、SPEA2、epsilon-MOEA 以及一些最近的竞争者。

于 2011-06-08T14:32:03.473 回答