A298报告(基于Matlab的微粒群优化算法的仿....doc
- 文档编号:16139232
- 上传时间:2023-07-10
- 格式:DOC
- 页数:9
- 大小:101KB
A298报告(基于Matlab的微粒群优化算法的仿....doc
《A298报告(基于Matlab的微粒群优化算法的仿....doc》由会员分享,可在线阅读,更多相关《A298报告(基于Matlab的微粒群优化算法的仿....doc(9页珍藏版)》请在冰点文库上搜索。
2012届本科生毕业设计(论文)
开题报告
--------基于MATLAB微粒群优化算法研究
专业电子信息工程
专业方向信息工程
班级08103351
学号0810331225
学生姓名谢丽
指导教师安静
教研室电子信息工程
电气与电子工程学院
2011年2月14日
一、开题依据
如今,随着计算机科学与技术的迅速发展,人类生存空间的扩大以及与改造世界的范围的拓宽,人们对科学技术提出了新的更高的要求,其中高效的优化技术和智能计算要求日益迫切。
优化是科学研究、工程技术和经济管理等领域的重要研究工具。
它所研究的问题是讨论在众多的方案中寻找最优方案。
例如,工程设计中怎样选择设计参数,使设计方案既满足设计要求又能降低成本;资源分配中,怎样分配有限资源,使分配方案既能满足各方面的基本要求,又能获得好的经济效益。
在人类活动的各个领域中,诸如此类,不胜枚举。
优化这一技术,正是为这些问题的解决,提供理论基础和求解方法,它是一门应用广泛、实用性很强的科学。
为了解决各种各样的优化问题,人们提出了许多优化算法。
粒子群优化算法(ParticleSwarmOptimization,PSO)由Eberhart博士和Kennedy博士提出新的算法,它是属于进化算法的一种,是一种源于对鸟群捕食行为的研究而发明的进化计算技术。
这种优化算法以其实现容易、精度高、收敛快等优点引起了学术界的重视,并且在解决实际问题中展示了其优越性。
二、文献综述
1、粒子群优化算法概述
粒子群优化算法(ParticleSwarmOptimization,PSO)是由Kennedy和Eber—hart等于1995年提出的一种演化计算技术,其基本思想源于他们早期参照生物学家的群体模型,对鸟类群体行为的规律性研究。
PS0中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为“粒子”。
所有的粒子都有一个由被优化的函数决定的适应值,每个粒子还有一个速度决定它们飞翔的方向和距离。
然后粒子们就追随当前的最优粒子在解空间中搜索。
粒子群优化算法概念简明,参数设置少,很好地采用简单速度一位移模型,并能根据当前的搜索情况动态调整搜索策略,对解决复杂环境中的优化问题非常有效。
由于认识到PSO在函数优化等领域所蕴含的广阔的应用前景,在Kennedy和Eberhart之后很多学者都进行了这方面的研究。
目前,已提出了多种PSO改进算法,并且PSO已广泛应用于函数优化,神经网络训练,模式分类、模糊系统控制以及其他的应用领域。
2、粒子群优化算法的应用
(1)PSO最直接的应用或许就是多元函数的优化问题,包括带约束的优化问题。
如果所讨论的函数受到严重的噪音干扰而呈现非常不规则的形状,同时所求的不一定是精确的最优值,则PSO算法能得到很好的应用。
(2)另外,还有一种应用更广泛的方法:
简单而有效地演化的人工神经网络,不仅用于演化网络的权重,而且包括网络的结构。
作为一个演化神经网络的例子,PSO算法已应用于分析人的颤抖。
对人颤抖的诊断,包括帕金森(Parkinson)病和原发性颤抖,是一个非常具有挑战性的领域。
PSO已成功地应用于演化一个用来快速和准确地辨别普通个体和有颤抖个体的神经网络,而网络的输入则为从一个活动变化记录系统中获得的归一化的移动振幅。
(3)另一个应用例子是使用PSO对一个电气设备的功率反馈和电压进行控制。
这里,采用一种二进制与实数混合的PSO算法来决定对连续和离散的控制变量的控制策略,以得到稳定的电压。
(4)此外,PSO还在动态问题中得到应用。
一般而言,PSO与其他演化算法一样,能用于求解大多数优化问题。
在这些领域中,最具潜力的有系统设计、多目标优化、分类、模式识别、信号处理、机器人技术应用、决策制定、模拟和证明等。
例子包括模糊控制器设计、工作调度、实时机器人路径设计和图像分割等。
3、粒子群优化算法的研究现状
(1)通过在基本的PSO中引入繁殖和子种群的概念,增强其收敛性和寻求最优解的能力。
在每轮迭代中随机选择一定的粒子作为父代,通过繁殖公式生成具有新的空间坐标和速度的子代粒子,并取代父代以保持种群规模。
其实这是一种提高对解空间搜索能力和粒子多样性的数学交叉,可在一定程度上增强系统跳出局部极小的能力。
(2)将PSO与模拟退火算法相结合的PSOSA算法,解决了微粒群算法性能分析过程中发现的初始参数依赖性问题和算法搜索能力问题。
通过模拟退火算法赋予搜索过程一种时变且最终趋于零的概率突跳性,有效地降低了陷入局部极小的概率,从而获取更佳的近似最优解。
而且,模拟退火算法的串行优化结构和微粒群算法的群体并行搜索相结合,拓展了微粒群在解空间中的搜索范围,提高了其优化性能,促进了种群群体多样性的发展。
4、粒子群优化算法的发展方向
(1)粒子群优化算法的改进。
粒子群优化算法在解决空间函数的优化问题和单目标优化问题上应用得比较多,如何应用于离散空间优化问题和多目标优化问题将是粒子群优化算法的主要研究方向。
如何充分结合其他进化类算法,发挥优势,改进粒子群优化算法的不足也是值得研究的。
(2)粒子群优化算法的理论分析。
粒子群优化算法提出的时间不长,数学分析很不成熟和系统,存在许多不完善和未涉及的问题,对算法运行行为、收敛性、计算复杂性的分析比较少。
如何知道参数的选择和设计,如何设计适应值函数,如何提高算法在解空间搜索的效率算法收敛以及对算法模型本身的研究都需要在理论上进行更深入的研究。
这些都是粒子群优化算法的研究方向之一。
(3)粒子群算法的生物学基础。
如何根据群体进行行为完善算法,将群体智能引入算法中,借鉴生物群体进化规则和进化的智能性也是学者关注的问题。
(4)粒子群优化算法与其他进化类算法的比较研究。
与其他进化算法的融合,如何让将其他进化算法的优点和粒子群优化算法相结合,构造出有特色有实用价值的混合算法是当前算法改进的一个重要方向。
(5)粒子群优化算法的应用。
算法的有效性必须在应用中才能体现,广泛的开拓粒子群优化算法的应用领域,也对深入研究粒子群优化算法非常的有意义。
5、粒子群优化算法与遗传算法比较
遗传算法GA(GeneticAlgorithm,GA)是模拟达尔文提出的“物竞天择”思想的一种随机搜索算法,它的主要思想是遵循遗传变异和优胜劣汰的规则,对解空间进行随机搜索以试图找到最优解。
遗传算法最早由美国密歇根大学的HollandJ在1975年提出,在函数优化、组合优化等领域有着广泛应用,有学者也对该算法进行了深入研究口。
与遗传算法相比较,粒子群优化算法的各粒子“有意识”的向群体所发现的最好位置移动,而遗传算法仅仅靠随机变异产生下一代个体,所以粒子群优化算法在性能上优于遗传算法。
由于粒子群优化算法的性能较高,所以众多学者对该算法进行了深入研究,研究的重点在对标准粒子群优化算法的改进上,如将模拟退火算法或遗传算法和粒子群优化算法相结合,以及提高粒子群优化算法的突破局部极值的能力。
搜索算法未来的研究重点仍然会集中在对粒子群优化算法的改进方面。
三、方案论证
本次毕业设计我运用的是利用MATLAB编程来实现粒子群算法。
首先要对算法进行设计,包括它的表示方案、参数设置等等,算法的设计步骤如下:
(1)确定问题的表示方案(编码方案)
和其它的进化算法一样,PSO算法在求解问题时,首先应先将问题的解从解空间映射到具有某种结构的表示空间,即用特定的码串表示问题的解。
根据问题的特征选择适当的编码方法,将会对算法的性能及求解结果产生直接的影响。
PSO算法的早期研究均集中在数值优化领域中,其标准计算模型适用于具有连续特征的问题函数,因此目前算法大多采用实数向量的编码方案。
用PSO算法求解具有离散特征的问题对象,正是此领域内的一个研究重点。
(2)确定优化问题的评价函数
在求解过程中,借助于适应值来评价解的质量。
因此在求解问题时,必须根据问题的具体特征,选取适当的目标函数或费用函数来计算适应度。
适应度是唯一能够反映并引导优化过程不断进行的参量。
(3)选取控制参数
PSO算法的控制参数,通常包括微粒群的规模(微粒的数目)、算法执行的最大代数、惯性系数、认知参数、社会参数及其他一些辅助控制参数等等。
针对不同的算法模型,选取适当的控制参数,直接影响算法的优化性能。
(4)设计微粒的飞行模型。
在微粒群算法中,最关键的操作是如何确定微粒的速度。
由于微粒是由多维向量来描述的,故相应的微粒的飞行速度也表示为一个多维向量。
在飞行过程中,微粒借助于自身的记忆(Lbest)与社会共享信息(Gbest),沿着每一分量方向动态地调整自己的飞行速度与方向。
(5)确定算法的终止准则
与其它进化算法一样,PSO算法中最常用的终止准则是预先设定一个最大的飞行代数,或者是当搜索过程中解的适应度在连续多少代后不再发生明显改进时,终止算法。
(6)编程上机运行。
根据所设计的算法结构编程,并进行具体优化问题的求解。
通过所获得问题的解的质量,可以验证算法的有效性,准确与可靠性。
在编程仿真的软件上,选用的则是MATLAB。
利用MATLAB矩阵运算的强大功能编写粒子群算法程序有很好的优势。
MATLAB是MATrixLABoratory的缩写,是一款由美国TheMathWorks公司出品的商业数学软件。
MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C,C++和FORTRAN)编写的程序。
尽管MATLAB主要用于数值运算,但利用为数众多的附加工具箱(Toolbox)它也适合不同领域的应用,例如控制系统设计与分析、图像处理、信号处理与通讯、金融建模和分析等。
另外还有一个配套软件包Simulink,提供了一个可视化开发环境,常用于系统模拟、动态/嵌入式系统开发等方面。
四、毕业设计论文内容
1、微粒群算法的设计
(1)依照初始化过程,对微粒群得随机位置和速度进行初始设定。
(2)计算每个微粒的适应值。
(3)对于每个微粒,将其适应值与所经历过的最好位置的适应值进行比较,若较好,则将其作为当前的最好位置。
(4)对每个微粒,将其适应值与全局所经历的最好位置的适应值进行比较,若较好,则将其作为当前的全局最好位置。
(5)根据方程对微粒的速度和位置进行进化。
(6)如未达到结束条件通常为足够好的适应值或达到一个预设最大代数,则返回步骤
(2)。
粒子群算法流程图
2、基于MATLAB的微粒群算法程序设计
(1)参数编码
(2)粒子群初始化
(3)粒子速度和位置的更新
(4)主程序
程序设计流程图
3、微粒群算法性能仿真
4、微粒群算法的改进算法的设计及仿真
5、微粒群算法及其改进算法的性能比较
五、进度安排
1、2012年1月17日至1月21日明确毕业设计任务,熟悉收集相关各种资料,学习软件开发环境。
2、2012年2月21日至3月4日,毕业实习。
3、2012年3月5日至3月30日,运用MATLAB完成对粒子群算法及其改进算法的设计与仿真并完成遗传算法及其改进算法的设计与仿真。
利用标准函数来完成对以上算法性能的比较。
4、2012年4月26日至5月15日,进行实验验证。
5、2012年5月16日至5月28日完成毕业设计论文,整理设计文件和实验记录。
6、2012年5月29日至6月12送评阅教师审查及修改,准备及参加毕业设计答辩。
六、参考文献
1.龚纯精通MATLAB最优化计算电子工业出版社2009.4
2.吴斌,群体智能的研究及其在知识发现中的应用,中国科学院研究生院博士学位论文,2002
3.松散的脑袋-群体智能的数学模型,模式识别与人工智能.2003,16
(1).-1-5
4.林丹,李敏强等.基于遗传算法求解约束优化问题的一种算法.软件学报,2001,12(4):
628~632
5.ReynoldsC.W.“Flocks,Herds,andSchools:
ADistributedBehavioralModel".ComputerGraphics,Vol.21,No.4,1987,pp.25-34
6.J.Kennedy,R.Eberhart.ParticleSwarmOptimization[A].Proc.IEEEInt.Conf.onNeuralNetworks[C],1995:
1942-1948
7.ShiY,EberhartR.Amodifiedparticleswarmoptimizer[C].In:
IEEEWorldCongressonComputationalIntelligence,1998:
69~73
8.R.C.Eberhart,Y.Shi.Comparinginertiaweightsandconstrictionfactorsinparticleswarmoptimization.ProceedingsoftheIEEEConferenceonEvolutionaryComputation,ICEC,Vol.1,pp.84-88
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- A298 报告 基于 Matlab 微粒 优化 算法