資源簡介
一種全新的智能算法-螢火蟲群算法。該算法主要用于求解多峰函數。包含2個文件。用matlab打開GSO.m可以直接運行。如果要修改測試函數,可以修改J1.m函數。
代碼片段和文件信息
clc
clear?all
tic
m=2;%維數
n=50;%螢火蟲個數
a=3;
b=-3;
jis=0;
L0=5;%熒光素初值
beta=0.08;%動態決策域的更新率
nt=5;%?領域個數閾值
s=0.05;%步長
%s=0.03;%步長
gama=0.6;%熒光素更新率
p=0.4;%熒光素消失率
t=2;%次數初值??
iter_max=200;%最大迭代次數
R0=3;%動態決策域Rd的初值
Rs=5;%感知域RS>=Rd
L=zeros(niter_max);
Rd=zeros(n);
P=zeros(nn);
Nei=cell(niter_max);
%隨機分配個體熒光素及動態決策域
for?i=1:n
????L(i1)=L0;
????Rd(i)=R0;
end
%第i螢火蟲在t時刻的位置初始化
for?i=1:n??
???X(i1:m)=(a-b)*rand(1m)+b;??
???plot(X(i1)X(i2)‘sk‘);
????hold?on
end
while?t %熒光素的更新
for?i=1:n
????L(it)=(1-p)*L(i(t-1))+gama*J1(X(i1:m));
end
????
%位置移動規則
for?i=1:n
????for?j=1:n
????if?(norm(X(j1:m)-X(i1:m)) ???????Nei{it}=[jNei{it}];%獲取鄰域Nei
????end
????end
end
tempsum=zeros(n);
for?i=1:n
???
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3213??2011-09-14?10:22??螢火蟲群算法代碼\GSO.m
?????文件????????144??2009-11-26?15:45??螢火蟲群算法代碼\J1.m
?????目錄??????????0??2011-09-14?10:21??螢火蟲群算法代碼
-----------?---------??----------?-----??----
?????????????????3357????????????????????3
評論
共有 條評論