«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (12): 62-70  DOI: 10.19678/j.issn.1000-3428.0060297
0

引用本文  

倪水平, 戚海涛, 李慧芳. 基于多种群遗传与思维进化的混合算法[J]. 计算机工程, 2021, 47(12), 62-70. DOI: 10.19678/j.issn.1000-3428.0060297.
NI Shuiping, QI Haitao, LI Huifang. Hybrid Algorithm Based on Multiple Population Genetic and Mind Evolution[J]. Computer Engineering, 2021, 47(12), 62-70. DOI: 10.19678/j.issn.1000-3428.0060297.

基金项目

国家自然科学基金面上项目(61872126,61772159)

通信作者

戚海涛(通信作者), 硕士研究生

作者简介

倪水平(1977-), 男, 副教授、博士, 主研方向为人工智能、物联网技术、嵌入式系统;
李慧芳, 硕士研究生

文章历史

收稿日期:2020-12-16
修回日期:2021-02-11
基于多种群遗传与思维进化的混合算法
倪水平 , 戚海涛 , 李慧芳     
河南理工大学 计算机科学与技术学院, 河南 焦作 454000
摘要:多种群遗传算法(MPGA)搜寻最优解的能力受初始种群分布的影响,在解决复杂函数优化问题时存在早熟收敛风险,而思维进化算法(MEA)存在局部搜索精度低和全局收敛速度慢的问题。针对两者的不足,提出一种MPGA和MEA混合的优化算法MPGA-MEA。为参与MEA趋同操作的各子群体设置不同的控制参数,独立进行遗传搜索,同时利用移民算子增强子群体的互动,实现协同进化,直至子群体成熟。在此基础上,释放劣质子群体,并选择全局公告板中记录的优质个体执行交叉和变异操作,产生中心个体,对应生成的临时子群体参与新一轮的迭代寻优。基于不同测试函数的仿真结果表明,该混合算法相较于MPGA和MEA,MPGA-MEA对高维多峰函数的寻优能力得到明显提升。
关键词多种群遗传算法    思维进化算法    选择操作    交叉操作    变异操作    移民算子    人工选择算子    
Hybrid Algorithm Based on Multiple Population Genetic and Mind Evolution
NI Shuiping , QI Haitao , LI Huifang     
School of Computer Science and Technology, Henan Polytechnic University, Jiaozuo, Henan 454000, China
Abstract: The ability of the Multiple Population Genetic Algorithm(MPGA) to search for the optimal solution is greatly affected by the initial population distribution, and it has a high risk of premature convergence when solving the problem of complex function optimization.The Mind Evolution Algorithm(MEA) is limited in the local search accuracy and global convergence speed.To address the problems, an optimization algorithm that combines MPGA and MEA is proposed.It sets different control parameters for each subgroup participating in convergence operation in MEA to perform genetic search independently.At the same time, it uses the immigration operator to enhance the interactions between subgroups to realize coevolution until the subgroups mature.On this basis, the inferior subgroups of MPGA-MEA are released, and superior individuals recorded in the global bulletin board are selected to perform crossover and mutation operations to generate central individuals, and the corresponding temporary subgroups are involved in the new round of iterative optimization.The simulation results of several test functions show that compared with the original MEA and MPGA algorithms, MPGA-MEA displays a significant improvement in the optimization ability of high-dimensional and multimodal functions.
Key words: Multiple Population Genetic Algorithm(MPGA)    Mind Evolution Algorithm(MEA)    selection operation    crossover operation    mutation operation    immigration operator    artificial selection operator    

开放科学(资源服务)标志码(OSID):

0 概述

进化算法作为计算机科学与生物进化规律结合发展形成的一类启发式搜索算法,克服了传统优化算法存在的全局寻优能力差、解的质量依赖初始值等缺陷,对求解复杂问题表现出较强的鲁棒性[1]。标准遗传算法(Standard Genetic Algorithm,SGA)[2]作为进化算法的代表之一,广泛应用于图像处理[3]、组合优化[4]、函数优化[5]、车间调度[6]等领域。然而,SGA存在收敛速度慢、易早熟等问题[7-9]

为克服SGA存在的早熟收敛问题,研究者提出自适应遗传算法[10]、免疫遗传算法[11]、小生境遗传算法[12]、基于结构相似度的遗传算法[13]等改进算法,并进行实际应用。但SGA的这一缺陷与诸多因素有关,并且其控制参数的设定[14]和遗传算子的设计[15]应根据实际问题试探性地进行。文献[16]在SGA的基础上提出了多种群遗传算法(Multiple Population Genetic Algorithm,MPGA)。MPGA引入了多种群的概念,通过为不同种群赋予不同控制参数的方式,提高了SGA控制参数的灵活性,同时,还定义了移民算子和人工选择算子,用于加强各种群之间的联系,实现了多种群协同进化,但该算法的全局寻优能力存在进一步提升的空间[17]

