An Adaptive Constraint Handling Approach Embedded MOEA/D

1.摘要

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

2.介绍

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

3.算法具体介绍

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

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

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


可以看到用修改后的公式(3)更快。
B.可行率
公式如下:

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

其中CVmean表示了平均约束违反程度,FR是可行率,可以想象,当可行解过于少的时候阈值也会随之降低,促使出现更多的可行解。
D.选择操作
适应度函数计算涉及到两个值,公式如下:

其中,ϕte 表示目标值,CV’表示约束违反度。
对于小于违规阈值的不可行解,我们比较其目标函数值ϕte 。对于可行解,我们比较目标函数值ϕte 。对于超过阈值的不可行解,我们比较其约束违反度CV’。
目标值ϕte 计算公式如下:

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

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

F.修改后的算法
MOEA/D利用分解方法处理子问题,并采用邻域匹配策略来加快搜索速度。这里邻域匹配策略具体可以去看原文MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition。
对于重组过程,选择交配池P的有两种方式 (a)一个来自种群的一随机个体,两个来自领域 (b)所有三位父代都从种群中随机选择。 这里我们设定选择a方式的概率为δ,则b的概率为1−δ。δ的具体值见下图:

上图列出来算法中的参数设置。
交叉操作采用二进制交叉法,公式如下:

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

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

其中,其中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。

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

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



可以看到C-MOEA/D在SRN、TNK上的性能优于NSGA-II,并在OSY上也表现不错。
最后本文使用了现实生活中一个玩具潜艇设计问题做实验。具体实际问题这里不讨论,看下图抽象为CMOP的结果。

然后看下实验结果,

该图显示了在平均运行中获得的最终帕累托前沿,可以看到CMOEAD结果略好于NSGA-Ⅱ。
下图是HV(hypervolume)(具体HV可以参考原文:HypE: An Algorithm for Fast HypervolumeBased Many-Objective Optimization)的比较结果:

CMOEAD表现更好点。

5.总结

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

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

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

  1. 如何去设计一个自适应的网页设计或HTMl5

    如何去设计一个自适应的网页设计或HTMl5 如今移动互联网随着3G的普及,越来越火爆,更多需求跟随而来!APP应用市场和APP应用数量成倍成倍的增长!从而给移动互联网带来新的挑战! 移动设备正超过桌面 ...

  2. 如何做一个自适应网页

    如何做一个自适应网页? 1.允许网页宽度自动调整 <meta name="viewport" content="width=device-width, initia ...

  3. CSS 圣杯布局升级版---多个固定宽度一个自适应宽度

    1.一个div固定,一个div自适应宽度.两种情况,固定在左或者在右. HTML: <div class="box1"><div class="main ...

  4. datagridview滚动条自动滚动_一个自适应滚动条的实现

    自适应滚动条 为了得到一个自适应滚动条,你需要告诉Windows滚动条所覆盖区域的最大值和最小值,当前滚动条的位置以及滚动条滑块(Thumb,也称"页大小")的大小. 一个比较麻烦 ...

  5. 论文浅尝 | 知识图谱中的链接预测:一种基于层次约束的方法

    论文笔记整理:张良,东南大学博士生,研究方向为知识图谱,自然语言处理. 链接:https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber= ...

  6. mysql取消外码约束_MySQL 关闭子表的外键约束检察方法

    准备: 定义一个教师表.一个学生表:在学生表中引用教师表ID create table teachers(teacherID int not null auto_increment primary k ...

  7. 计算机怎么取消脱敏设置,一种敏感数据自适应的脱敏方法、系统技术方案

    [技术实现步骤摘要] 一种敏感数据自适应的脱敏方法.系统 本专利技术涉及计算机技术与信息安全领域,并且更具体地,涉及一种敏感数据自适应的脱敏方法.系统. 技术介绍 随着数据时代的到来,数据中蕴藏的巨大 ...

  8. (79)Vivado创建约束的方法

    (79)Vivado创建约束的方法 1 文章目录 1)文章目录 2)时序约束引言 3)FPGA时序约束课程介绍 4)Vivado创建约束的方法 5)技术交流 6)参考资料 2 时序约束引言 1)什么是 ...

  9. php is_subclass_of,PHP_PHP is_subclass_of函数的一个BUG和解决方法,is_subclass_of的作用: 复制代码 - phpStudy...

    PHP is_subclass_of函数的一个BUG和解决方法 is_subclass_of的作用: bool is_subclass_of ( object object, string class ...

  10. css自适应图片样式,css怎么让图片自适应?css图片自适应大小的方法介绍

    对于一个网页来说,有一张好看又清晰的背景图片是非常吸引人的,但是并不是每张图片都是有相同的大小,所以就需要晒西安图片的自适应,那么,css怎么让图片自适应呢?本篇文章将来介绍关于css图片自适应大小的 ...

最新文章

  1. WebView加载HTML时禁止超链接跳转
  2. Mybaits 运行原理流程图
  3. 微软的 Android 计划:邪恶的天才计划或只是邪恶?
  4. 从头编写 asp.net core 2.0 web api 基础框架 (4) EF配置
  5. java综合图形界面程序设计_java综合图形界面程序设计.doc
  6. 乐视跳过服务器验证,pandwonload不能登录?试试跳过启动验证
  7. mysql当执行delete语句时备份_mysql中,执行delete语句时出现Lock wait timeout exceeded问题...
  8. win7如何安装mysql5.7_Win7下安装MySQL5.7.16过程记录
  9. Javascript中的Math.max()和Math.min()
  10. OpenCV3.4.1 vs2015 自定义过程的图片拼接
  11. python自动化实现QQ自动发说说
  12. ios 现有项目接入Flutter (问题集中营--少走弯路)
  13. html是l面包屑效果,CSS制作面包屑
  14. 机器人设计之软件设计
  15. mysql 随机分组_mysql分组
  16. lintcode---电话号码的字母组合
  17. 第四章 资本主义制度的形成及其本质
  18. 爬取沪江网考研词汇并按要求存为txt
  19. 2017711010137 赵栋 《面向对象程序设计》第四章学习总结
  20. 为何安全芯片能应用到设备认证和配件认证领域,物联网安全芯片

热门文章

  1. MJB,阿里又一次成功的营销?
  2. Unity3d通用工具类之解压缩文件
  3. python 控制鼠标滚轮_python-pyautogui控制鼠标键盘自动操作
  4. 中国舞蹈家协会街舞委员会与微博达成战略合作
  5. 推荐电影 迪士尼经典动画片大全 1937-2008
  6. 微信公众平台测试号验证Token失败的坑
  7. 快播宣称将转型关闭QVOD服务器
  8. 苹果手机系统更新信号无服务器,苹果手机经常显示无信号该如何解决你会吗?...
  9. 【前端】Qt简明教程
  10. 斑马Zebra 110Xi4 打印机驱动