- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
智能优化方法作业
PSO算法实验报告
课程名称: 智能优化方法
作者姓名:
专 业: 控制工程
第一章 问题描述 1
第二章 算法设计 1
2.1解及目标函数的表达 1
2.1.1种群的编码 1
2.1.2初始种群的产生 1
2.1.3评价函数的构造 1
2.2 POS速度迭代公式 2
2.3粒子的更新 2
2.4惯性权重的调整 3
2.5停止准则 3
第三章 算法实现及分析 3
3.1编译环境及界面介绍 3
3.2 matlab中GUI界面打开的3种方式 4
第四章 算法分析 5
4.1 默认参数下的运行结果 5
4.2种群大小对算法的影响 6
4.3 最大迭代次数对算法的影响 8
4.4 实验得出的“最优”参数 9
第一章 问题描述
无约束5维的Rosenbrock函数可以描述如下:
(1)
其中,。
要求按PSO算法思想设计一个该问题的求解算法,并利用计算机语言实现设计的算法。将实验报告和程序代码(带有详细注释)。
第二章 算法设计
2.1解及目标函数的表达
2.1.1种群的编码
显然对于一个粒子个体可以用一个含有5个元素的一维数组进行表示。对于一个种群这里使用pop_size×5的二维数组进行表示。其中pop_size为种群大小。
2.1.2初始种群的产生
初始种群的各个粒子均采用均匀随机产生的方式,即粒子每一位都是-30到30上的随机数。同样粒子的速度也是-40到40上的随机数。这里设置速度在-40到40内是因为限定速度的最大值为40。
2.1.3评价函数的构造
这里直接采用解的函数值作为评价函数,评价函数值越小认为该解越好。评价函数如下:
(2)
其中,。
2.2 POS速度迭代公式
为了改善算法的收敛性,这里采样带惯性权重的迭代公式,速度迭代公式如下:
(3)
其中:
:粒子的速度。
w:粒子的权重,为0到1的数值。表示对之前速度的一个惯性。值越小,前一时刻的速度对当前时刻速度的影响也越小。
:对个体所搜索过的最优值的学习因子。值越大,向个体最优值的移动速度也越大。
:对全局搜索过的最优值的学习因子。值越大,向全局最优值移动的速度也越大。
:0到1的随机数。表示粒子学习状态的随机,有可能向全局最优值学习,有可能向个体最优值学习。也有可能几乎不学习。
:粒子搜索过的个体最优解。
:种群搜索过的全局最优解。
可以看出,这里将整个种群视为“连通的”。即整个种群共用一个全局最优值。另外,为了保证算法的收敛性,这里对速度的最大值进行了限定。这里设定的速度最大值的绝对值为40,即粒子的每一个分量在一次迭代过程中最多跨越搜索长度的2/3。
2.3粒子的更新
粒子的更新采用如下公式:
(4)
其中:
:粒子的位置。
这里同样对粒子的位置进行限定,即让粒子的每一个分量均在-30到30之间。
2.4惯性权重的调整
惯性权重带代表着对之前速度继承情况。一般来说,惯性权重越大全局的探索能力越强,惯性权重越小局部的开发能力越强。根据这个规律,这里采样变惯性权重的搜索方式。在搜索的开始阶段,使用较大的惯性权重,随着迭代次数的进行,逐渐减少惯性权重。使其进行更多的局部开发,寻找最优解。惯性权重调整公式如下:
(5)
其中:
:第i次迭代的惯性权重。
:最大惯性权重。
:最小惯性权重。
iter_max:最大迭代次数。
i:当前迭代次数。
2.5停止准则
停止准则采样固定的迭代次数。
第三章 算法实现及分析
3.1编译环境及界面介绍
本次试验算法采用matlab进行实现。matlab版本为R2013b.首先我们编写了一个m脚本文件进行调试(pso_pro.m).在程序调试成功以后,为了方便讨论各个参数对算法的影响及对算法进行分析。我们又编写了一个GUI界面(PSO_pro.fig或PSO_pro.m)。界面如下:
图3.1 PSO算法GUI界面
3.2 matlab中GUI界面打开的3种方式
方法一:
将文件放到matlab当前工作目录或者添加文件目录到matlab搜索目录中。然后在命令空间输入PSO_pro.
方法二:
打开PSO_pro.m文件,然后点击上方run字样的绿色箭头。
方法三:
在命令空间输入guide,选择open existing GUI-browse-PSO_pro.fig.然后点击上方的run字样的绿色箭头。
以上方法均可以打开GUI界面,但是不能直接点击PSO_pro.fig文件进行打开。这是因为这样打开GUI文件时,不会调用opening函数。即不会初始化及更新结构体。运行文件会导致错误。
第四章 算法分
您可能关注的文档
- 智能建筑系统基本概念分析.ppt
- 智能建筑与楼宇自动化分析.ppt
- 智能建筑自动窗帘系统分析.docx
- 振动测试分析.ppt
- 智能建筑综合管理平台方案v(iVMS)分析.docx
- 振动的测试分析.ppt
- 智能健身计数器分析.doc
- 振动理论基础含多自由度分析.ppt
- 智能交通灯毕业设计论文正文分析.doc
- 智能交通灯控制系统的设计分析.doc
- 2025年安徽工商职业学院单招职业技能测试题库带答案(典型题).docx
- 2025年洛阳科技职业学院单招职业技能测试题库带答案(新).docx
- 2025年荆门职业学院单招职业技能测试题库及答案(易错题).docx
- 2025年宣化科技职业学院单招职业技能测试题库(精练).docx
- 2025年包头职业技术学院单招职业技能测试题库带答案(新).docx
- 2025年江西工商职业技术学院单招职业技能测试题库带答案(精练).docx
- 2025年黑龙江农业经济职业学院单招职业技能测试题库精编.docx
- 2025年山东艺术设计职业学院单招职业技能测试题库带答案(基础题).docx
- 2025年陕西工商职业学院单招职业技能测试题库带答案(突破训练).docx
- 2025年承德护理职业学院单招职业技能测试题库【word】.docx
文档评论(0)