进化计算(十一)——MFEA算法详解Ⅱ

写在前边:本文是自己的理解笔记,用作本人学习记录。写博客的时候主要参考了原论文以及其他博主的优秀文章,具体链接在文末。【注:本文中的某些超链接可能需要使用外网】

多任务的优势(连续优化实验)

 理论上来讲,在同时处理多项工作时,多任务处理方法存在一些具有较大优势的特征。在本文所讨论的情况下,每项工作都是一个待解决的优化问题。一个典型的例子(a case in point)是云服务提供商同时面临多个客户的服务需求。在本文中特别感兴趣的特征包括:1)最小化完工时间(完成所有的工作需要的总时间);2)提供高质量的解决方案。本节主要展示一些数值实验以表明MFO在这些方面的有效性,从而进一步的促进MFO概念的发展。

连续优化的三个基准测试问题

  • Sphere function
    在这里插入图片描述Function: f ( x ) = ∑ i = 1 D x i 2 . f(\boldsymbol{x})=\sum_{i=1}^Dx_i^2. f(x)=i=1Dxi2.
     其中,D即为维度dimension。Sphere 函数除全局最小值外有D个局部最小值。 它是连续的、凸的和单峰的。 上图显示了其二维形式。该函数通常在超立方体上进行评估 x i ∈ [ − 5.12 , 5.12 ] x_i\in[-5.12,5.12] xi[5.12,5.12]。当 x ′ = ( 0 , . . . , 0 ) \boldsymbol{x}^\prime=(0,...,0) x=(0,...,0)时,即为全局最小值点。More information refer to this wedsite

  • Ackley’s function
    在这里插入图片描述
    Function:
    20 + e − 20 exp ⁡ ( − 0.2 1 D ∑ i = 1 D z i 2 ) − exp ⁡ ( 1 D ∑ i = 1 D cos ⁡ ( 2 π z i ) ) ; z = M A × ( x − O A ) . 20+e-20 \exp \left(-0.2 \sqrt{\frac{1}{D} \sum_{i=1}^{D} z_{i}^{2}}\right)-\exp \left(\frac{1}{D} \sum_{i=1}^{D} \cos \left(2 \pi z_{i}\right)\right) ; \\ z=\mathbf{M}_{A} \times\left(\boldsymbol{x}-\boldsymbol{O}_{A}\right). 20+e20exp0.2D1i=1Dzi2 exp(D1i=1Dcos(2πzi));z=MA×(xOA).
     在数学优化中,Ackley函数是一种用作优化算法的性能测试问题的连续非凸函数。它是在1987年大卫阿克利的博士论文中提出的。上图中展示的是二维情形下的函数图像,其对应函数为:
    f ( x , y ) = 20 + e − 20 exp ⁡ [ − 0.2 0.5 ( x 2 + y 2 ) ] − exp ⁡ [ 0.5 ( cos ⁡ ( 2 π x ) + cos ⁡ ( 2 π y ) ) ] ; f(x,y)=20+e-20 \exp [-0.2 \sqrt{0.5(x^2+y^2)}]-\exp[0.5(\cos(2\pi x)+\cos(2\pi y))] ; f(x,y)=20+e20exp[0.20.5(x2+y2) ]exp[0.5(cos(2πx)+cos(2πy))];

  • Rastrigin’s function
    在这里插入图片描述Function:
    ∑ i = 1 D ( z i 2 − 10 cos ⁡ ( 2 π z i ) + 10 ) ; z = M R × ( x − O R ) \sum_{i=1}^D(z_i^2-10\cos(2\pi z_i)+10);\\ z=\mathbf{M}_{R} \times\left(\boldsymbol{x}-\boldsymbol{O}_{R}\right) i=1D(zi210cos(2πzi)+10);z=MR×(xOR)
     在数学优化中,Rastrigin函数是一种用作优化算法的性能测试问题的非凸函数。它是一种非线性多模函数的典型示例。1974年由Rastrigin 等人提出其二维函数形式,上图展示的即为二维情况下的函数图像。由于其大量的搜索空间及大量的局部最小值,找到该函数的最小值是一个相当困难的问题。其中, x i ∈ [ − 5.12 , 5.12 ] x_i\in[-5.12,5.12] xi[5.12,5.12]。当 x = ( 0 , . . . , 0 ) \boldsymbol{x}=(0,...,0) x=(0,...,0)时,即为全局最小值点 f ( x ) = 0 f(\boldsymbol{x})=0 f(x)=0

  • more test functions for optimization refer to this website

 在Ackley’s function和Rastrigin’s function中, M A \mathbf{M}_{A} MA M R \mathbf{M}_{R} MR是随机生成的旋转矩阵。此外, O A \boldsymbol{O}_{A} OA O R \boldsymbol{O}_{R} OR是对应函数的全局最优。
 从上述函数介绍中可以看出选定的三个函数其复杂度是不统一的。凸形球函数是最简单的,相对来说多模函数Rastrigin’s function是更具有挑战性的优化函数。这些特征提供了一个理想的平台来展示:相对简单的问题中产生的遗传物质如何潜在地用于复杂函数的优化

