1 简介
郊狼优化算法(coyote optimization algorithm, COA)是由Pierezan 等人于 2018 年提出的,模拟郊狼群居生活、成长、生死、被组驱离和接纳等现象的新型智能优化算法,在benchmark 函数优化上获得较好的优化结果。COA 通过随机分组,把种群分成若干子组。确定子组的 alpha 狼、文化趋势和随机选择两头郊狼,由这四种因素来影响郊狼的成长,通过郊狼的社会适应能力归正成长过程。郊狼的出生受随机选择的两头父郊狼和环境变异共同影响。在社会适应能力上,新生的郊狼若优于年老且能力差的郊狼,则年老的郊狼死去,否则新生的郊狼死去。在子组之间郊狼按照一定的概率,一些郊狼会被组驱离和被其他组接纳,从而改变郊狼分组状态。通过这样成长、死亡、被驱离与接纳等过程不断演化,得到最适应社会环境的郊狼,作为优化问题的最佳解决方案。COA 在解决优化问题的过程中展现出较强的优化能力,但是由于 COA 提出时间较短,需要改进和完善,并且应拓展其应用领域。
2 部分代码
clear?all
close?all
clc
% Objective function setup
FOBJ?? ? ? =?@(x)?sum(x.^2); ? ? ? ?% Optimization problem
D?? ? ? ? ? =?10; ? ? ? ? ? ? ? ? ? ?% Problem dimension
lu?? ? ? ? = [-10*ones(1,D);
? ?10*ones(1,D)]; ? ? ??% Seach space
% COA paramters setup
nfevalMAX?? =?20000; ? ? ? ? ? ? ? ??% Stopping criteria
Np?? ? ? ? =?20; ? ? ? ? ? ? ? ? ? ?% Number of packs
Nc?? ? ? ? =?5; ? ? ? ? ? ? ? ? ? ??% Number of coyotes
% Experimental setup
n_exper?=?100; ? ? ? ? ? ? ? ? ? ? ? ??% Number of experiments
y?=?zeros(1,n_exper); ? ? ? ? ? ? ? ?% Objective costs achieved
t?=?clock(); ? ? ? ? ? ? ? ? ? ? ? ??% Time counter (initial value)
for?i=1:n_exper
? ?% Apply the COA to the optimization problem
? [~,y(1,i)] =?COA(FOBJ,?lu,?nfevalMAX,Np,Nc);?% Start process
? ?% Show the result (cost and time)
? ?fprintf(1,'\nExperiment : %d, cost: %.6f, time: %.4f',...
? ? ? ?i,y(1,i),etime(clock,?t));
? ?if?i==1
? ? ? ?ybest(i)=y(1,i);
? ?else
? ? ? ?if?ybest(i-1)>y(1,i);
? ? ? ? ? ?ybest(i)=y(1,i);
? ? ? ?else
? ? ? ? ? ?ybest(i)=ybest(i-1);
? ? ? ?end
? ?end
? ?% Update time counter
? ?t?=?clock();
end
figure(1)
plot(ybest)
xlabel('迭代次数')
ylabel('适应度值')
img?=gcf; ?%获取当前画图的句柄
print(img,?'-dpng',?'-r600',?'./img.png') ? ? ? ??%即可得到对应格式和期望dpi的图像
3 仿真结果
4 参考文献
[1]?Kennedy J, Eberhart R. Particle swarm optimization [C]// Proceedings?of the IEEE International Conference on Neural Networks, Piscataway,?NJ: IEEE Press, 1995: 1942–1948.?
[2]?Eusuff M, Lansey K, Pasha F. Shuffled frog-leaping algorithm: a?memetic meta-heuristic for discrete optimization [J]. Engineering?Optimization, 2006, 38 (2): 129-154.
[3]?Mirgalili S, Mirjalili S M, Lewis A. Grey wolf optimizer [J]. Advances?in Engineering Software, 2014, 69 (3): 46-61.?
[4]?张新明,?王霞,?涂强,?等.?融合榜样学习和反向学习的粒子群优化算法?[J].?河南师范大学学报?(自然科学版) , 2017, 49 (6): 91-99.
?
|