精华内容
下载资源
问答
  • 粒子群Matlab

    2016-01-05 21:42:57
    基本粒子群matlab代码,可以作为学习matlab的粒子群编程的过程,希望相互学习相互进步。
  • 粒子群matlab

    2015-10-29 21:39:49
    粒子群算法对目标函数 peaks方程 寻优,并且 动态显示
  • 协同粒子群matlab程序

    2020-04-20 10:12:11
    协同粒子群matlab程序,协同PSO算法的系统辨识,算法可实现逐维寻优,避免算法的退化 ,本人在matlab2016a上面运行能够跑通,希望对需要的人有用。
  • % % 改进的多目标粒子群算法包括多个测试函数 % 对程序中的部分参数进行修改将更好地求解某些函数 % ZDT1NP=cell(1,50; ZDT1FV=cell(1,50; ZDT1T=zeros(1,50; for i=1:50 tic; %[np,nprule,dnp,fv,goals,pbest]=...
  • 粒子群MATLAB程序

    2014-02-18 10:58:52
    粒子群优化算法的MATLAB程序,适用于初学智能优化算法和matlab的人
  • 粒子群matlab程序

    2016-11-17 09:16:30
    本程序对一幅图片使用粒子群算法求取了最大值,自带图片,方便观察实验结果。
  • 五子棋俄罗斯方块黑白棋卡农粒子群MATLAB源代码集-Heibai.m 本帖最后由 当当的花生 于 2016-6-12 20:55 编辑 本人喜欢收集一些有趣的MATLAB小程序,现一起分享给大家,点击支持可联系我分享更多的代码合,谢谢...
  • 五子棋俄罗斯方块黑白棋卡农粒子群MATLAB源代码集-Canon.m 本帖最后由 当当的花生 于 2016-6-12 20:55 编辑 本人喜欢收集一些有趣的MATLAB小程序,现一起分享给大家,点击支持可联系我分享更多的代码合,谢谢...
  • 五子棋俄罗斯方块黑白棋卡农粒子群MATLAB源代码集-five.m 本帖最后由 当当的花生 于 2016-6-12 20:55 编辑 本人喜欢收集一些有趣的MATLAB小程序,现一起分享给大家,点击支持可联系我分享更多的代码合,谢谢...
  • 粒子群 matlab源程序

    2012-11-02 16:31:35
    这个是基本的粒子群算法,用matlab工具编写,很实用哦
  • 五子棋俄罗斯方块黑白棋卡农粒子群MATLAB源代码集-pintu1.m 本帖最后由 当当的花生 于 2016-6-12 20:55 编辑 本人喜欢收集一些有趣的MATLAB小程序,现一起分享给大家,点击支持可联系我分享更多的代码合,谢谢...
  • 五子棋俄罗斯方块黑白棋卡农粒子群MATLAB源代码集-g2048.m 本帖最后由 当当的花生 于 2016-6-12 20:55 编辑 本人喜欢收集一些有趣的MATLAB小程序,现一起分享给大家,点击支持可联系我分享更多的代码合,谢谢...
  • pso粒子群matlab

    2010-04-12 23:48:25
    粒子群优化算法matlab程序框架,基本PSO的原理是: 每个优化问题的解都是粒子在搜索空间中的位置,粒子的速度值决定它们飞翔的方向和距离,粒子群追随当前的最优粒子在解空间中搜索。实质是求最优解问题。
  • 粒子群matlab源程序

    2012-09-18 12:55:38
    粒子群优化算法(Particle Swarm optimization,PSO)又翻译为粒子群算法、微粒群算法、或微粒群优化算法。是通过模拟鸟群觅食行为而发展起来的一种基于群体协作的随机搜索算法。
  • 粒子群MATLAB工具箱

    2009-03-22 14:43:25
    网上找的 MATLAB 粒子群工具箱 感觉还可以
  • MPPT粒子群MATLAB程序

    2014-07-27 13:34:04
    有详细注释和运行结果,matlab2012a运行即可
  • 简单的matlab版本的粒子群算法 可解决TSP问题 简单优化改进版本 fitness 和最后函数自己写 只给了主体函数 其余只有几行代码了 自力更生才学的会啊
  • Test function : f(x,y)=x*sin(4*pi*x)-y*sin(4*pi*y+pi+1) Aim to get its max value
  • 这是我亲自编写的,可以运行,效果相当好!大家觉得行就下载吧
  • 我现在要用粒子群算法优化支持向量机的参数,请哪位大神告诉我怎么调用svmtrain函数的语法怎么写,将优化的参数传进去? 谢谢各位大神!!!!!!!!============================实例研究====================...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    下面是一个调用SVM分类的一个实例,这个例子svmtrain没有传参数。我现在要用粒子群算法优化支持向量机的参数,请哪位大神告诉我怎么调用svmtrain函数的语法怎么写,将优化的参数传进去? 谢谢各位大神!!!!!!!!

    ============================实例研究====================

    load fisheriris

    %载入matlab自带的数据[有关数据的信息可以自己到UCI查找,这是UCI的经典数据之一],得到的数据如下图:

    其中meas是150*4的矩阵代表着有150个样本每个样本有4个属性描述,species代表着这150个样本的分类.

    data = [meas(:,1), meas(:,2)];

    %在这里只取meas的第一列和第二列,即只选取前两个属性.

    groups = ismember(species,'setosa');

    %由于species分类中是有三个分类:setosa,versicolor,virginica,为了使问题简单,我们将其变为二分类问题:Setosa and non-Setosa.

    [train, test] = crossvalind('holdOut',groups);

    cp = classperf(groups);

    %随机选择训练集合测试集[有关crossvalind的使用请自己help一下]

    其中cp作用是后来用来评价分类器的.

    svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);

    %使用svmtrain进行训练,得到训练后的结构svmStruct,在预测时使用.

    classes = svmclassify(svmStruct,data(test,:),'showplot',true);

    %对于未知的测试集进行分类预测,结果如图:

    tu3

    3.jpg (37.34 KB)

    2009-5-12 19:50

    classperf(cp,classes,test);

    cp.CorrectRate

    ans =

    0.9867

    展开全文
  • end %%三维显示粒子群运动变化%% global Swarmscope; Swarmscope = plot(0,0, '.'); axis([Xmin(1) Xmax(1) Xmin(2) Xmax(2) Xmin(3) Xmax(3)]); %初始轴的范围的设置 % axis square; grid on; set(Swarmscope,'...

    本帖最后由 scylle718 于 2017-4-25 00:43 编辑

    function PSOstandard_benchmarks_Test

    clear all;

    close all;

    c1=1.49445;c2=1.49445;%

    global dimension  Size

    dimension=40;Size=40;

    %种群维数 dimension、规模 Size

    Tmax=1000;%%最大迭代次数 Tmax

    %%选择不同测试函数的速度和位置限制范围%%

    F_n=1;

    switch F_n

    case 1   %%  f1_Sphere                    %%

    Vmax(1:dimension)= 30;  Vmin(1:dimension)=-30;

    Xmax(1:dimension)= 30;  Xmin(1:dimension)=-30;

    end

    %%三维显示粒子群运动变化%%

    global Swarmscope;

    Swarmscope = plot(0,0, '.');

    axis([Xmin(1) Xmax(1) Xmin(2) Xmax(2) Xmin(3) Xmax(3)]);   %初始轴的范围的设置

    %  axis square;

    grid on;

    set(Swarmscope,'EraseMode','xor','MarkerSize',12); %设置用来显示粒子.

    %%initial Position Velocity%%

    Position=zeros(dimension,Size);%以后位置Position统一为此种记法:行 dimension;列 Size;

    Velocity=zeros(dimension,Size);%每个粒子的位置、速度对应于一列。

    [Position,Velocity]=initial_Position_Velocity(dimension,Size,Xmax,Xmin,Vmax,Vmin);

    %%个体最优 P_p 和全局最优 globe 初始赋值%%

    P_p=Position;globe=zeros(dimension,1);

    %%评价每个粒子适应值,寻找出 globle%%

    for j=1:Size

    Pos=Position(:,j);

    fz(j)=Fitness_Function(Pos,F_n);

    end

    [P_g,I]=min(fz);%P_g  1*1 ?

    globe=Position(:,I);

    %%打散参数设置%%

    N_dismiss=51;%太小,不利于初始寻优

    N_dismissed=0;%记录被打散的次数

    deltaP_gg=0.001%种群过分收敛衡量标准值(适应度变化率)

    %  reset = 1;  %设置reset = 1时指示粒子群过分收敛时将被打散,如果reset=0则不打散

    reset_dismiss = 0;

    %%迭代开始%%

    for itrtn=1:Tmax

    time(itrtn)=itrtn;

    %%过于集中时打散%%

    if reset_dismiss==1

    bit=1;

    if itrtn>N_dismiss

    bit=bit&((P_gg(itrtn-1)-P_gg(itrtn-N_dismiss))/P_gg(itrtn-1)< deltaP_gg);

    if bit==1

    [Position,Velocity]=initial_Position_Velocity(dimension,Size,Xmax,Xmin,Vmax,Vmin);%重新初始化位置和速度

    N_dismissed=N_dismissed+1;

    N_dismissed

    warning('粒子过分集中!重新初始化……');      %   给出信息

    itrtn

    end

    end

    end

    Weight=0.4+0.5*(Tmax-itrtn)/Tmax;

    %        Weight=1;

    r1=rand(1);r2=rand(1);

    for i=1:Size

    Velocity(:,i)=Weight*Velocity(:,i)+c1*r1*(P_p(:,i)-Position(:,i))+c2*r2*(globe-Position(:,i));%速度更新

    end

    %%速度限制%%

    for i=1:Size

    %%引入速度边界变异%%

    %         Vout_max=max(Velocity(:,i));

    %         Vout_min=min(Velocity(:,i));

    %         if Vout_max

    jj=1;

    K=ones(dimension,1);

    for row=1:dimension

    if Velocity(row,i)>Vmax(row)

    K(jj)=Vmax(row)/Velocity(row,i);

    jj=jj+1;

    elseif Velocity(row,i)

    K(jj)=Vmin(row)/Velocity(row,i);

    jj=jj+1;

    else

    end

    end

    Kmin=min(K);

    for row=1:dimension

    if Velocity(row,i)>Vmax(row)

    Velocity(row,i)=Velocity(row,i)*Kmin;

    elseif Velocity(row,i)

    Velocity(row,i)=Velocity(row,i)*Kmin;

    else

    end

    end

    end

    %      K

    Position=Position+Velocity;%位置更新

    %%位置限制%%

    for i=1:Size

    for row=1:dimension

    if Position(row,i)>Xmax(row)

    Position(row,i)=Xmax(row);

    elseif Position(row,i)

    Position(row,i)=Xmin(row);

    else

    end

    end

    end

    %%重新评价每个粒子适应值,更新个体最优 P_p 和全局最优 globe%%

    for j=1:Size

    xx=Position(:,j)';

    fz1(j)=Fitness_Function(xx,F_n);

    if fz1(j)

    P_p(:,j)=Position(:,j);

    fz(j)=fz1(j);

    end

    % [P_g1,I]=min(fz1);%%%有改动

    if fz1(j)

    P_g=fz1(j);

    %      globe=Position(:,I);

    end

    end

    [P_g1 I]=min(fz);

    P_gg(itrtn)=P_g1;

    globe=P_p(:,I);

    %     globe=Position(:,I);

    %     itrtn

    %     globe

    %% draw 粒子群运动变化图%%

    XX=Position(1,:);YY=Position(2,:);ZZ=Position(3,:);

    if dimension>= 3

    set(Swarmscope,'XData',XX,'YData', YY, 'ZData', ZZ);

    elseif dimension== 2

    set(Swarmscope,'XData',XX,'YData',YY );%设置

    end

    xlabel('粒子第一维');

    ylabel('粒子第二维');

    zlabel('粒子第三维');

    drawnow;

    end

    %%画‘评价值’变化曲线%%

    figure(1);

    BestFitness_plot(time,P_gg);

    %%画系统阶跃响应变化曲线%%

    % figure(2);

    % Step_2PID(globe)

    function   BestFitness_plot(time,P_gg)

    plot(time,P_gg);

    xlabel('迭代的次数');ylabel('适应度值P_g');

    function [Position,Velocity]=initial_Position_Velocity(dimension,Size,Xmax,Xmin,Vmax,Vmin)

    for i=1:dimension

    Position(i,:)=Xmin(i)+(Xmax(i)-Xmin(i))*rand(1,Size);

    Velocity(i,:)=Vmin(i)+(Vmax(i)-Vmin(i))*rand(1,Size);

    end

    function Fitness=Fitness_Function(X,F_n)

    global dimension  Size

    % F_n 标准测试函数选择,其中:

    % n=1: f1_Sphere        测试

    % n=2: f2_Quadric       测试

    % n=3: f3_Ackley        测试

    % n=4: f4_Griewank      测试

    % n=5: f5_Rastrigin     测试

    % n=6: f6_Rosenbrock    测试

    % n=7: f7_Schaffer's f6 测试  注:此函数只接受两个变量,故dimension=2。

    switch F_n

    case 1

    %%  f1_Sphere        %%

    Func_Rastrigin=X(:)'*X(:);

    Fitness=Func_Rastrigin;

    end

    展开全文
  • Users of MATLAB's Optimization Toolbox should feel right at home but even if you don't use that toolbox this will be easy to figure. Extensive help is included. Anyone from serious AI researchers to ...

    PSO做实数优化有自身特性优势。而且全局寻优性能比较好。

    只是该工具箱中的Trelea, Clerc两种类型的PSO我不了解,正在找这方面的资料看看。

    Robust Particle Swarm toolbox implementing Trelea, Common, and Clerc types along with an alpha version of change detection.

    This toolbox is designed for researchers in Computational Intelligence as well as application developers, students, and classroom labs. It is robust enough that several papers have been developed using it but it is also in constant development and very easy to hack. Users of MATLAB's Optimization Toolbox should feel right at home but even if you don't use that toolbox this will be easy to figure. Extensive help is included.

    Anyone from serious AI researchers to beginning students should get something out of this.

    This toolbox is constantly evolving and I welcome suggestions.

    Current feature set:

    * Trelea, Clerc, and Common Types

    * Vectorized and non-vectorized versions, you can investigate thousands of particles at once with the proper cost function.

    * custom plotting plug ins

    * neural net trainer (requires Matlab's neural net toolbox)

    * PDF Particle Swarm Introduction

    * Alpha version of change detection, will track dynamic environments

    * includes suite of test functions commonly used in the CI/optimization community.

    主页:

    http://www.mathworks.com/matlabcentral/fileexchange/7506-particle-swarm-optimization-toolbox

    转载本文请联系原作者获取授权,同时请注明本文来自白途思科学网博客。

    链接地址:http://blog.sciencenet.cn/blog-234554-309568.html

    上一篇:MOGA多目标遗传算法Matlab工具箱 NSGA-II

    下一篇:最近科研感受:五雷轰顶与柳暗花明

    展开全文
  • %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%PSO工具箱函数%%%%%%%%%%%%%%%psoPSO主程序psooptPSO参数项psooptimset PSO参数项设置psooptimget PSO参数项获取psoplot PSO图示%%%%%%%%%%%%%%%%%%...

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    %%%%%%%%%%% PSO工具箱函数 %%%%%%%%%%%%%%%

    pso PSO主程序

    psoopt PSO参数项

    psooptimset  PSO参数项设置

    psooptimget  PSO参数项获取

    psoplot    PSO图示

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    各函数调用格式

    % [x,fval,output]=pso(fun,nvars);

    % [x,fval,output]=pso(fun,nvars,options);

    % optoins = psodefaultopt;

    % options = psodefaultopt('default')

    % options = psooptimset(options,defaultopt);

    % options = psooptimset(options,value);

    % options = psooptimset(options,name,value);

    % options = psooptimset(options,name1,value1,name2,value2,...);

    % options = psooptimget('default');

    % [name,values]=psooptimget(options);

    % value = psooptimget(options,name);

    % psoplot(output,options)

    % h = psoplot(output,options)

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    以下给出PSO主函数程序代码

    function [x,fval,output]=pso(fun,nvars,options)

    % PSO

    % [x,fval,output]=pso(fun,nvars);

    % [x,fval,output]=pso(fun,nvars,options);

    % fun: function handle

    % nvars: dimension of problem

    % options: pso options setting

    %

    % call subfunction: bestinitialize, updatepbest, updategbest,

    % updateparticle, chkerrgoal, limitpos, limitvel

    % See also: psoopt, psoopitmset, psooptimget, readjust, psoplot

    % Author: J.H.Zhu

    % Date: Nov. 1, 2010.

    % Copyright reserved by Author

    % Check number of input arguments

    error(nargchk(1,3,nargin));

    if nargin<3

    options

    =[]; end

    defaultopt = psoopt('default');

    % Take defaults for parameters that are not in options

    structure

    options = psooptimset(options,defaultopt);

    rand('state',options.RandState);

    %#ok

    popsize = options.PopulationSize;

    poprange = options.PopRange;

    partvel = options.ParticleVelocity;

    % initialize population of particles and their velocities

    pos = readjust(rand(popsize,nvars),poprange,1);

    vel = readjust(rand(popsize,nvars),partvel,1);

    % initial partial and global best pos

    [pbest,pbestval,gbest,gbestval]=bestinitialize(fun,pos,options);

    output.gbest(1,:)=gbest;

    output.gbestval(1)=gbestval;

    output.counter=0;

    counter2=0;

    for i = 1:options.MaxEpoch

    for j

    =1:options.PopulationSize

    funval(j) = feval_r(fun,pos(j,:));

    % update pbest

    [pbest(j,:),pbestval(j)]=...

    updatepbest(pbest(j,:),pbestval(j),pos(j,:),funval(j),options);

    % update gbest

    [gbest,gbestval]=...

    updategbest(gbest,gbestval,pbest,pbestval,options);

    % update velocities and positions

    [pos(j,:),vel(j,:)]=...

    updateparticle(i,pos(j,:),vel(j,:),gbest,pbest(j,:),options);

    end % end

    popsize

    % check the condition of end loop

    output.gbest(i,:)=gbest;

    output.gbestval(i)=gbestval;

    output.counter=i;

    [ExitFlag,counter2]=chkerrgoal(output,counter2,options);

    % figure plots

    if

    ~isempty(options.PlotFcn) &&

    options.Display

    feval_r(options.PlotFcn,output,options);

    end

    if

    (~ExitFlag)

    x = gbest;

    fval = gbestval;

    break;

    end

    end %% end maxepoch

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

    psoplot画出的图形

    a4c26d1e5885305701be709a3d33442f.png

    展开全文
  • 文件名称: pos_Code下载 收藏√ [5 4 3 2 1]开发工具: matlab文件大小: 1786 KB上传时间: 2016-12-29下载次数: 0提 供 者: 水泉龙详细说明:粒子群matlab代码 粒子群优化一维二维函数代码-pos code文件列表(点击判断...
  • 粒子群算法matlab

    2017-10-31 20:32:44
    粒子群算法matlab粒子群算法matlab粒子群算法matlab
  • 粒子群算法 MATLAB

    2010-05-18 12:27:28
    粒子群 MATLAB 是一种全局搜索算法
  • 粒子群算法matlab代码

    2020-05-17 00:31:18
    里面包含粒子群算法的介绍说明,粒子群算法具体的实现过程和matlab程序代码 里面包含粒子群算法的介绍说明,粒子群算法具体的实现过程和matlab程序代码
  • 粒子群算法 matlab 源码 粒子群算法 matlab 源码 粒子群算法 matlab 源码
  • MATLAB 粒子群算法,例题与常用模版

    万次阅读 多人点赞 2018-09-06 18:09:18
    MATLAB 粒子群算法 本文学习自:Particle Swarm Optimization in MATLAB - Yarpiz Video Tutorial 与《精通MATLAB智能算法》 1. 简介: Particle Swarm Optimization ,粒子群优化算法,常用来找到方程...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,888
精华内容 1,555
关键字:

粒子群matlab

matlab 订阅