APP下载

融合分区和局部搜索的多模态多目标优化

2021-09-11胡洁范勤勤王直欢

智能系统学报 2021年4期
关键词:测试函数分区种群

胡洁,范勤勤,2,王直欢

(1.上海海事大学 物流研究中心,上海 201306;2.上海交通大学 系统控制与信息处理教育部重点实验室,上海 200240)

现实生活中的问题往往会涉及多个优化目标,且它们可能彼此冲突、相互制约,这类问题被称为多目标优化问题(multi-objective optimization problem,MOP)[1]。而多模态多目标优化问题(multimodal multi-objective optimization problem,MMOP)是其中一类较特殊的问题。相比于传统的多目标优化问题,它在决策空间的多个解可能会有相同的目标值。故多模态多目标优化问题不仅要找到多样性好和逼近性好的近似帕累托前沿(pareto front,PF),而且要在决策空间找到尽可能多的等价解[2]。

由于多模态多目标问题在近几年才受到学者们的重视和研究,故相比于多目标优化算法的研究,其成果相对较少。基于Li[3]提出的无参数小生境算法,Yue 等[4]在此基础上提出基于环形拓扑结构的粒子群算法(multi-objective particle swarm op timizer using ring-topology,MO_Ring_PSO_SCD)来解决多模态多目标问题,该算法除引入基于索引的环形拓扑结构外,还在决策空间和目标空间中设计一种新的特殊的拥挤距离来进行粒子选择与更新。结果表明,该算法能定位和保持大量的等价解;Liang 等[5]提出一种自组织多模态多目标粒子群算法(self-organizing multi-objective particle swarm optimization algorithm,SMPSO-MM)。该算法使用自组织映射网络构建粒子间的邻域关系并进行邻域间信息交流;另外引入精英策略避免算法陷入停滞。实验结果表明该算法能够定位到更多等价解,决策空间解的分布也较均匀;Li 等[6]提出一种基于适应度排序与强化学习的多模态多目标算法(differential evolution based on reinforcement learning with fitness ranking,DE-RLFR),该算法首先使用适应度函数联合排序值确定种群中每个个体的分层状态,再根据分层状态确定进化方向和变异策略,最后利用强化学习来引导种群搜索。实验证明该算法可以显著提高决策空间中种群搜索效率,在解决多模态多目标问题时有较好表现;Fan 等[7]则使用分区的概念来提高种群在决策空间中的多样性和降低问题的求解复杂度。研究表明,该方法能够辅助MO-Ring-SO-SCD 找到更多等价解。Zhang 等[8]提出一种基于聚类的多模态多目标粒子群算法(cluster based PSO with leader updating mechanism and ring-topology,MMO-CLRPSO)。该算法使用决策变量聚类方法划分子种群,利用带有领导粒子更新机制的全局粒子群算法独立地更新每一个子种群的粒子,并在子种群之间建立环形结构探索未被开发的区域以搜索更多的非支配解。实验结果证明该算法在决策空间与目标空间的解集都能维持较好的多样性;Liang 等[9]提出一种多模态多目标差分进化优化算法(multimodal multi-objective differential evolution optimization algorithm,MMODE)。该算法使用预选择机制将所有个体进行适应度值排序后再根据决策空间中的拥挤距离选择个体进行变异,同时引入新的边界处理方法将停留在边界的个体重新调整。实验结果证明利用 MMODE算法获得的Pareto 解在决策空间和目标空间中都有一个较好的表现;Liu 等[10]提出一种基于归档和重组策略的多模态多目标算法(multimodal multi-objective evolutionary algorithm using two-archive and recombination strategies,TriMOEA-TA&R)。该算法使用决策变量分析技术将种群个体分别归入多样性存档和收敛性存档中,各自从两个存档中选择父代进行交叉复制。此外,多样性存档中使用聚类算法及清除策略来保证目标空间多样性。最终将两个存档的解重组以形成最终解集。实验结果证明,两个存档的分工减少了环境选择的难度,且算法的整体性能明显优于比较算法;Lin 等[11]提出一种决策空间和目标空间双重聚类的多模态多目标进化算法(multimodal multi-objective evolutionary algorithm with dual clustering in decision and objective spaces,MMOEA/DC)。该算法在决策空间和目标空间均采用聚类算法来保持两个空间的多样性。在决策空间根据邻域关系将父代与子代结合并划分为多个类别,将这些类中获得的非支配解及其他收敛性好的解对应在目标空间中的解重新划分为多个类。实验结果表明该算法能够有效定位到全局Pareto 解和局部Pareto 解,并且在两个空间中都有较好的多样性。Zhang 等[12]提出一种改进的粒子群算法(modified particle swarm optimization,MPSO)求解多模态多目标问题。该算法引入一种基于邻域的动态学习策略代替全局学习策略,并使用子代竞争机制来提高算法的多样性。实验结果证明该算法在多数测试函数上的表现都优于其他比较算法。Li 等[13]提出一种基于高斯采样(multi objective particle swarm optimization based on gaussian sampling,GS-MOPSO)的多目标粒子群优化算法以求解多模态多目标问题。该算法在搜索前期利用全局高斯采样方法来进行全局搜索,在搜索后期则采用局部高斯采样来寻找有潜力解的邻域。此外,GS-MOPSO 算法采用一种新的外部存档策略来储存历史解。实验结果表明,该算法能够找到更多Pareto 解。

