資源簡(jiǎn)介
實(shí)現(xiàn)蛙跳算法,對(duì)一系列的高維復(fù)雜函數(shù),利用蛙跳算法求其最優(yōu)值
代碼片段和文件信息
clc;clear?all;
m=50;?%種群分組數(shù)
n=35;?%t每組青蛙包含的個(gè)數(shù)
Ne=25;?%組內(nèi)迭代數(shù)
smax?=?100;??%最大步長(zhǎng)
MAXGEN=200;??%種群總進(jìn)化代數(shù)
d=25;?%優(yōu)化問(wèn)題維數(shù)
pmax?=1024;?%d維最大值
pmin?=?-1024;%d維最小值
%%產(chǎn)生初始群體青娃
F=m*n;
tic;
for?i1=1:F
????p(i1:)=pmax*rands(1d);??%d維個(gè)體青蛙
end
%%全局迭代尋優(yōu)
yy=zeros(1MAXGEN);
for?ii=1:MAXGEN???
%?%?????計(jì)算適應(yīng)度
????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:);%種群內(nèi)最好的青娃
????yy(ii)=fitsort(1);%全局最小適應(yīng)度,即最優(yōu)解
???
%?%???局部搜索過(guò)程
????for?i4=1:m?
??????local?=?x(i4:m:end:);%分組,每循環(huán)一次劃分一個(gè)組
????????for?j=1:Ne?%每組青蛙迭代次數(shù)
????????????pb=local(1:);%組內(nèi)最優(yōu)
????????????pw=local(n:);%組內(nèi)最差
????????????s1=rand.*(pb-pw);%采用組內(nèi)最優(yōu)更新
????????????s1(find(s1>smax))=sma
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????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
評(píng)論
共有 條評(píng)論