文献[18]针对早期进化算法存在的问题提出了思维进化算法(Mind Evolution Algorithm,MEA)。MEA在结构上保留了进化算法的并行性,其定义的趋同操作和异化操作分别用于局部搜索和全局探测,两者相互协调并保持一定的独立性。虽然MEA具有灵活、高效的搜索框架,但其执行过程存在重复搜索、局部寻优能力弱、异化过程生成的临时子群体具有随机性等缺陷。文献[19-20]分别提出了基于禁忌搜索思想和使用小生境技术改进的MEA,解决了MEA重复搜索的问题。此外,文献[21]使用粒子群算法提高了MEA的局部寻优能力。

本文提出一种MPGA与MEA的混合算法,将MPGA的寻优机制和遗传操作融入MEA的搜索框架,以期在保留MPGA优点的基础上提升MEA局部搜索精度和全局寻优能力。

1 思维进化算法与多种群遗传算法 1.1 思维进化算法

MEA是对人类思维进化过程的模拟,其中包含的趋同操作和异化操作使得该算法具有“记忆”和“正向进化”的能力。MEA中趋同操作、异化操作和成熟子群体的定义分别如下:

定义1    子群体范围内的个体为成为胜者而进行竞争的过程称为趋同。

定义2    各子群体在解空间范围内为成为胜者而相互竞争并进行不断地探索的过程称为异化。

定义3    当一个子群体在趋同过程中不再产生新的胜者时,该子群体称为成熟子群体,其趋同过程也随之结束。

MEA的寻优流程如图 1所示。

Download:
图 1 MEA寻优过程 Fig. 1 Optimization process of MEA

MEA在寻优过程中,把全部解空间看作一个群体,再把群体划分为若干个子群体,每个子群体包含对应局部区域的若干个体。适应度得分高的子群体会作为优胜子群体,用于记录全局竞争中优胜者的信息;得分低的子群体则作为临时子群体,用于记录并辅助完成全局竞争的过程。

趋同操作负责各子群体内的局部搜索,该操作的关键步骤是搜寻局部最优个体,并在其临近区域随机生成若干新的成员继续参与搜索,这种寻优方式使得MEA的搜索精度较低。待子群体成熟后,MEA执行异化操作,通过查找全局公告板记录的信息释放得分低的子群体,并使在解空间随机生成新的临时子群体继续参与竞争,保证最优解正向进化,这一过程决定着MEA的全局寻优能力。如此反复迭代,实现全局寻优。

1.2 标准遗传操作

遗传操作是SGA的核心,包括选择、交叉和变异。3种遗传操作的实现过程如下:

1)选择操作

从当代群体中以一定的概率选择个体作为父辈,并繁衍下一代。个体被选中的概率与适应度值成正相关,选择操作为后代的质量提供了保障。

GA常用的选择操作有锦标赛法和轮盘赌法,本文选用基于适应度比例的轮盘赌法。在该选择策略下,选中个体$ i $的概率$ {p}_{i} $的计算公式如式(1)所示:

$ {p}_{i}=\frac{{F}_{i}}{\sum\limits _{j=1}^{N}{F}_{j}} $ (1)

其中:$ N $为种群中的个体数目;$ {F}_{i} $为个体$ i $的适应度得分。

2)交叉操作

对挑选的2个个体以一定的概率交换彼此的部分染色体,生成保留父辈特性的新个体。第$ l $个染色体$ {x}_{l} $和第$ m $个染色体$ {x}_{m} $$ j $位的交叉操作如式(2)所示:

$ \begin{array}{l}{x}_{lj}={x}_{lj}(1-b)+{x}_{mj}b\\ {x}_{mj}={x}_{mj}(1-b)+{x}_{lj}b\end{array} $ (2)

其中:$ b $是[0, 1]之间的随机数。交叉算子是产生新个体的主要算子,取较大的交叉概率值有助于提升算法的全局寻优能力。

3)变异操作

对种群中的个体以一定的概率改变其一个或多个基因座上的基因值。第$ i $个个体的第$ j $个基因$ {x}_{ij} $执行变异操作如式(3)所示:

