zoukankan      html  css  js  c++  java
  • 基于分解的多目标进化优化MOEA/D三种聚合函数的理解

    安徽大学 田野老师 platEMO 平台代码网址:https://github.com/BIMK/PlatEMO

    NSGA2   MOEA/D   NSGA3    网上写的较好的单独代码分享,供大家学习调试理解:

    链接:https://pan.baidu.com/s/1Y-rJWaHODdObiDO4BzuJrg
    提取码:mdyb

    网上查阅很多资料,基于分解的MOEA的理解汇总(当做自己的笔记记录下)如下:

    基于分解的MOEA有三类聚合函数,如下

             对于权重聚合方法,jinTester 给出的解释可能更容易理解,参见https://blog.csdn.net/jinjiahao5299/article/details/76045936

             首先,λ被称之为权重向量,观察和式,这完全就是m维向量的点乘公式嘛。具体的说,在目标空间中,把算法求出的一个目标点和原点相连构造成一个向量,此时,该方法的做法是将该向量与对应权重向量点乘,由向量点乘的几何意义可知,所得的数为该向量在权重向量方向上的投影长度,因为权重向量不变,最大/小化该长度值其实就是在优化该向量。可知若要增大该向量在权重向量上投影的长度,一方面可以增大/减小与权重向量的夹角,另一方面可以增大/减小该向量的长度。样例图如下图。

             图中:考虑红色权重向量,因为是最小化问题,所以减小长度,增大夹角都是可行的方案,绿色为等高线,垂直于权重向量。

            对于切比雪夫聚合方法,Erpim 给出的解释可能更容易理解,参见https://blog.csdn.net/qq_35414569/article/details/79655400

             理解为啥f′1λ1>f′2λ2,这个需要看前提条件的,如果在λ左上方,只有f1和f2发生了变化。你可以移位一下,看作是两个斜率的比较。注意,λ是针对某一个的,是不变的。

         

            jinTester的解释:https://blog.csdn.net/jinjiahao5299/article/details/76045936

          该方法给出的表达式为:

            

            注意该方法中不再含有Σ符号,故不能再从向量点乘的角度理解。该方法大致思想是减少最大差距从而将个体逼近PF。等高线示意图如下:

             首先解释等高线为什么是这样的。单看f1函数,即只考虑纵坐标,若两点等值,必然是 式中f1的函数值相等(因为另外两个量是不变的),即纵坐标相等,所以f1函数的等高线是一组平行于横轴的直线。f2类似,为一组平行于纵轴的直线。

            那么,图中的等高线是横竖相交且刚好交在权重向量的方向上的,这是巧合吗?可以稍微来证明一下,可知,对于任何一个可行的切比雪夫值(自己叫的),我们从f1的角度上可以得到一个f1的值y,从f2的角度上可以得到一个f2的值x,他们的切比雪夫值是相等的,自然想到,点(x,y)(图中紫色点)为该切比雪夫值得横纵两条等值线的交点,那么有:λ1*(y-z1)= λ2*(x-z2),化简的(y-z1)/(x-z2)= λ2/λ1,可知该交点位于权重向量的方向上。

            需要注意一点,这里的权重向量起点是Z*,不再是原点。

            此时可知,若某个个体位于其权重向量方向的上部,则max得到的一定是其f1部分,故优化也需要减小其f1的值,即个体向下移动,相反,若在权重向量方向的下部,则应像左移动。以此来保证个体目标值落在黄点附近。

    一种可能的个体运动路线如下图橘黄色所示:

           

              这里λ和权重聚合方法以及切比雪夫中的定义一致,也即满足λ¡≥0,¡=1,…,m且。既然λ是各分量和为1的向量,而不是单位向量,我认为d2的求解式应该是有问题的,应该是

           

             另外我查阅有些博主也是这么认为的,比如爱吃米饭的小希https://blog.csdn.net/zp18355435850/article/details/80501324

             各个参数含义如下图:

             参见jinTesterhttps://blog.csdn.net/jinjiahao5299/article/details/76045936

    可知算法放宽了对算法求出的解得要求,但加入了一个惩罚措施,说白了,就是你可以不把解生成在权重向量的方向上,但如果不在权重向量方向上,你就必须要接收惩罚,你距离权重向量越远,受的惩罚越厉害,以此来约束算法向权重向量的方向生成解。

    接下来是关于d1和d2两个参数的计算表达式的含义说明,我依然是从几何角度理解的。

            d1——观察d1的计算表达式,Z*-F(x)可以看做原点到Z*点的向量减去原点到F(x)的向量,得到的是从F(x)出发指向Z*的一个向量,暂且命名为μ,之后μ与λ相乘得到μ在λ方向上的投影,这个长度值与λ的长度值之比为d1。

            d2——其表达式的含义其实也无非就是利用向量运算构造出d2所表示的向量,取模即可得到d2.构造过程如下:

           Z*表红色向量,d1*λ表蓝色向量(因为减法,所以方向取反),红色减蓝色得紫色向量,F(x)表绿色向量,绿色减紫色得黄色向量,即d2表黄色向量的长度。

    辅助理解MOEA/D算法的

    https://www.docin.com/p-1627227465.html [感觉翻译了论文的绝大部分] 

    MOEA/D: A Multiobjective Evolutionary Algorithm Based on Decomposition
    中文链接:https://wenku.baidu.com/view/d163a04d915f804d2a16c102.html  

    文档下载:

    链接:https://pan.baidu.com/s/1l5_Eq9ODlYov4XtEK2unsQ
    提取码:na3t


     Chithon    http://blog.csdn.net/qithon/article/details/72885053#comments
    jinTester    http://blog.csdn.net/jinjiahao5299/article/details/76045936


    https://blog.csdn.net/sinat_33231573/article/details/80271801
    多目标优化_学习笔记(三)MOEA/D   https://blog.csdn.net/qq_35414569/article/details/79655400 [对这三种方法的解释比较好]  

     

    一种基于支配和分解的多目标优化进化算法学习笔记 :https://blog.csdn.net/zp18355435850/article/details/80501324

     

  • 相关阅读:
    Hadoop集群(三) Hbase搭建
    Hadoop集群(二) HDFS搭建
    Hadoop集群(一) Zookeeper搭建
    Redis Cluster 添加/删除 完整折腾步骤
    Redis Cluster在线迁移
    Hadoop分布式HA的安装部署
    Describe the difference between repeater, bridge and router.
    what is the “handover” and "soft handover" in mobile communication system?
    The main roles of LTE eNodeB.
    The architecture of LTE network.
  • 原文地址:https://www.cnblogs.com/Vae1990Silence/p/12716153.html
Copyright © 2011-2022 走看看