jDE在DE基础上实现参数自适应,DE对于参数较敏感。
进化算法不同阶段需要不同的参数以提升算法性能,因为进化算法本身就是动态的。
jDE主要将F以及CR(缩放因子和交叉概率)这两个参数编码进个体,参数可以随着个体进入下一代。
和分别被初始化为0.5和0.9
参数控制规则:
F:
R1=rand();
R2=rand();
if R2 <= t1(0.1)
F(i) = FL(0.1) + R1*FU(0.9-0.1);
CR:
R3=rand();
R4=rand();
if R4 <= t2(0.1)
CR(i) = R3;
Matlab实现:
主函数
jDE_result=zeros(50*15,200);
FunIndex=1;%测试函数
while FunIndex<16
%{