进化计算(十二)——MFEA算法详解Ⅲ


写在前边:本文是自己的理解笔记,用作本人学习记录。写博客的时候主要参考了原论文,具体链接在文末。作者的源代码链接也在文末给出,可以自行下载。

数值实验和讨论(离散问题实验)

 本章节的目的主要在于两方面:

  • 在本节第一部分中,作者考虑四组具有不同性质的MFO示例。这些示例使读者可以更全面的了解MFEA算法性能,特别是在潜在的基于云的软件服务同时接收来自多个客户的不同任务的情况下。这些实验是通过结合来自离散和连续优化的基准测试实例来设计的。根据前文所述,在组成任务之间不存在可辨别的遗传互补性的先验知识。这模拟了面对具有未知特征的多个作业(或任务)的云服务器的现实情况。
  • 在本节第二部分中,作者简要讨论了通过 MFO 解决的所有任务并非同时出现的场景。这体现了动态性:即在处理不同任务的中间阶段向MFO求解器呈递新的任务。 由于云客户的出现在时间和空间上不同分布,因此提出了这种假设场景。 实验结果将证明:在这种情况下,MFO 的一个显著作用是利用当前正在处理的任务的遗传材料来快速启动中间任务的优化过程

离散跨域优化MFO问题

三种问题集

 该部分中,MFEA算法在多个组合问题集上进行测试,每个问题集包含三个任务。一般来说,这些问题集可以分为三类。

  • 问题集1由序列问题组成 (QAP,CVPR),解码时必须对随机键值进行排序。
  • 问题集2中的任务解码时要求使用基因的二进制聚类。
  • 问题集3/4是跨域多任务处理的示例:它们结合了排序、二进制聚类和连续优化三种不同类型的任务。

 更多细节问题可以参考表Ⅱ,可以看出每一个问题集都是三因子MFO。
在这里插入图片描述

对于背包问题的特殊处理

 上一章节中已经指出了KP和MKP为最大化问题。因此在全局优化算法MFEA中,我们需要取目标函数值的负数,将其转化为最小化问题。同时也需要注意表中的KP和MKP示例是随机生成的。虽然 KP 实例的最优解已经通过动态规划获得,但 MKP 的最优解是不可用的。生成KP实例的步骤如下所述:设背包重量 w i w_i wi为[1,10]上均匀分布的随机数且收益 q i = w i + 5 q_i=w_i+5 qi=wi+5。因此,背包的平均容量为 W = 1 2 ∑ i = 1 n w i W=\frac{1}{2}\sum_{i=1}^nw_i W=21i=1nwi生成MKP实例的步骤为:考虑由5个背包,即 k = 5 k=5 k=5。设背包重量 w i k w_{ik} wik为[1,10]上均匀分布的随机数且收益 q i = m e a n k ( w i k ) + 5 q_i=mean_k(w_{ik})+5 qi=meank(wik)+5。第 k k k个背包的容量为 W = 1 2 ∑ i = 1 n w i k W=\frac{1}{2}\sum_{i=1}^nw_{ik} W=21i=1nwik

评价MFEA算法输出结果质量和鲁棒性的几个指标

  1. 平均值(Avg):MFEA所有迭代轮数中平均函数值;
  2. 变异系数(CV):标准偏差与平均函数值的比率;
  3. 平均差距(AG):平均值与最佳值之间的差异。表现为最优百分比;
  4. 最佳发现(BF):MFEA所有迭代轮数中最好函数值;
  5. 间隔(Gap):最好的函数值和最优解之间的差值。表现为最优百分比。

实验基本参数设置

  • 种群规模:100个体;
  • 迭代次数:500代(可以理解为程序停止标准为完成近50000次的任务评估,其中一次任务评估包括个体经历的Lamarckian/Baldwinian学习步骤);
  • 染色体表示方法:使用和SOO问题仿真时一样的方法;
  • 遗传算子:SBX交叉算子(随机交配概率:0.3),高斯变异算子。

 在后文提出的收敛趋势中,任务 T j T_j Tj(其中 j ∈ { 1 , 2 , 3 } j\in\left\{1,2,3\right\} j{1,2,3})的目标函数值被标准化为 f ~ j = ( f j − f j min ⁡ ) / ( f j max ⁡ − f j min ⁡ ) \tilde{f}_{j}=\left(f_{j}-f_{j}^{\min }\right) /\left(f_{j}^{\max }-f_{j}^{\min }\right) f~j=(fjfjmin)/(fjmaxfjmin)。其中, f j min ⁡ f_{j}^{\min } fjmin f j max ⁡ f_{j}^{\max } fjmax T j T_j Tj在所有迭代论述中所找到的函数最大最小值。然后归一化值在集合中的三个任务中取平均值: f ~ j = ( f 1 ~ + f 2 ~ + f 3 ~ ) / 3 \tilde{f}_{j}=\left(\tilde{f_1}+\tilde{f_2}+\tilde{f_3}\right)/3 f~j=(f1~+f2~+f3~)/3。最后, f ~ j \tilde{f}_{j} f~j在30次独立求解后再次进行平均。

