




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、华东交通大学MATLA能序设计报告书课题名称:基于MATLAB勺粒子群优化算法的实现姓名:学号:20160280800014专业:控制科学与工程2016 年 11 月 20 日基于MATLAB勺粒子群优化算法的实现一、课程选题目的本次课程设计的课题为基于MATLAB 的粒子群优化算法的实现,主要为学会运用MATLAB 对实际算法编程,加深对粒子群优化算法的理解,并为今后熟练使用MA TLAB 进行系统的分析仿真和设计奠定基础。数值计算分析可以帮助更深入地理解理论知识,并为将来使用 MA TLAB 进行各领域数值分析分析和实际应用打下基础。此次课程主要是为了进一步熟悉对MATLAB 软件的使用,
2、以及学会利用MA TLAB 对数值运算这种实际问题进行处理,将理论应用于实际,加深对它的理解。二、粒子群优化算法原理优化是科学研究、工程技术和经济管理等领域的重要研究工具。它所研究的问题是讨论在众多的方案中寻找最优方案。例如, 工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。在人类活动的各个领域中,诸如此类,不胜枚举。优化这一技术, 正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。 近十余年来,粒子群优化算法作为群体智能算法的一个重要分支得到了广泛深入的研
3、究,在路径规划等许多领域都有应用。2.1 粒子群优化算法的起源粒子群优化(PSO)算法是由Kennedy和Eberhart于1995年用计算机模拟鸟群觅食这一简单的社会行为时,受到启发,简化之后而提出的。设想这样一个场景:一群鸟随机的分布在一个区域中,在这个区域里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟寻觅食物的过程就可以当作一个函数寻优的过程。鱼群和鸟群的社会行为一直引起科学家的兴趣。他们以特殊的方式移动
4、、同步,不会相互碰撞,整体行为看上去非常优美。生物学家CargiReynolds 提出了一个非常有影响的鸟群聚集模型。在他的模拟模型boids 中,每一个个体遵循:避免与邻域个体相冲撞、 匹配邻域个体的速度、试图飞向感知到的鸟群中心这三条规则形成简单的非集中控制算法驱动鸟群的聚集,在一系列模拟实验中突现出了非常接近现实鸟群聚集行为的现象。该结果显示了在空中回旋的鸟组成轮廓清晰的群体,以及遇到障碍物时鸟群的分裂和再度汇合过程。由此受到启发,经过简化提出了粒子群优化算法。2.2 粒子群优化算法的原理在粒子群优化算法中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为 “粒子” 。所有的粒子都有一
5、个由被优化的函数决定的适应值,每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。优化开始时先初始化为一群随机粒子(随机解)。然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己。第一个极值就是整个种群目前找到的最优解。这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。 第二个极值是粒子本身所找到的最优解,称为个体极值。这是因为粒子仅仅通过跟踪全局极值或者局部极值来更新位置,不可能总是获得较好的解。这样在优化过程中,粒子在追随全局极值或局部极值的同时追随个体极值则圆满的解决了
6、这个问题。这就是粒子群优化算法的原理。在算法开始时,随机初始化粒子的位置和速度构成初始种群,初始种群在解空间中为均匀分布。其中第i个粒子在n维解空间的位置和速度可分别表示为Xi= (xi1,xi2, ,xid)和Vi=(Vi1,Vi2, ,Vid),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更 新自己的速度和位置。一个极值是粒子本身到目前为止所找到的最优解,这个极值称为个体极值Pbi= (Pbii,Pbi2, ,Pbid)。另一个极值是该粒子的邻域到目前为止找到的最优解,这个极值称为整个邻域的最优粒子Nbesti=(Nbestii,Nbesti2, ,Nbestid)。粒子
7、根据如下的式(2-1)和式(2-2)来更新自己的速度和位置:Vi=Vi+ci rand() (Pbesti-Xi)+C2 rand() (Nbesti-Xi)(2-1)Xi= Xi+ Vi(2-2)式中Ci和C2是加速常量,分别调节向全局最好粒子和个体最好粒子方向飞行的最大步 长,若太小,则粒子可能远离目标区域,若太大则会导致突然向目标区域飞去,或飞过目标区域。合适的Ci, C2可以加快收敛且不易陷入局部最优。rand()是0到1之间的随机数。粒子在每一维飞行的速度不能超过算法设定的最大速度Vmax。设置较大的 Vmax可以保证粒子种群的全局搜索能力,Vmax较小则粒子种群优化算法的局部搜索能
8、力加强。粒子群优化算法是在模拟鸟群觅食时受到启发提出的。提出之后却发现用动物或人的认知来解释算法的原理更加完美。在速度更新公式(2-1)中由3个部分构成。第1个部分是Vi,表示粒子在解空间有按照原有方向和速度进行搜索的趋势,这可以用人在认知事物时总是用固有的习惯来解释。第 2个部分是C1 rand() (Pbest-Xi),表示粒子在解空间有朝着过去曾 碰到的最优解进行搜索的趋势,这可以用人在认知事物时总是用过去的经验来解释。第3部分是C2 rand() (Nbesti-Xi),表示粒子在解空间有朝着整个邻域过去曾碰到的最优解进行 搜索的趋势,这可以用人在认知事物时总可以通过学习其他人的知识,
9、也就是分享别人的经验来解释。因此,粒子群优化算法实际上是借用了人或动物认知事物时的习惯,经验,及学习过程来进行寻优的。粒子在优化过程中的运动轨迹见图1。图1粒子群算法优化搜索示意图2.3 粒子群优化算法的优点粒子群优化算法具有以下主要优点:(1)易于描述;(2)便于实现;(3)要调整的参数很少;(4)使用规模相对较少的群体;(5)收敛需要评估函数的次数少;(6)收敛速度快粒子群优化算法很容易实现,计算代价低,由于其内存和CPU速度要求都很低。而且,它不需要目标函数的梯度信息,只依靠函数值。粒子群优化算法已被证明是解决许多全局优化问题的有效方 法。三、粒子群优化算法的实现粒子群优化算法具有编程简
10、单,易实现的特点,粒子群优化算法的流程如图2所示。下面给出其实现的具体步骤:步骤1:初始化。初始搜索点的位置X0i及其速度V0i通常是在允许的范围内随机产生的,每个粒子的Pbest坐标设置为其当前位置,且计算出其相应的个体极值(即个体极值点 的适应度值),而整个邻域的最优粒子就是该粒子邻域中个体极值中最好的,记录该最好值 的粒子序号,并将 Nbesti设置为该最好粒子的当前位置。步骤2:评价每一个粒子。计算粒子的适应度值,如果好于该粒子当前的个体极值,则将Pbest设置为该粒子的位置,且更新个体极值。如果在该粒子的邻域内所有粒子的个体极值 中最好的好于当前的 Nbesti,则将Nbesti设置
11、为该粒子的位置,记录该粒子的序号,且更新 Nbesti的函数值。步骤3:粒子的更新。用式(2-1)和式(2-2)对每一个粒子的速度和位置进行更新。步骤4:检验是否符合结束条件。如果当前的迭代次数达到了预先设定的最大次数(或 达到最小错误要求),则停止迭代,输出最优解,否则转到步骤2。图2粒子群算法优化算法流程图三、程序和结果3.1 基本粒子群优化函数:PSO.mfunction xm,fv = PSO(fitness,N,c1,c2,w,M,D) format long ;% 初始化种群的个体for i=1:Nfor j=1:Dx(i,j)=randn;%随机初始化位置v(i,j)=randn
12、;%随机初始化速度endend% 先计算各个粒子的适应度,并初始化Pi 和 Pgfor i=1:Np(i)=fitness(x(i,:);y(i,:)=x(i,:);endpg = x(N,:);%Pg 为全局最优for i=1:(N-1)if fitness(x(i,:)fitness(pg)pg=x(i,:);endend% 进入主要循环,按照公式依次迭代for t=1:Mfor i=1:Nv(i,:)=w*v(i,:)+c1*rand*(y(i,:)-x(i,:)+c2*rand*(pg-x(i,:);x(i,:)=x(i,:)+v(i,:);if fitness(x(i,:)p(i)p
13、(i)=fitness(x(i,:);y(i,:)=x(i,:);endif p(i)fitness(pg) pg=y(i,:);endendPbest(t)=fitness(pg);endxm = pg;fv = fitness(pg);3.2 目标函数:fitness.mfunction F = fitness(x)F = 0;for i=1:30;F=F+x(i42;end3.3 程序结果在MATLA瑜令窗口中输入:xm,fv = PSO(fitness,40,2,2,0.5,1000,30)可以得到结果:xm =0.078730243506451-0.1156041866676920.
14、0967832542268840.044413221257582-0.0433670784658360.110431795894210-0.148375514833794-0.0678525135088100.054996689064950-0.037899962158029-0.1052444634883210.367616621329520-0.030907574829250-0.019441109411687-0.101832932702353-0.037872080224026-0.067869827703363-0.0411841305122990.0268196333001390.
15、122345151839775-0.058153506170530-0.0440692800093460.187583216273750-0.103674713698693-0.044344990345638-0.023687143394873-0.0253556316853650.240306909129676-0.1090439459151960.117014752092513fv =0.395165177591029四、心得体会正所谓“纸上得来终觉浅,觉知此事要躬行。 ”学习任何知识,仅从理论上去求知,而不去实践、探索是不够的。因此在学期末来临之际,我们迎来了MATLA联程设计。通过为期
16、一周的 MATLA期程设计,我对MATLA睑个仿真软件有了更进一步的认识和了解。在这一周半时间里,我通过自己摸索,查阅资料,并且在指导老师赖老师的指导下完成了,并最终将课程设计报告总结完毕。在整个设计过程中我懂得了许多东西,也培养了独立思考和设计的能力,树立了对知识应用的信心,相信会对今后的学习工作和生活有非常大的帮助,并且提高了自己的动手实践操作能力,使自己充分体会到了在设计过程中的成功喜悦。虽然这个设计做的不怎么好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。在没有做课程设计以前,觉得课程设计只是对知识的单纯总结,但是通过这次课程设计发现自己的看法有点太片面,课程设计不仅是对前面所学知识的一种检验,也是对自己能力的一种提高,通过这次课程设计使自己明白了原来的那点知识是非常欠缺的,要学习的东
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省临沂市沂县重点中学2024-2025学年初三下期末考试(物理试题理)试卷含解析
- 宁德职业技术学院《公共管理思想史》2023-2024学年第二学期期末试卷
- 辽宁省沈阳市新民市2024-2025学年小升初易错点数学检测卷含解析
- 泸州职业技术学院《管理会计系列综合》2023-2024学年第二学期期末试卷
- 2025年物业管理师考试试卷及答案
- 内蒙古呼伦贝尔市莫力达瓦旗尼尔基一中2024-2025学年高三3月“阳光校园空中黔课”阶段性检测试题化学试题含解析
- 山东省济南市历城区济南一中2025年高三下学期线上周历史试题含解析
- 2025年文化传媒专业考试试题及答案
- 2025年中专生计算机操作考试试题及答案
- 江苏省兴化市顾庄区三校2024-2025学年高中毕业班模拟考试(一)物理试题含解析
- 215kWh工商业液冷储能电池一体柜用户手册
- 燃气安全事故处理及应急
- 2025届高考语文作文押题预测10篇(含题目)
- 汽车发动机构造与维修课件 第六章 燃油供给系
- 可再生能源预测技术研究
- 2024-2030年中国耐火材料行业供需分析及发展前景研究报告
- 部门级安全培训考试题附答案【考试直接用】
- 物业五级三类服务统一标准
- 见证取样手册(给排水管道工程分部)
- 山东省青岛市胶州市2023-2024学年高二下学期期末学业水平检测数学试题
- 作家太宰治课件
评论
0/150
提交评论