LSHADE-SPACMA:混合CMA-ES半参数自适应LSHADE
作者:互联网
文章目录
参考文献:LSHADE-SPACMA
LSHADE部分
具体请参见LSHADE
CMA-ES部分
具体请参见CMA-ES
SPA:对F和CR的半参数自适应
SPA部分包括两个过程:前一半周期对CR的自适应和后一半周期对F和CR的自适应
SPA第一部分
个体F通过高斯分布产生:
F
i
=
0.45
+
0.1
⋅
r
a
n
d
F_i=0.45+0.1\cdot rand
Fi=0.45+0.1⋅rand
个体CR通过高斯分布产生:
C
R
i
=
r
a
n
d
n
(
M
c
r
i
,
0.1
)
CR_i=randn(M_{cri},0.1)
CRi=randn(Mcri,0.1)
SPA第二部分
个体F通过柯西分布产生:
F
i
=
r
a
n
d
c
(
M
F
i
,
σ
)
,
σ
=
0.1
F_i=randc(MF_i,\sigma),\sigma=0.1
Fi=randc(MFi,σ),σ=0.1
个体CR通过高斯分布产生:
C
R
i
=
r
a
n
d
n
(
M
c
r
i
,
0.1
)
CR_i=randn(M_{cri},0.1)
CRi=randn(Mcri,0.1)
SPACMA:SPA与CMA-ES混合框架
首先引入几个新的参数:
- FCP:分割概率,决定个体产生子代的方式
- M F C P M_{FCP} MFCP:存储FCP的记忆项
- M F C P M_{FCP} MFCP的自适应: M F C P , g + 1 = ( 1 − c ) M F C P , g + c ⋅ △ a l g 1 M_{FCP,g+1}=(1-c)M_{FCP,g}+c\cdot\bigtriangleup_{alg1} MFCP,g+1=(1−c)MFCP,g+c⋅△alg1,c是学习速率, △ a l g 1 \bigtriangleup_{alg1} △alg1是改进占比,它的计算方式如下:
- △ a l g 1 = m i n ( 0.8 , m a x ( 0.2 , ω A l g 1 ω A l g 1 + ω A l g 2 ) ) \bigtriangleup_{alg1}=min(0.8,max(0.2,\frac{\omega_{Alg1}}{\omega_{Alg1}+\omega_{Alg2}} )) △alg1=min(0.8,max(0.2,ωAlg1+ωAlg2ωAlg1)),这里要求FCP的值必须在[0.2,0.8]这个范围内
- ω A l g 1 \omega_{Alg1} ωAlg1表示属于第一部分所有个体的适应度差值的累加: ω A l g 1 = ∑ f ( x ) − f ( u ) \omega_{Alg1}=\sum f(x)-f(u) ωAlg1=∑f(x)−f(u)
SPACMA改变了LSHADE参数自适应的方式和产生子代的方式,在LSHADE-SPACMA中,每个个体根据自身的FCP值决定是通过原始LSHADE方法还是通过CMA-ES的取样方法产生变异向量,此后两个子代种群会合并,在迭代过程中,算法会自动分配FCP的比值,以朝着最优化的方向前进,而SPA第一部分对F的钳制使得算法不容易过早收敛,
参数设置
- M C R , M F , M F C P M_{CR},M_{F},M_{FCP} MCR,MF,MFCP初始化为0.5
- 记忆长度 H = 5 H=5 H=5
- 初始种群大小: N i n i t = 18 ∗ D i m N_{init}=18*Dim Ninit=18∗Dim
- 外部集合大小: 1.4 ∗ N 1.4*N 1.4∗N
算法流程
- 初始化参数
- while
- 从记忆项中随机选取一个值 r i f r o m [ 1 , H ] r_{i}from[1,H] rifrom[1,H]
- 产生个体的CR,FCP,F值
- 根据FCP值划分种群 [ P L S H A D E , P C M A ] [P_{LSHADE},P_{CMA}] [PLSHADE,PCMA]
- 分别用LSHADE和CMA-ES产生突变向量 V L S H A D E , V C M A − E S V_{LSHADE},V_{CMA-ES} VLSHADE,VCMA−ES
- 交叉产生试验向量 U G U_G UG
- 选择操作
- 存储成功改进个体的CR,FCP,F值
- 更新外部存档A
- 更新记忆项
M
C
R
,
M
F
,
M
F
C
P
M_{CR},M_{F},M_{FCP}
MCR,MF,MFCP
实验结果分析
- 低维度上SPACMA没有明显改善
- 中等维度上SPA发挥了作用
- 高维度上CMA发挥了作用
源代码
标签:FCP,LSHADE,0.1,CMA,SPA,SPACMA,CR 来源: https://blog.csdn.net/guangda_cargod/article/details/121946178