$ {x}_{ij}=\left\{\begin{array}{l}{x}_{ij}+({x}_{ij}-{x}_{\mathrm{m}\mathrm{a}\mathrm{x}})\times f\left(g\right), r > 0.5\\ {x}_{ij}+({x}_{\mathrm{m}\mathrm{i}\mathrm{n}}-{x}_{ij})\times f\left(g\right), r\le 0.5\end{array}\right. $ (3)

其中:$ {x}_{\mathrm{m}\mathrm{a}\mathrm{x}} $$ {x}_{\mathrm{m}\mathrm{i}\mathrm{n}} $分别为基因$ {x}_{ij} $的上下界;$ r $为[0, 1]区间内的随机数。$ f\left(g\right) $的计算公式如式(4)所示:

$ f\left(g\right)={r}_{2}(1-g/{G}_{\mathrm{m}\mathrm{a}\mathrm{x}}{)}^{2} $ (4)

其中:$ g $为当前迭代次数;$ {r}_{2} $是一个随机数;$ {G}_{\mathrm{m}\mathrm{a}\mathrm{x}} $为最大进化次数。变异算子是产生新个体的辅助算子,取较小的变异概率值有利于提高局部寻优的精度。

1.3 多种群遗传算法

与SGA相比,MPGA具有以下特点:

1)MPGA在解空间生成规模、搜索域相同的多个种群中进行并行优化搜索,打破了SGA单种群进化的框架,其通过对不同种群赋予不同的控制参数,实现不同的搜索目的。

2)各种群之间通过移民算子实现协同进化,最终获得最优解。

3)通过人工选择算子保存各种群在每个进化代中的最优个体,并作为判断算法是否收敛的依据。

MPGA引入的移民算子和人工选择算子描述如下:

1)移民算子。用源种群中的最优个体定期地替换目标种群中的最差个体。

2)人工选择算子。在进化的每一代选出各种群的最优个体放入精英种群进行保存,并且精英种群不进行选择、交叉、变异等遗传操作。

MPGA的寻优过程如图 2所示。可以看出,MPGA中多种群的差异性是由SGA的不同控制参数来维持的,即交叉概率$ {P}_{\mathrm{c}\mathrm{r}\mathrm{o}}^{\mathrm{\text{'}}} $和变异概率$ {P}_{\mathrm{m}\mathrm{u}\mathrm{t}}^{\mathrm{\text{'}}} $的取值。这2个参数的计算公式如式(5)所示:

$ \begin{array}{l}{P}_{\mathrm{c}\mathrm{r}\mathrm{o}}^{\mathrm{\text{'}}}={P}_{\mathrm{c}\mathrm{r}\mathrm{o}}+{d}_{\mathrm{c}\mathrm{r}\mathrm{o}}\times \mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d}({G}_{\mathrm{N}}, 1)\\ {P}_{\mathrm{m}\mathrm{u}\mathrm{t}}^{\mathrm{\text{'}}}={P}_{\mathrm{m}\mathrm{u}\mathrm{t}}+{d}_{\mathrm{m}\mathrm{u}\mathrm{t}}\times \mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d}({G}_{\mathrm{N}}, 1)\end{array} $ (5)
Download:
图 2 MPGA寻优过程 Fig. 2 Optimization process of MPGA

其中:$ {P}_{\mathrm{c}\mathrm{r}\mathrm{o}} $$ {P}_{\mathrm{m}\mathrm{u}\mathrm{t}} $为交叉概率和变异概率的初始值;$ {d}_{\mathrm{c}\mathrm{r}\mathrm{o}} $$ {d}_{\mathrm{m}\mathrm{u}\mathrm{t}} $为变化的区间长度;$ \mathrm{r}\mathrm{a}\mathrm{n}\mathrm{d}\left(\mathrm{ }\right) $为产生随机数的函数;$ {G}_{n} $为种群数目。

1.4 算法分析

MEA定义的趋同操作和异化操作相互独立并彼此协作,任何一方的改进都有利于提高算法的搜索性能:趋同操作并行作用于多个子群体,保证了搜索的高效性;异化操作对成熟子群体进行筛选并探索解空间中新的区域,保证了群体的每一次迭代都是正向进化的。然而,MEA中各子群体相互独立,不同子群体中的个体无法交流,缺乏寻优多样性,并且趋同操作和异化操作在生成子群体成员时具有随机性,增加了搜索成本同时也降低了寻优的效率和精度。

SGA的优点是不受约束条件的限制,在进行函数寻优时不依赖于目标函数的梯度信息、连续性及可导性,其所定义的遗传操作可有效降低算法陷入局部最优的可能性,具有突出的全局搜索能力。但同时,SGA的进化搜索性能受交叉概率、变异概率以及种群规模的影响较大,致使其无法兼顾搜索精度和计算效率,难以找到问题的最优解。MPGA针对SGA的缺陷进行了改进,通过多种群协同进化的方式降低单个种群规模对算法的影响,引入移民算子增强种群的多样性,通过对不同种群设置不同的参数降低寻优结果对交叉概率和变异概率取值的敏感度。MPGA的特性决定了其具有解决大规模、非线性优化问题的能力,但对高维、复杂的多峰函数进行寻优时,仍存在不可忽略的早熟收敛风险。

