用MATLAB编制PSO算法程序求解简单的函数极值问题.docx

用MATLAB编制PSO算法程序求解简单的函数极值问题.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用MATLAB编制PSO算法程序求解简单的函数极值问题 一、利用PSO算法求解目标函数最大值 待求解问题为: 已知最大值大概为5在-1左右取到。 编制matlab主程序为: clc; clear all; close all; tic; %程序运行计时 E0=0.001; %允许误差 MaxNum=100; %粒子最大迭代次数 narvs=1; %目标函数的自变量个数 particlesize=30; %粒子群规模 c1=2; %每个粒子的个体学习因子,也称为加速常数 c2=2; %每个粒子的社会学习因子,也称为加速常数 w=0.6; %惯性因子 vmax=0.8; %粒子的最大飞翔速度x=-5+10*rand(particlesize,narvs); %粒子所在的位置 v=2*rand(particlesize,narvs); %粒子的飞翔速度 %用inline定义适应度函数以便将子函数文件与主程序文件放在一起, %目标函数是:y=1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2)) %inline命令定义适应度函数如下:fitness=inline(1/(1+(2.1*(1-x+2*x.^2).*exp(-x.^2/2))),x); %inline定义的适应度函数会使程序运行速度大大降低 for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j)); end end personalbest_x=x; personalbest_faval=f; [globalbest_faval i]=min(personalbest_faval); globalbest_x=personalbest_x(i,:); k=1; while k=MaxNum for i=1:particlesize for j=1:narvs f(i)=fitness(x(i,j)); end if f(i)personalbest_faval(i) %判断当前位置是否是历史上最佳位置 personalbest_faval(i)=f(i); personalbest_x(i,:)=x(i,:); end end [globalbest_faval i]=min(personalbest_faval); globalbest_x=personalbest_x(i,:); for i=1:particlesize %更新粒子群里每个个体的必威体育精装版位置 v(i,:)=w*v(i,:)+c1*rand*(personalbest_x(i,:)-x(i,:))... +c2*rand*(globalbest_x-x(i,:)); for j=1:narvs %判断粒子的飞翔速度是否超过了最大飞翔速度 if v(i,j)vmax; v(i,j)=vmax; elseif v(i,j)-vmax; v(i,j)=-vmax; end end x(i,:)=x(i,:)+v(i,:); end if abs(globalbest_faval)E0,break,end k=k+1; end Value1=1/globalbest_faval-1; Value1=num2str(Value1); % strcat指令可以实现字符的组合输出 disp(strcat(the maximum value,=,Value1)); %输出最大值所在的横坐标位置 Value2=globalbest_x; Value2=num2str(Value2); disp(strcat(the corresponding coordin

文档评论(0)

ligennv1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档