多目标进化计算中的约束处理

    提出了一种基于自适应惩罚函数和距离度量的多目标进化算法约束处理技术。这两个函数的变化取决于个体的目标函数值和违反约束条件的总和。通过这种设计,目标空间会根据每个个体的表现和违反约束的情况进行修改。修改后的目标函数用于非支配排序,以促进不仅在可行空间,而且在不可行区域搜索最佳解决方案。在不可行空间进行搜索的目的是为了利用那些目标值更好、违反约束条件更少的个体。种群中可行个体的数量被用来指导搜索过程,以找到更多的可行解或有利于搜索最优解。所提出的方法简单易用,无需调整任何参数。该约束处理技术在多个约束多目标优化问题上进行了测试,结果表明与所选的一些最先进的设计相比更胜一筹。(DEEPL翻译)

1.算法思想 

  Yen等人所提出的算法使用校正后的目标函数值来检查种群中的优势。校正函数是基于个体的约束违反情况及其客观表现。校正后的目标值有两个组成部分:距离值惩罚函数

2.距离值

 通过将个体违反约束的影响(程度)包含在目标函数中,为目标空间的每个维度找到距离值。

计算距离值首先需要获取种群中每个目标函数的最小值和最大值:

利用最大值与最小值对目标函数进行标准化

其中\widetilde{}fi(x)是第i个标准化后的目标函数

c^j{^{}}max是第j个约束的最大违法,v(x)是违反约束程度的标准化(归一化),其中δ 为一个预定公差(tolerance),用于在一定程度上放松等式约束。

(这一段话真的很绕)

q是不等式约束数量,m-q是等试约束数量.如果cj(x)大于0,那么个体x就违反了第j个约束,如果cj(x)小于0,那么个体x满足第j个约束,并把cj(x)设置为0。

(rf=0,证明没有可行个体数量)从(6)中,我们观察到,如果当前种群中没有可行的个体,则距离值等于个体的约束违反。在这种情况下,根据距离值,无论目标函数值如何,违反约束较小的不可行个体将支配违反较高约束的另一个不可行个体。这是在没有可行个体的情况下比较不可行个体的最佳方法,因为它优先于寻找可行个体而不是寻找最优解。另一方面,如果群体中有多个可行解,则距离值将具有下面总结的属性。(B. Tessema and G. G. Yen, “A self-adaptive constrained evolutionary algorithm,” in Proc. IEEE Cong. Evol. Comput., Vancouver, Canada, 2006, pp. 246–253.)(这篇文献中有写如何计算距离值,日后再写关于这篇文章的一些浅显的理解)

1)对于一个可行解个体X,给定目标函数维度中的距离值等于\widetilde{}fi(x),(cj(x)=0)因此,具有较小目标函数值的那些可行个体在该给定维度中将具有较小的距离值

2)对于不可行个体,距离值有两个组成部分:目标函数值和约束违反。因此,在\widetilde{}fi(x)-V(x) 空间中靠近原点的个体在该目标函数维度上的距离值将比远离原点的个体更低。(为什么是这个空间?)

如果我们比较不可行个体和可行个体的距离值,那么其中任何一个都可能具有较小的值。然而,如果两个个体的目标函数值相似,则可行个体在相应目标函数维度上的距离值会更小。

3.惩罚函数

  除了距离测度之外,该算法还向不可行个体的适应度值添加了两个惩罚函数。这些函数根据不可行的个体相应的目标价值和约束违反情况对其进行惩罚。第一个罚函数基于目标函数,第二个罚函数基于约束违规。两个组成部分之间的平衡由种群中当前存在的可行个体的数量控制。这些处罚有两个主要目的。 1)进一步降低不可行个体的适应度,因为仅距离公式施加的惩罚很小。 2)通过对每个不可行个体的适应度添加不同量的惩罚来识别种群中最好的不可行个体

  从(8)和(9)中的惩罚函数定义,我们观察到,如果总体的可行性比率rf很小(但不为零),那么第一个惩罚Xi(x)将比第二个惩罚Yi(x)产生更大的影响。第一个惩罚被制定为对于违反大量约束的个体具有很大的价值。因此,在种群中可行个体很少(rf很小)的情况下,具有较高约束违反的不可行个体将比那些具有较低约束违反的不可行个体受到更多的惩罚。(rf很小那么Xi(x)的权重就大,而Xi(x)的取值是违法约束程度)另一方面,如果种群中有很多可行的解决方案(RF很大),则第二个惩罚将比第一个更有效。在这种情况下,目标函数值较大的不可行个体将比目标函数值较小的不可行个体受到更多的惩罚。此外,如果种群中没有可行的个体 (RF=0 ),则两个惩罚都为零。(rf相当于一个调节目标函数与违反程度的权值)

  惩罚函数的两个组成部分允许算法在进化过程中随时在寻找更可行的解决方案和寻找更好的解决方案之间切换。此外,由于最初优先考虑搜索可行个体,因此在可行空间与搜索空间相比较小或不相交的情况下,该算法能够找到可行的解决方案。

4.最终适应度值

个体 x 的最终修改目标值(使用其执行非支配性排序)被公式化为第 i 个目标函数维度中的距离度量和罚函数之和:

  在计算修改后的目标值之后,将基于这些修改值使用 NSGA-II 的标准特征,例如非支配排名和通过拥挤距离实现的多样性。在归档过程中,存储当前种群中的最佳个体,最佳可行个体优先于不可行个体进行归档,因为约束多目标优化的目标最终是找到可行的最优解。

因文献只给出了伪代码,本人也还在学习如何去使用此方法,故截出文献的代码:

参考文献:

Constraint Handling in Multiobjective Evolutionary Optimization Yonas Gebre Woldesenbet, Gary G. Yen, Fellow, IEEE, and Biruk G. Tessema

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

森屿~~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值