虽然诸多学者对多模态多目标进化算法进行改进,但如何保持/提高种群多样性和提高局部搜索能力来找到更多等价解仍需得到进一步研究。为提高多模态多目标进化算法的性能,本文提出一种融合分区和局部搜索的多模态多目标粒子群算法(multimodal multi-objective particle swarm optimization combining zoning search and local search,ZLS-SMPSO-MM)。在ZLS-SMPSO-MM 算法中,整个决策空间首先被划分成多个子空间;然后在各个子空间内,自组织映射网络被用来构建各个子空间的邻域,并使用协方差矩阵自适应算法(covariance matrix adaptation evolutionary strategies,CMA-ES)来增强算法的局部搜索能力;最后对所有子空间得到的解集进行合并选择。为验证所提算法性能,本文选取5 种知名多模态多目标进化算法和14 个多模态多目标问题进行比较与测试。所得实验结果表明,ZLS-SMPSO-MM 不仅能够维持种群多样性以找到更多的等价解,而且能够在较短时间内找到高质量的解。

1 预备知识

1.1 多目标优化问题

不失一般性,多目标优化问题(以最小化问题为例)的数学形式表示如下[13-14]:

式中:x为D维的决策矢量;X为D维的决策空间;y=(y1,y2,···ym)∈Y⊆Rm为m维的目标矢量;Y为m维的目标空间。其他一些相关概念如下[15]:

定理1支配关系:向量p支配另一个向量q(记作p≺q)的条件是:如果∀θ ∈{1,2,···,φ},pθ≤qθ,并且p≠q。

定理2Pareto 最优解集(pareto set,PS):一个向量x∗∈X,若不存在其他向量x∈X,使得F(x)≻F(x∗),就称x∗为Pareto 解,所有Pareto 解构成的集合(记作X∗)被称为Pareto 解集。

定理3Pareto 前沿:在多目标优化问题中,Pareto 解集对应目标空间中的目标向量被称为Pareto 前沿,表示为 PF={F(x∗)|x∗∈X∗}。

1.2 多模态多目标优化问题及评价指标

多模态多目标优化问题是一种特殊的多目标优化问题,其主要表现为两种情况:1)决策空间中每个解都有多个等价解;2)决策空间中部分解有多个等价解[7]。由于多模态多目标优化问题不仅需要在目标空间获得逼近性及多样性较好的PF 逼近,也需要在决策空间中获得足够多等价解。因此,本文引入帕累托解集近似(pareto set proximity,PSP)[4]和超体积值(hypervolume,HV)[16]这两种评价指标来评价多模态多目标优化算法的性能。

