【优化求解】基于郊狼算法COA求解单目标问题matlab源码

2022/1/1 17:07:19

本文主要是介绍【优化求解】基于郊狼算法COA求解单目标问题matlab源码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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.

5 MATLAB代码与数据下载地址

见博客主页头条



这篇关于【优化求解】基于郊狼算法COA求解单目标问题matlab源码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程