通过以上分析可知:MEA具有灵活、高效的寻优框架,趋同操作和异化操作均可单独进行改进;MPGA具有多种群协同寻优的特点,能够对种群所在的连续区域进行全面、细致的搜索,但各初始种群的分布会影响其搜寻最优解的能力。由于这2种算法的操作都是面向多种群/子群体的,因此存在一定的相似性,这为本文将MPGA嵌入MEA提供了理论基础。MPGA的寻优机制可辅助MEA趋同操作的执行,增强子群体间的交互,实现局部精细化寻优,保证成熟子群体的质量,并且选择、交叉和变异算子用于异化过程可以提升临时子群体的质量,避免低效搜索。同时,异化操作又能指导新一轮的迭代继续向有利方向进行,最终实现提高MEA局部寻优精度和全局收敛能力的目的。

2 MPGA与MEA的混合算法 2.1 混合策略

本文将MPGA和MEA相结合,提出MPGA-MEA算法,混合策略为:利用MPGA的寻优过程替代MEA子群体内的个体竞争,并在局部公告板中定期记录子群体的最优个体用于移民操作,当局部公告板不再更新时,判定其对应的子群体成熟,此时更新全局公告板,释放得分低的成熟子群体。在此基础上,利用全局公告板信息选择父代,对选中的个体执行交叉、变异操作,将产生的子代个体作为中心个体,以此生成高质量的临时子群体,用于下一轮的迭代寻优。

MPGA-MEA寻优的简化过程如图 3所示,具体步骤如下:

Download:
图 3 MPGA-MEA寻优过程 Fig. 3 Optimization process of MPGA-MEA

步骤1    参数设置。设群体规模为$ {P}_{\mathrm{P}\mathrm{o}\mathrm{p}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}} $,优胜子群体的数量为$ {S}_{\mathrm{N}} $,临时子群体的数量为$ {T}_{\mathrm{N}} $,子群体规模$ {N}_{\mathrm{N}\mathrm{i}\mathrm{n}\mathrm{d}}={P}_{\mathrm{P}\mathrm{o}\mathrm{p}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}}/({S}_{\mathrm{N}}+{T}_{\mathrm{N}}) $

步骤2    群体初始化。在解空间内随机生成规模为$ {P}_{\mathrm{P}\mathrm{o}\mathrm{p}\mathrm{s}\mathrm{i}\mathrm{z}\mathrm{e}} $的群体,并根据适应度得分进行排序。取得分最高的$ ({S}_{\mathrm{N}}+{T}_{\mathrm{N}}) $个个体作为中心个体,在以它们为中心的一定区域内分别产生规模为$ {N}_{\mathrm{N}\mathrm{i}\mathrm{n}\mathrm{d}} $$ {S}_{\mathrm{N}} $个优胜子群体和$ {T}_{\mathrm{N}} $个临时子群体。

步骤3    趋同操作。对优胜子群体和临时子群体分别进行MPGA寻优,待子群体成熟后,取各子群体中的最优个体得分作为对应子群体的得分。

步骤4    异化操作。完成临时子群体和优胜子群体的替换和释放,并选择全局公告板中记录的优胜个体执行交叉、变异操作得到新个体,在以该个体为中心的一定区域内生成新的临时子群体参与下一轮竞争,保证子群体的总数不变。

步骤5    判断是否满足终止条件。若是,结束迭代并输出结果;否则,返回步骤3,进行下一轮迭代搜索。

2.2 算法实现

MPGA-MEA算法实现伪代码如下:

算法1    MPGA-MEA

输入    群体规模PPopsize,子群体规模NNind,优胜子群体数量SN,临时子群体数量TN,交叉概率Pcro,变异概率Pmut,记录外部迭代次数IIter(初始为0),记录全局最优值BBest(初始为0),子群体最优个体需保持的代数MMaxGen,子群体最优个体当前保持代数GGen0(初始为0)

输出    全局最优适应度值BBest

1.在解空间随机生成规模为PPopsize的初始群体InitPop

2.对初始群体InitPop中的个体根据适应度得分进行排序

3.生成规模为NNind的(SN+TN)个子群体

4.while(IIter < 预设定迭代次数 & & 未达到目标精度)

5.各优胜子群体执行趋同操作

5.1.while(GGen0≤MMaxGen & & 未达到目标精度)

5.2.for每个优胜子群体

5.3.根据式(5)计算各子群体的交叉、变异概率

5.4.各优胜子群体执行选择、交叉、变异、重插入操作

5.5.执行移民、人工选择操作

5.6.end for

5.7.if当前最优值优于BBest

5.8.更新BBest

5.9.GGen0=0

5.10.else

5.11.GGen0=GGen0+1

5.12.end if

5.13.end while

5.14.各子群体得分为该子群体最优个体得分

