赞
踩
粒子群优化(Particle Swarm Optimization, PSO)算法是由美国普渡大学的Kennedy和Eberhart于1995年提出,它的基本概念源于对鸟群觅食行为的研究。
一群鸟在随机搜寻食物,在这个区域里只有一块食物,所有的鸟都不知道食物在哪里,但是它们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢?
最简单有效的就是搜寻目前离食物最近的鸟的周围区域。
将每个个体看作n维搜索空间中一个没有体积质量的粒子,在搜索空间中以一定的速度飞行,该速度决定粒子飞行的方向和距离。所有粒子有一个由优化函数决定的适应值。
PSO初始化为一群随机粒子,然后通过迭代找到最优解。在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解称为个体极值。另个一是整个种群目前找到的最优解,这个解称为全局极值。
在n 维连续搜索空间中,对粒子群中的第i (i=1, 2, , m)个粒子进行定义:
第1部分是粒子在前一时刻的速度;
第2部分为个体“认知”分量,表示粒子本身的思考,将现有的位置和曾经经历过的最优位置相比。
第3部分是群体“社会(social)”分量,表示粒子间的信息共享与相互合作。
分别控制个体认知分量和群体社会分量相对贡献的学习率。
随机系数增加搜索方向的随机性和算法多样性。
基于学习率
Kennedy给出以下4种类型的PSO模型:
(1)初始化每个粒子。在允许范围内随机设置每个粒子的初始位置和速度。
(2)评价每个粒子的适应度。计算每个粒子的目标函数。
(3)设置每个粒子的Pi。对每个粒子,将其适应度与其经 历过的最好位置Pi进行比较,如果优于Pi,则将其作为该粒子的最好位置Pi。
(4)设置全局最优值Pg。对每个粒子,将其适应度与群体经历过的最好位置Pg进行比较,如果优于Pg,则将其作为当前群体的最好位置Pg。
(5)更新粒子的速度和位置。根据式(6.20)更新粒子的速度和位置。
(6)检查终止条件。如果未达到设定条件(预设误差或者迭代的次数),则返回第(2)步。
最大速度Vmax
权重因子
(1)神经网络训练 (7)经济领域
(2)化工系统领域 (8)图像处理领域
(3)电力系统领域 (9)生物信息领域
(4)机械设计领域 (10)医学领域
(5)通讯领域 (11)运筹学领域
(6)机器人领域 ………….
粒子群优化算法的各个参数设置如下:
种群规模:50
迭代次数:1000
c1的初始值为1,随迭代的进行,线性减小到0
C2=c3=1.4
Vmax<1000
优化结果及其与遗传算法的比较如表所示。
欢迎大家加我微信交流讨论(请备注csdn上添加)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。