Ensemble of differential evolution variants(EDEV)
差分进化变体的集成1
在这项研究中,一个基于多种群的框架(MPF)被提议用于多个差分进化变体的集合。与PAP2不同,PAP通过时间预算分配策略和个体移民算子实现算法组合,MPF将整个种群划分为子种群,包括几个指标子种群和一个奖励子种群。指标子群体具有相同的大小,并且比奖励子群体小得多。每个DE变体组件都拥有一个指标子种群。随着集成算法的运行,每隔一定代数后,奖励子种群会自适应地分配给近期表现最优的DE变体。通过这种方式,不同的差分进化变体协同进化,在进化过程中表现最好的一个将获得最多的资源(以种群为代表)。
一、差分进化变体组件
为了使EDEV达到更高的性能,至关重要的是要确保组成差分进化变体强大,同时具有不同的能力,以便它们可以在进化过程中相互支持,而不仅仅是争夺资源。许多研究表明了在一个算法中使用不同运算符的重要性。这里,三个高度经典和高效的差分进化变体作为组成算法,即JADE3 ,CoDE4和EPSDE5。试图将差分进化的每一个变体都纳入整体框架是不可能的。我们选择这三种算法作为组成部分的原因是,实证研究表明,JADE是一种通用的差分进化变体,在解决单峰优化问题时往往优于其他差分进化变体,CoDE在解决一些简单的多峰优化问题时非常有效,而EPSDE在处理一些高度复杂的复合优化问题时表现出非凡的性能。下面给出这三种差分进化变体的简要介绍。
JADE
特点:
- 采用“current-to-pbest/1”变异策略,结合外部存档(archive)增强多样性。
- 参数自适应机制:使用正态分布生成缩放因子(F),柯西分布生成交叉率(Cr),并根据历史成功经验动态调整参数。
- 在单峰优化问题上表现优异,全局搜索能力强。
优势:
- 参数自适应减少了手动调参需求,适应性强。
- 在复杂问题中表现稳定,尤其在早期优化阶段占主导地位。
CoDE
特点:
- 结合三种变异策略(rand/1/bin、rand/2/bin、current-to-rand/1)和三组固定参数组合([F = 1.0, Cr = 0.1], [F = 1.0, Cr = 0.9] and [F = 0.8, Cr = 0.2].)。
- 每次迭代为每个目标向量生成三个候选解,选择最优解进入下一代。
- 低层次策略集成,适合多峰优化问题。
优势:
- 策略多样性高,能有效平衡探索与开发。
- 在简单多峰问题上表现突出,如CEC2005的F6-F12。
EPSDE
特点:
- 集成多种变异策略(如DE/best/2/bin、DE/rand/1/bin)和参数池(Cr和F的离散值范围)。
- 初始随机分配策略和参数,成功组合保留,失败组合重新初始化。
- 在复杂混合和复合函数(如旋转、非线性问题)上表现卓越。
优势:
- 策略和参数的动态调整适应复杂问题。
- 在CEC2005的F18-F25等高维复合函数中表现最优。
二、基于多种群的集成框架
在MPF中,整体种群分为几个指标亚群(每个属于一个差分进化变体)和一个奖励亚群。MPF包括三个差分进化变体,即JADE、CoDE和EPSDE,因此我们将整个种群划分为三个指标亚群和一个奖励种群。分区运算符在每一代被触发。三个指标亚群由pop1、pop2和pop3表示,奖励亚群由pop4表示。指标亚群具有相同的大小。并且指标亚群的规模比奖励亚群的规模小得多。 pop为整体种群。
设
N
P
NP
NP 为
p
o
p
pop
pop 的大小,
N
P
i
NP_{i}
NPi 为
p
o
p
i
pop_{i}
popi的大小。
λ
i
λ_{i}
λi 表示
p
o
p
i
pop_{i}
popi和
p
o
p
pop
pop之间的比例。
这里我们只让
λ
1
=
λ
2
=
λ
3
λ_{1}=λ_{2}=λ_{3}
λ1=λ2=λ3。最初,每个指标亚群被随机分配到一个差分进化变体,奖励亚群也被随机分配到一个差分进化变体。在每一代,种群划分操作执行一次。随着算法的进行,在每ng代之后,我们根据累积的适应度改进和消耗的函数评估之间的比率来确定上一个时间段内最有效的差分进化变体(ibest)。
上面的公式即找到,在ng代中,适应度改进量/评估次数最大的差分进化变体。
其中,
Δ
f
i
\Delta f_{i}
Δfi是由第i个差分进化变体在上一个ng代期间总的函数适应度改进量,
Δ
f
e
s
i
\Delta fes_{i}
Δfesi是消耗的函数评估次数。
在接下来的ng世代中,奖励亚群将被奖励给表现最好的差分进化变体。上面描述的最佳表现的差分进化变体的确定和奖励子群体分配算子周期性地执行,其中ng是周期。有了这个想法,我们确保最佳变异策略消耗最多的计算资源。
EDEV的算法框架在算法1中描述。
算法流程图:
三、代码实现
代码下载地址:https://github.com/P-N-Suganthan/CODES/blob/master/2018-INS-EDEV.zip
参考:
Wu G, Shen X, Li H, et al. Ensemble of differential evolution variants[J]. Information Sciences, 2018, 423: 172-186. ↩︎
Peng F, Tang K, Chen G, et al. Population-based algorithm portfolios for numerical optimization[J]. IEEE Transactions on Evolutionary Computation, 2010, 14(5): 782-800. ↩︎
Jingqiao Zhang, Sanderson A C. JADE: Adaptive differential evolution with optional external archive[J]. IEEE Transactions on Evolutionary Computation, 2009, 13(5): 945-958. ↩︎
Wang Y, Cai Z, Zhang Q. Differential evolution with composite trial vector generation strategies and control parameters[J]. IEEE Transactions on Evolutionary Computation, 2011, 15(1): 55-66. ↩︎
Mallipeddi R, Suganthan P N, Pan Q K, et al. Differential evolution algorithm with ensemble of parameters and mutation strategies[J]. Applied Soft Computing, 2011, 11(2): 1679-1696. ↩︎