5.15.更新全局公告板

6.各临时子群体执行趋同操作

7.异化操作

7.1.对全部子群体排序后,释放得分最低的TN个子群体

7.2.对全局公告板记录的个体执行选择操作

7.3.分别以概率Pcro、Pmut执行交叉操作、变异操作

7.4产生TN个新个体N(i)

7.5以N(i)为中心个体,在其邻近区域生成TN个新的临时子群体

8.IIter=IIter+1

9.end while

10.输出全局最优适应度值BBest

上述伪代码中各部分与算法步骤的对应关系如下:输入参数设置对应于步骤1;1~3对应于步骤2;5和6对应于步骤3;7.1~7.5对应于步骤4;4和8~10对应于步骤5。通过算法描述可知,MPGA-MEA的迭代包括2种:1)步骤3中MPGA的寻优过程,子群体需要进行多次迭代直至成熟,记为内部迭代;2)步骤5 MEA框架中的迭代,用于辅助子群体正向进化,记为外部迭代。

3 测试与分析 3.1 测试函数与对比算法

为验证MPGA-MEA的性能,选取表 1中列出的6个标准测试函数进行寻优测试,其中:f1f2f3分别为碗状、板状、山谷状的单峰函数,常用于检测算法的收敛性能和搜索精度;f4f5f6为局部极值点分布规律各异的多峰函数,可有效检测算法对复杂优化问题的全局搜索能力。6个标准测试函数的搜索域各不相同,全局最小值均为0。

下载CSV 表 1 测试函数 Table 1 Test functions

选择MPGA和MEA作为MPGA-MEA的对比算法。各算法的时间复杂度与具体的参数设置有关,为降低计算成本,需要根据目标函数的寻优难度和变量维度分别设置合理的初始参数。

3.2 测试结果及分析

本文对不同维度的测试函数设置不同的目标精度,如表 2所示。当算法搜索到满足目标精度的最优解时停止运行,同时为算法陷入局部极值的情况设置相应的终止条件。每个算法对不同维度的测试函数运行50次,适应度函数即为对应的测试函数。

下载CSV 表 2 测试函数在不同维度下的目标精度 Table 2 Target accuracy of the test functions under different dimensions

选用寻优成功率、最差解和耗时作为算法的评价指标。寻优成功率表示算法寻优值达到目标精度的测试次数占测试总次数的百分比;最差解是在算法寻优失败的测试中所搜索到的最差目标值精度;耗时即每次搜索的总用时,评价时取50次测试用时的平均值用于对比。测试环境为64位Windows10操作系统,Intel® CoreTM i7-4510U处理器,仿真平台为MATLAB R2017b,MPGA的相关操作借助Sheffield遗传算法工具箱完成。

3.2.1 单峰函数测试与分析

设置MPGA和MPGA-MEA的交叉概率$ {P}_{\mathrm{c}\mathrm{r}\mathrm{o}} $=0.4,变异概率$ {P}_{\mathrm{m}\mathrm{u}\mathrm{t}} $=0.2,最优个体的保持代数$ {M}_{\mathrm{M}\mathrm{a}\mathrm{x}\mathrm{G}\mathrm{e}\mathrm{n}} $=3;MEA子群体最优个体的保持代数为10;MPGA-MEA的最大外部迭代次数$ {I}_{\mathrm{I}\mathrm{t}\mathrm{e}\mathrm{r}} $=10;算法的各种群/子群体中的个体数$ {N}_{\mathrm{N}\mathrm{i}\mathrm{n}\mathrm{d}} $=30。在对不同维度的单峰函数寻优时,其他主要参数设置如表 3所示。其中,MP为种群数,$ {S}_{\mathrm{N}} $$ {T}_{\mathrm{N}} $分别为优胜子群体和临时子群体的数量。

下载CSV 表 3 3种算法在不同维度下的关键参数设置 Table 3 Key parameters settings of three algorithms under different dimensions

表 4列出了各算法对单峰函数的测试结果。可以看出:对于碗状函数Sphere,MPGA和MPGA-MEA都具有良好的寻优效果,MPGA-MEA平均耗时略小于MPGA,MEA的搜索结果与目标精度相差很大;对于板状函数Zakharov,最优值附近梯度变化平缓,寻优难度高,MEA仅在维度取2时有30%的寻优成功率,在高维度下寻优能力弱,MPGA和MPGA-MEA的寻优能力接近,但MPGA-MEA的平均耗时更短;对于2维的山谷状函数Rosenbrock,仅有MPGA-MEA的寻优成功率为100%,且耗时最短,当维度取值为50、100、200时MEA难以达到目标精度,但寻优结果与目标精度接近,而MPGA在高维度下用时较短。

