陆振波matlab,请教关于陆振波的“群体智能算法”Matlab工具箱如何使用

RT,想写个课程报告,比如共同针对Sphere函数,几种群智能算法的性能对比,下载了陆振波的“群体智能算法”Matlab工具箱 Version 2.0,但是不知道怎么使用,

% “群体智能算法”Matlab工具箱 Version2.0 试用版

% "Swarm Intelligence Alogrihtm" Matlab Toolbox - trial version 2.0

%

% 工具箱简要使用说明:

% 1、集成了八种群体智能算法:'PPNGA','SFLA','MSFLA','AF-SFLA','PSO','ABC','DEr1','DEb2'

% 2、适应度函数开放了一个参数Parmaters,接收本文件Options.Parmaters传递的参数,实例参见m文件F3_Rastrigin.m

% 3、本程序设置了三个终止条件,终止条件3是必需的;终止条件1,2是可选的,不需要时隐去代码即可

% 4、在优化参数设置中,小种群设置与大种群设置各有优势,实际工程问题不一定哪一种设置更好,要根据实验结果来确定

% 5、在算法参数设置中,缺省设置一般不需要改动,除非在原理上对改动所引起的结果变动有着更深入的理解

%

% 接口文件

% Main_SwarmIntelligence_Interface.m

%

% 适应度函数文件

% F0_Yours.m

% F1_Sphere.m

% F2_Rosenbrock.m

% F3_Rastrigin.m

% F4_Griewank.m

% F5_Schaffer.m

%

% 特别提示: 采用以下三种方法来可有效克服随机初始化带来的局部极小问题

% 1、若干次运行取最优

% 2、增加进化代数maxgen

% 3、加大种群规模popsize

%

clc

clear

close all

warning off all

%--------------------------------------

% 优化函数定义(函数详细说明参见m文件:Options.fitness)

% Options.dim = 3;                            % 优化函数的维数

% Options.fitness = 'F0_Yours';               % 优化函数

% Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

% Options.Lb = -5.12;                         % 参数下界(各维可分别设置)

% Options.Ub = 5.12;                          % 参数上界(各维可分别设置)

Options.dim = 30;                           % 优化函数的维数

Options.fitness = 'F1_Sphere';              % 优化函数

Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

Options.Lb = -100;                          % 参数下界(各维可分别设置)

Options.Ub = 100 ;                          % 参数上界(各维可分别设置)

%Options.dim = 30;                           % 优化函数的维数

%Options.fitness = 'F2_Rosenbrock';          % 优化函数

%Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

%Options.Lb = -30;                           % 参数下界(各维可分别设置)

%Options.Ub = 30;                            % 参数上界(各维可分别设置)

% Options.dim = 30;                           % 优化函数的维数

% Options.fitness = 'F3_Rastrigin';           % 优化函数

% Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

% Options.Lb = -100;                          % 参数下界(各维可分别设置)

% Options.Ub = 100;                           % 参数上界(各维可分别设置)

% Options.Parmaters = 10;                     % 优化函数Options.fitness参数

% Options.dim = 30;                           % 优化函数的维数

% Options.fitness = 'F4_Griewank';            % 优化函数

% Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

% Options.Lb = -600;                          % 参数下界(各维可分别设置)

% Options.Ub = 600;                           % 参数上界(各维可分别设置)

% Options.dim = 30;                           % 优化函数的维数

% Options.fitness = 'F5_Schaffer';            % 优化函数

% Options.maxmin = -1;                        % 极值类型(1最大值,-1最小值)

% Options.Lb = -100;                          % 参数下界(各维可分别设置)

% Options.Ub = 100;                           % 参数上界(各维可分别设置)

%--------------------------------------------------------------------------

% 优化参数设置

% 大种群设置

Options.show = 10;                          % 显示间隔

Options.popsize = 200;                      % 种群规模

Options.maxgen = 500;                       % 终止条件3(到达最大进化代数,程序终止)

Options.localmin = 50;                      % 终止条件1(输出连续localmin次不更新,程序终止,隐去无效)

Options.tolfun = 1e-16;                     % 终止条件2(输出到达tolfun,程序终止,隐去无效)

