资源简介

一种全新的智能算法-萤火虫群算法。该算法主要用于求解多峰函数。包含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


评论

共有 条评论