MOEA/D-RDG

A Random-Based Dynamic Grouping Strategy for Large Scale Multi-objective Optimization

A. Song, Q. Yang, W. N. Chen, and J. Zhang, “A random-based dynamic grouping strategy for large scale multi-objective optimization,” in IEEE Congress on Evolutionary Computation. IEEE, Jul. 2016, pp. 468–475.

摘要

提出了一种基于随机的动态分组策略(RDG),与合作协同进化框架一起来处理大规模多目标优化问题。随机动态分组策略(RDG)是将整个维度分解为若干等大小的变量组

算法

RDG 中,不仅每个组中的变量是动态确定的,而且组大小是从一个组大小池中动态选择的

1、RDG

首先,设置一个组大小池(group size pool) S = {s1, s2, …, sk},包含 K 个不同的组大小;

然后,在每一代开始进化之前,将会从选择池中依概率选择一个分组的大小(size,而不是分组的个数,这是不同的)。公平起见,利用性能提升列表(performance improvement)来确定选择的概率,这反过来又会影响下一代对组大小的选择。这一段很是拗口,原文感受一下(To make a proper choice, we utilize the performance improvement that is caused by the usage of one group size to determine its probability, which in turn influences the selection of this group size in the next generation,但大意就是:分组影响了这一代的性能,根据特定的数学公式,重新计算性能提升列表中各个参数的值,再根据更新后的列表重新选择组的大小)

为了计算每一个组大小的概率,定义了一个性能改进列表 R = {r1, r2, …, rk},第 i 个分量对应于选择池 S 中的第 i 个组的大小。这个列表 R 用于记录每个组大小导致的相对性能改进。初始时,R 中的每个元素设为 1,表示在初始阶段,每个群体大小的选择概率相等。然后,在进化过程中,使用群体大小的相对性能改进(假设它是 si)可以以下面的公式 (1) 计算:
ri=C(A,B)=∣{u∈B∣∃ν∈A:ν≺u}∣NPr_i=C\left( A,B \right) =\frac{|\left\{ u\in B|\exists \nu \in A:\nu \prec u \right\} |}{NP} ri​=C(A,B)=NP∣{u∈B∣∃ν∈A:ν≺u}∣​

在这里 NP 是种群大小,AB 是两个 MOP 的近似 PFC 这个指标可以不用管,大概知道 C(A,B) 的值在[0,1]内,且 C(A,B)=1 表示 B 中的所有解都被 A 中的某个解支配,C(A,B)=0 表示 B 中的任何解都不被 A 中的某个解支配就行。而根据计算出的性能改进列表 R,可以根据下面的公式 (2) 计算出各组大小 P={p1, p2 … pk} 的概率:

pi=e7∗ri∑j=1ke7∗rj,(i=1,2,..k)p_i=\frac{e^{7*r_i}}{\sum_{j=1}^k{e^{7*r_j}}},\left( i=1,2,..k \right) pi​=∑j=1k​e7∗rj​e7∗ri​​,(i=1,2,..k)
最后,根据计算的概率,利用轮盘赌轮选择方法从s中选择一个组大小,然后使用随机分组将维度分解成组。

算法 1 给出了提出的RDG的完整过程,如图所示:

用自己的语言解释一下:

1:根据上文的公式(2),计算得出每个 size 被选中的概率

2:使用轮盘赌选择方法从选择池中选择 size

3:依分组的大小,使用随机动态分组方法将整个决策变量分组


2、与 MOEA/D 组合

为了简单起见,将提出的 RDG 嵌入 MOEA/D,与 MOEA/DVA 一样,从而得到两种算法之间的公平比较。在此基础上,提出了一种新的 MOEA/D 变体 MOEA/D-RDG,并在算法 2 中给出了完整的算法框架,如图所示:

