ben文献链接

https://doi.org/10.1016/j.swevo.2020.100825

相关知识

寻找pareto最优解存在一些挑战:

1)非主导解决方案数量的增加,非主导解决方案的选择压力大大减小,因此不能指定大量的非主导解决方案和最优解决方案。

2)高计算成本

MOEAD的主要功能:

1)个体间的多样性维护和信息共享策略保证了一组分布良好的解决方案,并能快速收敛。

2)应用每个标量聚合函数,不考虑目标之间的冲突,优化相应的目标,有利于适应度分配和多样性维护。目标的数量对目标优化的影响不大。

3)计算复杂度较低,可以使用小种群生成均匀分布的解决方案。

算法概述

本文几个关键词

1)Adaptive weight vector自适应权重向量

2)Environment selection mechanism环境选择机制

3)Neighborhood adaptation领域适应

通过不同类型的测试函数进行的MOEAD仿真结果表明,只有当权重向量分布与PF的形状一致时,才能获得有效的性能。原始的MOEAD算法中的权重向量是预定义的,是不变的。而WVA-MOEAD通过逐步调整权重向量以适应PF形状,最终选择最优解,环境选择策略促进了解的均匀分布。

本文的第二章非常详细的讲述了MOEAD相关的发展(**)

WVA-MOEAD首先改进了基于MOEAD中的PBI方法的分解方法,在分解函数上附加一个惩罚参数,以加速收敛速度,并进一步接近真正的PF。然后该算法的邻域自适应方法在开发和勘探过程中自适应地调整领域大小,并在递减趋势中平衡计算资源。在环境选择阶段,采用基于权重向量的环境选择,根据其与相关权重向量的角度来选择解,从而提高解的多样性。所提出的WVA方法,利用当前解量而不是一组恒权重向量来调整权重向量的分布。在不知道PF形状的情况下,权重向量可以根据每次迭代解的当前分布进行调整,并以均匀分布逐渐覆盖真实PF的形状。

WVA-MOEAD

论文中相关参数定义如下:

算法框架

该算法改进了基于MOEAD框架的适应度分配过程和环境选择策略过程。

1)适应度分配应用具有指数惩罚参数的位置信息(距离和角度)来处理标量优化问题。

2)环境选择(ES)策略在以每个权重向量为中心的附近选择解决方案

首先随机生成N的父种群,确定一组权重向量λ和一个"NxT"的领域数组B("NxT"可以理解为每一个权重向量有几个相邻权重向量),T决定邻域的大小。z*记录每个目标的理想点。gen表示当前代,Generation表示最大的代(是不是评价次数?)。第3行中B的详细计算如公式(1)(论文第3.5节,邻域自适应,动态的调整邻居)。

(1)

第4行开始迭代,通过随机选择两个粒子,然后应用选择、突变、交叉算子得到后代群体。第6行计算每个后代的适应度,并更新理想的点。第7行结束当前代新个体的生成。第8行论文中说是为了创建一个Pnew同时包含亲本和后代种群(是否伪代码中Pop改为Pnew,∩符号变为∪),服务于选择策略和权重向量调整。第9行箭头右面的理解:ES to new population(环境选择策略选择新种群进行下一次迭代,跳至Algorithm2)。第10行的rate表示替换率的阈值,若符合if语句,用来触发自适应权重向量方法。

MOEAs分解方法

本文研究了基于m个目标PBI方法的惩罚角度交叉点(PAI)分解方法。如公式(2)所示

(2)

自然常数e是控制d1值的缩放参数。d2是考虑了解F(x)到权重向量λ的距离的惩罚参数。该分解方法的目的是找到其在权值向量上的投影近似位于PF上的解。

PAI方法负责收敛性,PAI方法的特点:

1)d1通过估计从每个解到PF的距离来控制解的收敛性。惩罚机制被定义为d1的指数函数,由指数函数的特征可以得出在最小化目标时可以快速接近PF(e的值论文中没有找到)。

2)d2被用于测量解决方案与参考点之间的紧密度,从而控制均匀分布在PF上的解决方案,以提高解决方案的多样性。d2不需要缩放因子。

环境选择策略

WVA-MOEAD利用精英策略对父母和后代的种群执行选择操作。

预定义的最终总体P为空,以存储选定的解决方案。然后对Pnew,根据每个权重向量的相关解数(整数,个人理解为每个权重向量附近领域内解的个数,如下图1)进行排序,记录为权重向量秩η=(η1,η2,......,ηN)。若没有解与权重向量相关联,则其权重向量秩为0,在之后的步骤中忽略。由于Pnew的大小是2N的,因此只保留一半的解决方案。我们更喜欢排名较低(更好)的解,使解均匀分布在权重向量周围。

第一步找到权重向量在P内可以保持的最大解数。当满足如下公式时,可以定义权重向量集C的不饱和容量及其对应的最大权重向量秩f

(3)

将 ηi 和 f 中的较小值赋予Fnew。例当f = 3时,如果 ηi = 1,则权重向量 λi 选择与其相关联的1个解存入P中;如果 ηi = 4,则只选择与此权重向量相关联的3个解决方案存入P中。