式中:CR (cover rate)表示所得解集中解个数与真实PS 中解个数的比值,也称为解的覆盖率;IGDx 表示决策空间中的反向世代距离和是算法获得的解集PS*中第j个变量的最大值和最小值;是PS 中第j个变量的最大值和最小值;d(b,PS*)是b与PS 中最近点的欧几里得距离;|PS|表示PS 中解的数量。PSP 主要评价得到的解集PS*与PS 之间的相似性。PSP 的值越大,表示算法得到的等价解越多,算法的性能就越好。

2 融合分区和局部搜索的多模态多目标粒子群算法

2.1 分区搜索

对于求解多模态多目标优化问题来说,提高/维持种群多样性是影响其最后结果的一个重要因素。同时,降低问题求解复杂度也能辅助算法找到质量更好的解。鉴于文献[7]中所提方法能够实现以上两个目标,故所提算法使用分区搜索(zoning search,ZS)来求解多模态多目标优化问题。搜索空间分割步骤:首先从决策空间X的D维优化问题中随机选取h(1≤h≤D)个变量,将每个变量都分割成l(l>1)段,最终,整个决策空间被分为lh个子空间。

2.2 自组织多模态多目标粒子群算法

在所提算法中,选取自组织多模态多目标粒子群算法[5](self-organizing multi-objective particle swarm optimization algorithm for multimodal multiobjective problems,SMOPSO)为基本的搜索算法,其主要步骤如下:

1)构建自组织映射网络(self-organizing maps,SOM)。该步骤主要利用SOM 网络为粒子群算法中的粒子构建邻域关系,并在根据邻域关系获得的神经元集合中选取合适的引导粒子指导种群进化。SOM 网络构建邻域关系主要有以下几步[5,17-18]:

①判断获胜神经元。

SOM 网络中输入的数据维度为D,将种群的位置信息x=(x1,x2,···xD) 输入网络,隐藏层中的每个神经元与输入层是全连接的结构,所以神经元的权值矩阵的行秩与输入空间的维度相同,神经元权值矩阵的列秩则与神经元个数相同。因此,整个隐藏层的权值矩阵表示为

其中ε 代表SOM 网络中神经元个数。

竞争过程就是找到与输入向量x最佳匹配的权值向量,等价于找到与向量x欧几里得距离最小的权值向量,该权值向量所对应的神经元也被称之为获胜神经元。其主要公式为

用索引I(uρ) 来标识与输入向量x最佳匹配的权值向量,其公式为

②获取邻域神经元信息并更新权值。

根据竞争过程产生的获胜神经元的索引确定获胜神经元在隐藏层中的位置,并根据邻域半径确定其邻域神经元。根据已获得的获胜神经元的信息更新邻域神经元的权值信息,权值更新为

式中:g为当前代数;G为最大迭代代数;η 为学习率。

2)获得合适的引导粒子。根据1)中构建的SOM 网络,记录种群内每个粒子对应的获胜神经元及每个获胜神经元的邻域神经元,将获胜神经元及其邻域神经元对应的粒子组成引导粒子的备选库,并采用非支配排序法选择排序在第一位的粒子作为当前的引导粒子。

3)粒子速度和位置更新。

式中:v=(v1,v2,···vD) 表示粒子速度;w′为惯性权重;r1和r2是在(0,1)区间正态分布间的随机数;c1和c2是两个加速因子;xpbest是个体历史最优;xnbest是个体邻域最优。

4)粒子速度和位置超出临界值修正。在进行粒子速度和位置更新时,若粒子速度超出临界值,则将其设置为临界值;若粒子位置超出临界值,则将粒子位置设置为临界值并将该点粒子的速度设置为当前速度的相反数。

