1.带精英策略的非支配排序的遗传算法(NSGA-II)
2000年,Deb又提出NSGA的改进算法一带精英策略的非支配排序遗传算法(NSGA-II),针对以上的缺陷通过以下三个方面进行了改进:
1.提出了快速非支配排序法,降低了算法的计算复杂度。
2.提出了拥挤度和拥挤度比较算子,代替了需要指定共享半径的适应度共享策略,并在快速排序后的同级比较中作为胜出标准,使准Pareto域中的个体能扩展到整个Pareto域,并均匀分布,保持了种群的多样性。
3.引入精英策略,扩大采样空间。将父代种群与其产生的子代种群组合,共同竞争产生下一代种群,有利于保持父代中的优良个体进入下一代,并通过对种群中所有个体的分层存放,使得最佳个体不会丢失,迅速提高种群水平。
2.基本原理
2.1快速非支配排序法
首先解释一下什么叫支配

在生成最优的帕累托前沿(Rank 1)前,可能会生成多个rank。那么快速非支配排序就是按照这个rank序列来进行一个排序。
NSGA-II对第一代算法中非支配排序方法进行了改进:对于每个个体 i 都设有以下两个参数 n(i) 和 S(i),
1.n(i) 为在种群中支配个体 i 的解个体的数量。(别的解支配个体 i 的数量)
2.S(i) 为被个体 i 所支配的解个体的集合。(个体 i 支配别的解的集合)
(1)通过循环比较找到种群中所有ni = 0的个体,赋予其非支配等级为1,并将这些个体存入非支配集合rank1中。
(2)集合rank1中的每一个个体,将其所支配的个体集合中的每个个体的nj都减去1,若nj-1=0则将个体j存入集合rank2中,并赋予其中的个体非支配等级2。
(3)之后对rank2中的个体重复上述操作,直至所有个体都被赋予了非支配等级。
非支配等级也称作Pareto等级,其中Pareto等级为1的个体由于不受其他个体的支配,叫做非支配解,也叫 Pareto最优解,而解集所形成的曲线叫做Pareto前沿。
仔细理解

NSGA-II是一种改进的遗传算法,通过快速非支配排序降低计算复杂度,引入拥挤度和精英策略保持种群多样性。它利用非支配等级和拥挤度来优化种群,确保Pareto最优解的生成。
最低0.47元/天 解锁文章

2091

被折叠的 条评论
为什么被折叠?



