25果蝇算法函数寻优--视频讲解
百度网盘链接如下:http://pan.baidu.com/s/1o7Wxk8a具体链接在halcom.cn论坛,联系人QQ:3283892722
欢迎大家录制视频,并提交给我,我来设置视频,你可在论坛进行打赏分享。
视频专用播放器:http://halcom.cn/forum.php?mod=viewthread&tid=258&extra=page%3D1
代码如下:
%***設置參數
%清空運行環境
clc
clear
%速度更新參數
X_axis=10*rand();
Y_axis=10*rand();
maxgen=100;%疊代次數
sizepop=20;%種群規模
%個體和速度最大和最小值
for i=1:sizepop
X(i)=X_axis+2*rand()-1;
Y(i)=Y_axis+2*rand()-1;
D(i)=(X(i)^2+Y(i)^2)^0.5;
S(i)=1/D(i);
%類似Fitness適應度函數
Smell(i)=2-S(i)^2;
end
%***根據初始味道濃度值尋找極值
=max(Smell);
%***保留最佳值位置
X_axis=X(bestindex);
Y_axis=Y(bestindex);
Smellbest=bestSmell;
%***根據公式更新粒子位置和速度,並且根據新粒子的適應度值更新個體極值和群體極值
%疊代尋優
for g=1:maxgen
%粒子位置和速度更新
for i=1:sizepop
X(i)=X_axis+2*rand()-1;
Y(i)=Y_axis+2*rand()-1;
D(i)=(X(i)^2+Y(i)^2)^0.5;
S(i)=1/D(i);
%類似Fitness適應度函數
Smell(i)=2-S(i)^2;
end
%***根據初始味道濃度值尋找極值
=max(Smell);
%***保留最佳值位置
if bestSmell>Smellbest
X_axis=X(bestindex);
Y_axis=Y(bestindex);
Smellbest=bestSmell;
end
%每代最優值紀錄到yy數組中
yy(g)=Smellbest;
Xbest(g)=X_axis;
Ybest(g)=Y_axis;
end
%***繪製最佳化個體適應度值趨勢圖
figure(1)
plot(yy)
title('Optimization process','fontsize',12)
xlabel('Iteration Number','fontsize',12);ylabel('Smell','fontsize',12);
figure(2)
plot(Xbest,Ybest,'b.');
title('Fruit fly flying route','fontsize',14)
xlabel('X-axis','fontsize',12);ylabel('Y-axis','fontsize',12);
参考文献:
Wen-Tsao Pan (2011) A new fruit fly optimization algorithm: Taking the financial distress model as an example, Knowledge-Based Systems, Vol.26, pp.69-74, 2012, DOI information: 10.1016/j.knosys.2011.07.001.
**** Hidden Message *****
ths 果蝇优化算法函数寻优,好好。 好好好好好好好,非常好 感谢楼主分享,可以学习一下。 非常好的代码 支持 学习了,谢谢楼主分享~ 感谢分享! 果蝇算法函数寻优,万分感谢