資源簡介
果蠅優(yōu)化算法的源程序,用于連續(xù)函數的優(yōu)化,收斂精度較好
代碼片段和文件信息
%%%%%%%%%%%%%%%%%%%%%%
%?果蠅優(yōu)化算法求解極大值
%%%%%%%%%%%%%%%%%%%%%%
%清空
clc
clear
%隨機初始果蠅群體位置
X_axis=10*rand();
Y_axis=10*rand();
%設置參數
maxgen=100;?%迭代次數
sizepop=20;?%種群規(guī)模
%種群尋優(yōu)開始,利用嗅覺尋找食物
for?i=1:sizepop
????
????%附與果蠅個體利用嗅覺搜尋食物之隨機方向與距離
????X(i)=X_axis+2*rand()-1;?
????Y(i)=Y_axis+2*rand()-1;?
????
????%由于無法得知食物位置,因此先估計與原點之距離(Dist)再計算味道濃度判定值(S),此值為距離之倒數
????D(i)=(X(i)^2+Y(i)^2)^0.5;
????S(i)=1/D(i);
????
????%味道濃度判定值(S)代入味道濃度判定函數(或稱為Fitness?function)以求出該果蠅個體位置的味道濃度
????Smell(i)=3-S(i)^2;?%************此處的味道函數為目標函數
????%*****************
????%Smell(i)=-5+S(i)^2;
end
%找出此果蠅群體中味道濃度最高的果蠅(求極大值)
[bestSmell?bestindex]=max(Smell);
%***************
%找出此果蠅群體中味道濃度最低的果蠅(求極小值)
%[bestSmell?bestindex]=min(Smell);
%保留最佳味道濃度值與xy坐標,此時果蠅群體利用視覺往該位置飛去
X_axis=X(bestinde
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2589??2012-01-02?16:18??FOA.m
-----------?---------??----------?-----??----
?????????????????2589????????????????????1
評論
共有 條評論