MOEA/DVA 相似,MOEA/D-RDG 的整个过程可以分为三个阶段:

  1. 第一阶段(2-4行):决策变量分析(decision variables analysis)

    通过分析变量的控制性质将变量分为收敛性相关和多样性相关;这一阶段与 MOEA/DVA 相同,可以看作是协同进化的准备阶段

  2. 第二阶段(5-13行):合作协同进化(cooperative coevolution)

    在这一阶段,利用RDG将收敛变量动态划分为不同的组,然后分别对每个组进行演化。CC的过程在这一阶段继续优化收敛变量,直到公式 (3) 中定义的度量低于预定义的阈值或最大的函数评估次数耗尽为止。
    u=∑i=1NP∑j=1m∣old(i,j)−cur(i,j)∣NPu=\sum_{i=1}^{NP}{\sum_{j=1}^m{\frac{|old\left( i,\ j \right) -cur\left( i,\ j \right) |}{NP}}} u=i=1∑NP​j=1∑m​NP∣old(i, j)−cur(i, j)∣​

    在这里 NP 是种群大小,m 是目标数;old(i, j)cur(i, j) 分别是第 i 个个体在上一代和当代的第 j 个目标值。这个方程测量连续两代人之间目标值的累积差值。如果该指标小于预先设定的阈值(h),如 MOEA/DVA 和本文采用的0.01,则表示协同进化无法再进行优化。

  3. 第三阶段(14-16行):统一优化(uniform optimization)

    只有当上述指标小于预定义的阈值且最大的函数评估次数未用尽时,才能执行这一阶段。在这一阶段,所有的决策变量,包括收敛变量和多元变量都使用 MOEA/D 进行统一进化,直到用尽适应度评估次数为止。

用自己的语言解释一下:

  1. 第一阶段(2-4行)

    使用 MOE/DVA 中同样的决策变量分析技术,将变量分为多样相关和收敛相关;将多样性相关变量用同一的随机值进行初始化;通过初始化收敛性相关变量来初始化种群

  2. 第二阶段(5-13行)

    设置 u = 1,当 u >= h ˄ FE < max_FE 时,循环:使用算法 1 对收敛性变量分组,对分成的每一分组使用 CC 优化,然后用公式(1)更新 R,用公式(3)更新 u

  3. 第三阶段(14-16行)

    在不满足终止条件(即最大评估次数)时,循环:使用算法 MOEA/D 同一优化种群(所有变量)

结论

文中的评价:与 MOEA/DVA 相比,MOEA/D-RDGMOEA/DVA 的最终区别在于 MOEA/D-RDGCC 中采用了一种动态分组策略来处理 LSMOP。因此,在分组时不需要特殊的函数求值,导致与 MOEA/DVA 相比,更多的函数求值用于进化。这可能使 MOEA/D-RDG 具有良好的性能。

提出了一种基于随机的动态分组(RDG)的协同进化策略来应对 LSMOP。不同于在固定分组策略中将变量依赖作为全局信息,所提出的 RDG 将变量依赖作为局部信息。不仅每个子组件的维数是动态确定的,而且子组件大小是从RDG中的池中动态选择的。这种选择是建立在历史信息的基础上的,因此群体的规模可以在进化过程中得到适当的确定。

缺点分析

在2016年,这种方法也许是性能很强的,分组方法有了很好的改进方法,毕竟2020提出的 PCA-MOEA,在 UF1-10,WFG1-9 这两个测试集中与本文算法在优势项目的个数上一致。

但从18年往后,就不再使用分组这一方法作为主要手段去处理决策变量了,无论是18年的 CCLSM 快速相互依赖识别(Fast Interdependency Identification、FII)还是20年的 PCA-MOEA 所使用的 主成分分析(principal components analysis 、PCA),20年的 OD-NSGA 所使用的操作分解(operational decomposition、OD)等等,都抛弃了使用多年的传统的变量分组方法。

当然,这不是算法的缺点,是时代的局限。也有一说一,性能比起 MOEA/DVA LMEA 来说还是有很大的提升的~

无图无真相:

在这里可以看到对于 UF 和 WFG测试集还是挺占优的,尤其是后者(MOEA/DVA LMEA)更是拉跨,也许它们存在的意义就是入门学习了吧~

改进的方向嘛,当然是对”落后“的处理变量的方法进行改进啦!基于此,2017年提出的 FII 使用了快速相互依赖识别,仅使用简单的数学公式识别决策变量的相互依赖性,不引入较大的额外计算 <(ˉ^ˉ)>

同样的,位置不够啦,写不下啦,且待下文详谈 (@ ̄ー ̄@)

