-
多目标优化问题通常是指具有多个目标同时具有多个最优解的一类问题,解决这类问题需要同时对相互作用、相互冲突的多个目标进行优化和综合考虑,因此多目标优化已经被广泛应用于电力调度[1]、网络优化[2]、化工过程[3]、结构设计[4]、数据挖掘[5]等领域。
以焊接机器人路径规划问题为例,衡量焊接路径好坏的指标往往不止一个,通常有路径长度、焊接用时、能量消耗、焊接变形量等,因此可将焊接机器人路径规划问题看作一个多目标优化问题。进化算法是一类模拟生物自然选择与自然进化的随机搜索算法[6],通过种群迭代来协调局部与全局搜索能力,从而获得收敛性和分布性均较好的解集,能够有效地解决多目标优化问题。王学武等[7]通过将基于分解的多目标进化算法与自适应邻域相结合,以焊接路径长度和能量消耗为优化目标,较好地解决了弧焊机器人路径规划问题。Mac等[8]基于Pareto支配关系提出了改进的多目标粒子群优化算法,以焊接路径长度和路径平滑度为优化目标求解移动机器人路径规划问题,在不同种类的环境中均得到了较好的仿真结果。
多目标优化算法是解决多目标优化问题的核心,关键在于如何设计算法以获得较好的综合性能,而超体积(Hypervolume,HV)指标是唯一一个在Pareto支配关系上严格单调的度量指标[9],超体积值越大,对应算法的综合性能越好,因此超体积可以作为归档策略、多样性机制或选择标准来指导算法搜索[10],从而考虑将评价算法性能的超体积指标整合到算法中来解决多目标优化问题[11]。Bader等[9]提出的HypE算法通过蒙特卡洛模拟来近似精确的超体积,能够大大降低算法的时间复杂度、平衡估计的准确性和算法的计算复杂度。Igel等[12]提出的MO-CMA-ES算法将具有协方差矩阵自适应的精英进化策略与基于非支配排序的多目标选择相结合,实验结果表明基于超体积贡献的s-MO-CMA比基于拥挤距离的c-MO-CMA具有更好的性能。Beume等[13]提出的SMS-EMOA算法采用在每次迭代中只产生和淘汰一个个体的稳态进化策略,在二维和三维的测试问题上表现出较好的综合性能。
上述基于超体积指标的算法具有计算复杂度高、程序运行效率低的缺点,因此选择有效计算超体积的方法来提升算法的运行效率并且获得较好的综合性能对基于超体积指标的进化算法来说具有重要意义。
-
计算超体积的方法主要分为两类:精确计算和近似估计,这两类方法的共同目的均是要平衡运行效率和计算精度。在近似估计超体积的方法中,Hernández等[14]提出了超体积牛顿方法(HNM),将其与SMS-EMOA结合能够快速有效地解决连续双目标优化问题。Deng等[15]指出精确计算超体积是一个NP-难问题,提出通过极坐标变换降维,与蒙特卡洛模拟方法相比,该方法在对随机点进行排序时更加稳定。Shang等[16]提出了一种基于R2指标的R2-HVC估计方法,通过使用不同的线段来近似超体积贡献值,提高了计算效率和估计精度。在精确计算超体积的方法中,While等[17]提出了将目标进行切片的HSO算法,能够有效计算超体积,在此基础上改进的还有SHSO*[10]、IIHSO[18]和FPL[19]算法。While等[20]通过计算解集上每个点的独立超体积进行迭代,生成许多的被支配点来加速计算,降低了计算复杂度,并通过将IHSO算法中的最佳优先级排队机制和WFG算法中生成许多被支配点来加速计算的方式进行结合,提出了IWFG[21]算法。文献[22-24]将超体积计算问题转换为Klee的度量问题,其最坏情况的时间复杂度为
$O\left(n\lg n + \dfrac{{nd}}{2}\lg n\right)$ 或$O\left(n\lg n + \dfrac{{nd}}{2}\right)$ [25],在四维的超体积计算中时间复杂度降低为$O\left(\dfrac{{nd}}{2}\right)$ [26]。基于分而治之的思想,FHV算法[27]能够并行计算超体积,处理高维多目标优化问题时非常有效。QHV算法[28]能够降低时间和空间复杂度,获得了较好的算法性能。Lacour等[29]通过将支配区域划分为超矩形来计算超体积指标,提出了超体积盒子分解算法(HBDA),并提出了一种非增量方法和一种增量方法,其时间复杂度分别为
$O({n^{\left[\tfrac{{p - 1}}{2}\right] + 1}})$ 和$O({n^{\left[\tfrac{p}{2}\right] + 1}})$ 。Jiang等[30]通过删除不相关的解和转移超体积贡献值提出了FV-MOEA算法,大大减少了精确计算超体积的计算量。通过超体积指标来指导算法搜索,其HV性能指标普遍较高,但仍然存在运行效率低、分布性不好的缺点,而基于参考点的NSGA-Ⅲ搜索的解分布均匀,因此本文提出了一种基于超体积指标的多目标进化算法(MOEA-HV),针对二维和三维的多目标优化问题,采用分治递归思想的切片法来精确计算超体积,同时在基于指标的进化算法(IBEA)[11]前对所有种群个体进行非支配排序提前删除被支配的个体,从而减少个体独立贡献超体积的计算量,提升运行效率,通过与NSGA-Ⅲ结合来优化算法的分布性。
-
IBEA主要包括两个部分:一是将超体积指标与适应度评价函数进行结合,计算种群中每个个体的适应度值,公式如下:
其中:
$I(\{ {x^2}\} ,\{ {x^1}\} )$ 表示计算个体的独立贡献超体积;$k$ 是一个大于0的比例缩放因子[31],用于淘汰适应度值小的个体,即在原种群中删除对总的超体积的独立贡献最小的个体,如图1和图2所示(以二维为例)。在图1、2中,A和B均表示一个个体,H表示计算超体积的参考点,阴影部分AHV和BHV表示个体A和B的独立支配区域面积,其中图1表示个体A和B在互不支配时的独立支配区域面积,图2表示个体B支配个体A时的独立支配区域面积,均有BHV>AHV,因此不论是根据个体的支配关系还是个体对总的超体积的独立贡献,更应该淘汰个体A。事实上,超体积指标在Pareto支配关系上是严格单调的,因此能够作为指导种群进化的有效度量指标[9]。
重新计算种群中每个个体的适应度值,其更新公式为
通过二元锦标选择父代进行交配从而产生新的个体,与原种群一起构成新的种群,继续进行迭代。
IBEA通过将超体积指标和适应度评价方法相结合来指导种群进化,与基于超体积指标的其他典型算法HypE[9]、MO-CMA-ES[12]和SMS-EMOA[13]相比,在保证综合性能最优或次优的前提下,其运行效率是最高的,这也是本文选择IBEA作为算法基础框架的主要原因。
-
NSGA-II[32]是基于拥挤度距离建立偏序集来筛选个体指导种群进化,能够有效处理多目标优化问题。NSGA-Ⅲ[33]在NSGA-II的基础上通过使用一组预定义的参考点在临界层选择个体来确保种群良好的分布性,该算法在最坏情况下的时间复杂度为O(N2lgM-2N)或O(N2M)。
基于参考点方法的NSGA-Ⅲ能够维持种群个体分布的多样性和均匀性,因此将NSGA-Ⅲ整合到IBEA框架中,获得的解能够同时具有良好的收敛性和分布性,使得程序的运行效率更高,同时解也能够均匀分布在整个Pareto前沿面。有两种方法可以将NSGA-Ⅲ和IBEA结合:一是在IBEA运行完成的基础上再运行NSGA-Ⅲ,也就是IBEA先迭代更新完成,获得收敛性较好的种群,然后将获得的种群作为NSGA-Ⅲ的初始种群继续进行迭代优化,以期获得分布性也较好的解;二是先运行NSGA-Ⅲ,然后将获得的分布均匀的种群作为IBEA的初始种群、利用超体积指标指导种群进化来继续对选择过程增压,以期获得综合性能均较好的解。
本文选择第1种结合方式。因为在基于超体积指标的算法中,IBEA的收敛速度较快,分布性较差,因此重点在于改善IBEA的分布性,在IBEA运行的基础上再运行NSGA-Ⅲ能够实现此目的。而对于第2种方式,先利用NSGA-Ⅲ获得分布性较好的解,然后在此基础上通过IBEA继续进行个体的迭代选择,很可能会破坏之前已经均匀分布的解,反而降低了算法的综合性能。
-
IBEA通过计算种群中每个个体的独立贡献超体积及其适应度值淘汰适应度值最小的个体,并依次进行迭代,使得算法最终能获得一个较好的解集,但计算复杂度高,主要原因在于IBEA计算了每个个体的独立贡献超体积。本文的改进之处是先通过Pareto支配关系对个体进行筛选,得到一组非支配解集,然后计算非支配解集中每个个体的独立贡献超体积,淘汰贡献值最小的个体并依次迭代。通过提前删除质量不好的个体而避免计算其独立贡献超体积,能够有效节约个体的超体积计算量,而且减小了计算复杂度,提升运行效率。以二维为例,图3示出了非支配排序后的解集分布情况,很容易计算出每个个体的独立贡献超体积(即面积)。图4示出了经过初始化后产生的种群个体分布情况,处于乱序状态,此时要淘汰独立贡献超体积最小的个体仍然需要计算每个个体的贡献值,浪费了部分计算资源,因此本文考虑在IBEA前引入非支配排序来提升算法的运行效率。
三维的非支配排序情况与二维类似,但个体独立贡献超体积的计算更加复杂。本文采用切片法来精确计算三维个体的独立贡献超体积,基本思想是计算整个解集的超体积与去除该个体后的超体积之差。具体来说,先利用某一维度(本文选择第一维度)对整个超体积进行切片以达到降维的目的,通过计算切割面的面积与切片在第一维度上的深度的乘积得到整个解集的超体积,然后用同样的方法计算去除该个体后的超体积,两个超体积之差即为三维情况下的个体独立贡献超体积(即体积)。假设解集中有4个个体P1、P2、P3、P4,图5(a)、(b)、(c)和(d)分别示出了整个解集的超体积、经过切片后的子超体积、个体P1和P2的独立贡献超体积。通过精确计算每个个体的独立贡献超体积,淘汰独立贡献超体积最小的个体来指导种群进化。
-
通过精确计算种群中个体的独立贡献超体积来指导种群进化,在IBEA前对所有种群个体进行非支配排序并与NSGA-Ⅲ结合,共同组成了MOEA-HV算法。算法步骤如下:
输入:种群数量、组合迭代次数、参数k、参考点
输出:Pareto前沿面
(1)初始化。获得初始种群,并生成参考点。
(2)非支配排序。对种群进行非支配排序,提前删除被支配的个体,减少超体积的计算量。
(3)计算非支配排序后种群中每个个体的适应度值,并淘汰适应度值最小的个体。
(4)选择、交叉、变异,产生新的种群。利用二元锦标法选择最优的两个个体到交配池进行交叉变异,产生新的个体与原种群合并为新的种群。
(5)嵌入NSGA-Ⅲ。将新得到的种群作为NSGA-Ⅲ的初始种群继续进行迭代,满足迭代要求则停止迭代并输出。
-
仿真实验使用Lenovo-PC计算机,处理器为Intel(R) Core(TM) i5-4200M CPU @ 2.50 GHz,内存为4.00 GB,操作系统为基于x64处理器的64位操作系统Windows 8.1中文版,软件版本为MATLAB R2018a,程序运行均在PlatEMO[34]平台实现。
为检验MOEA-HV的运行效率和综合性能,与其他典型的基于超体积的算法IBEA[11]、HypE[9]、MO-CMA-ES[12]、SMS-EMOA[13]以及NSGA-Ⅲ[33]进行对比实验,选择2个目标的ZDT和3个目标的DTLZ系列中具有代表性的典型测试函数ZDT1~ZDT6和DTLZ1~DTLZ7进行实验,通过运行时间评价算法的运行效率,通过IGD[35]和HV[36]指标评价算法的综合性能,其中IGD值越小说明算法的综合性能越好,HV值越大说明算法的综合性能越好,这两个评价指标都能够综合评价算法的收敛性和分布性。设置种群大小为100,迭代次数为500,所有算法在相同条件下独立运行10次,k=0.03。表1~3分别列出了各算法的运行时间、IGD均值(IGDm)和HV均值(HVm),其中黑体数字为最优值。图6示出了MOEA-HV算法在测试函数ZDT2、ZDT3、DTLZ2和DTLZ7上的Pareto前沿面。
Function Runtime/s IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 5.805 9 2.382 7×102 2.505 1×101 1.037 1×102 2.294 8 3.565 1 ZDT2 5.677 5 2.093 2×102 2.030 5×101 1.037 1×102 2.562 5 3.794 6 ZDT3 6.307 8 2.180 1×102 2.114 8×101 1.037 1×102 2.476 0 3.664 3 ZDT4 5.921 3 4.812 4×102 5.670 2×101 3.082 6×102 2.109 9 3.363 5 ZDT5 5.803 1 1.219 2×102 4.012 4×101 9.799 1×101 2.432 5 3.764 6 ZDT6 6.341 6 2.758 3×102 2.182 9×101 1.056 9×102 2.132 2 3.442 4 DTLZ1 6.750 3 1.530 4×103 2.123 8×101 1.400 5×102 2.254 0 3.193 0 DTLZ2 6.557 4 2.574 3×103 2.925 0×101 1.764 9×103 2.366 4 3.392 4 DTLZ3 6.540 3 7.428 3×102 2.852 4×101 7.409 8×102 2.315 8 3.418 9 DTLZ4 6.984 5 1.607 4×103 2.712 1×101 1.798 2×103 3.156 7 3.647 5 DTLZ5 8.936 0 1.952 2×103 3.120 9×101 9.536 4×102 3.634 6 4.783 0 DTLZ6 7.703 3 3.425 2×103 2.469 5×101 9.919 2×102 3.865 8 5.082 8 DTLZ7 6.612 4 1.945 6×103 2.041 4×101 1.591 3×103 2.695 8 3.815 0 表 1 各算法运行时间均值
Table 1. Mean runtime of each algorithm
Function IGDm IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 4.587 6×10−3 2.353 4×10−1 6.216 7×10−3 3.651 3×10−3 3.887 9×10−3 3.887 9×10−3 ZDT2 9.304 7×10−3 2.217 0×10−1 6.057 1×10−3 4.320 3×10−3 3.807 7×10−3 3.807 2×10−3 ZDT3 6.669 7×10−2 1.988 6×10−1 8.550 1×10−3 2.675 5×10−2 1.192 7×10−2 2.914 5×10−2 ZDT4 1.923 0×10−2 4.601 2×10−1 8.874 1 3.627 3×10−3 4.112 8×10−3 4.192 9×10−3 ZDT5 2.330 0 1.782 9 3.374 9×10−1 4.727 1×10−1 4.873 8×10−1 5.749 2×10−1 ZDT6 5.027 5×10−3 3.070 2×10−3 4.025 2×10−3 2.986 3×10−3 3.002 4×10−3 3.001 5×10−3 DTLZ1 1.705 1×10−1 1.338 3×10−1 8.173 3 3.179 1×10−2 2.062 4×10−2 2.061 9×10−2 DTLZ2 8.041 8×10−2 1.337 4×10−1 1.122 5×10−1 7.753 1×10−2 5.447 0×10−2 5.446 8×10−2 DTLZ3 4.726 8×10−1 3.652 5×10−1 5.184 0×101 8.768 3×10−2 5.782 4×10−2 5.777 5×10−2 DTLZ4 8.088 1×10−2 4.716 6×10−1 1.313 8×10−1 7.801 5×10−2 2.897 3×10−1 5.449 7×10−2 DTLZ5 1.707 6×10−2 1.513 4×10−2 1.125 8×10−2 1.609 3×10−2 1.306 4×10−2 1.289 6×10−2 DTLZ6 2.312 1×10−2 2.176 0×10−1 5.023 0×10−2 1.824 3×10−2 1.977 2×10−2 1.894 5×10−2 DTLZ7 1.487 3×10−1 6.986 2×10−1 1.244 8×10−1 7.642 8×10−2 7.594 8×10−2 7.685 3×10−2 表 2 各算法IGD均值
Table 2. Mean IGD of each algorithm
Function HVm IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 7.199 3×10−1 5.832 3×10−1 7.173 8×10−1 7.207 6×10−1 7.202 9×10−1 7.203 0×10−1 ZDT2 4.434 7×10−1 2.409 5×10−1 4.423 6×10−1 4.453 3×10−1 4.450 2×10−1 4.450 3×10−1 ZDT3 6.872 6×10−1 7.219 1×10−1 5.819 7×10−1 6.411 1×10−1 6.015 1×10−1 6.398 9×10−1 ZDT4 7.049 8×10−1 6.923 3×10−1 − 7.207 2×10−1 7.197 1×10−1 7.190 0×10−1 ZDT5 8.170 4×10−1 8.027 8×10−1 9.711 4×10−1 8.200 6×10−1 8.312 9×10−1 8.265 4×10−1 ZDT6 3.871 2×10−1 3.889 2×10−1 3.879 8×10−1 3.890 0×10−1 3.889 3×10−1 3.889 5×10−1 DTLZ1 4.637 1×10−1 6.104 9×10−1 − 8.149 5×10−1 8.408 9×10−1 8.409 6×10−1 DTLZ2 5.580 1×10−1 5.363 0×10−1 4.208 6×10−1 5.484 5×10−1 5.595 8×10−1 5.596 0×10−1 DTLZ3 2.441 0×10−1 2.736 3×10−1 − 5.193 2×10−1 5.403 4×10−1 5.416 5×10−1 DTLZ4 5.574 5×10−1 3.532 0×10−1 4.828 1×10−1 5.481 2×10−1 4.469 6×10−1 5.594 2×10−1 DTLZ5 1.986 6×10−1 1.960 3×10−1 1.943 1×10−1 1.949 8×10−1 1.932 6×10−1 1.938 4×10−1 DTLZ6 1.970 0×10−1 1.102 8×10−1 1.776 4×10−1 1.950 7×10−1 1.899 6×10−1 1.908 9×10−1 DTLZ7 2.695 3×10−1 2.056 7×10−1 2.513 7×10−1 2.725 3×10−1 2.694 7×10−1 2.705 0×10−1 表 3 各算法HV均值
Table 3. Mean HV of each algorithm
从表1中各算法的运行时间均值来看,MOEA-HV的运行效率要远远高于其他基于超体积的典型算法,在IBEA的基础上提升近两倍,但比NSGA-Ⅲ要慢,究其原因在于NSGA-Ⅲ不需要计算超体积,而对于基于超体积的算法来说,不论采用何种策略、何种计算方法,超体积的时间计算成本仍然非常大。对于基于超体积的算法来说,计算复杂度高是制约算法性能最重要的因素,因此MOEA-HV最大的突破就是在保持良好收敛性和分布性的同时能有效降低计算复杂度,节约计算超体积的时间成本,提高算法的运行效率。
从表2和表3中各算法的IGDm和HVm可以看出,MOEA-HV的收敛性和分布性要明显优于IBEA,同时与NSGA-Ⅲ结合后算法综合性能与NSGA-Ⅲ相比也更优,与其他算法相比能够取得最优或次优的综合性能,且性能稳定。总体来看,MOEA-HV在DTLZ系列测试函数上的性能要优于在ZDT系列测试函数上的性能,因为加入非支配排序和基于参考点的NSGA-Ⅲ算法后,三维解集中的非支配个体要比二维的多,因此MOEA-HV的解集在Pareto前沿面上分布会更加均匀。具体来说,MOEA-HV在测试函数ZDT1、ZDT2、ZDT5、ZDT6和DTLZ1~DTLZ7上的综合性能最优或次优,说明该算法能够较好地处理具有凹性、多模态、偏好的问题,但在测试函数ZDT3、ZDT4上性能表现不佳,算法在处理不连续以及多模态混合问题时尚且有待改进,同时测试函数ZDT5具有欺骗性,导致算法容易陷入局部最优,解的分布性较差,测试函数DTLZ5和DTLZ6具有退化性,比较难收敛,因此测试的所有算法在这两个测试函数上表现的收敛性均较差。与其他基于超体积的典型算法相比,MOEA-HV的运行效率更高,且能够保持较好的收敛性和分布性。
-
MOEA-HV算法是基于IBEA的框架,其中,适应度值计算函数中的参数k对算法的综合性能有一定影响,因此有必要对k的选择进行独立的对比实验,选择使算法表现出最好性能的参数值。设置种群大小为100,迭代次数为500,IBEA在相同条件下独立运行10次,参数k分别为0.030、0.035、0.040、0.045、0.050、0.055、0.060,进行7组对比实验,测试函数为ZDT1~ZDT6和DTLZ1~DTLZ7,分别比较不同参数下算法IBEA的运行时间均值、IGDm和HVm,结果如图7所示。
图 7 不同参数
$k$ 对IBEA运行时间、IGDm值和HVm值的影响Figure 7. Influence of different
$k$ on runtime, IGDm and HVm of IBEA相同条件下程序的运行时间越短说明算法的运行效率越高。从图7(a)中可以看出参数
$k$ 取0.030时,在ZDT3、DTLZ1~DTLZ4、DTLZ6上能够得到最小值,$k$ 取0.035时运行时间均值也较短,说明参数设置得较小能够在一定程度上节约算法的时间成本,且对于ZDT系列测试函数来说,运行时间受参数设置影响较小,而对于DTLZ系列测试函数来说,$k$ 取0.030具有较大优势。从图7(b)可以看出,测试函数ZDT5的分布性较差,不论参数取何值,其IGDm值都远远超过其他测试函数的IGDm值,因此考虑去掉ZDT5测试函数来比较不同参数对算法IGDm值的影响。如图7(c)所示,$k$ 取0.030时在DTLZ1、DTLZ7上的IGDm值明显小于其他参数的IGDm值,且比较稳定,说明$k$ 取0.030时算法的解集在Pareto前沿面上分布更加均匀。从图7(d)可以看出k取0.030时,算法在测试函数ZDT3和DTLZ1上的HVm值最大,在其他测试函数上也好于其他参数,且性能稳定,收敛性更好,综上可认为在比较的7个参数中,$k$ 取0.030时IBEA的运行效率更高,且具有良好的综合性能,因此为了获得最好的算法性能,MOEA-HV中的参数$k$ 也取为0.030。 -
IBEA的计算复杂度高,主要原因是需要计算每个个体的独立贡献超体积,而通过Pareto支配关系对个体进行筛选能够提前删除质量不好的个体从而降低了整个解集中个体的超体积计算量,能够有效提高程序的运行效率。设置种群大小为100,迭代次数为500,在相同条件下独立运行10次,对在IBEA中是否加入非支配排序进行对比实验以探究非支配排序对算法的影响。实验的测试函数为ZDT1~ZDT6和DTLZ1~DTLZ7,分别比较IBEA中是否加入非支配排序的运行时间均值、IGDm值和HVm值,如图8所示,其中NDSort+IBEA(Mean)和NDSort+IBEA(Sd)分别表示算法IBEA加入非支配排序后所获得的平均值以及标准差,而IBEA(Mean)和IBEA(Sd)则表示没有加入非支配排序得到的平均值和标准差。
图 8 非支配排序对IBEA运行时间均值、IGDm值和HVm值的影响
Figure 8. Influence of non-dominated sort on runtime, IGDm and HVm of IBEA
对于2个目标的ZDT系列测试函数来说,计算的超体积为二维的(即面积),比较简单,使得加入非支配排序程序的算法运行时间与IBEA相近甚至更长。因为加入非支配排序后算法的运行效率更高,但同时算法的程序也更长,导致前者节约的时间与后者所消耗的时间刚好抵消,因此在迭代之后两者的运行时间相近。从图8(a)中可以看出,对于3个目标的DTLZ系列测试函数来说,加入非支配排序后算法的运行时间显著降低,是因为三维的超体积更难计算,经过非支配排序之后能有效删除不好的个体,从而大大减少超体积的计算量。同时,从图8(b)、(c)中可以看出,加入非支配排序后算法的性能更加稳定,且能在一定程度上提高算法的综合性能。
-
将IBEA与NSGA-III结合能明显改善算法的分布性,但关键在于如何结合,本文主要考虑两种结合方式:一是IBEA先迭代更新完成获得收敛性较好的种群,然后将获得的该种群作为NSGA-III的初始种群继续进行迭代优化,以期获得分布性也较好的解(简称IBEA+NSGA-III);二是先运行NSGA-III,然后将获得分布均匀的种群作为IBEA的初始种群,利用超体积指标进化继续增压选择,以期获得综合性能均较好的解(简称NSGA-III+IBEA)。设置种群大小为100,两种结合方式中IBEA迭代次数均为100,NSGA-III迭代次数均为500,在相同条件下独立运行10次,通过实验分析决定何种方式更有利于整合到MOEA-HV算法中。实验的测试函数为ZDT1~ZDT6和DTLZ1~DTLZ7,分别比较IBEA与两种不同结合方式IBEA+NSGA-III、NSGA-III+IBEA的运行时间均值、IGDm值、HVm值和标准差(Standard deviation,Sd),如图9所示。
从图9(a)中可以看出,与NSGA-III结合后算法的运行时间大幅下降,且IBEA+NSGA-III比其他两者的综合运行时间更短,但从图9(b)的标准差数据来看,NSGA-III+IBEA比IBEA+NSGA-III的运行时间更加稳定,因为算法NSGA-III的运行速度快,且分布性好,所获得的初始种群较好,因此第2种结合方式(NSGA-Ⅲ+IBEA)的运行时间浮动更小、更稳定。图9(c)~(f)表明IBEA+NSGA-III在所有测试函数上的IGDm值最小、HVm值最大,性能最稳定,且在ZDT5、DTLZ1和DTLZ3测试函数上要明显优于NSGA-III+IBEA,因此本文的组合算法选择IBEA+NSGA-III结合方式。
-
针对二维和三维的多目标优化问题,本文提出了一种基于超体积指标的多目标进化算法(MOEA-HV)。利用分治递归思想的切片法精确计算种群中个体的独立贡献超体积来指导种群进化,通过在IBEA前对所有种群个体进行非支配排序提前删除被支配的个体,从而减少个体独立贡献超体积的计算量来提升运行效率,同时通过与NSGA-Ⅲ结合来优化算法的分布性,主要有3点改进之处:(1)设计对比实验选择更好的参数;(2)通过非支配排序提前删除不好的个体,能有效节约计算超体积的时间成本;(3)与NSGA-Ⅲ结合来优化算法的分布性。
在今后的研究中,考虑将算法MOEA-HV应用于解决焊接机器人多目标路径规划问题和更高维的问题,并会继续研究精确计算和近似估计超体积的方法,更加有效地提升算法的运行效率,同时结合其他的优化策略持续改善算法的综合性能。
一种基于超体积指标的多目标进化算法
Hypervolume-Based Multi-Objective Evolutionary Algorithm
-
摘要: 基于超体积指标的进化算法能够有效地解决多目标优化问题,可以获得收敛性和分布性均较好的解集,但计算复杂度高、程序运行效率低。针对二维和三维的多目标优化问题,提出了一种基于超体积指标的多目标进化算法(MOEA-HV)。利用精确计算种群中个体的独立贡献超体积来指导种群进化,在基于指标的进化算法(IBEA)前对所有种群个体进行非支配排序,提前删除被支配的个体,从而减少个体独立贡献超体积的计算量来提升运行效率,同时与NSGA-Ⅲ算法相结合来优化算法的分布性。实验结果表明,MOEA-HV算法的运行效率更高,且能够获得较好的收敛性和分布性。Abstract: Hypervolume-based evolutionary algorithms can effectively solve the multi-objective optimization problem and obtain promising solution sets with fast convergence and uniform distribution. However, this kind of algorithms have higher computational complexity and lower programming efficiency. Aiming at the two-dimensional and three-dimensional multi-objective optimization problems, this paper proposes a hypervolume-based multi-objective evolutionary algorithm (MOEA-HV) so that the individuals’ exclusive hypervolume contributions can be accurately calculated to guide the evolution of the whole population. Before the indicator-based evolutionary algorithm(IBEA) being utilized, the proposed algorithm employs non-dominated sorting among all individuals to delete dominated individuals so that the amount of calculation of the individuals’ exclusive hypervolume contributions can be reduced and the operational efficiency can be improved. Meanwhile, other strategies in NSGA-Ⅲ are utilized to optimize the distribution of the proposed algorithm. It is shown via the experiment results that the proposed MOEA-HV has higher efficiency while maintaining the trade-off between the fast convergence and the uniform distribution.
-
Key words:
- multi-objective optimization /
- hypervolume /
- non-dominated sorting /
- IBEA
-
表 1 各算法运行时间均值
Table 1. Mean runtime of each algorithm
Function Runtime/s IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 5.805 9 2.382 7×102 2.505 1×101 1.037 1×102 2.294 8 3.565 1 ZDT2 5.677 5 2.093 2×102 2.030 5×101 1.037 1×102 2.562 5 3.794 6 ZDT3 6.307 8 2.180 1×102 2.114 8×101 1.037 1×102 2.476 0 3.664 3 ZDT4 5.921 3 4.812 4×102 5.670 2×101 3.082 6×102 2.109 9 3.363 5 ZDT5 5.803 1 1.219 2×102 4.012 4×101 9.799 1×101 2.432 5 3.764 6 ZDT6 6.341 6 2.758 3×102 2.182 9×101 1.056 9×102 2.132 2 3.442 4 DTLZ1 6.750 3 1.530 4×103 2.123 8×101 1.400 5×102 2.254 0 3.193 0 DTLZ2 6.557 4 2.574 3×103 2.925 0×101 1.764 9×103 2.366 4 3.392 4 DTLZ3 6.540 3 7.428 3×102 2.852 4×101 7.409 8×102 2.315 8 3.418 9 DTLZ4 6.984 5 1.607 4×103 2.712 1×101 1.798 2×103 3.156 7 3.647 5 DTLZ5 8.936 0 1.952 2×103 3.120 9×101 9.536 4×102 3.634 6 4.783 0 DTLZ6 7.703 3 3.425 2×103 2.469 5×101 9.919 2×102 3.865 8 5.082 8 DTLZ7 6.612 4 1.945 6×103 2.041 4×101 1.591 3×103 2.695 8 3.815 0 表 2 各算法IGD均值
Table 2. Mean IGD of each algorithm
Function IGDm IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 4.587 6×10−3 2.353 4×10−1 6.216 7×10−3 3.651 3×10−3 3.887 9×10−3 3.887 9×10−3 ZDT2 9.304 7×10−3 2.217 0×10−1 6.057 1×10−3 4.320 3×10−3 3.807 7×10−3 3.807 2×10−3 ZDT3 6.669 7×10−2 1.988 6×10−1 8.550 1×10−3 2.675 5×10−2 1.192 7×10−2 2.914 5×10−2 ZDT4 1.923 0×10−2 4.601 2×10−1 8.874 1 3.627 3×10−3 4.112 8×10−3 4.192 9×10−3 ZDT5 2.330 0 1.782 9 3.374 9×10−1 4.727 1×10−1 4.873 8×10−1 5.749 2×10−1 ZDT6 5.027 5×10−3 3.070 2×10−3 4.025 2×10−3 2.986 3×10−3 3.002 4×10−3 3.001 5×10−3 DTLZ1 1.705 1×10−1 1.338 3×10−1 8.173 3 3.179 1×10−2 2.062 4×10−2 2.061 9×10−2 DTLZ2 8.041 8×10−2 1.337 4×10−1 1.122 5×10−1 7.753 1×10−2 5.447 0×10−2 5.446 8×10−2 DTLZ3 4.726 8×10−1 3.652 5×10−1 5.184 0×101 8.768 3×10−2 5.782 4×10−2 5.777 5×10−2 DTLZ4 8.088 1×10−2 4.716 6×10−1 1.313 8×10−1 7.801 5×10−2 2.897 3×10−1 5.449 7×10−2 DTLZ5 1.707 6×10−2 1.513 4×10−2 1.125 8×10−2 1.609 3×10−2 1.306 4×10−2 1.289 6×10−2 DTLZ6 2.312 1×10−2 2.176 0×10−1 5.023 0×10−2 1.824 3×10−2 1.977 2×10−2 1.894 5×10−2 DTLZ7 1.487 3×10−1 6.986 2×10−1 1.244 8×10−1 7.642 8×10−2 7.594 8×10−2 7.685 3×10−2 表 3 各算法HV均值
Table 3. Mean HV of each algorithm
Function HVm IBEA HypE MO-CMA-ES SMS-EMOA NSGA-Ⅲ MOEA-HV ZDT1 7.199 3×10−1 5.832 3×10−1 7.173 8×10−1 7.207 6×10−1 7.202 9×10−1 7.203 0×10−1 ZDT2 4.434 7×10−1 2.409 5×10−1 4.423 6×10−1 4.453 3×10−1 4.450 2×10−1 4.450 3×10−1 ZDT3 6.872 6×10−1 7.219 1×10−1 5.819 7×10−1 6.411 1×10−1 6.015 1×10−1 6.398 9×10−1 ZDT4 7.049 8×10−1 6.923 3×10−1 − 7.207 2×10−1 7.197 1×10−1 7.190 0×10−1 ZDT5 8.170 4×10−1 8.027 8×10−1 9.711 4×10−1 8.200 6×10−1 8.312 9×10−1 8.265 4×10−1 ZDT6 3.871 2×10−1 3.889 2×10−1 3.879 8×10−1 3.890 0×10−1 3.889 3×10−1 3.889 5×10−1 DTLZ1 4.637 1×10−1 6.104 9×10−1 − 8.149 5×10−1 8.408 9×10−1 8.409 6×10−1 DTLZ2 5.580 1×10−1 5.363 0×10−1 4.208 6×10−1 5.484 5×10−1 5.595 8×10−1 5.596 0×10−1 DTLZ3 2.441 0×10−1 2.736 3×10−1 − 5.193 2×10−1 5.403 4×10−1 5.416 5×10−1 DTLZ4 5.574 5×10−1 3.532 0×10−1 4.828 1×10−1 5.481 2×10−1 4.469 6×10−1 5.594 2×10−1 DTLZ5 1.986 6×10−1 1.960 3×10−1 1.943 1×10−1 1.949 8×10−1 1.932 6×10−1 1.938 4×10−1 DTLZ6 1.970 0×10−1 1.102 8×10−1 1.776 4×10−1 1.950 7×10−1 1.899 6×10−1 1.908 9×10−1 DTLZ7 2.695 3×10−1 2.056 7×10−1 2.513 7×10−1 2.725 3×10−1 2.694 7×10−1 2.705 0×10−1 -
[1] 朱永胜, 王杰, 瞿博阳, 等. 采用基于分解的多目标进化算法的电力环境经济调度[J]. 电网技术, 2014, 38(6): 1 577-1 584.
[2] MURUGESWARI R, RADHAKRISHNAN S, DEVARAJ D. A multi-objective evolutionary algorithm based QoS routing in wireless mesh networks[J]. Applied Soft Computing, 2016, 40: 517-525. doi: 10.1016/j.asoc.2015.12.007 [3] 王珊珊, 杜文莉, 陈旭, 等. 基于约束骨干粒子群算法的化工过程动态多目标优化[J]. 华东理工大学学报(自然科学版), 2014, 40(4): 449-457. doi: 10.3969/j.issn.1006-3080.2014.04.008
[4] RYU N, LIM S, MIN S, et al. Multi-objective optimization of magnetic actuator design using adaptive weight determination scheme[J]. IEEE Transactions on Magnetics, 2017, 53(6): 1-4. [5] 陈志旺, 白锌, 杨七, 等. 区间多目标优化中决策空间约束、支配及同序解筛选策略[J]. 自动化学报, 2015, 41(12): 2 115-2 124.
[6] 郑金华, 李珂, 李密青, 等. 一种基于Hypervolume指标的自适应邻域多目标进化算法[J]. 计算机研究与发展, 2012, 49(2): 312-326.
[7] 王学武, 夏泽龙, 顾幸生. 基于DMOEA/D-ET算法的焊接机器人多目标路径规划[J]. 华南理工大学学报(自然科学版), 2019, 47(4): 99-106.
[8] MAC T T, COPOT C, TRAN D T, et al. A hierarchical global path planning approach for mobile robots based on multi-objective particle swarm optimization[J]. Applied Soft Computing, 2017, 59: 68-76. doi: 10.1016/j.asoc.2017.05.012 [9] BADER J, ZITZLER E. HypE: An algorithm for fast hypervolume-based many-objective optimization[J]. Evolutionary Computation, 2011, 19(1): 45-76. doi: 10.1162/EVCO_a_00009 [10] ZHOU X, GUO P, CHEN C L P. An algorithm for calculating the hypervolume contribution of a set[C]// World Automation Congress 2012. Mexico: IEEE, 2012: 439-443. [11] ZITZLER E, SIMON K. Indicator-based selection in multiobjective search[C]// International Conference on Parallel Problem Solving from Nature. Berlin, Heidelberg: Springer, 2004: 832-842. [12] IGEL C, HANSEN N, ROTH S. Covariance matrix adaptation for multi-objective optimization[J]. Evolutionary Computation, 2007, 15(1): 1-28. doi: 10.1162/evco.2007.15.1.1 [13] BEUME N, NAUJOKS B, EMMERICH M. SMS-EMOA: Multiobjective selection based on dominated hypervolume[J]. European Journal of Operational Research, 2007, 181(3): 1 653-1 669. doi: 10.1016/j.ejor.2006.08.008 [14] HERNÁNDEZ V A S, SCHUTZE O, WANG H, et al. The set-based hypervolume newton method for bi-objective optimization[J]. IEEE Transactions on Cybernetics, 2020, 50(5): 2 186-2 196. [15] DENG J, ZHANG Q. Approximating hypervolume and hypervolume contributions using polar coordinate[J]. IEEE Transactions on Evolutionary Computation, 2019, 23(5): 913-918. [16] SHANG K, ISHIBUCHI H, NI X. R2-based hypervolume contribution approximation[J]. IEEE Transactions on Evolutionary Computation, 2020, 24(1): 185-192. [17] WHILE L, HINGSTON P, BARONE L, et al. A faster algorithm for calculating hypervolume[J]. IEEE Transactions on Evolutionary Computation, 2006, 10(1): 29-38. doi: 10.1109/TEVC.2005.851275 [18] BRADSTREET L, WHILE L, BARONE L. A fast many-objective hypervolume algorithm using iterated incremental calculations[C]// 2010 IEEE Congress on Evolutionary Computation. Spain: IEEE, 2010: 1-8. [19] FONSECA C M, PAQUETE L, LOPEZ-IBANEZ M. An improved dimension-sweep algorithm for the hypervolume indicator[C]// 2006 IEEE International Conference on Evolutionary Computation. Canada: IEEE, 2006: 1 157-1 163. [20] WHILE L, BRADSTREET L, BARONE L. A fast way of calculating exact hypervolumes[J]. IEEE Transactions on Evolutionary Computation, 2012, 16(1): 86-95. doi: 10.1109/TEVC.2010.2077298 [21] WHILE L, BRADSTREET L. Applying the WFG algorithm to calculate incremental hypervolumes[C]// 2012 IEEE Congress on Evolutionary Computation. Australia: IEEE, 2012: 1-8. [22] OVERMARS M H, YAP C K. New upper bounds in Klee’s measure problem[C]//Proceedings 1988 29th Annual Symposium on Foundations of Computer Science. USA: IEEE, 1988: 550-556. [23] GAZIT H. New upper bounds in Klee’s measure problem[J]. SIAM Journal on Computing, 1991, 20(6): 1 034-1 045. doi: 10.1137/0220065 [24] BEUME N. S-metric calculation by considering dominated hypervolume as Klee’s measure problem[J]. Evolutionary Computation, 2009, 17(4): 477-492. doi: 10.1162/evco.2009.17.4.17402 [25] BEUME N, RUDOLPH G. Faster S-metric calculation by considering dominated hypervolume as Klee’s measure problem[C]// 2nd IASTED International Conference on Computational Intelligence, CI 2006. USA: ACTA Press, 2006: 231-236. [26] GUERREIRO A P, FONSECA C M, EMMERICH M T. A fast dimension sweep algorithm for the hypervolume indicator in four dimensions[C]// 24th Canadian Conference on Computational Geometry, CCCG 2012. Canada: Canadian Conference on Computational Geometry, 2012: 77-82. [27] WATANABE T, TATSUKAWA T, OYAMA A. On the fast hypervolume calculation method[C]// 2015 IEEE Congress on Evolutionary Computation (CEC). Japan: IEEE, 2015: 965-969. [28] RUSSO L M S, FRANCISCO A P. Quick hypervolume[J]. IEEE Transactions on Evolutionary Computation, 2012, 18(4): 481-502. [29] LACOUR R, KLAMROTH K, FONSECA C M. A box decomposition algorithm to compute the hypervolume indicator[J]. Computers & Operations Research, 2017, 79: 347-360. [30] JIANG S, ZHANG J, ONG Y S, et al. A simple and fast hypervolume indicator-based multiobjective evolutionary algorithm[J]. IEEE Transactions on Cybernetics, 2015, 45(10): 2 202-2 213. doi: 10.1109/TCYB.2014.2367526 [31] 郑金华, 邹娟. 多目标进化优化[M]. 北京:科学出版社, 2018:175-176.
[32] DEB K, PRATAP A, AGARWAL S, et al. A fast and elitist multiobjective genetic algorithm: NSGA-II[J]. IEEE Transactions on Evolutionary Computation, 2002, 6(2): 182-197. doi: 10.1109/4235.996017 [33] DEB K, JAIN H. An evolutionary many-objective optimization algorithm using reference-point-based nondominated sorting approach: Part I. Solving problems with box constraints[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(4): 577-601. doi: 10.1109/TEVC.2013.2281535 [34] YE T, RAN C, ZHANG X, et al. PlatEMO: A matlab platform for evolutionary multi-objective optimization[Educational Forum][J]. IEEE Computational Intelligence Magazine, 2017, 12(4): 73-87. [35] BOSMAN P A N, THIERENS D. The balance between proximity and diversity in multiobjective evolutionary algorithms[J]. IEEE Transactions on Evolutionary Computation, 2003, 7(2): 174-188. doi: 10.1109/TEVC.2003.810761 [36] ZITZLER E, THIELE L. Multiobjective evolutionary algorithms: A comparative case study and the strength Pareto approach[J]. IEEE Transactions on Evolutionary Computation, 1999, 3(4): 257-271. doi: 10.1109/4235.797969 -