5)当g≥G时,算法停止。否则回到1)。

2.3 协方差矩阵自适应策略搜索

协方差矩阵自适应策略(covariance matrix adaptation evolutionary strategies,CMA-ES)主要步骤如下[19]:

1)对种群内所有粒子进行采样。采样即利用正态分布得到粒子的 λ 个新搜索点作为进入下一代进化的候选解,其采样公式为

式中:λ ≥2[20];k代表第g+1代中第k个个体;eg∈Rn是已被挑选入第g代种群的所有个体的加权平均位置;σg∈R+是第g代种群进化的步长;Cg∈RD×D是第g代种群进化的协方差矩阵;N(0,Cg)是均值为0,协方差矩阵为Cg的多元正态分布;wi是采样后产生的个体的权值。

采样完成后,重新计算eg+1并设置每个个体的权值,使质量更好的个体有更大概率进行下一步操作。

2)协方差矩阵更新。使用秩-µ 更新模式来计算连续进化代之间的变异步长,并调整协方差矩阵。协方差矩阵的更新分为两个部分,第1 部分是对进化路径进行更新,公式为

式中:hσ为Heaviside 函数;cc为权值系数;µw为方差有效选择质量[20]。第2 部分是对协方差矩阵进行更新,公式为

其中cγ是协方差矩阵的学习率。

3)全局步长控制。全局步长控制进化路径更新与2)的进化路径相似,公式为

式中:cσ为进化路径的学习率;µeff为方差有效选择质量,计算方式与 µw一致[20]。

全局步长更新公式为

其中dσ是接近阻尼1 的系数。

4) 停止准则。当算法消耗评价次数大于CMA-ES 算法最大评价次数时,算法停止。否则,回到2)。

2.4 融合分区和局部搜索的多模态多目标进化算法

基于2.1~2.3 节,融合分区和局部搜索的多模态多目标算法的具体实现步骤如下:

输入种群规模NP;算法最大评价次数A;分区数量zn;粒子群参数w、r1、r2、c1、c2;子空间外部存档容量Q;CMA-ES 算法参数cγ、cc、cσ、局部搜索步长 σ、单个个体进行CMA-ES 搜索消耗的最大评价次数A1;单个个体进行CMA-ES 搜索消耗的累计评价次数A2;CMA-ES 算法加入时消耗的算法总评价次数A3;算法累计评价次数A4。

输出PS*和PF*。

1)初始化种群x=(x1,x2,···xNP),子空间外部存档Q,A1=12,A2=0,A3=0,A4=0;CMA-ES 算法其他参数与文献[19]保持一致。

2)根据2.1 节对决策空间进行分割,得到4 个子空间。

3)在各个子空间中使用2.2 节的多模态多目标进化算法进行搜索。

4)当A3=0 时,分别对各个子空间中得到的非支配解使用2.3 节的局部搜索算法。当单个粒子消耗的累计评价次数大于A1时,该粒子的局部搜索过程结束。下一粒子继续进行局部搜索。直到NP 个粒子完成局部搜索,或者A4≥A时局部搜索结束。

5)每个参与局部搜索的粒子与其产生的子代均使用基于特殊拥挤距离的非支配排序法[4]进行排序,排在第一位的粒子取代原本参与局部搜索的粒子进入粒子群,其余非支配解均加入外部存档。当外部存档内的非支配解个数大于外部存档容量Q时,继续使用基于特殊拥挤距离的非支配排序法进行排序,将前Q个解保留。若外部存档内非支配解个数小于Q,则全部保留。

6)循环3)~5),直到A4≥A1时跳出循环。

7)将每个子空间内最后一代粒子群与子空间外部存档合并,使用基于特殊拥挤距离的非支配排序法选出每个子空间的非支配解。将4 个子空间的解集合并后使用环境选择得到最终解集PS∗=selection(PS1∗∪PS2∗∪PS3∗∪PS4∗)和近似帕累托前沿 PF∗=selection(PF1∗∪PF2∗∪PF3∗∪PF4∗)。

