关于约束多目标MOEA/D-DAE

MOEA/D-DAE:A Constrained Multiobjective Evolutionary Algorithm With Detect-and-Escape Strategy


在本文中,为了解决两种stagnation states:1. 一个多目标优化问题的可行区域可以由几个不连通的可行子区域组成,搜索很容易被困在一个不包含所有全局帕累托最优解的可行子区域中;2. 一个整体的约束违反函数可能有许多非零的最小点,它会使搜索停留在一个不可行的区域。因此,作者在本文中使用了 detect-and-escape策略(DAE),通过 feasible ratio和chage rate of constraint violation来检测算法是否停滞;通过调整 constraint violation的权重来指导算法跳出停滞阶段(stagnation)。

在原来的epsilon-constraint handling method中(公式4),小于epsilon值的解可以保持diversity,但是当大于epsilon时,就不能保持;在本文中,当大于epsilon时,作者提出了公式6来计算fitness,因此在本文中,公式4可以转换成公式7。参数epsilon由公式8计算得来,公式7大于epsilon情况也是MOEA/D-DAE能够增强population diversity的原因。

此外,DAE算法还有一个临时存档,主要用来考虑constraints,通过公式6sigma=(1/N)。临时存档主要有以下两个用途:1. 记录迄今为止发现的低约束值的region;2. 在DAE结束后提供一个staring population。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

本文使用了ROC indicator来判断population什么时候陷入了local optimal region。ROC定义如公式9所示

在这里插入图片描述

CP为当前种群的约束值之和,CP_old是当前之前 T代的约束值之和。

状态转移情况如下所示

在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
moea/d-m2m是一个多目标优化算法的matlab实现代码。M2M代表的是基于分解的多目标优化方法,这种方法将多目标优化问题转化为一系列的单目标优化子问题。下面是关于moea/d-m2m代码的简要介绍。 首先,我们需要下载moea/d-m2m代码并在matlab中加载它。加载之后,我们可以使用下面的步骤来使用该代码解决多目标优化问题: 1. 定义目标函数:需要根据具体的问题定义目标函数。多目标优化通常有多个目标函数,我们需要将这些目标函数定义为适当的matlab函数。 2. 设置优化问题参数:通过设置一些必要的参数来控制优化问题的求解。这些参数包括种群大小、迭代次数、交叉概率、变异概率等等。可以根据具体问题进行调整。 3. 编写适应度函数:适应度函数用于评估每个个体的适应度值。在moea/d-m2m中,适应度函数是由目标函数计算得到的。 4. 运行优化算法:使用moea/d-m2m中的函数来运行优化算法。该算法将在多次迭代中不断更新种群,并逐步逼近问题的 Pareto 最优解集。 5. 获取最优解:最终,我们可以从算法的输出中获取 Pareto 最优解集。这些解集通常以一种图形表示方式呈现,帮助我们了解问题的不同权衡解。 需要注意的是,moea/d-m2m提供了丰富的函数和工具,可以通过调用这些函数来完成目标函数的计算、种群的更新、个体的选择等等。用户可以根据自己的需求对代码进行修改和调整。 总的来说,moea/d-m2m是一个用于解决多目标优化问题的matlab代码,通过定义目标函数、设置参数、编写适应度函数、运行优化算法等步骤,可以使用该代码来求解具体问题的 Pareto 最优解集。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值