具有交叉最优的跨函数多任务处理:same global optima & homogenous search spaces

 该部分主要研究所选函数的全局最优值相交的情况。这种情况通过设置 O A = O R = 0 \boldsymbol{O}_{A}=\boldsymbol{O}_{R}=0 OA=OR=0(原点)以及考虑三个函数的同构搜索空间来实现。对于本小节中的所有实验,假设搜索空间的范围由每个维度中的 [-50, 50] 给出,即可满足同构搜索空间。换句话说,作者确保确实存在一些有用的遗传物质,它们可以从一个问题转移到另一个问题

实验测试问题:
 下边展示的数值实验中分别考虑 D = 20 D=20 D=20 D = 30 D=30 D=30两种情况,由此命名了一些具象的测试问题: 20 S , 30 S ; 20 A , 30 A ; 20 R , 30 R 20S,30S;20A,30A;20R,30R 20S,30S;20A,30A;20R,30R。上述六个问题可以进行不同的组合形成多个多因子问题。例如,同时处理 20 S 20S 20S 20 A 20A 20A即可构成二因子问题 ( 20 S , 20 A ) (20S,20A) (20S,20A)。相似的,优化算法最终得出的函数值表示为 ( ⋅ , ⋅ ) (\cdot,\cdot) (,)。换句话说,针对一个以SOO形式解决的单一问题 20 R 20R 20R可以表示为 ( 20 R , n o n e ) (20R,none) (20R,none)
 对这些测试问题进行组合实验时,说明如何通过多任务环境中其他优化任务的存在来帮助优化复杂函数(例如 30R 或 30A)是一个很重要的问题。为了达成这个目的,作者给出了如下两个相似的问题集
F 1 : { ( 30 R , n o n e ) , ( 30 R , 30 S ) , ( 30 R , 30 A ) , ( 30 R , 20 S ) } F 2 : { ( 30 A , n o n e ) , ( 30 A , 30 S ) , ( 30 A , 30 R ) , ( 30 A , 20 S ) , ( 30 A , 20 R ) } F1:\left\{(30R,none),(30R,30S),(30R,30A),(30R,20S)\right\}\\ F2:\left\{(30A,none),(30A,30S),(30A,30R),(30A,20S),(30A,20R)\right\} F1:{(30R,none),(30R,30S),(30R,30A),(30R,20S)}F2:{(30A,none),(30A,30S),(30A,30R),(30A,20S),(30A,20R)}

实验基本方法选择和参数设置:
 本文的MFEA算法中使用SBX模拟二进制交叉算子和高斯变异算子作为两个生成算子。本节中呈现的所有实验结果采用一致的实验设置:针对每个问题集 MFEA 算法进行 30 次独立运行;种群规模:100;迭代停止条件:达到500次进化或者收敛至全局最优解;
 为了得到更高质量的解,MFEA算法中每个个体都要经过一个学习的步骤(使用拟牛顿法这个最优化方法优化当前进化的解,优化得到的解为目标函数达到最小值时的值)。对于连续问题,个体学习通过BFGS quasi-Newton方法展开并遵循Lamarckism学说(Inheritance of acquired characters)。值得注意的是,生成的后代仅在其模仿的技能因子方面进行局部改善。最后,为了充分的进行文化间交流,在所有的实验中 r m p rmp rmp设为0.3。

