• 大小: 149KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-09
  • 语言: 其他
  • 标签: PSO  and  GSA  

资源简介

讲粒子群与引力搜索算法相结合,避免陷入局部最优,并且对函数进行测试,数值试验表明,PSOGSA具有较好的性能。

资源截图

代码片段和文件信息

%PSOGSA source code v2.0 Generated by SeyedAli Mirjalili 2011. 
%Adopted from: S. Mirjalili S.Z. Mohd Hashim 揂 New Hybrid PSOGSA 
%Algorithm for Function Optimization in IEEE International Conference 
%on Computer and Information Application?ICCIA 2010) China 2010 pp.374-377.

% This function calculates the value of objective function.
function fit=benchmark_functions(LBenchmark_Function_IDdim)

%You can insert your own objective function with a new Benchmark_Function_ID.

if Benchmark_Function_ID==1
fit=sum(L.^2);
end

if Benchmark_Function_ID==2 
fit=sum(abs(L))+prod(abs(L));
end

if Benchmark_Function_ID==3
    fit=0;
    for i=1:dim
    fit=fit+sum(L(1:i))^2;
    end
end

if Benchmark_Function_ID==4
    fit=max(abs(L));
end

if Benchmark_Function_ID==5
    fit=sum(100*(L(2:dim)-(L(1:dim-1).^2)).^2+(L(1:dim-1)-1).^2);
end

if Benchmark_Function_ID==6
    fit=sum(abs((L+.5)).^2);
end

if Benchmark_Function_ID==7
    fit=sum([1:dim].*(L.^4))+rand;
end

if Benchmark_Function_ID==8
    fit=sum(-L.*sin(sqrt(abs(L))));
end

if Benchmark_Function_ID==9
    fit=sum(L.^2-10*cos(2*pi.*L))+10*dim;
end

if Benchmark_Function_ID==10
    fit=-20*exp(-.2*sqrt(sum(L.^2)/dim))-exp(sum(cos(2*pi.*L))/dim)+20+exp(1);
end

if Benchmark_Function_ID==11
    fit=sum(L.^2)/4000-prod(cos(L./sqrt([1:dim])))+1;
end

if Benchmark_Function_ID==12
    fit=(pi/dim)*(10*((sin(pi*(1+(L(1)+1)/4)))^2)+sum((((L(1:dim-1)+1)./4).^2).*...
        (1+10.*((sin(pi.*(1+(L(2:dim)+1)./4)))).^2))+((L(dim)+1)/4)^2)+sum(Ufun(L101004));
end
if Benchmark_Function_ID==13
    fit=.1*((sin(3*pi*L(1)))^2+sum((L(1:dim-1)-1).^2.*(1+(sin(3.*pi.*L(2:dim))).^2))+...
        ((L(dim)-1)^2)*(1+(sin(2*pi*L(dim)))^2))+sum(Ufun(L51004));
end

if Benchmark_Function_ID==14
aS=[-32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32 -32 -16 0 16 32;...
-32 -32 -32 -32 -32 -16 -16 -16 -16 -16 0 0 0 0 0 16 16 16 16 16 32 32 32 32 32];
    for j=1:25
        bS(j)=sum((L‘-aS(:j)).^6);
    end
    fit=(1/500+sum(1./([1:25]+bS))).^(-1);
end

if Benchmark_Function_ID==15
    aK=[.1957 .1947 .1735 .16 .0844 .0627 .0456 .0342 .0323 .0235 .0246];
    bK=[.25 .5 1 2 4 6 8 10 12 14 16];bK=1./bK;
    fit=sum((aK-((L(1).*(bK.^2+L(2).*bK))./(bK.^2+L(3).*bK+L(4)))).^2);
end

if Benchmark_Function_ID==16
    fit=4*(L(1)^2)-2.1*(L(1)^4)+(L(1)^6)/3+L(1)*L(2)-4*(L(2)^2)+4*(L(2)^4);
end

if Benchmark_Function_ID==17
    fit=(L(2)-(L(1)^2)*5.1/(4*(pi^2))+5/pi*L(1)-6)^2+10*(1-1/(8*pi))*cos(L(1))+10;
end

if Benchmark_Function_ID==18
    fit=(1+(L(1)+L(2)+1)^2*(19-14*L(1)+3*(L(1)^2)-14*L(2)+6*L(1)*L(2)+3*L(2)^2))*...
        (30+(2*L(1)-3*L(2))^2*(18-32*L(1)+12*(L(1)^2)+48*L(2)-36*L(1)*L(2)+27*(L(2)^2)));
end

if Benchmark_Function_ID==19
    aH=[3 10 30;.1 10 35;3 10 30;.1 10 35];cH=[1 1.2 3 3.2];
    pH=[.3689 .117 .2673;.4699 .4387 .747;.1091 .8732 .5547;.03815 .5743 .8828];
    fit=0;
    for i=1:4
    fi

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        4047  2012-03-30 21:04  benchmark_functions.m
     文件        2128  2012-03-30 21:03  benchmark_functions_details.m
     文件        1339  2012-03-31 08:08  license.txt
     文件         845  2012-03-30 21:03  Main.m
     文件      164559  2012-03-30 21:01  PSOGSA.jpg
     文件        5228  2012-03-30 21:04  PSOGSA.m

评论

共有 条评论