算法性能

问题集1(序列问题)上的算法性能
图8描绘了MFEA算法在问题集1上初始状态时的平均收敛趋势。将曲线与从SOO求解器获得的曲线进行比较。很明显,对应于MFO仿真的曲线超越平均的SOO性能,显示出更好的整体收敛特性。由于SOO和MFO使用了相同的编码方式和生成算子,收敛性能的改进可以完全归因于进化多任务范式所提出的通过隐式遗传转移的多个函数空间的拓展。
在这里插入图片描述
 考虑到多任务环境下生成解的性能,表Ⅲ展示了上文中提出的性能指标值。这些指标值表明MFEA算法所求解的质量也是不错的。该算法可靠地输出了两个 QAP 实例(T1,T3)的最优解。 对于 CVRP 实例,与最佳的解决方案的平均差距为 1.1783%。
在这里插入图片描述


问题集2(二进制聚类问题)上的算法性能
 问题集2包含了一个大型的MKP实例( T 1 T_1 T1中物品数量为1000)和两个相对小型的实例( T 2 T_2 T2 T 3 T_3 T3中分别有100个物品)。与串行解决的SOO求解方法相比,图9的收敛趋势再次展示了进化多任务方法的有效性。
在这里插入图片描述
 此外,从表Ⅳ中展示的最终结果来看,小型KP实例( T 3 T_3 T3)在每一个迭代轮次中都是保持不变的。
在这里插入图片描述

问题集3/4(跨域多任务)上的算法性能
 问题集3/4由序列、二进制聚类和连续优化三种优化问题实例组成,从而创造了一个真实的跨域多任务环境。与串行解决SOO问题的方法相比,MFO 在这种情况下的有效性通过优越的收敛趋势得到了突出显示,如图10图11所示。表 V 中展示的问题集3的最终结果表明,MFEA 成功收敛到三个问题变体(Rastrigin 函数、QAP 和 KP)中的每一个的最优值。 这一观察结果为 MFEA 在不同多任务环境下的鲁棒性提供了强有力的证据,从而激励了其作为基于云的计算智能工具的潜在应用。
在这里插入图片描述
在这里插入图片描述
 问题集4的结果如表Ⅵ所示,可以看出MFEA算法能够找到大型KP实例( T 1 T_1 T1:1000个物品)的最优解,同时确保CVPR和连续优化任务的解的高质量。收敛到 Ackley 函数 ( T 3 T_3 T3) 的全局最优值是定期实现的。 此外,CVRP 实例 ( T 2 T_2 T2) 的平均差距也很小。
在这里插入图片描述


总对比
 为了更好的理解MFO带来的性能的提升,可以参考图12在这里插入图片描述
 上图描述了跨域多任务实例中对应于每个任务的收敛趋势。从图12(a)可以发现每个组成的任务的收敛速度都加快了。虽然加速对于组合实例(即 T 2 T_2 T2 T 3 T_3 T3)不那么明显,但对于连续优化问题( T 1 T_1 T1:Rastrigin 函数)尤其明显。从图 12(b)中可以得出相似的结论,Ackley函数 ( T 3 T_3 T3) 的优化受益最大。
 另一方面,从
图 12(b)
中也可以看出,与 SOO 相比,大型 KP 实例 ( T 1 T_1 T1) 的收敛略有阻碍。 这一观察得出的结论是,进化的多任务处理不一定能保证每项任务的性能改进,因为并非所有的遗传转移总是有用的。换句话说,虽然某些任务受到多任务处理期间可用的隐式遗传转移的积极影响,但某些其他任务可能会受到负面影响。
 然而,在实践中,由于预计几乎没有关于任务之间遗传互补性的先验知识【第Ⅱ部分MFO问题阐述部分做出的假设】,因此允许进化在可用时自主利用潜在的互补性是很有意义的,而无需明确识别和注入领域知识到 MFEA。值得注意的是,实验结果表明在 MFO 中的许多跨域优化问题中,正迁移远远超过负迁移。


完工时间最小化(MFO 的副产品):
 MFO 范式的另一个优势是最小化批量优化问题的完工时间(完成所有任务的优化所需的时间)。特别地,在问题集1-4 上的实验表明,MFEA 在单台机器上实现的完工时间(进化多任务解决方法)通常小于当任务分布在执行 SOO 求解器的多台机器上(串行SOO解决方法)时实现的完工时间。值得注意的是,这种性能增强是通过简单地解锁进化搜索的内在并行性来实现的。
 在图13 中,作者将 MFEA(给定停止标准为50000 次任务评估)与串行 SOO(给定每个任务相同的停止标准)的在问题集1-4上的总时间进行比较集。请注意,在 MFEA 中执行的任务评估总数与正在处理的任务数量不成比例。由于选择性模仿策略(规定多任务环境中的个体必须只选择一个任务进行评估),作者发现 MFEA 同时优化一批任务所需的总时间明显少于SOO求解器花费在单个最耗时的任务上的时间。因此,如果我们假设 SOO 求解器并行部署在多台机器上,那么最耗时的任务会成为阻碍整个批次的完工时间的瓶颈。因此,有人认为通过 MFO 可实现的完工时间可能小于多个并行运行的 SOO 求解器(每个求解器执行一项任务)实现的完工时间。
在这里插入图片描述

异步优化任务

 作业的优化调度对云服务提供商来说是一个严峻的挑战。在短时间内,可以从多个用户接收多个作业。 在本节中主要考虑在处理不同任务的中间阶段将新的优化任务呈现给 MFO 求解器的情况。特别地,作者希望说明隐性遗传转移的规定对于提高这种动态环境中的性能是非常宝贵的。
 为此,作者理论化了一个有能力的车辆路线规划的例子。想象一个场景:同一城市内的不同物流服务提供商具有相似的客户地理分布。 在这种情况下,预计最佳车辆路线存在结构相似性,可以积极地从一个问题转移到另一个问题。为说明起见,假设物流公司以合理的速度连续向 MFO 求解器提交各自的车辆路线选择问题。
 为了设计上述情况的计算模拟,作者考虑了流行的 Solomon 基准集中的三个时间窗口约束 CVRP 实例(c101、c102 和 c103)。这些示例实例的特征是,虽然它们在二维欧几里得空间中具有相似的客户分布客户指定的时间窗口约束是不同的。动态环境是通过假设进化过程以实例 c101 启动来人为创建的。 随后的实例 c102(或 c103)在中间阶段呈现给求解器。 请注意,由于所有实例都属于 CVRP 域,因此在这种情况下可以采用特定域的表示方案解决MFO问题。
图 14 清楚地展示了利用解决方案的相似性的隐式遗传转移的优势。在优化 c101 的中间阶段创建的基因库被积极转移到后续任务中。 因此,与独立的 SOO 求解器相比,为实例 c102 和 c103 的进化搜索过程提供了显着的推动力。
在这里插入图片描述

总结

 在本文中,作者引进 MFO 作为进化计算的新范式。有人认为,虽然传统的基于群体的进化算法专注于一次解决一个问题,但适当地利用这些方法的隐式并行性可以促使高效的多任务引擎同时解决多个问题。 “多因子”一词实际上是从如下观察中得到启发的:每一个额外的任务都会贡献一个影响进化的额外因素。
 为了实现高效的进化多任务处理,本文基于多因子遗传的生物文化概念提出了一种新的 MFEA算法。该算法具有统一的染色体表示方案,该方案被证明是处理跨域多任务问题的关键因素。此外,统一搜索空间意味着对应于不同任务的生成块包含在统一的遗传材料库中。特别地,这使得 MFEA 能够利用任务之间潜在的遗传互补性,从而以有效的方式发现有用的遗传材料并将其从一项任务隐式转移到另一项任务。
 本文也进行了一些数值实验来测试所提出算法的有效性。 实验可以分为连续问题、离散优化以及连续和离散优化的混合。 结果表明,进化多任务处理在加速复杂优化函数的收敛和**最小化一批优化任务的完工时间(算法执行时间)**方面提供了一些较好的结果。 对跨域多任务处理中单个任务收敛特征的更深入分析表明,虽然某些任务受到隐式遗传转移的正向影响,但可能存在某些其他任务受到负面影响。 然而,在大多数情况下,我们发现正转移大于负,因此当性能在所有任务平均性能之上时会导致整体收敛趋势的改善。
 尽管这篇论文的结果是比较理想的,但必须记住本文只是迄今为止尚未探索的研究方向的第一步。 对MFO范式的几个实践和理论方面的精细审查是未来需要。 例如,离散优化领域有大量文献有待解决。 此外,MFEA 的当前方法尚未经过全面的可扩展性测试。 后者有望成为进化式多任务处理中的一个关键问题:尤其是从云计算的角度来看,因为要处理的任务数量可能会非常迅速地增长。 因此,必须智能地操纵在统一搜索空间中搜索的个体群体,尽可能以最有效的方式适应大量不同的传入任务。
 最后,读者需要注意本文引言部分所做的假设:在串联解决的任务之间不存在任何关系的先验知识。 MFEA 的功效在多任务处理传统意义上被认为是独立的不同问题时得到了展示。 但值得强调的是,MFO 的适用性不仅限于此类场景。 通常会发生一个由几个相互依赖的子问题或组件组成的复杂问题。可以想象,MFO 也适用于同时解决这些子问题。 再举一个例子,假设问题是以优先级约束的,这意味着某些任务必须利用其他任务的结果。 显然,能够处理此类更具有挑战性的改进 MFO 求解方法将在许多实际应用中具有重要价值。


参考文献及链接

[1]A. Gupta, Y. Ong and L. Feng.Multifactorial Evolution: Toward Evolutionary Multitasking.[J].IEEE Transactions on Evolutionary Computation, 2015(3):343-357;
[2]论文作者源代码:这个网站里自行下载。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值