MOEA/D-RDG 2016 阅读笔记相关推荐

  1. ResNet 论文阅读笔记

    ResNet 论文阅读笔记 #机器学习/深度学习 文章介绍 论文地址:https://arxiv.org/pdf/1512.03385.pdf 原文题目:Deep Residual Learning ...

  2. 论文阅读笔记:《EIGENGAME: PCA AS A NASH EQUILIBRIUM》(特征博弈:主成分分析就是纳什均衡)

    论文阅读笔记:<EIGENGAME: PCA AS A NASH EQUILIBRIUM>(特征博弈:主成分分析就是纳什均衡) 声明 摘要 1 简介 2 PCA as an Eigen-G ...

  3. 强化学习相关论文阅读笔记之稀疏奖励解决方法

    注:该系列文章为强化学习相关论文的阅读笔记,欢迎指正! 论文题目:<深度强化学习中稀疏奖励问题研究综述> 文章目录 1. 论文介绍 2. 论文结构 3. 研究背景 3.1 解决稀疏奖励的必 ...

  4. [论文阅读笔记15]Recognizing Complex Entity Mentions:A Review and Future Directions

    一,题目 Recognizing Complex Entity Mentions:A Review and Future Directions 识别复杂实体mentions:回顾与未来方向 Dai X ...

  5. 论文阅读笔记--Aesthetics-Driven Stereoscopic 3-D Image Recomposition With Depth Adaptation-2018

    论文阅读笔记:美学引导的带有深度适应的立体3D图像重构 I.介绍 II.相关工作 A.单目(2D)图像处理 1)美学驱动的重构(Recomposition) 2)图像分割与抠图(Segment and ...

  6. Detecting Visual Relationships with Deep Relational Networks(阅读笔记)

    Detecting Visual Relationships with Deep Relational Networks(阅读笔记) 原文链接:https://blog.csdn.net/xue_we ...

  7. Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记

    Alleviating the Inconsistency Problem of Applying Graph Neural Network to Fraud Detection阅读笔记 文章标题:A ...

  8. 《Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs》论文阅读笔记

    <Beta Embeddings for Multi-Hop Logical Reasoning in Knowledge Graphs>论文阅读笔记 主要挑战贡献: KG上的推理挑战主要 ...

  9. DenseFuse: A Fusion Approach to Infrared and Visible Images 阅读笔记

    DenseFuse: A Fusion Approach to Infrared and Visible Images 阅读笔记 摘要 介绍 相关工作 融合方法 编码器 解码器 融合层 训练 网络结构 ...

  10. 《Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network》阅读笔记(二)

    <Evaluate the Malignancy of Pulmonary Nodules Using the 3D Deep Leaky Noisy-or Network>阅读笔记–翻译 ...

最新文章

  1. C++/C++11中std::string用法汇总
  2. Thinkpad SL400 issue
  3. vue-cli3.0结合lib-flexible、px2rem实现移动端适配,完美解决第三方ui库样式变小问题
  4. 定义根目录, window格式 转化为linux格式
  5. 链队列的建立、判空、入队、出队、求长、访头、清空和销毁
  6. 鸿蒙公测报名表填写,鸿蒙公测第二期报名公测版_华为鸿蒙os2.0第二期报名申请内测版 - 风云下载...
  7. 阿里云引领云原生进化 | 云原生生态周报 Vol. 60
  8. html友情链接效果代码,HTML友情链接代码
  9. Linux文本处理tr命令笔记
  10. Android代码抄袭Java曝猛料 新证据出现
  11. Python3 爬虫实战 — 猫眼电影TOP100【requests、lxml、Xpath、CSV 】
  12. 各个阶级的前端 必须掌握的基本技能汇总
  13. html中加入标题居中,在html标题标记中居中的div元素
  14. DNS服务器地址查找不到,DNS服务器地址的查看方法
  15. 在互联网行业干数据分析师,都需要掌握哪些技能?编程语言?软件工具?
  16. Unity VR开发教程 OpenXR+XR Interaction Toolkit (二) 手部动画
  17. Android Camera使用OpenGL ES 2.0和GLSurfaceView对预览进行实时二次处理(黑白滤镜)
  18. 计算机考研怎么给老师发邮件,2015考研复试给导师的邮件怎么写?_跨考网
  19. 计算机应用微课说明,【计算机应用论文】微课在计算机应用基础教学的应用(共4621字)...
  20. [CODEVS3032]摆放球 解题报告

热门文章

  1. 国内比较优秀的.net论坛源代码收集
  2. 零基础手把手用solidworks教你画联轴器
  3. 膜片联轴器市场现状及未来发展趋势
  4. 蓝色动力(DVD版)GHOSTXP SP3纯净选择版V2012.06
  5. JSP从入门到精通_课堂实战视频教程
  6. 病毒conime.exe、mmlucj.exe、severe.exe 查杀办法
  7. AspNetPager 分页的详细用法(ASP.NET)
  8. 硬件固件名称在软件测试中指什么,固态硬盘升级固件有什么用?固态硬盘怎么升级固件?...
  9. 密码学——常见的密码学习总结
  10. Windowsmobile 的第一篇 为什么选择windows mobile 的分析