实验结果:
(1) 30-D Rastrigin’s function in problem-set F 1 F1 F1
在这里插入图片描述
 从上图得到的实验结果可以明显看出大多数多任务处理的实例收敛速度得到了显著的提高。毫无意外地, ( 30 R , 30 S ) (30R,30S) (30R,30S)对应曲线在前几代即显露了该特征。发生这种情况是因为在搜索过程中Sphere函数得到了准瞬时优化,从而生成了对优化 Rastrigin 函数有用的修正遗传材料。 ( 30 R , 30 A ) (30R,30A) (30R,30A)曲线的收敛速度也明显得到了改善。尽管Ackley函数是多模函数,但是由于其较少的局部最优,通常也将其视作具有较小挑战性的优化函数。因此,在 ( 30 R , 30 A ) (30R,30A) (30R,30A)实验中,Ackley函数相对来说收敛更快,也生成了一些可为 Rastrigin 函数所用的高质量遗传物质。最后,在 ( 30 R , 20 S ) (30R,20S) (30R,20S)问题中,在优化Sphere函数的同时产生的遗传物质仅占Rastrigin函数所需的三分之二。因此,相较于 ( 30 R , 30 S ) (30R,30S) (30R,30S) ( 30 R , 30 A ) (30R,30A) (30R,30A)问题, ( 30 R , 20 S ) (30R,20S) (30R,20S)问题的收敛速度有所限制。尽管如此, ( 30 R , 30 S ) (30R,30S) (30R,30S)曲线的收敛也揭示了Sphere函数提供的部分信息有助于提升 ( 30 R , 30 S ) (30R,30S) (30R,30S)问题的整体性能,使其超越了 ( 30 R , n o n e ) (30R, none) (30R,none)问题。表Ⅰ中列出的执行时间也是上述提到的性能改善的强有力的证据。
在这里插入图片描述
(2)30-D Ackley’s function in problem-set F2.
在这里插入图片描述
 上图的收敛趋势具有与图(a)所示的相似的质量特性。值得关注的是,通过比较 ( 30 A , n o n e ) (30A,none) (30A,none)曲线和 ( 30 A , 30 R ) (30A,30R) (30A,30R)曲线可以明显看出Ackley函数和Rastrigin函数合并构成的问题也加速了Ackley函数的收敛。众所周知,Rastrigin函数更具有优化挑战性,因此理论上而言它可能会阻碍Ackley函数的收敛速度。相反的是,MFEA中遗传材料交换(文化交流)的原则有助于对两个任务的融合。据推测,进化中的种群成功地同时利用了两种函数的搜索环境,从而有效地绕过障碍以更快地收敛。表Ⅰ的后半部分如下图所示:
在这里插入图片描述
 表Ⅰ给出了算法求得的平均函数值和所有数值实验的标准化执行时间。除了对MFO问题的收敛特征有所改善外,表Ⅰ也说明了多任务处理在最小化一批优化任务的最大完工时间方面的潜在优势。例如,对比 ( 30 R , n o n e ) (30R,none) (30R,none), ( 30 A , n o n e ) (30A,none) (30A,none) ( 30 R , 30 A ) (30R,30A) (30R,30A)的算法执行时间可以明显的发现:相较于SOO问题,多任务处理使得算法执行时间至少节省了70%。这主要是因为当任务 30 R 30R 30R 30 A 30A 30A组合成MFO后,实现了对相交全局最优的快速收敛。相比之下,当任务以SOO的形式解决时,在500代的迭代停止条件内很少实现收敛。第二个重要贡献特征是MFEA算法的选择模仿策略。根据该策略,多任务环境中的个体仅选择单个任务进行评估。(详见 A l g o r i t h m   3 Algorithm\text{ }3 Algorithm 3)。因此,对于类似 ( 30 R , 30 A ) (30R,30A) (30R,30A)的二因子问题,与串联解决 ( 30 R , n o n e ) (30R,none) (30R,none) ( 30 A , n o n e ) (30A,none) (30A,none)两个SOO问题相比函数评估总数显著减少。因此,在比较 ( 30 A , n o n e ) (30A, none) (30A,none)和表Ⅰ中其他三个 30 A 30A 30A组合问题时,可以明显地发现通过一批优化任务进行多任务处理所花费的时间可能少于单独处理该批次中单个最复杂任务所花费的时间。