3 实验结果与分析

3.1 测试函数

为验证ZLS-SMPSO-MM 的性能,本文选取14 个多模态多目标优化问题对其进行测试。其中,8 个MMF 问题[4]、3 个SYM-PART 问题[21]、3 个OMNI 问题[22],详情见表1。所有优化问题的目标个数均为2,MMF 问题与SYM-PART 问题的空间维度为2,OMNI 问题的空间维度分别为3、4、5。PSs 的数量表示决策空间中的不同PS 对应目标空间同一个PF 的数量,PSs 的数量越大,问题的求解难度也会相应增大。最后一列表示的是PSs 在决策空间的每一维度是否重叠,一般情况下,PSs 在决策空间的重叠会增加问题的复杂度。

表1 多模态多目标优化问题的相关特征Table 1 Features of multimodal multi-objective optimization problems

3.2 实验设置

为验证ZLS-SMPSO-MM 的性能,本文选取5 种多模态多目标进化算法来进行比较。其分别是DN-NSGA-II[2]、Omni-optimizer[22]、MO-Ring-PSO-SCD[4]、SMPSO-MM[5]、Zoning-MO-Ring-SCDPSO[7]。同时,所有比较算法的参数设置与原文献一致。本实验中所有测试函数均为2 目标问题,所有测试函数的种群数量均设置为800,最大评价次数为80 000,单个粒子使用CMA-ES 算法的评价次数设置为12。外部存档容量设置为800。每种算法在测试函数上均独立运行20 次。为保证实验结果分析的可靠性,采用Wilcoxon[23]和Friedman[24]非参数检验方法对实验结果进行统计分析,显著性水平设置为5%。其中“+”、“−”分别表示所提算法优于、劣于相比较算法;“≈”表示所提算法与相比较的算法性能相近。

3.3 结果对比

ZLS-SMPSO-MM 与其他5 种比较算法所得PSP 值的平均值和标准方差见表2。同时,由Wilcoxon 得到的统计分析结果也在表2 中显示。从表2 可以看出,所提算法在14 个测试函数上所得结果都要显著好于DN-NSGA-II、Omni-optimizer、MO-Ring-PSO-SCD、ZS-MO-Ring-SCD-PSO。相比于SMPSO-MM,除在MMF3函数上取得相似的结果,ZLS-SMPSO-MM 在其他测试函数上都能得到更好的结果。同时,这6 种算法得到的PSP 值排序结果如下表3,在该表中,利用Friedman 非参数检验方法对实验结果进行统计分析时,将所有算法得到的测试函数的PSP 值均取为其相反数,故排序值越小,算法性能越佳。根据表3 结果可得,ZLS-SMPSO-MM 在所有比较算法中性能最佳。这是因为使用多模态多目标进化算法进行搜索前先使用分区策略划分了决策空间。在各个互不重叠的子空间区域使用相同规模的粒子群分别进行空间搜索,提升种群多样性的同时也降低了各个子空间的搜索难度;每个子空间内都引入局部搜索算法,在每次全局搜索后的潜力区域用局部搜索能力强的CMA-ES 算法进行精细搜索,因此能够找到更多高质量的解。

表2 不同算法得到的PSP 平均值与标准方差Table 2 PSP average and standard deviation values obtained by different algorithms

续表 2

表3 所有比较算法在PSP 上的性能排序Table 3 Performance rankins of all compared algorithms on PSP

