MOEA/D的通俗解析--1.MOEA

为什么要写这篇博客?关于MOEA/D,后面的这个“/D”的解释让我着实烦恼了好几天。写出来,留个通俗的解释,以后翻出来看一目了然也很好。所以这篇博客,不会有学术性的论述,如果想专业地看,请找论文。

什么是MOEA?

我打个离散的比方(连续的自己编一条试一下吧),我要买一台电脑,那么我最起码要考虑三个组件:CPU,GPU,主板。下面的式子中就会分别设为变量1,变量2,变量3。关于CPU,我可以选择很多种类型,比如:I5 7700,I7 8700K等,这些不同的CPU型号组成了CPU(变量1)的范围。GPU(变量2)和主板(变量3)也是这样。在传统的进化算法中,只需要考虑一个目标就可以。可以看成是非软件公司买电脑,便宜就行(价格目标)。但是作为一个玩家,我不仅要考虑到价格,还要考虑到电脑的性能(性能目标)。也就是说,像“结果=f(变量1,变量2,变量3)” 这类式子已经满足不了我买电脑时的决策需要。因为这类式子得到的结果只能符合我其中一个目标。有式子如下:

minF(x)=(f_{1}(x),f_{2}(x));

g_{i}(x)\geq 0;(1,..,n); h_{i}(x)= 0;(1,..,n)

g和h分别是不等式约束和等式约束,可能不需要所有的变量都符合这个约束。打个比方,某个主板不支持i9的CPU,所以选择了某个主板不能选择i9。这里不涉及算法的基础,所以不再说明。

f1是价格函数,f2是性能函数(实质性能的倒数,这样结果越小,性能越好)。F就是决策函数,就是我买电脑做决策的依据。理论上来说,当f1和f2都是最小的时候,F就能获得最小值。好比说,我花1000块,能买到i9+titan+某工作站主板配置的电脑。如果你认为这个说法没毛病的话,我只能说,梦里什么都有。现实中有很多约束,所以更普通的情况是,我能获得的决策结果中,价格函数和性能函数都不是最小值。所以,我需要性能和价格的一个折中值,能让我获得既让我的钱包不致于过干,也能满足我游戏需求的电脑。而这,就是MOEA所追求的目标。

f1,f2获得的函数值分别被称作目标变量1(价格变量),目标变量2(性能变量)

变量1,变量2,变量3形成决策向量,他们活跃在决策空间。

目标变量1,目标变量2形成目标向量,他们活跃在目标空间。

这是两个完全不同的空间,而我们更着重于目标空间,因为决策向量映射到目标空间的目标向量才能说明决策变量是否适合。下面给出一张决策空间与目标空间的映射图(偷来的)

 

 

记住决策向量和目标向量的概念,后面要用到,那么接下来,就要说说折中解是怎样来的了。

  • 24
    点赞
  • 70
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
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 最优解集。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值