多目标优化中的约束处理
Constraint Handling in Multiobjective Evolutionary Optimization
1.摘要
本文提出了一种基于自适应惩罚函数和距离测度的多目标进化算法的约束处理技术。 这两个函数的变化取决于目标函数值和个人违反约束的总和。 通过该设计,对目标空间进行了修改,以同时考虑每个个体的目标值和约束违反。 在不可行空间中的搜索是为了利用那些具有更好的目标值和较低约束违反的个体信息。 种群中可行个体的比例被用来指导搜索过程,用来控制优先选择可行性还是最优性。
2.介绍和文献调研
这部分作者简单介绍了受约束的多目标优化问题以及受约束的多目标优化的进化算法的发展。在本文工作前,有人研究多目标的优化问题,有人研究受约束的单目标优化问题,但很少有人研究受约束的多目标优化问题。另外,本部分提到的本文算法设计特点和思路我将在具体算法那详细分析。
3.具体算法
本文算法属于CMOPs中的罚函数类。思路是使用修改后的目标函数的值进行支配排序。而修改后的目标值由距离量度(distance measure)和自适应的罚函数( adaptive penalty)。下面详细讨论这两个部分。
A.距离值
距离值的计算首先要正则化目标值和约束违反值。
目标值正则化公式如下:
f~i(x)表示个体x的第i个目标值的正则化结果。
约束计算公式和正则化公式如下:
cj(x)表示个体x的第j个约束违反值,v(x)即代表个体x的所有约束违反值正则化后的平均值。
于是上文提到的距离值便通过下面的公式计算。
其中,rf表示可行率。
分析上面的式子。
- 当没有可行解的时候,所有个体的距离值di(x)都等于v(x),即约束违反均值
- 当有可行解的时候,所有个体都同时考虑f(x)和v(x)
B.惩罚项
其中pi(x)就表示个体x的第i个惩罚项。
分析上面的式子。
- 可以看到惩罚项的计算与当前种群是否有可行解有关,同时也与该个体是否是可行个体有关,具体分析见最终修改后的目标函数计算
C.最终修改后的目标函数计算公式
最终个体x的第i个目标函数Fi(x)由距离值和惩罚项相加得到。
综合上诉的计算公式,我们可以推导出新的目标函数Fi(x)计算公式。
①当种群中没有可行解时
此时所有个体只比较约束违反值了,这样会优先促使出现更多的可行解。
②当种群中有可行解时
1)当个体x是个可行解时(此时v(x)=0)
2)当个体x是个不可行解时
可以看到,当个体x是个可行解时,我们只考虑其目标值。当个体x是个不可行解时我们会依据当前种群中可行率计算其目标函数。若可行率太小,我们会侧重于考虑v(x)的值,反之,更看重原目标函数的值。
通过这种方式计算需要注意的点
- 值得注意的是,当一个可行解个体与一个不可行解个体比较时,胜出的往往是可行解,除非不可行解的约束违反值v(x)比较小,且可行解的目标函数值大于不可行解的目标函数值过多,所以就算不可行解胜出,胜出的不可行解往往是目标值小,约束违反值也小的解,淘汰的往往是目标值较大的可行个体
- 当两个可行个体比较的时候只需要考虑其原目标函数值
- 当两个不可行个体比较的时候,那么具有低目标函数值和低约束违反值的个体将支配具有高目标函数值或高约束违反或两者兼而有之的个体
计算distance流程
计算penalty流程
整个算法流程
4.实验结果
对比算法
NSGA-Ⅱ和Ray-Tai-Seow’s
实验采用了如下14个测试集:
其中Feasiblity ratio是通过计算1 000 000个随机产生的个体中可行解的百分比得来的,越小表示表示该约束条件越强,越难找到可行解。
实验指标
HV
较高HV的值表示算法在目标空间中具有支配较大区域的能力。
Coverage of two set
描述两个解集合A和B的支配关系的。通常I(A,B)描述的是A被B支配的关系,若I(A,B)<=0表示A没有被B支配的个体,若I(A,B)>0表示A中存在被B支配的个体。若I(A,B)<=0且I(B,A)>0表示A完全支配B。若I(A,B)>0且I(B,A)>0表示两个解集合没有严格的支配关系。
实验结果
HV指标,从左到右分别是本文算法,NSGA-Ⅱ和Ray-Tai-Seow’s
从图中可以看出,本文算法在测试集BNH、SRN、TNK、CTP1、CTP4、CTP5、CTP6、CTP7、CONSTR和Welded Beam的HV指标具有最高的值。所提出的算法和NSGA-II在测试集OSY和CTP3的HV值差不多。 同样,在测试集CTP2上Ray-Tai-Seow算法和本文算法差不多。 对于CTP8测试集,所有算法都表现良好。
另外,也可以看出,所提出的算法的标准差一直较低,表明所提出的算法比所选择的CMOEA能更可靠地得到更好的解决方案。
另外,本文还使用了Mann-Whitney秩和检验来检验值的分布。
测试结果表明该算法的性能与NSGA-II和Ray-Tai-Seow在除OSY、CTP2、CTP3和CTP8外的大多数测试函数中的分布相比具有显著的优势。
Coverage of two set
可以看出,所提出的算法的标准差一直较低。在有些测试集上算法性能差不多,然而在大部分测试集上本文提出的算法更优。
为了进一步分析,本文还通过Mann-Whitney秩和检验分析了值的分布。
一般来说,确认所提出的算法在所有测试集上在所选择的性能指标方面明显优于大多数甚至所有CMOEA(指两个对比算法)。
5.总结
本文提出了一个多目标优化中的约束处理方法。由于提出的约束处理方法是通用的,所以也可以很容易用到其他MOEAs上。此外,由于没有参数调优,这使得算法易于实现。这篇文献发表于2009年,比较早,所以本文的约束处理方法提出在当时是比较具有先进性的。