【算法学习】NSGA2

December 13, 2024

多目标规划两个目标 1)收敛到帕累托最优集; 2)保持帕累托最优集中解的多样性。

NSGA缺点:

  • 非支配排序的高计算复杂度:当前使用的非支配排序算法具有O(MN3)O(MN^{3})的计算复杂度(其中MM是目标数量,NN是种群大小)。
  • 缺乏精英策略:近期的研究表明,精英策略可以显著加速遗传算法(GA)的性能,这也有助于防止一旦找到好的解就丢失它们。
  • 需要指定共享参数σshare\sigma_{share}:传统的确保种群多样性以获得各种各样等效解的机制主要依赖于共享的概念。共享的主要问题在于它需要指定一个共享参数(σshare)(\sigma_{share})

NSGA2创新点:

1.快速非支配排序方法

首先,需要找到第一个支配前沿解集,对于每个解,计算两个量:1)支配计数npn_{p},即支配解pp的解的数量;2)SpS_{p},即解pp所支配的一组解。一共需要进行O(MN2)O(MN^{2})次比较。第一个非支配前沿中的所有解的支配计数都为零。

对于支配计数n_{p}=0的每个解p,访问其集合S_{p}中的每个成员q,并将q的支配计数减1。如果任何成员q的支配计数变为零,就将其放入一个单独的列表Q中。Q为下一个非支配前沿。这一过程持续进行,直至识别出所有的非支配前沿。 image.png

2.拥挤比较算子