77范文网 - 专业文章范例文档资料分享平台

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

来源:网络收集 时间:2021-02-21 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

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

一、利用PSO算法求解目标函数最大值

待求解问题为:

x2

maxf(x) 2.1(1 x 2x)exp(),22x 5,5

已知最大值大概为5在-1左右取到。

编制matlab主程序为:

clc;

clearall;

closeall;

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;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库用MATLAB编制PSO算法程序求解简单的函数极值问题在线全文阅读。

用MATLAB编制PSO算法程序求解简单的函数极值问题.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1190022.html(转载请注明文章来源)
上一篇:鞍钢实习报告
下一篇:生产日报表
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: