第5章 基于分解的多目标 分布估计算法 5.概述 1 .................... 在现实生活中,很多的问题都具有多个优化目标。一般地,这些目标是相互冲突的。 也就是说,试图提高一个目标会导致其他目标质量的下降。对于多目标优化问题,我们希 望获得尽可能多的非支配的解,以供决策者根据实际情况选择最终的方案。演化算法是 基于种群的元启发式算法,这一特性使得演化算法适用于解决多目标优化问题。近年来, 演化多目标算法得到了广泛重视,研究人员设计了很多适用于多目标问题的演化算法,这 些算法已经解决很多实际问题[45-47]。本章主要介绍一种改进的多目标分布估计算法,称 为s-MEDA/D(scaleAdaptiveDecompositionbasedMulti-objectiveEstimationof DistributionAlgorithm,基于问题规模自适应分解的多目标分布估计算法)。MEDA/D 在经典多目标演化算法———基于分解的多目标演化算法(MOEA/D)的基础上,利用概率 向量对每个分解后的子问题建模。本章将利用遗传算法范式的MOEA/D改进为利用分 布估计范式的MEDA/D。在此基础上,本章基于概率向量提出了规模自适应的生成算 子。最后,本章通过在多目标0-1背包问题上的实验说明算法的有效性。 本章的结构安排如下:5.首先介绍权重分解方法和切比雪夫分 2节介绍MOEA/D, 5.解方法,随后完整地描述MOEA/D框架和MEDA/D;3节详细介绍规模自适应生成算 子,并证明该算子保持多样性的能力;4节介绍多目标的01背包问题和sMEDA/D在 9个实例上的实验结果;5.5.- 5节总结本章内容。 5.基于分解的多目标演化算法框架 2 .................................................. 2.分解方法 5.1 1. 权重分解方法 通过对每个目标赋予不同权重,可以将多目标问题转化为多个单目标问题。目标函 演化机器学习(第 2 版) 数的权重和定义如下: x|λ)λfi( maxgw (= Σ(m) ix) i=1 subjecttox ∈ Ω (5-1) 其中,λ1λ2…λm ]T 权重向量 λ 应当满足归一化条件和正定条 λ=[是权重向量。通常, m 件。也就是说,对于所有i∈{1,2,…,m},Σλi=1并且λi≥0 。在满足这个条件的前 1≤i≤ m 提下,理论已经证明:如果原问题是凸的,所有帕累托最优解都可以通过加权分解方法得 到[48];如果原问题是非凸的,上述结论并不成立。一个权重向量对应于一个子问题。在 MOEA/D中,在算法的初始化阶段就生成算法所需要的所有权重向量,这些向量在整个 计算过程中保持不变。 2. 切比雪夫分解方法 为了介绍切比雪夫分解方法,首先给出理想目标向量(和空想 idealobjectivevector) 目标向量(utopianobjectivevector)的定义[49]。对于理想目标向量,每个分量的值为对应 目标函数所有可能取值的最大值,即对每一个i∈{1,2,…,m}都有 z *=supx∈Ωfi ()。空想目标向量定义如下,对于所有i∈{1,2,…,m},**=z*+..并且..i(i) >0 。这两个向量(x) 都可以作为参考向量使用[49]。一个多目标问题的切比(z) 雪夫(i) 分解(i) 方法遵循如下形式:(i) mingx|λ,=max{i|fi(x) t( z *)λzi *} subjecttox ∈ Ω (5-2) 其中,λ1λ2…λm T 是权重向量。理论已证明,当参考点是空想目标向量时,对于任 λ=[] 意一个帕累托最优解 x *∈Ω,都存在一个向量0ci} 5: k =argmin j∈J g(x)-g(xj-)/Σi∈I wij 6: xk =0 7: endwhile 8:endprocedure 其中,g(x)是目标函数,xj- 是x 将j 个分量改写为0后的解。这个修复算子使用贪 第5 章 基于分解的多目标分布估计算法 53 心算法,不断移除价值低但重量大的物品,直到满足限制条件[50]。 为了测试算法并和MOEA/D比较,本章使用了多目标0-1背包问题的9个实例作 为测试问题。包含3种不同的目标和3种不同问题规模的组合。每个实例记为KN-n-m, 其中,n 表示物品的数量,m 表示目标的个数,即背包的数量。 5.4.2 参数研究 本节主要研究参数s 的影响。在5.3节中已经证明,参数s 具有明确的物理意义。 s 不应该取过大的值,否则算法将倾向于随机搜索。即使一个较小的s 也可以显著提 高解的质量。例如,当s=0.4时,问题的规模是n=500,生成的解与父代不同的概率 至少为 Pchange =1- 1-0.4 500 . è . . . ÷ 500 >32% (5-14) 需要指明的是,这是在极端情况下取得的结果,也就是所有邻域中的解都相同的时候。邻 域中的解一般并不相同,那么由算子生成不同的解的概率更大。在探究参数s 的影响时, 本节使用Hypervolume作为评价指标。这是因为Hypervolume不需要其他算法作为参 考。在本节中,测试s∈{0,0.2,0.4,0.6,0.8,1.0}。图5-1为算法性能随参数s 的变化情 况。图5-1(a)是使用权重分解方法时的结果,而图5-1(b)是使用切比雪夫分解方法时的 结果。在 计算Hypervolume时,同样选取了原点作为计算的参考点。对于不同目标个数的 问题,Hypervolume的变化范围很大(1×107~1×1018),因此要对结果进行归一化,从而 使得结果可以直观地比较。将所得到的结果除以相同问题下s=0时的结果。那么y 轴 为相对值,因此对于所有实例,结果都从1.00开始。从图5-1中可以看出,改进的算子相 对于MEDA/D是有效的,s-MEDA/D 得到的结果要优于MEDA/D 得到的结果。对于 二目标问题,随着s 的增加,Hypervolume也增加;对于三目标问题,算法的性能在s=0.8 时达到最大,当s=1.0时性能出现下降。s-MEDA/D 对参数并不敏感,所以得到的结果 波动较小。 5.4.3 实验设置与性能指标 在MOEA/D框架中,首先需要分解多目标问题。无论使用上述的权重分解方法还 是切比雪夫分解方法,都需要生成一组权重向量。权重向量的数量由参数H 决定。对于 每一个权重向量,其分量的值从以下集合中选取: 0H ,1H ,…,H H { } (5-15) 演化机器学习(第 2 版) 图5- 1 算法性能随参数 s 的变化 m-1 这种方式产生的权重向量的个数为 N =CH +m-。为了实现公平的比较,本章算法中的权 重向量的生成方式与MOEA/D和MEDA/D是(1) 相同的。具体的设置如下:对于两目标 问题的3个不同规模的实例,权重向量的数量分别为150 、200 和250 。对于三目标问题, 参数 H 设定为25;对于四目标问题, H 设定为12 。在MOEA/D框架中,还有一个重要 的参数T,即向量的邻域大小。对于所有实例,邻域大小取T=10,这个设置与MOEA/D[50] 一样。MOEA/D中变异算子的变异概率为0.01 。s-MEDA/D中参数 s 设定为0. 4。 实验中,算法在达到最大评价次数时终止。本章实验所使用的终止条件与 MOGLS[52]和MOEA/D[50]中使用的终止条件一致。对于每一组实例都进行30 次独立 实验。本章实验参数如表5-1所示。给定两个包含近似帕累托最优解的集合 A 和B,通 过计算覆盖指标C(A,B)可以反映两组解的优劣。C(A,B)表示被 A 中解支配的解在 54 第 5 章基于分解的多目标分布估计算法 B 中所占的比例,其定义如下: |{su}|C(A,B)= u ∈B|. v ∈A:vdominate(5-16)|B| Zitzler等人[53]使用解集所覆盖的区域的大小作为解集的评判标准,称为 Hypervolume[53]。Hypervolume 最大的优势在于可以独立评价一个解集的质量。但是 Hypervolume 需要一个参考点。在本章的实验中,对于所有的实例,都使用原点作为参 考点。对于不同算法的实验结果,使用显著性为95% 的威尔科克森符号秩检验计算算法 得到结果是否存在的显著差异。 表5- 1 本章实验参数 实例 N 最大评价数 (×103) T Pmutation (MOEA/D) s (s-MOEA/D) KN-250-2 KN-500-2 KN-750-2 KN-250-3 KN-500-3 KN-750-3 KN-250-4 KN-500-4 KN-750-4 150 200 250 351 351 351 455 455 455 75 100 125 150 125 150 125 150 175 10 0.1 0.4 5.4 实验结果 4. 表示 s 。 -MEDA/D和MOEA/D实验结果比较如表5-2所示。具有显著差别的结果用粗体 从表5-2可以得出如下结论。对于覆盖指标,s-MEDA/D在9个实例上都优于 MOEA/D。对于问题规模为250 的3个实例,C(在85% 左右,而 s-MEDA/D,MOEA/D) C(MOEA/D,s-MEDA/D)小于10% 。对于问题规模为750 的3个实例,C(-MEDA/D, 大于99.而C(MOEA/D,为0。这说明在这3(s) 个实例上, MOEA/D) 5%, s-MEDA/D) s-MEDA/D得到的绝大多数解都支配了MOEA/D得到的解,而MOEA/D得到的结果 中没有任何解支配了s-MEDA/D得到的解。对于Hypervolume 指标,除了KN-250-2以 外,其他所有的结果都表明s-MEDA/D显著优于MOEA/D。 55 演化机器学习(第 2 版) 56 !!"#!!"$%&'!&"$(%'!&#$%&'( )*" #"+,)*+,-./012,+, #!!"$%&'!&"$(%'!&##!$(%'!&"!"$%&'!&#!"$%&'&$(%'!& !"#$%& !"#$%& $345667689343:67;!&'&(&)*+,&'&%$*)(!-'*)$%$),&'&+&*.%#/0&.!-'*))$1*,&'&&($&%#/0&. )3458;#669343<##8<&'&)(&)*,&'&+%-+)!84#6:#;!934338<::#%=77!-'$1&1(%,&'&&(.$+#/0++ 1345;7;!89343<66<:&'&$*.1),&'&+&*(-!5433:5;;9343386#5#%=7!!.'-)((+.,&'&&(*.1#/0+% !"#%&& $3485<56!93437<686&'&&&$.-,&'&&+&11!;43:7;6#93433#653#%=35!1'&%)-%%,&'&&$*((#/0&* )3488;87593433!7;6&'&&&)-.,&'&&&-&-!64::!388934335:<8#%=7#!.'%*+-11,&'&&(-%+#/0+$ 134858;<#93433;!37&'&&&$$(,&'&&&)$$!74<