粒子群算法实例.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
粒子群算法解决函数优化问题 学院:信息科学与工程学院 目录 TOC \o 1-5 \h \z 引言 1.. 一、 问题描述 2.. 连续函数求最优值问题 2 1.2粒子群算法 2. 二、 算法设计 3. 2.1流程框图 3 2.2算法实现 3 2.3参数选择 4 三、 程序设计 5. 编写程序 5. 四、 结果与分析 .6.. 4.1实验结果: 6. 分析: Z. 五、 总结 7.. 引言 本文主要利用粒子群算法解决连续函数的最小值问题, 粒子群优化是一种新 兴的基于群体智能的启发式全局 搜索算法,粒子群优化算法通过粒子间的竞争和协作以实现在复杂搜索空间 中寻找全局最优点。它具有易理解、易实现、全局搜索能力强等特点,倍受科学 与工程领域的广泛关注, 已经成为发展最快的智能优化算法之一。 本文介绍了粒 子群优化算法的基本原理,分析了其特点,并将其应用于函数优化问题求解。 求函数最优值问题, 对此问题, 传统的优化技术很容易陷入局部最优解, 求 得全局优化解的概率不高, 可靠性低; 为此,建立尽可能大概率的求解全局优化 解算法是求解函数优化的一个重要问题。本文采用粒子群算法来解决这类问题。 一、问题描述 连续函数求最大值问题 本文主要选取一个三维函数,利用matlab编写粒子群算法程序来求解它们 以验证遗传算法在 解决函数优化问题 中的有效 性。本文选 取的函 数为: f=x(1)A2+x(2)A2+x(3).A2,求它的最小值。 粒子群算法 PSO 从这种模型中得到启示并用于解决优化问题。 PSO 中,每个优化问题 的潜在解都是搜索空间中的一只鸟, 称之为粒子。 所有的粒子都有一个由被优化 的函数决定的适值 ( fitness value) ,每个粒子还有一个速度决定它们飞翔的方向 和距离。然后粒子们就追随当前的最优粒子在解空间中搜索。 PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解。在每一次 迭代中,粒子通过跟踪两个极值来更新自己; 第一个就是粒子本身所找到的最优 解,这个解称为个体极值; 另一个极值是整个种群目前找到的最优解, 这个极值 是全局极值。 另外也可以不用整个种群而只是用其中一部分作为粒子的邻居, 那 么在所有邻居中的极值就是局部极值。 假设在一个D维的目标搜索空间中,有N个粒子组成一个群落,其中第i个 粒子表示为一个 D 维的向量 X i (xi1,xi2, ,xiD ) , i 1,2, ,N 。 第 i 个粒子的 “飞行 ”速度也是一个 D 维的向量,记为 Vi (vi1,vi2, ,viD) ,i 1,2, 3。 ? c 第 i 个粒子迄今为止搜索到的最优位置称为个体极值,记为 pbest (pi1,pi2, ,piD ), i 1,2, ,N 整个粒子群迄今为止搜索到的最优位置为全局极值,记为 在找到这两个最优值时, 粒子根据如下的公式 (1.1)和( 1.2)来更新自己的速度和位 (1.1)(1. 2)vid w vid c1r1 pid xid c2r2(pgd xid ) (1.1) (1. 2) xid xid vid 其中:Cl和6为学习因子,也称加速常数(acceleration constant) ri和「2为[0, 1]范围内的均匀随机数。式 (1.1)右边由三部分组成,第一部分为 “惯性 (inertia) 或动量(momentum”部分,反映了粒子的运动 习惯(habit),”代表粒子有维持自 己先前速度的趋势;第二部分为 认知(cog ni tio n) ”部分,反映了粒子对自身历史 经验的记忆(memory)或回忆(remembranee)代表粒子有向自身历史最佳位置逼近 的趋势;第三部分为社会(social)部分,反映了粒子间协同合作与知识共享的群 体历史经验。 二、算法设计 这部分内容主要是针对本文主要研究问题的类型确定粒子群算法具体实现 过程和一些参数的选择。 算法流程框图 图1 粒子群算法流程图 算法实现 算法的流程如下: 初始化粒子群,包括群体规模N,每个粒子的位置Xi和速度Vi 计算每个粒子的适应度值 Fit [i]; 对每个粒子,用它的适应度值FJ]和个体极值Pbest(i)比较,如果 Fit[i] Pbest(i),则用 Fit[i]替换掉 Pbest(i); 对每个粒子, 用 它的适应度值 Fit[i] 和全局极值 gbest 比较, 如果 Fit [i ] Pbest(i)则用 Fit[ i]替 gbest ; 根据公式(1.1),( 1.2)更新粒子的速度Vi和位置Xi ; 如果满足结束条件(误差足够好或到达最大循环次数)退出,否则返回②。 参数选择 本算法中主要的参数变量为 w (惯性权值) , c1 , c2 (加速因子) , N (种

文档评论(0)

youbika + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档