资源简介

混合蛙跳算法的matlab程序,对初学者非常有帮助。

资源截图

代码片段和文件信息

%clc;clear all;
m=50; %种群分组数
n=35; %t每组青蛙包含的个数
Ne=25; %组内迭代数
smax = 100;  %最大步长
MAXGEN=100;  %种群总进化代数
d=25; %优化问题维数
pmax =1024; %d维最大值
pmin = -1024;%d维最小值


%%产生初始青娃
F=m*n;
tic;
for i1=1:F
    p(i1:)=pmax*rands(1d);
end
%%全局迭代寻优
yy=zeros(1MAXGEN);
for ii=1:MAXGEN    
    for i2=1:F
        fitness(i2)=fun(p(i2:));
    end
    %排序,找最好的,并分组
    [fitsortindex]=sort(fitness);
    for i3=1:F
        x(i3:)=p(index(i3):);
    end
    gx=x(1:);%种群内最好的青娃
    yy(ii)=fitsort(1);
    % yy(ii)=fun(x(1:));
  %   local=zeros(nd);
    for i4=1:m 
      local = p(i4:m:end:);
        for j=1:Ne %每组青蛙迭代次数
            pb=local(1:);%组内最优
            pw=local(n:);%组内最差
            s1=rand.*(pb-pw);%采用组内最优更新
            s1(find(s1>smax))=smax;
            temp

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-05-05 09:49  sflo\
     文件        2033  2014-04-25 14:12  sflo\FSFLA.m
     文件         232  2010-01-06 12:57  sflo\fun.m

评论

共有 条评论