MRDE:A multi-role based differential evolution
原文:https://www.sciencedirect.com/science/article/pii/S2210650218305510
1.摘要
差分进化算法是一种高效而有力的随机优化算法。近年来的大量研究证明,不同的试向量生成策略和相关的控制参数在不同的问题上具有明显的特点。为了充分发挥它们的优势,在过去的十年中,人们提出了基于各种自适应策略的不同的试向量生成策略和控制参数的集成方法。 本文针对几种常用的发电策略和控制参数的优点,结合它们各自的优点,提出了一种基于多角色的DE(MRDE)。 在MRDE中,整个群体被分成多个小群体,每个群体中的个体根据他们的健康状况在每一代人中被分配不同的角色。根据指定的角色,个体从池中选择自己的试向量生成策略和控制参数来繁殖后代。此外,一种适应人口规模的策略 用于合理分配计算资源,有利于加快收敛速度。此外,重组策略使个体能够在不同的世代中扮演不同的角色,有利于搜索行为的多样化。
2.介绍
DE的性能主要取决于变异策略、交叉算子和控制参数(即标度因子F和交叉率CR),因为他们决定了不同个体之间的合作机制。
此外,许多学者将多种群技术引入到DE中,并提出了一些优秀的DE变体。在这类研究中,为了将各种有用的信息有机地整合到不同的子群体中,需要提出一种有效的信息共享机制。然而,与选择合适的参数相似,设计一种基于试错方案的最优信息共享机制也需要很高的计算成本。
在前人研究成果的启发下,本文提出了一种基于多角色的DE(MRDE)。MRDE的主要特点可归纳如下:
1.具有不同勘探和开采特征的三个流行的进化策略(即试验向量生成策略和相关控制参数)保存在一个候选池中, 任何人都可以使用。
2.MRDE中的整个种群被随机分为多个亚类。在每一代人中,每个子群体中的不同个体根据表现被分配不同的角色。 他们基于所分配的角色,个体从候选池中选择合适的试向量生成策略和相关的控制参数来繁殖后代。因此,个体可以在不同世代进行不同的进化策略。
3.为了合理分配计算资源,采用自适应策略改变种群规模,从而提高了收敛速度,增加了不同进化阶段的种群多样性。
3.相关介绍
3.1 DE
与遗传算法(GA)一样,DE由四个基本步骤组成,包括初始化、变异、交叉和选择。后三步反复出现在后世 他在DE中寻找一个特定问题的更有利的解决方案。
3.2参数调整
3.3轨迹向量的生成
因此,有机整合不同的突变策略已经引起了众多研究者的关注。
(1)第一类集成是选择合适的突变策略,以满足不同进化阶段的需求。
(2)第二种整合方式是,在整个进化过程中,不同的尝试向量生成策略都有各自繁衍后代的概率。
(3)此外,在粒子群优化(PSO)中的种群邻域拓扑机制的启发下,近几年出现了许多基于拓扑的DE变体。
此外,许多研究证实,一些新的突变策略和协方差矩阵自适应也提供了良好的性能。此外,不同的解决方案选择策略在进行变异操作时,还会显示各种性能。
4.基于多角色的DE(MRED)
近几年的大量研究表明,有机集成不同的策略和参数是提高DE综合性能的有效方法。此外,我们认为,通过在不同进化阶段改变种群规模来合理分配计算资源是加快收敛速度的可行方法。此外,亚群体机制在种群多样性方面也表现出了积极的表现。在这些观察的启发下,我们开发了一种MRDE算法,在该算法中,整个种群它被分成多个大小相同的组。在每个组中,个体根据其适应度从候选池中选择自己的试向量生成策略和相关的控制参数。在进化过程中,为了实现计算资源的合理分配,提出了一种自适应的种群规模变化策略。MRDE框架和对其背后的核心思想作了如下阐述。
4.1 MRDE框架
在进化过程开始时,种群被随机分为gn个群,每个群体的大小为gs。在此之后,每个群体中的一个人根据其在自己群体中的相对表现,在每一代人中被分配一个适当的角色。根据指定的角色,个体可以从候选池中采用自己的变异算子和参数设置。因此,同一群体中的不同个体可以在每一代人中执行不同的搜索行为。此外,所有群体的精英都被保存在一个档案中,其他个人可以在适当的时候重新利用这个档案。在进化过程中,为了合理分配计算资源,根据种群性能动态调整MRDE中的种群规模。为了丰富个体的搜索行为,在调整种群规模后,可以对多个群体进行动态重组。在这种情况下,个体可以在不同的进化阶段扮演不同的角色。MRDE的流程图如图1所示,其中许多新引入的策略详见下文。
4.2 每个组中的多个角色
在每个群体中,根据个人的健康状况,个人可分为三种角色,包括精英、低级和平庸。具体来说,每个群体中最好的个体和最差的个体分别被视为精英和低级。其他人则被视为平庸者。
一般而言,精英们需要更多地关注开发能力,以提高解决方案的准确性。相反,把重点放在勘探上,寻找其他地区更有前途的解决方案,是一种有利的选择。对于那些平庸的人来说,分配一个折衷的搜索行为是一个令人愉快的选择。因此,根据不同个体的角色选择合适的变异算子和控制参数对于MRDE来说是至关重要的,因为它决定了是否具有有利的特性。 可以有效地利用不同的算子和参数。
在DE研究的基础上,MRDE利用一个池来保存一些具有明显特征的变异策略和相应的控制参数。在进化过程中,每个个体都会从池中选择自己的策略和参数来繁殖后代。具体来说,选定的突变策略和控制参数的设置如下。
lbest表示目标向量所属的组的局部最佳解决方案。
在每一代,每个个体从池中选择自己的突变策略,F和CR。具体而言,每一组精英都选择Setting 1来培育后代,以提高开发利用水平。 各个子群中的弱势群体采用Setting 3来产生具有较高勘探能力的子代。每一组中的平庸者采用Setting 2来产生在勘探和开发之间有权衡行为的后代。
由于个体在群体中的相对表现在进化过程中可能发生变化,个体在不同的世代中扮演着不同的角色。因此,个体可以在不同的层代中从池中选择不同的突变运算符和控制参数,然后执行不同的搜索行为。
4.3 保存精英
保存各子群精英,并在适当的时候适当利用他们,可能是一种有利的选择。我们认为至少有两个优势:该方法有利于降低计算量。二是可以从精英阶层中提取更多有用的知识。
因此,在这项工作中,每一代的精英都被保存在一个档案Ae中。在进化过程的开始阶段(t=1),每一组所有的局部最佳解 (1≤ i≤ gn)的都保存在Ae中。之后,全球最佳解决方案gbest在每一代中(t>1)被添加到Ae中。为了保持Ae的大小不变,个体必须用gbest替换。通常,替换操作符有两种常见的方法。一个是用gbest来代替Ae中最差的个体。该策略的主要缺点是种群多样性可能会迅速丧失。另一种是用gbest替换Ae中随机选择的个体,在这种情况下,Ae中最杰出的个体可能会被替代。因此,在本研究中,采用了一种比赛策略来更新AE。用两个随机挑选的Ae精英中的一个不好的个体被gbest最佳替代。根据上述讨论,Ae的更新过程可以详细描述为算法1。
4.4 调整人口规模
虽然对种群规模的研究相对较少,许多研究表明,人口规模的各种适应在一定程度上产生了积极的表现。在MRDE中,种群规模的适应包括两个过程,即减小规模过程和增大规模过程。这两个过程的细节如下:
4.4.1 缩小过程(收敛快)
在实施缩小规模的过程中,需要应对两方面的挑战。第一个挑战是什么时候执行这个过程。在MRDE中,当连续几代改进的x-gbest大于预定义的阈值
时,我们认为目前的适应度峰很容易优化。因此,从当前种群中删除几个体有助于节省计算资源。需要解决的第二个挑战是哪些人应从目前的人口中除名。在MRDE中,为了简单起见,从种群中删除了一些最糟糕的个体。考虑到MRDE中的所有子种群都具有相同的大小(gs),被删除的个体数是gs的倍数。[为了让之后的分组分的更整齐]
4.4.2 增大过程(停滞)
在进行扩大规模的过程中,也必须考虑到一些问题。第一种是何时执行增大的处理。与种群大小递减过程相似,gbest的连续停滞世代数(Sucstag)被认为是种群规模增加的标准。具体地说,就是Sucstag大于预定义的阈值Maxstag。我们认为,当前种群中的个体无法有效地寻找更最佳的解决方案。为了解决这一问题,需要在目前的种群中增加一些业绩优异的新个体。然而,不受限制地向种群中增加新的个体是不可取的。因此,如果种群规模已达到上限,那么目前种群中的许多低等个体应由新的个体取代。第二个问题是如何产生新的个人加入到当前的人口中。请注意,添加的个体数也是gs的倍数。在MRDE中,Ae的所有精英都被用于基于gs算子的新个体的产生,其细节在算法2中给出了详细说明。
在上述描述的基础上,在算法3中给出了自适应种群大小的伪码。请注意,MRDE中被删除和添加的个体数分别为gn×2和gn。
4.5 MRDE的伪码实现
在上述新策略讨论的基础上,将MRDE的伪码详细描述为算法4。
一种基于多角色的差分进化。MRDE
step0.初始化: 初始化种群Pop(t)[ps=gs×gn],划分为gn个子种群(大小相同);
step1.分配: 为每个个体分配角色[每个群体中最好的个体和最差的个体分别被视为精英和低级。其他人则被视为平庸者。];
step2.存储精英: 把精英个体存储到外部的精英存档Ae中(初始存档个体由每个组的最优个体lbest组成,之后每次用gbest代替,算法1);
step3.选择: 每一个个体自己选择自己的策略参数;
step4.种群大小调整:判断是否调整,选择删除或者增加个体;
step5.: 转步骤0。
种群大小调整:算法3
减小:gbest连续n代都进行了更新,则删除最差的一些个体(2*gs)
增加:gbest连续n代都停滞。从Ae中随机选择2个lbest进行交叉变异(直到有gs个)。