(3)brief summary:不同复杂度的问题相互融合形成多个组合任务,每一个问题产生的解都有助于任务中其他问题的优化,从而说明了MFEA算法使得函数收敛速度加快、执行耗时减少等特点。

具有分离最优的跨函数多任务处理:different global optima & heterogeneous search space

 该部分主要研究 MFO 的组成任务在其各自的函数最优值之间具有不同程度偏离的情况。
实验基本方法选择和参数设置:
 作者将 ( 30 R , 30 A ) (30R,30A) (30R,30A)组合测试问题中设置 O R = 0 \boldsymbol{O}_{R}=0 OR=0(原点), O A \boldsymbol{O}_{A} OA遵循如下规则进行偏移:

  • 小偏离(small separation-SS): O A \boldsymbol{O}_{A} OA中的每个元素在0到2之间随机偏移;
  • 中等偏离(medium separation-MS): O A \boldsymbol{O}_{A} OA中的每个元素在2到5之间随机偏移;
  • 大偏离(large separation-LS): O A \boldsymbol{O}_{A} OA中的每个元素在5到10之间随机偏移;

此外,这两个多模问题的搜索空间被设置为异构的:Ackley函数的搜索范围为[-32,32],Rastrigin函数的搜索空间设置为[-5,5]。注意到,对于LS情况,偏移Ackley函数的最优点转移到了Rastrigin函数的搜索空间之外。该种设置的一维可视图如图3所示:
在这里插入图片描述
 在进行实验的过程中,MFEA算法其他参数设置与前一节中所述保持一致。从图4所示的收敛趋势可以看出:尽量构成MFO的两个函数最优点存在一定程度的偏离,但与单独(以 SOO 的形式)解决 Ackley(或 Rastrigin)函数相比进化多任务处理始终存在了显著的性能改进。然而,仔细观察可以图4看出,随着优化分离度的增加,多任务处理的有效性慢慢降低。
在这里插入图片描述
 为了解释上述现象,作者认为增加优化分离度会减弱两个任务之间的基因互补性。尽管如此,MFEA算法在优化过程中仍利用在偏移函数之间存在的潜在的协同作用,只不过LS的性能逐渐接近SOO的性能。该现象提供了在IV-E部分提到的MFEA机制通过有效地将种群分离到不同的技能组(每个技能组擅长一个不同的任务)保障每个个体至少能够胜任至少一个任务的间接证据。当MFO中不同任务的最优点彼此远离时,该特征特别重要。研究发现,即使在不同任务之间不存在明显的基因互补性来源的情况下(section Ⅱ中所述的本文讨论的多任务问题的特征),受控的跨文化交配进行的探索也有助于优化

Summary

 Section Ⅴ的实验结果强调了三个将多任务处理概念纳入进化优化领域的主要理论诱因:

  • 在基因互补性存在的前提下,从简单到复杂任务的隐含遗传转移可以导致复杂优化任务的快速收敛。
  • 两个复杂任务之间的基因交换有助于同时利用两个函数搜索空间,从而有效地避开障碍(局部最优)以更快地收敛。
  • 在多因素环境中利用垂直文化传播的自然现象可能会减少一批优化问题的执行时间。

