测试函数测试GAPSO.rar

  • Zanesheng
    了解作者
  • matlab
    开发工具
  • 1.7MB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 4
    下载次数
  • 2020-12-14 20:51
    上传日期
GAPSO算法搜索最优值,里面的函数可以自己更换
测试函数测试GAPSO.rar
  • 测试函数测试GAPSO
  • bianyi_1.m
    176B
  • GAPSO.m
    3.8KB
  • according.m
    403B
  • creat_x_1.m
    144B
  • Apso.m
    2KB
  • aimFcn_5.m
    141B
  • test_x.m
    255B
  • aimFcn_6.m
    57B
  • 测试函数(Schaffer function 1, Global Minimum=0).fig
    465.7KB
  • 智能算法对比结果.xlsx
    11.4KB
  • 测试函数.xlsx
    389.1KB
  • aimFcn_2.m
    119B
  • aimFcn_4.m
    100B
  • Aga1.m
    2.8KB
  • 测试函数(Ackley function, Global Minimum=0).fig
    442.1KB
  • 测试函数(Rastrigin Function, Global Minimum=0).fig
    394.9KB
  • aimFcn_1.m
    79B
  • aimFcn_3.m
    241B
  • 测试函数(Griewank function, Global Minimum=0).fig
    458.4KB
  • updateP.m
    211B
  • main.m
    6KB
