- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
粒子群算法实例
粒子群算法实例
PAGE
粒子群算法实例
粒子群算法解决函数优化问题
学院:信息科学与工程学院
目 录
TOC \o 1-2 \h \z \u 引言 1
一、问题描述 2
连续函数求最优值问题 2
粒子群算法 2
二、算法设计 3
流程框图3
算法实现3
参数选择4
三、程序设计 5
编写程序 5
四、 结果与分析 6
实验结果: 6
分析: 7
五、 总结 7
PAGE 7
引言
本文主要利用粒子群算法解决连续函数的最小值问题,粒子群优化是一种新兴的基于群体智能的启发式全局
搜索算法,粒子群优化算法通过粒子间的竞争和协作以实现在复杂搜索空间中寻找全局最优点。它具有易理解、易实现、全局搜索能力强等特点,倍受科学与工程领域的广泛关注,已经成为发展最快的智能优化算法之一。本文介绍了粒子群优化算法的基本原理,分析了其特点,并将其应用于函数优化问题求解。
求函数最优值问题,对此问题,传统的优化技术很容易陷入局部最优解,求得全局优化解的概率不高,可靠性低;为此,建立尽可能大概率的求解全局优化解算法是求解函数优化的一个重要问题。本文采用粒子群算法来解决这类问题。
问题描述
连续函数求最大值问题
本文主要选取一个三维函数,利用matlab编写粒子群算法程序来求解它们
以验证遗传算法在解决函数优化问题中的有效性。本文选取的函数为:f=x(1).^2+x(2).^2+x(3).^2,求它的最小值。
粒子群算法
PSO从这种模型中得到启示并用于解决优化问题。PSO 中,每个优化问题的潜在解都是搜索空间中的一只鸟,称之为粒子。所有的粒子都有一个由被优化的函数决定的适值( fitness value) ,每个粒子还有一个速度决定它们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。
PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己;第一个就是粒子本身所找到的最优解,这个解称为个体极值;另一个极值是整个种群目前找到的最优解,这个极值是全局极值。另外也可以不用整个种群而只是用其中一部分作为粒子的邻居,那么在所有邻居中的极值就是局部极值。
假设在一个维的目标搜索空间中,有个粒子组成一个群落,其中第个粒子表示为一个维的向量
,。
第个粒子的“飞行 ”速度也是一个维的向量,记为
,。
第个粒子迄今为止搜索到的最优位置称为个体极值,记为
,。
整个粒子群迄今为止搜索到的最优位置为全局极值,记为
在找到这两个最优值时,粒子根据如下的公式和( 来更新自己的速度和位置:
(1. 2)
其中:和为学习因子,也称加速常数(acceleration constant),和为[0,1]范围内的均匀随机数。式右边由三部分组成,第一部分为“惯性(inertia)”或“动量(momentum)”部分,反映了粒子的运动“习惯(habit)”,代表粒子有维持自己先前速度的趋势;第二部分为“认知(cognition)”部分,反映了粒子对自身历史经验的记忆(memory)或回忆(remembrance),代表粒子有向自身历史最佳位置逼近的趋势;第三部分为“社会(social)”部分,反映了粒子间协同合作与知识共享的群体历史经验。
二、算法设计
这部分内容主要是针对本文主要研究问题的类型确定粒子群算法具体实现过程和一些参数的选择。
算法流程框图
图1 粒子群算法流程图
算法实现
算法的流程如下:
① 初始化粒子群,包括群体规模,每个粒子的位置和速度
② 计算每个粒子的适应度值;
③ 对每个粒子,用它的适应度值和个体极值比较,如果 ,则用替换掉;
④ 对每个粒子,用它的适应度值和全局极值比较,如果则用替;
⑤ 根据公式(),()更新粒子的速度和位置 ;
⑥ 如果满足结束条件(误差足够好或到达最大循环次数)退出,否则返回②。
参数选择
本算法中主要的参数变量为(惯性权值), ,(加速因子),N (种群数),M (迭代次数),D (粒子维数)。
(1)种群规模
通常,种群太小则不能提供足够的采样点,以致算法性能很差;种群太大尽管可以增加优化信息,阻止早熟收敛的发生,但无疑会增加计算量,造成收敛时间太长,表现为收敛速度缓慢。种群规模一般设为100~1000。本文选择种群规模为100。
(2)最大迭代次数
迭代次数越多能保证解的收敛性,但是影响运算速度,本文选1000次。
(3)惯性权值
惯性权重表示在多大程度上保留原来的速度。较大,全局收敛能力强,局部收敛能力弱;较小,局部收敛能力强,全局收敛能力弱。本文选。
原创力文档


文档评论(0)