融入离散优化问题(如何优化离散问题)

 前边的章节中提出了MFEA算法,并且通过数值实验说明了其在连续优化问题中的有效性。为了实现引言中提到了跨域多任务处理的最终目的,本节中主要介绍将MFEA算法应用于离散优化问题的方法。简单起见,本文讨论的重点放在组合优化问题中。众所周知,此类问题可能出现在多种喜好中,而这些喜好通常需要彼此不同的遗传表征。因此,这也给MFEA的普适性带来了一定程度上的挑战。抽象表达如图5所示。
在这里插入图片描述
 通常一个组合问题可以使用一个有限的基态 S = { 1 , 2 , 3 , . . . , n } S=\left\{1,2,3,...,n\right\} S={1,2,3,...,n}来定义。这也引出了由一组可行解组成的离散搜索空间 X ⊆ 2 S X\subseteq2^S X2S,其中每一个解都与一个真实的函数值(向量)相匹配,记为 f : 2 S → R f: 2^{S} \rightarrow \mathbb{R} f:2SR。这个看似简单的描述可以引出丰富的问题陈述。由于本文篇幅有限,无法进行全面阐述,因此作者选择以下著名的组合优化问题进行后续演示:1)0/1单背包问题(KP)&多背包问题(MKP);2)二次分配问题(QAP);3)限载车辆路由问题(CVPR)。
 本节主要介绍将随机键值解码到上述问题特定域的表示方式的方法。

KP&MKP