内容介绍
%% 2019.8.10 智能算法对比 clc; clear all; %% 参数设置 %% 测试函数网址1 https://www.cnblogs.com/devilmaycry812839668/p/6371704.html?utm_source=itdadao&utm_medium=referral %% 网址2 https://wenku.baidu.com/view/cad168124431b90d6c85c7ca.html option.pro=4; %选择测试函数 option.sucess_error=0.01; %寻优结果和真实最优解的差距小于 该值,则认为 寻优成功 option.D=10; %维数 switch option.pro case 1 %Rastrigin's 函数 option.bound=[-5*ones(option.D,1),5*ones(option.D,1)]; option.aimFcn=@aimFcn_1; option.Minimum=0; string=['Rastrigin Function, Global Minimum=0']; case 2 %SCHAFFER FUNCTION N. 2 option.bound=[-5,5;-5,5]; option.aimFcn=@aimFcn_2; option.Minimum=0; string=['Schaffer function 1, Global Minimum=0']; case 3 %Ackley函数 option.bound=[-5*ones(option.D,1),5*ones(option.D,1)]; option.aimFcn=@aimFcn_3; option.Minimum=0; string=['Ackley function, Global Minimum=0']; case 4 %Griewank函数 option.bound=[-5*ones(option.D,1),5*ones(option.D,1)]; option.aimFcn=@aimFcn_4; option.Minimum=0; string=['Griewank function, Global Minimum=0']; case 5 %Shubert option.bound=[-5,5;-5,5]; option.aimFcn=@aimFcn_5; option.Minimum=-186.73; string=['Shubert function 2, Global Minimum= -186.73']; case 6 %sphere option.bound=[-5*ones(option.D,1),5*ones(option.D,1)]; option.aimFcn=@aimFcn_6; option.Minimum=0; string=['Sphere function , Global Minimum=0'];W end %% 实验参数 option.repeat_num=20; %重复实验10次,取平均值 %% 算法参数 option.peiod=100 ; %Maximum Iterations 最大迭代次数 option.genMax=option.peiod; option.M=30; %Population Size 种群规模 option.popSize=option.M; option.show_t=1; %是否显示迭代次数 option.show_pc=0; %是否显示迭代收敛图 option.creat_x=@creat_x_1; option.by=@bianyi_1; option.p1=0.9; %交叉概率 GA option.p2=0.01; %变异概率 GA option.p3=0.3; %灾变概率 GA option.k1=10; % 自适应GA 1 交叉概率系数1 option.k2=0.05; % 自适应GA 1 交叉概率系数2 option.k3=10; % 自适应GA 1 变异概率系数1 option.k4=0.01; % 自适应GA 1 变异概率系数2 option.p1_max=0.9; % 自适应GA 2 交叉概率系数1 option.p1_min=0.1; % 自适应GA 2 交叉概率系数2 option.p2_max=0.1; % 自适应GA 2 变异概率系数1 option.p2_min=0.01; % 自适应GA 2 变异概率系数2 option.c1 = 2; %学习因子1 APSO option.c2 = 2; %学习因子2 APSO option.wmax = 1.2; %最大权重 APSO option.wmin = 0.5; %最小权重 APSO option.b=1; option.p=option.p3; %% 海豚算法 option.speed_D=2; %最大速度 option.search_T=20; %随即搜索次数 option.A=1; option.e=3; %% 混沌测试搜索 option.chaos_k=10; option.u=4; %% 狼群算法 option.p=0.05; option.time_try=5; %尝试次数 option.step_WPA=2; %步长 option.w=0.8; %召集距离 option.p_wofl_D=0.5; %探狼比例 %% 萤火虫 option.r_FA=1; %光吸收系数 option.beta_FA=1; option.a_FA=0.1; %% 狮群算法 option.adlut_lion_p=0.2; %% 鸡群算法 option.p_CSO=[0.5,0.1,0.4]; %公鸡,母鸡,小鸡比例 %% CS option.a=1; option.sigma=0.6966; option.beta=2; option.w0=5; %惯性权重 % 松鼠算法 option.P_dp_SSA=0.8; option.Gc_SSA=0.05; option.Max_Dg_SSA=1; option.CD_SSA=[0.675,1.5]; option.sigma=0.6966; option.beta=2; option.a=(option.bound(:,2)-option.bound(:,1))/5; %步长控制变量 %% 初始种群生成 for i=1:option.repeat_num data=[]; x=cell(option.popSize,1); fit=zeros(option.popSize,1); for j=1:option.popSize x{j}=option.creat_x(option,data); v{j}=randn(size(x{j})); fit(j)=option.aimFcn(x{j},option,data); end data.x=x; data.fit=fit; data.v=v; %% tic [fit_record1(i,:),best_result1]=Apso(option,data); %粒子群 time(i,1)=toc; [min_according(i,1),gen(i,1),success(i,1)]=according(fit_record1(i,:),option); tic [fit_record2(i,:),best_result2]=Aga1(option,data); %遗传 time(i,2)=toc; [min_according(i,2),gen(i,2),success(i,2)]=according(fit_record2(i,:),option); tic [fit_record3(i,:),best_result3]=GAPSO(option,data); %遗传粒子群 time(i,3)=toc; [min_according(i,3),gen(i,3),success(i,3)]=according(fit_record3(i,:),option); end time=mean(time); gen=mean(gen); std_according=std(min_according) mean_according=mean(min_according); max_according=max(min_according); min_according=min(min_according); mean_success=mean(success); fit_record1=mean(fit_record1); fit_record2=mean(fit_record2); fit_record3=mean(fit_record3); figure hold on plot(fit_record1,'LineWidth',2) plot(fit_record2,'LineWidth',2) plot(fit_record3,'LineWidth',2) legend('PSO','GA','GAPSO') filename201=['智能算法算法收敛曲线(',string,')']; filename=[filename201,'.fig']; saveas(gcf,filename,'fig');% 保存 filename=[filename201,'.jpg']; saveas(gcf,filename,'jpg');% 保存 figure hold on plot(log10(fit_record1),'LineWidth',2) plot(log10(fit_record2),'LineWidth',2) plot(log10(fit_record3),'LineWidth',2) legend('PSO','GA','GAPSO') filename201=['智能算法算法收敛曲线log10(',string,')']; filename=[filename201,'.fig']; saveas(gcf,filename,'fig');% 保存 filename=[filename201,'.jpg']; saveas(gcf,filename,'jpg');% 保存 %% result_estimate=[std_according;max_according;min_according;mean_according;gen;mean_success;time]; xlswrite(['智能算法对比结果.xlsx'],result_estimate,option.pro); %% 测试函数 figure x=option.bound(1,1):(option.bound(1,2)-option.bound(1,1))/100:option.bound(1,2); y=option.bound(2,1):(option.bound(2,2)-option.bound(2,1))/100:option.bound(2,2); Z=zeros(length(x),length(y)); x_new=repmat(x,length(y),1); y_new=repmat(y',1,length(x)); for i=1:length(x) for j=1:length(y) Z(i,j)=option.aimFcn([x_new(i,j),y_new(i,j)],option,data); end end mesh(x,y,Z) title(string); xlabel('x') ylabel('y') zlabel('f') filename201=['测试函数(',string,')']; filename=[filename201,'.fig']; saveas(gcf,filename,'fig');% 保存 min(min(Z)) %% temp=[0,x; y',Z]; xlswrite(['测试函数.xlsx'],temp,option.pro);
评论
    相关推荐
    • pso.rar
      带有测试函数PSO算法源代码,用matlab开发
    • GA-PSO.zip
      遗传算法和粒子群算法以及网格搜索法优化神经网络SVM的高斯核参数和惩罚参数
    • PSO-SVM.zip
      将改进的粒子群算法和GA与SVM相结合,通过参数寻优构建新模型完成对空气质量指数的预测
    • 生物地理学算法,,bbo算法.zip
      生物地理学优化算法代码,用与求解测试函数,内含对比算法PSOGA,等多种算法代码
    • GAPSO-share.rar
      用于粗糙集约简的源程序代码,里面有测试的数据介绍
    • GA-BP.zip
      遗传算法优化神经网络,可以增加精度,避免陷入局部极小值
    • PSO_GA.zip
      基于PSO/GA算法的支持向量机 (SVM) 参数优化代码
    • pso.zip
      粒子群算法的寻优机制,另附十余个测试函数。主程序为test_basic
    • PSO_test.rar
      matlab实现人工智能算法粒子群算法PSO。可以进行优化计算,在解空间中寻找最优解。
    • matlabcnhelp.rar
      matlab中文帮助很难找的,快速下载