一种改进的粒子群优化算法

一种改进的粒子群优化算法

ID:16279619

大小:441.50 KB

页数:7页

时间:2018-08-08

一种改进的粒子群优化算法_第1页
一种改进的粒子群优化算法_第2页
一种改进的粒子群优化算法_第3页
一种改进的粒子群优化算法_第4页
一种改进的粒子群优化算法_第5页
资源描述:

《一种改进的粒子群优化算法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、一种改进的粒子群优化算法安进(宁夏回族自治区宁东供电局,银川市751408)摘要:基本PSO算法及其各种改进算法都是着眼于如何更有效地用一个粒子群在解空间中搜索最优解。但是粒子们在搜索时,总是追逐当前全局最优点和自己迄今搜索到的历史最优点,因此粒子们的速度很快降到接近于0,导致粒子们陷入局部极小而无法摆脱,而出现粒子的趋同或早熟。本文的改进PSO从BP神经网络中得到启示,改进如同使用低通滤波器来平滑权重。通过使用经典测试函数,结果表明改进PSO在收敛精度和计算速度方面都有一定程度的提高。关键词:粒子群算法;平滑权重;改进粒子群;优化算法1引言20世纪90年代以来,通过模拟生

2、物群体的行为来解决计算问题已经成为新的研究热点,形成了以群体智能(swarmintelligence)为核心的理论体系,并已在一些实际应用领域取得突破性进展。作为群体智能的典型实现模式,模拟蚂蚁群落食物采集过程的蚁群优化算法[1](antcolonyoptimization)和模拟鸟群运动模式的粒子群优化算法[2](particleswarmoptimization)受到学术界的广泛关注。粒子群优化算法(ParticleSwarmOptimization,PSO)是在1995年由美国社会心理学家JamesKennedy和电气工程师RussellEberhart共同提出的,其

3、基本思想是受他们早期对鸟类群体行为研究结果的启发,利用了生物学家FrankHeppner的生物群体模型。PSO同遗传算法类似,粒子群优化算法也是基于个体的协作与竞争来完成复杂搜索空间中最优解的搜索,是一种基于群体智能方法的进化计算技术。但PSO并没有遗传算法用的交叉(crossover)、变异(mutation)等操作,而是粒子在解空间追随最优的粒子进行搜索,因此具有简单容易实现并且没有过多参数需要调整的优点。2基本粒子群算法2.1基本粒子群算法数学模型PSO的基本概念源于对人工生命(artificiallife)和鸟群捕食行为的研究。设想这样一个场景:一群鸟在随机搜寻食物

4、,在这个区域里只有一块食物,所有的鸟都知道食物在哪里,但是它们不知道当前的位置离食物还有多远。那么找到食物的最优策略中最简单有效的就是搜寻目前离食物最近的鸟的周围区域。PSO算法就从这种生物种群行为特性中得到启发,用于求解优化问题。在PSO中,每个优化问题的潜在解都可以想象成维搜索空间上的一个点,我们称之为“粒子”(particle),所有的粒子都有一个被目标函数决定的适应值(fitnessvalue)。每个粒子还有一个速度决定他们飞翔的方向和距离,然后粒子们就追随当前的最优粒子在解空间中搜索。在一个维的目标搜索空间中,由个粒子组成一个群落,其中第个粒子表示为一个维的向量,

5、i=1,2,…m,即第个粒子在维空间的位置。将带入一个目标函数就可以计算出其适应值,根据适应值的大小衡量的优劣。第个粒子的飞翔速度也是一个维的向量,记为,其算法图如图1所示。通过以下公式对粒子进行操作:(1)(2)图1PSO算法示意图2.2基本粒子群算法参数(1)粒子种群大小::粒子种群大小的选择视具体问题而定,但是一般设置粒子数为20-50。其实对于大部分的问题10个粒子已经足够可以取得很好的结果,不过对于比较难的问题或者特定类型的问题,粒子数也可以取到100或200。(2)粒子的长度:即是问题解空间的维数。(3)粒子的最大速度:粒子的速度在空间中的每一维上都有一个最大速

6、度限制值,用来对粒子的速度进行钳制使速度控制在[]范围内,决定问题空间搜索的粒度。(4)加速常数c1、c2:调节pbest和gbest方向飞行的最大步长,决定粒子个体经验和群体经验对粒子运行轨迹的影响,反映粒子群之间的信息交流。如果,则粒子只有群体经验,它的收敛速度较快,但容易陷入局部最优;如果,则粒子没有群体共享信息,一个规模为M的群体等价于运行了个单粒子,很难得到最优解,因此一般设置。改变这些常数会改变系统的“张力”,较低的c1、c2值使得粒子徘徊在远离目标的区域,较高的c1、c2值产生陡峭的运动或越过目标区域。Shi和Eberhart建议,为了平衡随机因素的作用,一般

7、情况下设置,大部分算法都采用这个建议。(5)rand():是介于[0,1]之间的随机数。(6)迭代终止条件:一般设为最大迭代次数、计算精度。2.3基本粒子群算法步骤(1)初始化粒子群:给定群体规模:解空间维数,随机产生每个粒子的位置、速度。(2)用基准测试函数各计算每个粒子的当前适应值。(3)更新个体极值:对每个粒子的适应值进行评价,即将第i个粒子的当前适应值与该粒子的个体极值的适应值进行比较,若前者优,则更新,否则保持不变。(4)更新全局极值:从所有中选出最好的,作为全局极值。(5)更新速度和位置:通过公式(1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。