0
点赞
收藏
分享

微信扫一扫

嵌入于MOEA/D的一个自适应约束处理方法


An Adaptive Constraint Handling Approach Embedded MOEA/D

1.摘要

本文提出了一个有效的、自适应的约束处理方法。该方法会根据约束的类型、可行空间大小和搜索结果自动调整比较操作的约束违反阈值。本文使用了10个常用的CMOPs问题和1个真实世界的问题做实验,同时与NSGA-Ⅱ进行了比较,结果表明该方法改进了MOEA/D处理约束的能力,且与NSGA-Ⅱ一样能取得不错且类似的解,甚至在有些结果上更优。

2.介绍

这里作者介绍了多目标问题中约束处理方法的发展。本文之前有一种使用可行和不可行的解决方案的参数较小的自适应策略。 当种群中存在多个不可行解时,该方法使用目标值和约束违反范数,而约束违反范数仅适用于所有不可行解的种群。 虽然这样一种方法将促使人们走向可行性,但在搜索过程中,在人群中混合可行和不可行的解决方案将阻碍该方法的效率。
本文的算法不存在这样的问题。

3.算法具体介绍

A.约束违反度

以前的约束违反度计算公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_多目标


其中,CV表示约束违反度,gi表示第i个不等式约束,hi表示第i个等式约束。修改后的公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_02

其中M1和M2是解中积极存在的不等式和等式约束的数目。

原文用了个两目标优化的小例子证明了修改后的约束处理收敛速度更快。这里不讨论细节,直接给不可行解随迭代次数下降的对比图。

嵌入于MOEA/D的一个自适应约束处理方法_处理方法_03


嵌入于MOEA/D的一个自适应约束处理方法_优化问题_04


可以看到用修改后的公式(3)更快。

B.可行率

公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_处理方法_05


C.约束违反阈值

约束违反阈值τ的计算公式如下

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_06


其中CVmean表示了平均约束违反程度,FR是可行率,可以想象,当可行解过于少的时候阈值也会随之降低,促使出现更多的可行解。

D.选择操作

适应度函数计算涉及到两个值,公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_07


其中,ϕte 表示目标值,CV’表示约束违反度。

对于小于违规阈值的不可行解,我们比较其目标函数值ϕte 。对于可行解,我们比较目标函数值ϕte 。对于超过阈值的不可行解,我们比较其约束违反度CV’。

目标值ϕte 计算公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_处理方法_08


其中λi是均匀权向量,zi∗是理想的参考点。

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_09


最后我们比较个体通过如下方式:

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_10


F.修改后的算法

MOEA/D利用分解方法处理子问题,并采用邻域匹配策略来加快搜索速度。这里邻域匹配策略具体可以去看原文MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition。

对于重组过程,选择交配池P的有两种方式 (a)一个来自种群的一随机个体,两个来自领域 (b)所有三位父代都从种群中随机选择。 这里我们设定选择a方式的概率为δ,则b的概率为1−δ。δ的具体值见下图:

嵌入于MOEA/D的一个自适应约束处理方法_多目标_11


上图列出来算法中的参数设置。

交叉操作采用二进制交叉法,公式如下:

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_12


其中CR是一组0.1到1.0之间的交叉率(见上TABLE1)。而选择具体哪个CR值涉及到成功率SR,SR的计算用如下的公式:

嵌入于MOEA/D的一个自适应约束处理方法_多目标_13


其中Sk代表生成的后代进入种群的个数,M是种群大小。可以想象,当Sk比较大的时候表示生成的子代都挺不错的。ζ值设成了0.02,这样保证了当第CR值表现很差的时候,也可能会使用它生成子代。

最后我们根据SR的值,用轮盘赌选择哪个CR值。

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_14


其中,其中NCR是供选择的CR的数量。

4.实验结果

本文使用了10个常用的CMOPs问题(CTP2-CTP8,SRN, OSY, CTP6, Toysub))和1个真实世界的问题(Toy Submarine Design Problem)做实验。对比实验是NSGA-Ⅱ,为了对比方便,算法的参数都设定成了一样的。

首先看指标IGD( inverse generational distance),IGD原文:Research on performance measures of multiobjective optimization evolutionary algorithms。

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_15


可以看到,对于CTP2-CTP8问题,C-MOEA/D的均值和标准差优于NSGA-II。盒须图表示30次独立运行的一致性能。

嵌入于MOEA/D的一个自适应约束处理方法_多目标_16


下图是本文CMOEAD和NSGA-Ⅱ的最后Pareto前沿图。

嵌入于MOEA/D的一个自适应约束处理方法_处理方法_17


嵌入于MOEA/D的一个自适应约束处理方法_多目标_18


嵌入于MOEA/D的一个自适应约束处理方法_优化问题_19


可以看到C-MOEA/D在SRN、TNK上的性能优于NSGA-II,并在OSY上也表现不错。

最后本文使用了现实生活中一个玩具潜艇设计问题做实验。具体实际问题这里不讨论,看下图抽象为CMOP的结果。

嵌入于MOEA/D的一个自适应约束处理方法_多目标_20


然后看下实验结果,

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_21


该图显示了在平均运行中获得的最终帕累托前沿,可以看到CMOEAD结果略好于NSGA-Ⅱ。

下图是HV(hypervolume)(具体HV可以参考原文:HypE: An Algorithm for Fast HypervolumeBased Many-Objective Optimization)的比较结果:

嵌入于MOEA/D的一个自适应约束处理方法_优化问题_22


CMOEAD表现更好点。

5.总结

本文提出了一种自适应约束处理方法。 约束处理方法嵌入在基于分解(MOEA/D)的多目标进化算法框架内使其能够处理约束优化问题。 为了评估该方法的性能,解决了10个已知的基准多目标约束优化问题和一个真实世界的玩具潜艇设计问题。 结果与NSGA-II的结果进行了比较。 本研究的初步结果表明,约束处理方法是有效的,C-MOEA/D能够更好地或与NSGA-II相同地处理约束优化问题。 由于约束处理方案是通用的,它可以用于其他形式的基于种群的随机算法。

​​返回受约束的多目标优化问题优秀论文及总结目录​​


举报

相关推荐

0 条评论