下载CSV 表 4 3种算法对单峰函数的寻优性能比较 Table 4 Comparison of optimization performance of three algorithms for unimodal functions

通过以上分析可知,MPGA-MEA对单峰函数的寻优成功率最高,MPGA次之,MEA的搜索精度远低于前两者。MPGA和MPGA-MEA对单峰函数的综合寻优能力比较接近,对于MPGA存在寻优失败的情况(如2维的f3函数),MPGA-MEA可以通过异化操作对最优值所在的局部区域加强搜索,直至满足结束条件。为对MPGA和MPGA-MEA的收敛规律做进一步比较,绘制f1~f3在2维和100维时的收敛曲线,如图 4所示。

Download:
图 4 MPGA和MPGA-MEA算法对单峰函数寻优的收敛曲线对比 Fig. 4 Comparison of convergence curves of MPGA and MPGA-MEA algorithms for unimodal functions optimization

由于MPGA-MEA的迭代为优胜子群体或临时子群体执行的内部迭代,因此MPGA-MEA参与执行1次迭代的子群体数少于MPGA参与1次迭代的种群数。同时由于单峰函数不存在局部极值,因此一般无需执行MPGA-MEA的异化操作,图 4实质是比较MPGA-MEA中趋同操作和MPGA的收敛能力。

MPGA-MEA的子群体是以全局优质个体为中心生成的多个小范围种群,因而其收敛曲线的起点一般优于随机分布的MPGA的起点。此外,MPGA的收敛过程变化相对平稳,MPGA-MEA对寻优难度低的函数迭代次数更少,但两者收敛曲线的整体变化趋势相似。

3.2.2 多峰函数测试与分析

设置MPGA和MPGA-MEA的交叉概率$ {P}_{\mathrm{c}\mathrm{r}\mathrm{o}} $=0.4,变异概率$ {P}_{\mathrm{m}\mathrm{u}\mathrm{t}} $=0.2,最优个体保持代数$ {M}_{\mathrm{M}\mathrm{a}\mathrm{x}\mathrm{G}\mathrm{e}\mathrm{n}} $=3;MEA子群体最优个体保持代数为10;MPGA-MEA和MEA的最大迭代次数$ {I}_{\mathrm{I}\mathrm{t}\mathrm{e}\mathrm{r}} $=30;算法的各种群/子群体中的个体数$ {N}_{\mathrm{N}\mathrm{i}\mathrm{n}\mathrm{d}} $=30。由于不同的多峰函数寻优难度相差较大,为保证算法的寻优能力和对比的公平性,对多峰函数的不同维度进行寻优时,分别设置不同的种群和子群体数量,如表 5~表 7所示。其中:$ {M}_{\mathrm{P}} $为种群数;$ {S}_{\mathrm{N}} $$ {T}_{\mathrm{N}} $分别为优胜子群体和临时子群体的数量。

下载CSV 表 5 3种算法对f4的参数设置 Table 5 Parameters settings of three algorithms to f4
下载CSV 表 6 3种算法对f5的参数设置 Table 6 Parameters settings of thress algorithms to f5
下载CSV 表 7 3种算法对f6的参数设置 Table 7 Parameters setting of three algorithms to f6

表 8列出了各算法对多峰函数的测试结果。可以看出:格栅函数Griewank具有很多规律分布的局部极小值,MPGA有较大几率陷入局部极值致使寻优失败,此时搜索到的最优值坐标与实际最优值坐标发生明显偏离,MPGA-MEA的趋同操作同样存在陷入局部极值的风险,得益于异化操作的介入,其能够以较低的代价在最优值附近重新生成新的临时子群体参与迭代搜索,直至满足结束条件,MEA的寻优成功率为0,且与目标精度相差甚远;Rastrigin函数的寻优难度会随着维度的增加迅速增大,使得各算法均无法搜索到高精度的目标值,因此,在高维度下设置的目标精度较低,该目标精度下MPGA的寻优失败率低,MPGA和MPGA-MEA的平均耗时无明显差距,但后者的寻优成功率稳定在100%,MEA无法达到目标精度;Ackley函数广泛用于测试优化算法,该函数最优值附近的梯度变化大,寻优难度相对较低,MPGA和MPGA-MEA在不同维度下都能以较高的精度收敛到最优值附近,两者耗时相近,MPGA-MEA的寻优成功率较高,MEA的搜索精度远低于目标精度。

下载CSV 表 8 3种算法对多峰函数的寻优性能比较 Table 8 Comparison of optimization performance of three algorithms for multimodal functions

通过以上对比可知,MPGA-MEA对多峰函数的寻优能力突出,即使在高纬度下,该算法依旧具备很强的跳出局部极值的能力,可以较低的计算成本提高寻优成功率;MPGA在解决高维度、多极点问题时存在不同程度陷入局部极值的风险,寻优失败的搜索过程耗时也略高;MEA的寻优精度远低于前两者。为对比MPGA和MPGA-MEA的收敛特性,绘制f4~f6在2维和100维时MPGA和MPGA-MEA的收敛曲线,如图 5所示。

