多目标进化算法总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
x 是第 t 代种群中个体,其 rank 值定义为: rank (x ,t )
=1+p (t ) p (t )为第t 代种群中所有支配x 的个体数目 适应值
(fitness value )分配算法:
1、 将所有个体依照 rank 值大小排序分类;
2、 利用插值函数给所有个体分配适应值(从 rank1 到
rank n * N ),一般采用线性函数
3、 适应值共享:rank 值相同的个体拥有相同的适应值,
保证后期选择时同一 rank 值的个体概率相同
最后采用共享适应值随机选取的方法选择个体进入下一代
一种改进的排序机制(ranking scheme ): 向量y a
=(y a ,1,,y a ,q )和y b =(y b ,1,,y b ,q )比较
分为以下三种情况: k =1,,q -1; i =1,,k ; j =k +1,,q ; (y a ,i g i )(y a ,j g j )
i =1,
,q ; (y a ,i g i )
当 y a 支配 y b 时,选择 y a 3、j =1,
,q ; (y a ,j g j )
当 y b 支配 y a 时,选择 y b 优点:算法思想容易,效率优良 缺点:算法容易受到小生境的
大小影响 理论上给出了参数share 的计算方法 goal vector : g = (g 1,
,g q )
1、 2、
基本思想:
1、初始化种群 Pop
2、锦标赛选择机制:随机选取两个个体 x 和 x 和一个 Pop 的
子集 CS(Comparison Set)做参照系。若 x 被 CS 中不少于一
个个体支配,而 x 没有被 CS 中任一个体支配,则选择
x 。
3、其他情况一律称为死结(Tie ),采用适应度共享机制选择。
个体适应度: f i
小生境计数(Niche Count ): m =j Pop Sh
d (i , j )
共享适应度(the shared fitness ): 选择共享适应度较大的个体进入下一代 优点:能够快速找到一
些好的非支配最优解域 能够维持一个较长的种群更新期 缺
点:需要设置共享参数 需要选择一个适当的锦标赛机制 限制
了该算法的实际应用效果 1- 共享函数: Sh (d ) = d share 0,
d share
d share
NPGA II
基本思想:
1、初始化种群 Pop
2、Pareto 排序:非支配个体 rank=0;其余个体 rank=支配该个
体的个体数目
3、锦标赛选择机制:种群中任选两个个体 x 和 x , 若
rank (x ) rank ( x ) ,则选择x ; 若是 rank ( x ) =
rank ( x ) ,称为死结(Tie ), 采用适应度共享机制选择。
小生境计数(Niche Count ):
if d ij share
这里的 Pop 只包含当前一代里的个体,在 NPGA 中, 计算m
公式中的 Pop 包含当前一代以及已经产生的 属于下一代的所有
个体 最后,选择计数较小的个体进入下一代
在计算 Niched Count 之前还要对函数值进行标准化:
m =
if d
ij share
NSGA
和简单的遗传算法的不同点在于 selection operator works , crossover and mutation operator 是一样的
不一样的共享函数:
d i , j 表示个体i 和j 之间的距离
share 是共享参数,表示小生境的半径
小生境计数(Niche Count ): m = Sh d (i , j )
最后采用随机余数比例算法选择个体进行重新构造种群的基础 优点:优化目标个数任选 非支配最优解分布均匀 允许存在多个不同的等效解 缺点:计算复杂度过高(O (MN 3)) 不具有精英保留机制 需要预设共享参数share
Sh (d i ,j )= 1- 0,
if d i ,j share
otherwise
d i , j
NSGA II
加入精英保留机制
快速非支配排序方法(Fast Nondominated Sorting Approach ): 支配计数 n p :支配解 p 的解数量 支配解集 S p :解 p 支配的解集合
1、计算出每一个解的n p 和S p ,第一级非支配解n p = 0 ,单独放入一个集合;
2、遍历成员q 和S q ,逐步递减n q ,如果可以减少为 0,将p 放入单独的集合
Q , 构成第二级非支配解;
3、重复步骤 2,直到所有成员全部分类完成。
1、计算集合 I 的长度,初始化;
2、对每一个目标,利用目标值进行排序;
3、赋予边界点(第一个和最后一个)最大值,确保它们不会被剔除;
4、循环计算其他点的 crowded distance.
I i =I i dis tan ce dis tan ce 其中,I 为非支配集合, I i .m 表示第 m 个目标在第 i 个个体处的目标值,
f m max / f m min 分别表示第m 个目标的最大最小函数值
值越小,越拥挤
Crowded-Comparison Operator : p i p n j if (i rank j rank ) or ((i rank = j rank ) and (i dis tan ce j dis tan ce ))
Replace the sharing function approach in NSGA 可以一定程度上消除一下两点:
(1)the sharing function 太过于依赖共享参数,不容易设定
(2)the sharing function 时间复杂度达到O (N 2 )
Crowded-comparison Approach
min
m
(I i +1.m - I i -1.