差分进化算法操作流程
%% 伪代码
%% 设置参数
代数G = 0;
种群规模NP,种群表示:
个体表示:
个体取值范围:
%% 主循环
WHILE 判断终止条件
%% 变异操作
/*对目标向量进行差分操作,产生变异向量;*/
FOR i = 1 to NP
根据目标向量Xi,G来产生变异向量Vi,G
END
%% 交叉操作
/*对目标向量和变异向量进行二项式交叉操作来产生试验向量*/
FOR i = 1 to NP
jrand = [ rand[0,1]*D]
FOR j = 1 to D
END
END
%% 选择操作
/*选择*/
FOR i = 1 to NP
计算试验向量的适应度值:
计算目标向量的适应度值:
IF f(Ui,G) ≤ f(Xi,G)
Xi,G+1 = Ui,G ;
f(Xi,G+1) = f(Ui,G);
IF f(Ui,G) < f(Xbest,G)
Xbest,G = Ui,G ;
f(Xbest,G) = f(Ui,G) ;
END
END
END
G ++
END