问题阐述:
 KP问题:从 n n n个物品中选取一个子集,每个物品都有重量 w i w_i wi和收益 q i q_i qi,其中 i ∈ { 1 , 2 , . . . , n } i\in\left\{1,2,...,n\right\} i{1,2,...,n}。被选中的物品将被装在一个容量为 W W W的背包中并使其产生最大的收益。

 MKP的常规问题:

  • 参数设置: m m m个容量分别为 W 1 , W 2 , . . . , W m W_1,W_2,...,W_m W1,W2,...,Wm的背包和 n n n个物品( m ≤ n m\le n mn),第 i i i个物品重量为 w i w_{i} wi,收益表示为 q i q_{i} qi。将其装在第 k k k个背包时,其重量表示为 w i k w_{ik} wik
  • 基本思想:从 n n n个物品中选择 m m m个不相交的物品子集,使得所选物品的总利润最大,每个子集可以分配到不同的背包,其容量不小于该子集中物品的总重量。此外,MKP问题指出一个物品要么被放置在任一背包中要么根本不放置。更多关于MKP问题的阐述可参考this pdf。其数学表达形式为
    m a x i m i z e   z = ∑ i = 1 n ∑ k = 1 m q i x i k s . t .   ∑ k = 1 m w i x i k ≤ W k , i ∈ { 1 , 2 , . . . , n } ∑ k = 1 m x i k ≤ 1 , k ∈ { 1 , 2 , . . . , m } x i k = 0   o r   1 w h e r e , x i k = { 1  if item  i  is assigned to knapsack  k 0  otherwise.  maximize\text{ }z=\sum_{i=1}^n\sum_{k=1}^mq_{i}x_{ik} \\s.t.\text{ }\sum_{k=1}^mw_{i}x_{ik}\le W_k,i\in\left\{1,2,...,n\right\} \\\sum_{k=1}^mx_{ik}\le 1,k\in\left\{1,2,...,m\right\} \\x_{ik}=0\text{ }or\text{ }1 \\where,x_{i k}=\left\{\begin{array}{ll} 1 & \text { if item } i \text { is assigned to knapsack } k \\ 0 & \text { otherwise. } \end{array}\right. maximize z=i=1nk=1mqixiks.t. k=1mwixikWk,i{1,2,...,n}k=1mxik1,k{1,2,...,m}xik=0 or 1where,xik={10 if item i is assigned to knapsack k otherwise. 
    易判断,当 m = 1 m=1 m=1时,上述数学表达式即转换为单背包问题。

随机键值解码方式:
 在使用经典的进化算法解决KP和MKP问题是,个体解通常被表示为一个二进制向量 x = ( x 1 , x 2 , . . . , x n ) \boldsymbol{x}=(x_1,x_2,...,x_n) x=(x1,x2,...,xn),其中 x i = 1 x_i=1 xi=1表示物体 i i i被放置在背包中。将随机键值转变为二进制变量可以考虑以下方法:如果 y i ≥ 0.5 y_i\ge 0.5 yi0.5,则取 x i = 1 x_i=1 xi=1,否则取 x i = 0 x_i=0 xi=0。然而,作者通过实验发现使用这种方法可能会导致MFEA算法的性能较差。相反地,作者将每个个体在统一搜索空间中定义为一个随机键值向量 ( y 1 , y 2 , . . . , y n ) (y_1,y_2,...,y_n) (y1,y2,...,yn),以表示可以在一段实线上自由移动的 n n n个基因的组合,即在0和1之间。每个基因都对应一个唯一的个体。基因在实线段上的自由移动性意味着它们的位置可以通过实数编码的进化算子来操纵,这与 MFEA所期望的方法保持匹配。考虑到基因集合形成两个簇,从图6中推导出二进制变量。
在这里插入图片描述
 为了识别基因所属簇,本文使用单联接聚类法。根据背包的容量,选择一个簇,使其所有物品都临时包含在背包中。排除其他簇中的所有物品。
 值得注意的是,可能会存在所选簇中的物品总重量超出背包容量的情况。在这种情况下,作者使用Dantzig的贪心逼近算法。在该算法中,依照效率增长排序考虑剔除的物品,即 q / w q/w q/w。修复算法依照Baldwinian学习思想执行。

QAP

问题阐述:
 QAP问题旨在以最小化分配成本的方式将n个设施分配到n个位置,每个位置一个。其数学形式可以表示为
在这里插入图片描述
举例说明:
 假定有4个设施和4个地点,4个设施的分配方案和连通状态如下图所示。分配方案可以表示为 p = { 2 , 1 , 4 , 3 } p=\left\{2,1,4,3\right\} p={2,1,4,3}
在这里插入图片描述
 为了计算上图所示组合方法的损耗需要得知设施之间的流量和设施所在地之间的举例。假设流量和距离如下图所示:
在这里插入图片描述
那么,该种分配方案的损耗记为 f ( 1 , 2 ) ⋅ d ( 2 , 1 ) + f ( 1 , 4 ) ⋅ d ( 2 , 3 ) + f ( 2 , 4 ) ⋅ d ( 1 , 3 ) + f ( 3 , 4 ) ⋅ d ( 3 , 4 ) = 419 f(1,2)\cdot d(2,1)+f(1,4)\cdot d(2,3)+f(2,4)\cdot d(1,3)+f(3,4)\cdot d(3,4)=419 f(1,2)d(2,1)+f(1,4)d(2,3)+f(2,4)d(1,3)+f(3,4)d(3,4)=419

随机键值解码方式:
 随机键值可以以一种直接的方式解码为QAP问题解表示方式。注意:个体的第 i i i个随机键值被视为标记为第i个设施的标签。为了完成设施的分配,随机键值仅按升序排序。之后,每个设施根据他们在排序列表中的位置分配到对应位置。例如三个位置为{1,2,3},随机键值表示的三个设施的集合为(0.7,0.1,0.3)。根据上述分配方法,设施1被分配到位置3,设施2被分配到位置1,设施3被分配到位置2。
 关于局部搜索,使用两次交换启发式来改进候选分配方案。 由于可以通过简单地交换设施的随机键值标签将引入的变化重新合并到染色体中,因此 QAP 中的学习本着拉马克主义的精神发生。

CVPR

问题阐述:
 CVPR定义为图 G ( V , E ) G(V,E) G(V,E),其中 V V V是节点的集合, E E E是弧线的集合。图中的一个节点代表一个车库,其他节点代表有一定需求的客户。CVPR解决的问题是查找车队的行程时间表以最小化所有客户提供服务成本服务成本通常指的是车辆行驶的总距离。在行程安排中,必须确保特定车辆所服务的总客户需求不超过其容量。此外,通常还存在如下额外的限制条件:客户规定了一个他们期望接受服务的硬时间窗口

举例说明:
 下图中黑点代表车库所在地,蓝色点代表不同需求(物品总重量/价值…)的客户所在地,客户的需求在蓝色点的右下角由红色数字标识。假设每个车辆的最大承载量为15,共有4个车辆。当车辆沿其路线行驶时,其携带的物品总量永远不会超过其容量。在更复杂的CVPR问题中,每个车辆可能要携带几种不同种类的物品,每种类型的物品存在一个容量的最大值。
在这里插入图片描述
 对于路径上的每一个点,输出应包括:节点的索引;车辆离开该节点后的总负荷。具体路径规划输出如下:
在这里插入图片描述
 不同车辆路径规划由不同颜色实线表示,路径图如下:
在这里插入图片描述

随机键值解码方式:
 CVPR问题得进化算法研究者已经提出了几种基因表示方法。包括:1)变长染色体编码和2)the giant-tour scheme等。后者是将所有客户以旅行商(TSP)路线形式排列,没有旅行定界符。类似地,可以为CVPR构思集中随机键值解码程序。本文中,作者考虑将第 i i i个随机键值标记为第 i i i个客户。因此,一个TSP路径可以通过简单的对随机键值升序排序来推断。然后,基于参考文献中提出的差分程序,可以将TSP路线划分为单独的车辆行程。最后,个体经过一系列简单的局部搜索移动,本着拉马克学说的精神改善解的质量。

跨域随机键值解码

 为了总结前边所属的跨域解码程序,作者举了一个例子进行说明。该例包含了三个待同时执行的不同的优化任务:1)由5个决策变量构成的连续优化问题,每个决策变量的取值范围是[0,5];2)10个物品的KP问题;3)10个设备和10个地点的QAP问题。上述三个问题即可构成三因子MFO。
 对于前边提出的三因子MFO, D m u l t i t a s k = m a x { 5 , 10 , 10 } = 10 D_{multitask}=max\left\{5,10,10\right\}=10 Dmultitask=max{5,10,10}=10。因此,在初始化时随机生成随机键值表示的10维染色体 y : ( 0.19 , 0.31 , 0.53 , 0.17 , 0.60 , 0.26 , 0.65 , 0.69 , 0.75 , 0.45 ) \boldsymbol{y}:(0.19,0.31,0.53,0.17,0.60,0.26,0.65,0.69,0.75,0.45) y(0.19,0.31,0.53,0.17,0.60,0.26,0.65,0.69,0.75,0.45)图7描述了相同的染色体解码成三个优化任务的方法。