Download:
图 5 MPGA和MPGA-MEA算法对多峰函数的寻优曲线对比 Fig. 5 Comparison of optimization curves of MPGA and MPGA-MEA algorithms for multimodal functions

选取MPGA对函数Griewank寻优失败的收敛曲线进行对比,如图 5(a)图 5(b)所示,可以看出:MPGA-MEA的收敛精度明显优于MPGA,但两者在前期的收敛曲线变化一致;当维度取2时,MPGA在第10次迭代时便陷入局部极值,直至寻优结束也未能跳出;当维度为100时,MPGA约在第1 300次迭代时陷入局部极值,直至结束寻优过程;MPGA-MEA能利用异化操作跳出局部极值,生成新的子群体参与下轮搜索。

选取MPGA对函数Rastrigin寻优成功的收敛曲线进行对比,如图 5(c)图 5(d)所示,可以看出,MPGA和MPGA-MEA的收敛规律相似。

选取MPGA对函数Ackley寻优失败和成功的收敛曲线进行对比,如图 5(e)图 5(f)所示,可以看出:维度为2时,MPGA前20次迭代过程的收敛曲线变化和MPGA-MEA相似,然后MPGA陷入局部极值;当维度为100时,两者的收敛曲线变化规律相似。

综上可知:MPGA-MEA对单峰函数的寻优能力与MPGA相近,远高于MEA;对高维、复杂的多峰函数进行寻优时,MPGA-MEA的优势明显,可在保证运算效率的同时,有效克服MPGA和MEA早熟收敛的缺陷。

4 结束语

本文分析MPGA和MEA的优缺点,从优势互补的角度出发设计混合算法MPGA-MEA。该算法以MEA为框架,以MPGA为内核,将MPGA的寻优机制和遗传操作应用到MEA的趋同操作和异化过程中,优化趋同操作对各子群体的搜索效果,提高异化过程中生成的临时子群体的质量,实现对MEA局部搜索精度和全局寻优能力的均衡提升。仿真实验结果验证了MPGA-MEA优越的综合性能。由于条件受限,本文仅对MPGA-MEA进行理论分析和部分标准测试函数的仿真验证,下一步将研究高维度下提升MPGA-MEA寻优效率和搜索精度更优的参数设置,探索各参数取值和算法性能之间的关系,并将现有对MPGA的改进方法应用到MPGA-MEA的趋同操作中,以进一步提升算法的搜索性能。