理解:C不知道是做什么用?(C是用来记录新解的个数的还是一个存更优解的集合,比如η1 = 1,选择与其相关联的1个解存入Fnew中,η2 = 2时,选择2个与其相关联的解存入Fnew中。)

ES机制的理想结果是一个均匀分布的总体,其中每个解都与一个不同的权重向量相关联(一一对应)。因此第二步是确定每个权重向量的解。选择算子利用三个选择标准q1,q2,q3为每个权重向量选择最优解。q1和q2目的是获得具有前两个最小适应度值的解的位置,q3获得除q1和q2外,与权重向量相关联的最小角度的解们。若q1的大小小于N(指每个权重向量在q1选择算子下的所有解),q1中的解全部存入P中,P的剩余成员按照权重向量的排序从q2和q3中选择。

本人对Algorithm2算法第5行的理解:如下图1所示,我们看λ5的情况,它对应的解有3个,分别将q1,q2和q3对应的解赋予它,那么此时的Fchoose{ i } 有3个解;再注意λ2的情况,它对应的解有2个,那么只将q1和q2对应的解赋予Fchoose{ i },此时它有2个解。

对第6行的if语句的理解:记录ηmax中q3对应的解为冗余解

对第10行的理解:按适应度排序后,记录冗余解的函数值

对第11、12行的理解:应该是Fchoose中的解去掉和Freserve中的重复解,P中个体去除冗余个体。

图(1)

对于P的最终剩余空间,最后一层(竖着看,q1是第一层,q2是第二层,若没有q3,则q2就是最后一层)解决方案从权重向量秩 ηmax 中选择(ηmax 对应的所有解),其中分配给 ηmax 的解决方案总数大于且最接近P的剩余空间。

如果添加最后一层解决方案后的总体大于N时,则第三步通过比较最后一层解决方案的适应度值来删除冗余解。如上图1,如果总体大小为9,通过排序可以得到图1中间的图,根据适应度值删除冗余解。如果有多个冗余解,则按一次一个的方式迭代删(Algorithm2中第10行所示)。

图2是一个3目标问题中ES策略的简要例子:

图(2)

阴影区域是由权重向量构造的超平面,图中只包含具有相关解的参考点,参考点是权重向量在超平面上的映射。假设此时适应度值只受参考点与解之间的距离。可以得出:

B和D的 η = 1;

E和F的 η = 2;

A和C的 η = 3;

如果此时总体大小为11,那么根据适应度,删去第5个解。

如果此时总体大小为8,那么经过4次删除得到最终的解决方案为:1、3、4、6、7、8、9、11

权重向量自适应

AR-MOEA

在AR-MOEA算法中提出的参考点自适应包括3个步骤:

1)规范化总体和参考点

2)更新存储参考点候选解决方案的存档

3)适应参考点

第一步是将种群场扩展到超平面;第二步是识别种群的分布;第三步是添加间隙区域,删除冗余部分。

WVA-MOEAD

Algorithm3通过三个步骤介绍了详细的过程:

1)选择起作用的参考点

2)构建一个存储器来存储精英的权重向量和解决方案

3)更新参考点

WVA策略的一次图形描述如图3

图(3)

图a:确定有效的参考点,无效的参考点直接删掉

图b:找到具有最小距离或具有最大拥挤度的候选解(图中两种点分别表示候选解和候选参考点)

图c:规范选定的参考点和解决方案

对Algorithm3算法的理解:该算法只是一次迭代的过程。此时λ表示的是:初始的参考点集 。第2行,删除重复的解。然后将每个当前解相关的最近的两个参考点保留到λvalid中,第6行去掉其中重复的参考点。第7行对解进行归一化,同时将解投影到与参考点相同的超平面上。

第12行-第14行(构造参考集),如果参考点的大小发生变化,构建一个在Q中包含预先选择的权重向量和候选解决方案的存储器。R‘表示的是什么?(是不是经过调整的下一代参考点)Q表示的是什么?

第16行之后,保证参考点的大小和种群大小N相同所采用的方法。若超过N,网格密度测量将应用于删除密集区域中的解决方案,若小于N,利用角拥挤距离来填充存档中的空间,p应该是计算出的某个解的索引下标。网格密度的测量方法如公式(4)

(4)

GD表示P中任意两个解之间的网格差;G表示第k个目标中个体的网格位置;M表示目标数。

在较大的领域范围内,GCD值越大;较小的GCD值表示在相对较小的领域范围内存在稀疏解。

由于随机解的生成,在迭代的早期阶段就使用WVA方法会影响一些MaOPs在收敛到PF之前的性能(可能时间、空间需求过多)。因此提出了WVA的触发条件,即种群的替换率是否降低到某一阈值,如公式5所示:

(5)

替换率高时表示算法正处于探索阶段,且求解尚未收敛到PF,因此不需要WVA策略。

替换率低时表示算法转向开发过程,此时触发WVA,对算法更有效。在该算法中将阈值设置为: 0.05 * e ^ ((M-1) / 5).

