An Improved Differential Evolution with a Novel Restart Mechanism
1.算法背景及策略:
提出目的是为了缓解过早的收敛和停滞。算法策略:(1)开发了组合局部突变策略,通过使用两种局部突变策略来改善DE的利用。(2)提出了一种新的重启机制,通过使用优秀个体搜索超矩形,并以搜索空间随机生成的概率来代替下级个体,从而提高人口多样性并利用优势个人的有用信息。(3)因为对于参数设置,常数值不能适应所有问题,随机方法[15]不能适应不同的进化阶段,而自适应方法总是产生昂贵的计算成本。应用简单有效的方法来调整控制参数。
2.算法步骤:
(1)初始化:在搜索空间内随机生成初始种群(population)P0P0
x0i,j=αj+rand(0,1)?(bj?αj)xi,j0=αj+rand(0,1)?(bj?αj)
i=1,…,NPi=1,…,NP
(2)组合局部变异策略(Combined Local Mutation Strategy):
使用两个局部变异算子DE/current?to?pbest/1DE/current?to?pbest/1, DE/pbest/1DE/pbest/1有着更强大的能力去利用种群可能有希望的信息。DE/current?to?pbest/1DE/current?to?pbest/1变异算子有更大的能力去探索搜索空间。
k是循环次数决定用哪个算子产生变异个体k是循环次数决定用哪个算子产生变异个体
GT是一个阈值,对于GT过大可能导致收敛过慢,过小又会造成过早收敛。GT是一个阈值,对于GT过大可能导致收敛过慢,过小又会造成过早收敛。
x? Gpbest表示从前p%这一种群中随机挑选的个体x?pbestG表示从前p%这一种群中随机挑选的个体
x? Gr1优于x? Gr2,不然交换它们位置x?r1G优于x?r2G,不然交换它们位置
p一般被设为0.1p一般被设为0.1
(3)交叉(与原DE算法相同)
(4)选择(与原DE算法相同)
(5)重启机制(Restart Mechanism)
重启机制可以预防DE算法落入局部最优这一状况,避免过早收敛,停滞。
重启机制触发:设置阈值KTKT,初始k=0k=0每迭代一次k=k+1k=k+1,当k=KTk=KT执行重启机制,并令k=0k=0。
根据适应值从高到底排序种群(PGPG)个体,把种群分为3个子种群,superior(Ps)superior(Ps),general(Pg)general(Pg),inferior(PI)inferior(PI)分别占比pp, ,pp.
建立超矩阵 ,li,uili,ui是PSPS种群第i维的最小值与最大值。
生成相反的亚群PsoPso:
for x? Gi∈Ps,x? soi∈Pso is given byxsoi,j=lj+(uj?xsi,j),j=1,2,…,Dforx?iG∈Ps,x?iso∈Psoisgivenbyxi,jso=lj+(uj?xi,js),j=1,2,…,D