资源简介
实现蛙跳算法,对一系列的高维复杂函数,利用蛙跳算法求其最优值
代码片段和文件信息
clc;clear all;
m=50; %种群分组数
n=35; %t每组青蛙包含的个数
Ne=25; %组内迭代数
smax = 100; %最大步长
MAXGEN=200; %种群总进化代数
d=25; %优化问题维数
pmax =1024; %d维最大值
pmin = -1024;%d维最小值
%%产生初始群体青娃
F=m*n;
tic;
for i1=1:F
p(i1:)=pmax*rands(1d); %d维个体青蛙
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);%全局最小适应度,即最优解
% % 局部搜索过程
for i4=1:m
local = x(i4:m:end:);%分组,每循环一次划分一个组
for j=1:Ne %每组青蛙迭代次数
pb=local(1:);%组内最优
pw=local(n:);%组内最差
s1=rand.*(pb-pw);%采用组内最优更新
s1(find(s1>smax))=sma
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2121 2018-05-02 14:12 蛙跳程序\FSFLA.m
文件 688 2018-04-23 16:35 蛙跳程序\fun.m
目录 0 2018-05-02 14:17 蛙跳程序
文件 220 2018-04-23 16:52 蛙跳程序\ni.m
----------- --------- ---------- ----- ----
3029 4
评论
共有 条评论