NSGA-II

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Abstract:

NSGA(采用Non-dominated sorting and sharing算法的MOEA)存在以下三个问题:

a、非劣排序遗传算法的复杂度为O(MN3)

b、没有引进精英策略;

c、必须人为指定一个共享参数;

Introduction:

传统的优化方法(Multi-criterion decision-making methods)提出将多目标优化问题转换为单目标优化问题,强调一次仿真运行只获得一个最优解,然后通过多次仿真希望获得多个不同的最优解;

NSGA-II改进主要是针对如上所述的三个方面:

a、提出了快速非支配排序算法,一方面降低了计算的复杂度,另一方面它将父代种群跟子代种群进行合并,使得下一代的种群从双倍的空间中进行选取,从而保留了最为优秀的所有个体;

b、引进精英策略,保证某些优良的种群个体在进化过程中不会被丢弃,从而提高了优化结果的精度;

c、采用拥挤度和拥挤度比较算子,不但克服了NSGA中需要人为指定共享参数的缺陷,而且将其作为种群中个体间的比较标准,使得准Pareto域中的个体能均匀地扩展到整个Pareto域,保证了种群的多样性。

NSGA-II提出了一个简单的解决约束优化问题的方法;

Part II:

强度Pareto进化算法,SPEA(suggested an elitist multi-criterion EA with the concept of non-domination)具体步骤如下:

a、产生初始种群P和空的外部非劣解集NP;

b、将种群P中的非劣个体拷贝到非劣解集NP;

c、剔除集合NP中受种群P中个体支配的解;

d、如果保留在集合NP中的非劣解的个数超过事先给定的最大值,则通过聚

类分析对集合NP进行修剪,剔除多余的解;

e、计算种群P和集合NP中每个个体的适应度值;

f、利用二元锦标赛方法从P +NP中选择个体进入下一代;

g、对个体实施交叉和变异操作;

h、如果最大代数达到,停止搜索;否则转到b。

适应度赋值:首先对非劣解集NP中的个体进行赋值,然后对种群中的个体赋值,具体描述如下:

a、对于每个解x i∈NP, 赋予一个强度值S i ∈[0,1),S i = h i /(N+1),其中h i 表

示种群中受个体x i 支配的个体数,N为种群规模。S i 即为x i 的适应度值;

b、每个个体x j ∈P 的适应度值为1+ ∑S i ,即所有支配解x j 的解x i ∈NP

的强度之和再加1。

聚类分析:通常情况下,非劣解集大小必须受限,必须为其规定最大规模,即保留在其中的解的最大个数,主要原因有四个方面:

a、M OP的非劣解集大小可能非常大,甚至无穷大

b、实现算法的计算资源是有限的;

c、档案维护的复杂性会随档案规模的变大而显著增加;

d、遗传漂移可能出现,因为均匀采样过程中搜索空间中过度代表的区域总是优

先被选择。

前面三点意味着必须限制档案大小,而第四点表示对档案进行修剪可能对算法性能有利。

SPEA采用如下聚类分析对非劣解集进行修剪:

a、初始化聚类集C,该集合由非劣解NP的解构成,每个解对应一个聚类;

b、如果∣C∣≤ N’,转到e,否则转到c;N’为非劣解集的最大大小。

c、计算所有聚类之间的距离(采用欧式距离);

d、确定具有最小距离的两个聚类,然后调整聚类集C,转到b;

e、确定每个聚类的代表个体,通常选择和同一聚类的其他个体之间的平均聚类

最小的个体作为该聚类的代表;

SPEA存在如下劣势:

a、根据SPEA的适应度赋值的过程,被相同档案成员支配的种群个体适应度

相同,这意味着当外部档案只包含一个成员时,无论种群个体之间是否存在支配关系,所有种群个体都具有相同的适应度值,这样,SPEA与随机搜索类似;

b、聚类分析能够减少非劣解集的大小,但它可能错误的删掉了一些必须保存

在非劣解集中的个体,影响算法的多样性;

PAES:采用自适应网格法对外部档案进行维护。由1+1策略和档案组成;自适应网格的基本思想:利用外部档案保存所有非劣解,然后将目标空间分割成多网格,当插入到档案中的个体位于网格的现有边界之外,则重新分割网格个计算每个网格中个体数。自适应网格不需要附加参数,可以维持种群的多样性;1+1策略的具体步骤:

1、随机产生一个初始解c并将它加入到档案A中.

2、对当前解c执行变异操作,产生新解d,并对d作如下评价:

If c 支配d then 舍弃d;

else if d 支配c then 用d代替c并将d加入到档案中;

else if d被档案中的一个成员支配then 舍弃d;

else 执行test(c, d, A)以决定d和c中之一为当前解,以及是否将d加

入到档案中;

3、若终止条件满足,则结束;否则,转到(2);

当当前解c和新解d互相不受支配,且d不受档案中任意个体支配时,利用test(c, d, A)选择密度最小的个体。

test(c, d, A)具体过程如下:

if 档案A未满,将d加入到A中

if d在A中的密度值小于c then d 作为新的当前解

else 仍将c作为当前解

else

if d在档案中的密度值小于某个个体x属于A

将d加入到档案中,同时将x从档案中剔除;

if d在档案中的密度值小于c then d 作为新的当前解;

else 仍将c作为当前解

else

if d 在档案中的密度值小于c then d 作为新的当前解;

else 仍将c 作为当前解;

end if

NSGA-II:

a、F ast Non-dominated Sorting Approach:

对每一个解,计算两个数据:Np表示种群中所有解中支配p的解的总数,Sp 表示种群中被解p所支配的解的解集。

b、拥挤距离(先对非劣解集中的解根据目标函数值的大小进行排序)然后

如下图所示计算由解i+1和i-1构成的立方体的平均边长作为i的拥挤

相关文档
最新文档