✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。
🍎个人主页:Matlab科研工作室
🍊个人信条:格物致知。
更多Matlab仿真内容点击👇
智能优化算法 神经网络预测 雷达通信 无线传感器
信号处理 图像处理 路径规划 元胞自动机 无人机 电力系统
⛄ 内容介绍
布谷鸟搜索(Cuckoo Search, CS)算法是 2009 年 Xin-She Yang 与 Susash Deb 提出的一种新型的启发算法[61]。算法灵感来源于一些布谷鸟种属(Cuckoo Species)的专性寄生哺育(BroodParasitism)行为,即这些种群不会像绝大多数鸟类一样自己筑巢哺育后代,而是通常把蛋产于宿主鸟巢内,由宿主代养,这种行为被称为巢寄生。此类布谷鸟会观察宿主鸟所产的卵并对其进行模仿,按照宿主鸟卵的颜色形状来产卵,导致宿主鸟辨别出布谷鸟卵的几率微乎其微,布谷鸟卵混在宿主鸟卵中,孵化后由宿主鸟哺育并与宿主雏鸟争夺生存资源。然而,布谷鸟卵一旦被宿主鸟识破情况便不同,宿主将完全摧毁鸟巢或是仅仅将布谷鸟卵摧毁。因此布谷鸟在繁殖季会寻找孵化周期类似、雏鸟习性类似以及卵外观类似的宿主鸟。布谷鸟通常会趁宿主外出时将卵产于巢内,有时会将宿主卵推出巢后进行产卵,使布谷雏鸟独享生存资源,以提高生存几率。此外,布谷鸟等动物的觅食过程是也是一种有启发性的随机行为过程。所在位置确定移动的下一个目标点,所选取的数学模型决定移动方向。根据当前位置与到下一个位置的转移概率,它们会飞向或者是走向搜索路径。鸟类的这种飞行为,在很多研究中被证明为莱维飞行( Levy Flight )的典型特征



⛄ 部分代码
% Dynamic control Cuckoo search (DCCS) source Code Version 1.0
%
% Developed in MATLAB R2018b
%
% Author and programmer:
% Dr Manoj Kumar Naik
% Faculty of Engineering and Technology, Siksha O Anusandhan, Bhubaneswar, Odisha 鈥� 751030, India
% e-mail: naik.manoj.kumar@gmail.com
% ORCID: https://orcid.org/0000-0002-8077-1811
% SCOPUS: https://www.scopus.com/authid/detail.uri?authorId=35753522900
% WOS: https://www.webofscience.com/wos/author/record/O-2982-2017
% G-Scholar: https://scholar.google.co.in/citations?user=tX-8Xw0AAAAJ&hl=en
% Researchgate: https://www.researchgate.net/profile/Manoj_Naik9
% DBLP: https://dblp.uni-trier.de/pers/k/Kumar:Naik_Manoj
%_____________________________________________________________________________________________________
% Please cite to the main paper:
% M.K. Naik, M. Swain, R. Panda, A. Abraham,
% An Evolutionary Dynamic Control Cuckoo Search Algorithm for Solving the Constrained Engineering Design Problems,
% Int. J. Swarm Intell. Res. 13 (2022) 1�25.
% https://doi.org/10.4018/IJSIR.314210.
%__________________________________________________________________________________________________
clearvars
close all
clc
disp('The DCCS is tracking the problem');
N=30; % Number of Cuckoo
Function_name='F12' % Name of the test function that can be from F1 to F23
MaxIT=500; % Maximum number of iterations
[lb,ub,dim,fobj]=Get_Functions_details(Function_name); % Function details
Times=11; %Number of independent times you want to run the DCCS
display(['Number of independent runs: ', num2str(Times)]);
for i=1:Times
[Destination_fitness(i),bestPositions(i,:),Convergence_curve(i,:)]=DCCS(N,MaxIT,lb,ub,dim,fobj);
display(['The optimal fitness of DCCS is: ', num2str(Destination_fitness(i))]);
end
[bestfitness,index]=min(Destination_fitness);
disp('--------Best Fitness, Average Fitness, Standard Deviation and Best Solution--------');
display(['The best fitness of DCCS is: ', num2str(bestfitness)]);
display(['The average fitness of DCCS is: ', num2str(mean(Destination_fitness))]);
display(['The standard deviation fitness of DCCS is: ', num2str(std(Destination_fitness))]);
display(['The best location of DCCS is: ', num2str(bestPositions(index,:))]);
figure('Position',[454 445 694 297]);
subplot(1,2,1);
func_plot(Function_name);
title('Parameter space')
xlabel('x_1');
ylabel('x_2');
zlabel([Function_name,'( x_1 , x_2 )'])
subplot(1,2,2);
semilogy(Convergence_curve(index,:),'LineWidth',3);
xlabel('Iterations');
ylabel('Best fitness obtained so far');
legend('DCCS');
box on;
axis tight;
grid off;
⛄ 运行结果



⛄ 参考文献
[1]尚志勇.基于改进布谷鸟搜索算法的配发中心选址问题研究。(博士论文,河南大学)。
⛄ Matlab代码关注
❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料