领域适应

MOEAD的领域设计会导致不对称的邻居分配,对选择压力产生影响,在进化阶段缺乏调整探索和开发两者平衡的能力,还产生了基于领域成本和大小不变的解的计算精度下降。因此本文提出了一个降邻域函数来调整领域计数,提高探索中解的计算精度,推导公式见公式6。

(6)

minT = 5 和 maxT = 25时具有更好的性能。G是用来控制领域大小变化的一个参数,该算法中设置为200,gen表示第i次迭代。

刚开始接触多目标进化算法,很多理解不对的地方希望各位可以指出。有什么新理解后续慢慢更‘’‘’—’’‘’

目录

ben文献链接

https://doi.org/10.1016/j.swevo.2020.100825

相关知识

算法概述

WVA-MOEAD

算法框架

MOEAs分解方法

环境选择策略

权重向量自适应

AR-MOEA

WVA-MOEAD

领域适应


学习笔记-WVA-MOEAD相关推荐

  1. PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 call

    您的位置 首页 PyTorch 学习笔记系列 PyTorch 学习笔记(六):PyTorch hook 和关于 PyTorch backward 过程的理解 发布: 2017年8月4日 7,195阅读 ...

  2. 容器云原生DevOps学习笔记——第三期:从零搭建CI/CD系统标准化交付流程

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  3. 容器云原生DevOps学习笔记——第二期:如何快速高质量的应用容器化迁移

    暑期实习期间,所在的技术中台-效能研发团队规划设计并结合公司开源协同实现符合DevOps理念的研发工具平台,实现研发过程自动化.标准化: 实习期间对DevOps的理解一直懵懵懂懂,最近观看了阿里专家带 ...

  4. 2020年Yann Lecun深度学习笔记(下)

    2020年Yann Lecun深度学习笔记(下)

  5. 2020年Yann Lecun深度学习笔记(上)

    2020年Yann Lecun深度学习笔记(上)

  6. 知识图谱学习笔记(1)

    知识图谱学习笔记第一部分,包含RDF介绍,以及Jena RDF API使用 知识图谱的基石:RDF RDF(Resource Description Framework),即资源描述框架,其本质是一个 ...

  7. 计算机基础知识第十讲,计算机文化基础(第十讲)学习笔记

    计算机文化基础(第十讲)学习笔记 采样和量化PictureElement Pixel(像素)(链接: 采样的实质就是要用多少点(这个点我们叫像素)来描述一张图像,比如,一幅420x570的图像,就表示 ...

  8. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  9. MongoDB学习笔记(入门)

    MongoDB学习笔记(入门) 一.文档的注意事项: 1.  键值对是有序的,如:{ "name" : "stephen", "genda" ...

  10. NuGet学习笔记(3) 搭建属于自己的NuGet服务器

    文章导读 创建NuGetServer Web站点 发布站点到IIS 添加本地站点到包包数据源 在上一篇NuGet学习笔记(2) 使用图形化界面打包自己的类库 中讲解了如何打包自己的类库,接下来进行最重 ...

最新文章

  1. k8s-16-k8s基础存储
  2. 提高mysql查询速度_如何提高数据库查询速度
  3. sharepoint 2010 记录管理 对象模型
  4. Redola.Rpc 集成 Consul 服务发现
  5. java连接oracle数据库 -- jdbc连接
  6. spring声明式事务管理方式( 基于tx和aop名字空间的xml配置+@Transactional注解)
  7. 跟2G说再见?这些IoT“钉子户”表示做不到……
  8. Java内存中的堆和栈
  9. wikioi 1430 素数判定
  10. vba把json转数组中_网抓处理Json数据 | VBA实例教程
  11. 《信号与系统学习笔记》—线性反馈系统(一)
  12. 【六袆 - windows11 】Win11无法登录微软账号;Win11无法登录微软账号的解决方法
  13. springboot 集成beetl
  14. 路由器交换机升级操作系统(导IOS)
  15. 用Unity制作一个很火的找不同游戏,包括核心玩法与关卡编辑器工具的实现
  16. 数据视化Echarts+百度地图API实现市县区级下钻
  17. Mac下安装vim的插件YouCompleteMe及注意事项
  18. jquery实时监控屏幕宽度
  19. matlab中单独存图_奇怪的Matlab画图技巧系列1–保存高清大图
  20. 用Google搜索本地硬盘

热门文章

  1. 原来地图支持AR导航
  2. javaScript 美元符號$
  3. 怎样能提高孩子的专注力?孩子专注力差的原因?
  4. 计算机网络教学改革方案,计算机网络技术专业教学改革方案.doc
  5. 查看网站使用何种框架或者技术的插件——Wappalyzer
  6. 基于RFID技术的物流货物分拣管理应用
  7. php虚线_虚线 · 前端技术总结 · 看云
  8. 微信检测域名状态系统 如何调用微信官方的微信域名检测接口API
  9. 邮箱怎么注册好呢?简单的邮箱注册方法
  10. Android 3D游戏基础介绍