ZLS-SMPSO-MM 与其他5 种比较算法所得HV 值的平均值和标准方差见表4。同时,由Wilcoxon 得到的统计分析结果也在表4 中显示。从表4 中可以看出,ZLS-SMPSO-MM 只在MM7、SYM-I、SYM-II、SYM-III 和OMNI-I 这5 个测试函数中得到较好的结果,Omni-optimizer 则在剩余的9 个测试函数中占优势,但它们之间的数值差异并不是很显著。这6 种比较算法得到的HV 值排序结果见表5,ZLS-SMPSO-MM 排在第二位。主要原因是ZLS-SMPSO-MM 中采取的分区策略和局部搜索只能改变算法在决策空间的性能,对目标空间的影响十分有限。目标空间中仍旧采取了之前的选择策略,因此性能提升效果不明显,但相对于除Omni-optimizer 外的其他算法,所提算法在目标空间的表现还是要优于其他4 种算法。因此,若是想提升算法在目标空间的性能就必须在目标空间中使用合适的多目标处理技术。

表4 不同算法得到的HV 平均值与标准方差Table 4 HV average and standard deviation values obtained by different algorithms

续表 4

表5 所有比较算法在HV 上的性能排序Table 5 Performance rankins of all compared algorithms on HV

综合各算法的PSP 值和HV 值实验结果,所提ZLS-SMPSO-MM 算法获得的帕累托解集能够较好地逼近真实帕累托前沿,相比于其他算法具有更好的收敛性和多样性。

3.4 算法分析

3.4.1 分区搜索与局部搜索对算法的影响

为验证分区搜索与局部搜索的有效性,该部分实验分别选取没有分区搜索和局部搜索的SMPSO-MM、有分区搜索但没有局部搜索的SMPSO-MM(命名为ZS-SMPSO-MM)来和所提算法进行性能比较。同时,所有算法参数设置与3.2 节一致;并挑选3.2 节14 个测试函数进行实验,所得结果见表6。

表6 SMPSO-MM 及其变种得到的PSP 平均值与标准方差Table 6 PSP average and standard deviation values obtained by SMPSO-MM and its variant algorithms

续表 6

从ZLS-SMPSO-MM 和ZS-SMPSO-MM 的结果来看,除M M F1、M M F4、M M F6、M M F5、MMF7这5 个测试函数外,ZLS-SMPSO-MM 在其余测试函数上得到的PSP 值均明显优于ZSSMPSO-MM,尤其是在较复杂的SYM 函数与OMNI 函数上。这说明局部搜索策略能够有效辅助多模态多目标进化算法找到更高质量和更多的等效解。从ZLS-SMPSO-MM 与SMPSO-MM 的结果来看,除MMF3测试函数外,所提算法能够在所有测试函数上取得更佳效果。这表明分区搜索和局部搜索能够有效帮助SMPSO-MM 算法找到更多的等价解。主要是由于分区搜索能够维持算法种群多样性和降低问题求解难度,而局部搜索能够提高搜索精度。另外,从ZS-SMPSO-MM与SMPSO-MM 的结果来看,除MMF3、SYM-I、SYM-II 这3 个测试函数外,其余测试函数的PSP值均显著优于SMPSO-MM,从实验结果可知,分区搜索能够帮助SMPSO-MM 算法定位到更多的等效解,该结论与文献[7]一致。

由于测试函数的帕累托解在整个决策空间并非均匀分布,因此均衡的分区策略会浪费一些计算资源,如测试函数MMF3,SMPSO-MM 加入分区搜索后,其PSP 值反而下降。但总体来说,同时使用分区搜索与局部搜索能够提高算法求解多模态多目标问题的能力。

3.4.2 局部搜索评价次数A1敏感值分析

由于局部搜索会消耗一定的计算量,局部搜索过多消耗计算资源可能使算法全局求解能力下降,而过少消耗计算资源则可能导致局部搜索算法能力发挥不足。故本部分对单个粒子进行局部搜索使用的评价次数进行分析,并用PSP 性能指标来对实验结果进行评价。选取3.1 节的14 个测试函数进行实验,并将单个粒子进行局部搜索使用的评价次数A1设定为4、8、12、16,其他参数设定同3.2 节。