参考文献
[1]
MOHAGHEGHIAN E, JAMES L A, HAYNES R D. Optimization of hydrocarbon water alternating gas in the Norne field: application of evolutionary algorithms[J]. Fuel, 2018, 223: 86-98. DOI:10.1016/j.fuel.2018.01.138
[2]
PETAR S, DAMIR J, JOSIP V, et al. Application of genetic algorithm in designing high-voltage open-air substation lightning protection system[J]. Journal of Electrostatics, 2018, 93: 43-51. DOI:10.1016/j.elstat.2018.03.003
[3]
GAO B, LI X Q, WOO W L, et al. Physics-based image segmentation using first order statistical properties and genetic algorithm for inductive thermography imaging[J]. IEEE Transactions on Image Processing: A Publication of the IEEE Signal Processing Society, 2018, 27(5): 2160-2175. DOI:10.1109/TIP.2017.2783627
[4]
YE R, DAI Q, LI M L. A hybrid transfer learning algorithm incorporating TrSVM with GASEN[J]. Pattern Recognition, 2019, 92: 192-202. DOI:10.1016/j.patcog.2019.03.027
[5]
李松, 杨诗怡, 张峰峰, 等. 基于遗传算法与最小最大优化方法的六自由度放疗床参数辨识方法[J]. 中国机械工程, 2018, 29(1): 57-62.
LI S, YANG S Y, ZHANG F F, et al. Parameter identification method of 6-DOF radiotherapy beds based on combined genetic algorithm and mini-max optimization[J]. China Mechanical Engineering, 2018, 29(1): 57-62. (in Chinese)
[6]
AGHAJANI A, FOULADI P. A multi-objective mathematical model and genetic algorithm for reliability analysis in flexible job-shop scheduling problem[J]. International Journal of Management Concepts & Philosophy, 2018, 11(2): 219-238.
[7]
潘扬, 石立宝, 姚诸香, 等. 考虑多风电场出力耦合特性的热电联合优化调度[J]. 电力自动化设备, 2019, 39(8): 232-238.
PAN Y, SHI L B, YAO Z X, et al. Optimal scheduling of combined heat and power system considering coupling characteristics of multiple wind farm outputs[J]. Electric Power Automation Equipment, 2019, 39(8): 232-238. (in Chinese)
[8]
SANTIKA G D, MAHMUDY W F, NABA A. Rule optimization of fuzzy inference system Sugeno using evolution strategy for electricity consumption forecasting[J]. International Journal of Electrical and Computer Engineering, 2017, 7(4): 2241-2252.
[9]
张雅舰, 刘勇, 谢松江. 一种求解装箱问题的改进遗传算法[J]. 控制工程, 2016, 23(3): 327-331.
ZHANG Y J, LIU Y, XIE S J. An improved genetic algorithm for bin-packing problem[J]. Control Engineering of China, 2016, 23(3): 327-331. (in Chinese)
[10]
SUI S, MA H, CHANG H W, et al. Optimization design of metamaterial absorbers based on an improved adaptive genetic algorithm[J]. Applied Computational Electromagnetics Society Journal, 2019, 34(8): 1198-1203.
[11]
ZHAO X, XIA X, WANG L, et al. A fuzzy multi-objective immune genetic algorithm for the strategic location planning problem[J]. Cluster Computing, 2019, 22(6): 3621-3641.
[12]
PENG S, QIN S, LI G. Predicting expressway subsidence based on niching genetic algorithm and Holt-Winters model[J]. Arabian Journal of Geosciences, 2019, 12(11): 1-5. DOI:10.1007/s12517-019-4514-x
[13]
郭旭超, 王鲁, 郝霞, 等. 基于改进遗传算法的社区挖掘研究[J]. 计算机工程, 2019, 45(1): 159-164.
GUO X C, WANG L, HAO X, et al. Study of community mining based on improved genetic algorithm[J]. Computer Engineering, 2019, 45(1): 159-164. (in Chinese)
[14]
HAO Y F, XIE S D. Optimal redistribution of an urban air quality monitoring network using atmospheric dispersion model and genetic algorithm[J]. Atmospheric Environment, 2018, 177: 222-233. DOI:10.1016/j.atmosenv.2018.01.011
[15]
刘文斌, 张守志, 施伯乐. 基于GA的飞行员模拟机排班问题求解[J]. 计算机工程, 2011, 37(15): 140-142.
LIU W B, ZHANG S Z, SHI B L. Solution of pilot simulator timetable problem based on genetic algorithm[J]. Computer Engineering, 2011, 37(15): 140-142. (in Chinese)
[16]
POTTS J C, GIDDENS T D, YADAV S B. The development and evaluation of an improved genetic algorithm based on migration and artificial selection[J]. IEEE Transactions on Systems, Man, and Cybernetics, 1994, 24(1): 73-86. DOI:10.1109/21.259687
[17]
张晗, 杨继斌, 张继业, 等. 基于多种群萤火虫算法的车载燃料电池直流微电网能量管理优化[J]. 中国电机工程学报, 2021, 41(3): 833-845.
ZHANG H, YANG J B, ZHANG J Y, et al. Multiple-population firefly algorithm-based energy management strategy for vehicle-mounted fuel cell DC microgrid[J]. Proceedings of the CSEE, 2021, 41(3): 833-845. (in Chinese)
[18]
孙承意, 谢克明, 程明琦. 基于思维进化机器学习的框架及新进展[J]. 太原理工大学学报, 1999, 30(5): 453-457.
SUN C Y, XIE K M, CHENG M Q. Mind-evolution-based machine learning framework and new development[J]. Journal of Taiyuan University of Technology, 1999, 30(5): 453-457. (in Chinese)
[19]
刘洋, 苏德富. 基于混合思维进化计算的网格资源分配算法[J]. 计算机工程与科学, 2007, 29(1): 76-78, 82.
LIU Y, SU D F. A grid resource allocation algorithm based on hybrid mind evolutionary computation[J]. Computer Engineering & Science, 2007, 29(1): 76-78, 82. (in Chinese)
[20]
顾晓勇, 李光辉. 基于NMEA-BP的WSN数据流异常检测算法[J]. 传感技术学报, 2018, 31(5): 746-752.
GU X Y, LI G H. Data stream anomaly detection algorithm based on NMEA-BP in wireless sensor networks[J]. Chinese Journal of Sensors and Actuators, 2018, 31(5): 746-752. (in Chinese)
[21]
李志华, 许新, 黎作鹏, 等. PSO-MEA混合优化算法及其收敛性分析[J]. 微电子学与计算机, 2017, 34(6): 118-122, 127.
LI Z H, XU X, LI Z P, et al. PSO-MEA hybrid optimization algorithm and its convergence analysis[J]. Microelectronics & Computer, 2017, 34(6): 118-122, 127. (in Chinese)