% 小种群设置(与大种群设置各有优势

% Options.show = 100;                         % 显示间隔

% Options.popsize = 20;                       % 种群规模

% Options.maxgen = 5000;                      % 终止条件3(到达最大进化代数,程序终止)

% Options.localmin = 200;                     % 终止条件1(输出连续localmin次不更新,程序终止,隐去无效)

% Options.tolfun = 1e-16;                     % 终止条件2(输出到达tolfun,程序终止,隐去无效)

%--------------------------------------------------------------------------

% 算法参数设置(以下为缺省设置,一般不需要改动,除非在原理上对改动所引起的结果变动有着更深入的理解)

% Options.seed = sum(100*clock);              % 初始化随机种子(使用此项,各算法初始化群体相同)

% Options.quick = 5;                          % 最优解加速次数(为0时,扰动算子无效)

% Options.Pc = [0.6,0.99];                    % 自适应交叉概率(交叉算子)

% Options.Pm = [0.01,0.1];                    % 自适应变异概率(变异算子)

% Options.c1 = 2;                             % 加速系数1(粒子群算法,PSO)

% Options.c2 = 2;                             % 加速系数2(粒子群算法,PSO)

% Options.w1 = 0.9;                           % 惯性权系数1(粒子群算法,PSO)

% Options.w2 = 0.4;                           % 惯性权系数2(粒子群算法,PSO)

% Options.limit = 50;                         % 侦察蜂控制参数(蜂群算法,ABC)

% Options.F = [0,1];                          % 缩放因子(差分进化算法,DEr1,DEb2)

% Options.CR = [0.8,1];                       % 交叉概率(差分进化算法,DEr1,DEb2)

%--------------------------------------------------------------------------

% 函数调用

[x1,f1,F1] = SwarmIntelligence(Options,'PPNGA');    % 伪并行小生境遗传算法(PPNGA)

% [x2,f2,F2] = SwarmIntelligence(Options,'SFLA');     % 标准混合蛙跳算法(SFLA)

% [x3,f3,F3] = SwarmIntelligence(Options,'MSFLA');    % 改进混合蛙跳算法(MSFLA)

% [x4,f4,F4] = SwarmIntelligence(Options,'AF_SFLA');  % 鱼群(AF),SFLA混合算法

% [x5,f5,F5] = SwarmIntelligence(Options,'PSO');      % 标准粒子群算法(PSO)

% [x6,f6,F6] = SwarmIntelligence(Options,'ABC');      % 蜂群算法(ABC)

% [x7,f7,F7] = SwarmIntelligence(Options,'DEr1');     % 标准差分算法(DE/rand/1/bin)

%[x8,f8,F8] = SwarmIntelligence(Options,'DEb2');     % 标准差分算法(DE/best/2/bin)

% 输入参数:

% Options - 优化参数设置

%     Options.dim - 优化函数的维数

%     Options.fitness - 优化函数

%     Options.Parmaters - 优化函数Options.fitness参数

%     Options.maxmin - 极值类型:1最大值,-1最小值

%     Options.Lb - 参数下界

%     Options.Ub -  参数上界

%

%     Options.show - 显示间隔

%     Options.popsize - 种群规模

%     Options.maxgen - 终止条件3(到达最大进化代数,程序终止)

%     Options.localmin - 终止条件1(输出连续localmin次不更新,程序终止,隐去无效)

%     Options.tolfun - 终止条件2(输出到达tolfun,程序终止,隐去无效)

%

%     Options.seed - 初始化随机种子,缺省值sum(100*clock)(使用此项,各算法初始化群体相同)

%     Options.quick - 最优解加速次数,缺省值5(为0时,扰动算子无效);

%     Options.Pc - 自适应交叉概率(交叉算子),缺省值[0.6,0.99];

%     Options.Pm - 自适应变异概率(变异算子),缺省值[0.01,0.1];

%     Options.c1 - 加速系数1(粒子群算法,PSO),缺省值2;

%     Options.c2 - 加速系数2(粒子群算法,PSO),缺省值2;

%     Options.w1 - 惯性权系数1(粒子群算法,PSO),缺省值0.9;

%     Options.w2 - 惯性权系数2(粒子群算法,PSO),缺省值0.4;

%     Options.limit - 侦察蜂控制参数(蜂群算法,ABC),缺省值50;

%     Options.F - 缩放因子(差分进化算法,DEr1,DEb2),缺省值[0,1];

%     Options.CR - 交叉概率(差分进化算法,DEr1,DEb2),缺省值[0.8,1];

%

% Algorithm - 算法

%     'MSFLA' - 改进混合蛙跳算法(MSFLA)

%     'SFLA' - 标准混合蛙跳算法(SFLA)

%     'PPNGA' - 伪并行小生境遗传算法(PPNGA)

%     'AF_SFLA' - 鱼群(AF),SFLA混合算法

%     'ABC' - 蜂群算法(ABC)

%     'PSO' - 标准粒子群算法(PSO)

%     'DEr1' - 标准差分进化算法(DE/rand/1/bin)

%     'DEb2' - 标准差分进化算法(DE/best/2/bin)

%

% 输出参数:

% x - 最优解

% f - 最优适应度

% F - 各代最优适应度

%--------------------------------------------------------------------------

% 结果作图

figure; xlabel('gen'); ylabel('log10(F)'); title(Options.fitness(4:end)); hold on

plot(log10(F1),'b.-');

%plot(log10(F2),'m.-');

%plot(log10(F3),'k.-');

%plot(log10(F4),'c.-');

% plot(log10(F5),'g.-');

% plot(log10(F6),'.-','color',[0.4 0.4 0.4]);

% plot(log10(F7),'y.-');

%plot(log10(F8),'r.-');

legend('PPNGA','SFLA','MSFLA','AF-SFLA','PSO','ABC','DEr1','DEb2');

hold off;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值