所得结果使用Friedman 测试来进行性能排序,见图1。从图1 中可以看出,一开始随着局部搜索评价次数的增加,算法的性能也会得到相应的提升,但随着评价次数增加到一定的程度,算法的性能反而会降低。这是因为合适的局部搜索评价次数能平衡局部搜索能力与全局搜索能力。另外,根据图1 的结果显示,当A1=12 时,算法的性能表现最佳,因此在所提算法中将A1设置为12。

图1 A1 对所提算法的影响Fig.1 Impact of A1 on the proposed aglroithm

3.4.3 局部搜索评价次数A3敏感值分析

使用局部搜索的时间对算法性能会产生影响。直观来看,过早使用局部搜索会因为所寻得的区域潜力不足而浪费计算资源,过晚使用则可能无法发挥局部搜索的真正作用。因此,本节对局部搜索的使用时间进行分析,并用PSP 性能指标来对实验结果进行评价。选取3.1 节的14 个测试函数进行实验。将局部搜索的使用时间设置为算法已消耗的评价次数。使用时间分为A3=0、A3=2 000、A3=4 000和A3=6 000。除该参数外其余实验参数设置同3.2 节。

所得结果使用Friedman 测试来进行性能排序,见图2。从图2 中可以看出,在种群进化前期加入局部搜索能够更加有效帮助算法找到更多的等效解。其主要原因是局部搜索能够在较短时间内辅助多模态多目标进化算法找到高质量的解。当然,这完全取决于算法能否在进化前期就能找到有潜力的搜索区域。另外,图2 表示当算法已消耗评价次数不小于2 000 时,其能使所提算法性能达到最佳,因此在所提算法中设置A3=2 000。

图2 A3 对所提算法的影响Fig.2 Impact of A3 on the proposed aglroithm

3.4.4 种群规模敏感值分析

为分析种群规模对算法的影响,本实验选取第3.1 节的14 个测试函数;使用PSP 作为算法性能评价指标;并将种群规模分别设定为400、800、1 200、1 600,其他参数设定同第3.2 节。最大评价次数均为80 000。

所得结果使用Friedman 测试来进行性能排序,见图3。从图3 中可以看出,随着种群规模的增加,算法的性能逐渐降低。其主要原因是,虽然大的种群规模可以提高各个分区的种群多样性,但在计算资源有限的情况下,搜索代数会减小,这将直接影响算法的搜索效率。同时,当算法种群规模在400 时,算法的性能最佳。但为与第3.2 节中比较算法的种群规模保持一致,所提算法的种群规模仍设置为800。

图3 种群规模对所提算法的影响Fig.3 Impact of population size on the proposed aglroithm

4 结束语

为提高多模态多目标进化算法在搜索过程中的种群多样性和搜索等价解的能力,本文提出一种融合分区和局部搜索的多模态多目标粒子群算法ZLS-SMPSO-MM。在该算法中,首先将整个搜索空间分成多个子空间,然后使用多模态多目标粒子群算法对各个子空间进行搜索,并使用局部搜索来提高算法的搜索效率,最后将各个子空间所得解集进行合并选择。为验证ZLS-SMPSOMM 算法的性能,选取14 个多模态多目标优化问题,并将其与DN-NSGA-II、Omni-optimizer、MORing-PSO-SCD、SMPSO-MM、ZS-MO-Ring-SCDPSO 等多模态多目标算法进行比较。实验结果表明,分区搜索和局部搜索能够有效帮助SMPSOMM 找到更多的等价解。

猜你喜欢

测试函数分区种群
山西省发现刺五加种群分布
上海实施“分区封控”
基于博弈机制的多目标粒子群优化算法
中华蜂种群急剧萎缩的生态人类学探讨
浪莎 分区而治
具有收缩因子的自适应鸽群算法用于函数优化问题
带势函数的双调和不等式组的整体解的不存在性
约束二进制二次规划测试函数的一个构造方法
基于SAGA聚类分析的无功电压控制分区
基于多种群遗传改进FCM的无功/电压控制分区