在这里插入图片描述
 对于连续优化问题,解码过程相对直接:将 y \boldsymbol{y} y的前5个随机键值提取出来按照[0,1]到[0,5]的关系进行线性映射。
 对于KP问题,作者指向图7中的实线。随机键值与相应的基因索引一起被点注在实线上。使用单联接聚类法将基因分为2簇,第一簇包含基因{4,6,2},第二簇包含基因{10,3,5,7,8,9,1}。根据前文推荐的KP解码程序,作者首先将{4,6,2}暂存在背包中,同时排除另一簇中的所有物品。换句话说,KP问题的染色体表述方式为(0 1 0 1 0 1 0 0 0 0)。因此,作者指定这种解码过程为二进制聚类(binary clustering)。
 最后,对于QAP问题,图7实线上的基因指数序列规定将设施分配给不同位置的顺序。对于给定的随机键值 y \boldsymbol{y} y,QAP问题的特定域染色体表达方式为(4,6,2,10,3,5,7,8,9,1)。
 随机键值表示方法的一个有趣的特征(尤其是针对QAP和CVPR这种序列问题)是,它确保了在实数编码的交叉和突变操作下的后代的可行性。这与此类问题的特定域表示方法相反,在特定域中需要特别设定生成算子用以确保后代可行性。上述看法首先在参考文献[10]中提出,随后引起了OR(运筹学)领域进化算法从业者的兴趣。


参考文献及链接

[1]A. Gupta, Y. Ong and L. Feng.Multifactorial Evolution: Toward Evolutionary Multitasking.[J].IEEE Transactions on Evolutionary Computation, 2015(3):343-357;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值