粒子群算法(基础精讲)PPT教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
除此之外,每个粒子还知道到目前为止整个群体中所有粒子发现 的最好位置(global best,记为gbest),gbest是在pbest中的最好值 即是全局最优解,这个可以看作是整个群体的经验。
8
每个粒子使用下列信息改变自己的当前位置:
当前位置 当前速度 当前位置与自己最好 位置之间的距离 当前位置与群体最 好位置之间的距离
Russ Eberhart
5
产生背景:
设想一个场景:一群鸟随机的分布在一个区域中,在这个区域 里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当 前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最 简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把 食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟 寻觅食物的过程就可以当作一个函数寻优的过程。由此受到启发, 经过简化提出了粒子群优化算法。
粒子群算法
2015年12月9日
1
目录
一.集群智能(Swarm Intelligence) 二.粒子群算法(PSO)简介 三、PSO的一般数学模型 四、PSO的各种改进算法 五、PSO的优缺点 六、PSO的matlab实现
2
一、集群智能(Swarm Intelligence)
Swarm可被描述为一些相互作用相邻个体的集合体,蜂群、蚁 群、鸟群都是Swarm的典型例子。鱼聚集成群可以有效地逃避捕食 者,因为任何一只鱼发现异常都可带动整个鱼群逃避。蚂蚁成群则 有利于寻找食物,因为任一只蚂蚁发现食物都可带领蚁群来共同搬 运和进食。一只蜜蜂或蚂蚁的行为能力非常有限,它几乎不可能独 立存在于自然世界中,而多个蜜蜂或蚂蚁形成的Swarm则具有非常 强的生存能力,且这种能力不是通过多个个体之间能力简单叠加所 获得的。社会性动物群体所拥有的这种特性能帮助个体很好地适应 环境,个体所能获得的信息远比它通过自身感觉器官所取得的多, 其根本原因在于个体之间存在着信息交互能力。
7
粒子在搜索空间中以一定的速度飞行,这个速度根据它本身的飞 行经验和同伴的飞行经验来动态调整。所有的粒子都有一个被目标函 数决定的适应值(fitness value),这个适应值用于评价粒子的“好 坏”程度。
每个粒子知道自己到目前为止发现的最好位置(particle best, 记为pbest)和当前的位置,pbest就是粒子本身找到的最优解,这个 可以看作是粒子自己的飞行经验。
6
基本思想:
在PSO中,把一个优化问题看作是在空中觅食的鸟群,那么 “食物”就是优化问题的最优解,而在空中飞行的每一只觅食的 “鸟”就是PSO算法中在解空间中进行搜索的一个“粒子” (Particle)。“群”(Swarm)的概念来自于人工生命,满足人工生 命的五个基本原则。因此PSO算法也可看作是对简化了的社会模型 的模拟,这其中最重要的是社会群体中的信息共享机制,这是推动 算法的主要机制。
3
生物社会学家E.O.Wilson指出:“至少从理论上,在搜索食物 过程中群体中个体成员可以得益于所有其他成员的发现和先前的经 历。当食物源不可预测地零星分布时,这种协作带来的优势是决定 性的,远大于对食物的竞争带来的劣势。”
鱼群觅食模型
4
二、粒子群算法(PSO)简介
粒子群算法(particle swarm optimization, PSO)由Kennedy和Eberhart在1995年提出,该算法 模拟鸟集群飞行觅食的行为,鸟之间通过集体的 协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。同遗传算法类似,也 是一种基于群体叠代的,但并没有遗传算法用的 交叉以及变异,而是粒子在解空间追随最优的粒 子进行搜索。PSO的优势在于简单容易实现同时又 有深刻的智能背景,既适合科学研究,又特别适 合工程应用,并且没有许多参数需要调整。
vk 1 id
vikd
c1 rand1k
(Pbestikd
xikd
)
c2
Leabharlann Baidu
rand
k 2
(Gbestdk
xikd
)
xk 1 id
xikd
vk 1 id
vikd :是粒子i在第k次迭代中第d维的速度;
xikd :是粒子i在第k次迭代中第d维的当前位置; 11
i=1,2,3…,M:种群大小。 c1和c2:学习因子(或称加速系数),合适的c1和c2既可加快收敛又 不易陷入局部最优。 rand1和rand2:是介于[0,1]之间的随机数。
Pbestikd :是粒子i在第d维的个体极值点的位置; Gbestdk :是整个粒子群在第d维的全局极值点的位置。
最大速度vmax:决定了问题空间搜索的力度,粒子的每一维速度vid都 会被限制在[-vdmax,+vdmax ]之间,粒子每一维的位置xid变化范围为 [-xdmax,+xdmax ] ,迭代中若位置和速度超过边界范围则取边界值。
12
“认知”部分,仅考虑了粒子自身的 经验,表示粒子本身的思考
vk 1 id
vikd
c1
rand1k
(Pbestikd
xikd )
c2
rand2k
(Gbestdk
xikd )
粒子先前的速度
“社会”部分,表示粒子间的 群体或领域内信息共享
10
三、粒子群优化算法的一般数学模型
假设在一个N维空间进行搜索,粒子i的信息可用两个N维向量来
表示:
第i个粒子的位置可表示为 xi xi1, xi2 , xiN T ; 速度为 vi vi1, vi2 ,viN T ;
在找到两个最优解后,粒子即可根据下式来更新自己的速度和位置:
9
粒子群算法的基本思想:
用随机解初始化一群随机粒子,然后通过迭代找到最优解。在每 一次迭代中,粒子通过跟踪两个“极值”来更新自己:
一个是粒子本身所找到的最好解,即个体极值(pbest),另一个 极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优解 (gbest)即全局极值。
找到这两个最好解后,接下来是PSO中最重要的“加速”过程, 每个粒子不断地改变其在解空间中的速度,以尽可能地朝pbest和 gbest所指向的区域“飞”去。
8
每个粒子使用下列信息改变自己的当前位置:
当前位置 当前速度 当前位置与自己最好 位置之间的距离 当前位置与群体最 好位置之间的距离
Russ Eberhart
5
产生背景:
设想一个场景:一群鸟随机的分布在一个区域中,在这个区域 里只有一块食物。所有的鸟都不知道食物在哪里。但是他们知道当 前的位置离食物还有多远。那么找到食物的最优策略是什么呢?最 简单有效的方法就是追寻自己视野中目前离食物最近的鸟。如果把 食物当作最优点,而把鸟离食物的距离当作函数的适应度,那么鸟 寻觅食物的过程就可以当作一个函数寻优的过程。由此受到启发, 经过简化提出了粒子群优化算法。
粒子群算法
2015年12月9日
1
目录
一.集群智能(Swarm Intelligence) 二.粒子群算法(PSO)简介 三、PSO的一般数学模型 四、PSO的各种改进算法 五、PSO的优缺点 六、PSO的matlab实现
2
一、集群智能(Swarm Intelligence)
Swarm可被描述为一些相互作用相邻个体的集合体,蜂群、蚁 群、鸟群都是Swarm的典型例子。鱼聚集成群可以有效地逃避捕食 者,因为任何一只鱼发现异常都可带动整个鱼群逃避。蚂蚁成群则 有利于寻找食物,因为任一只蚂蚁发现食物都可带领蚁群来共同搬 运和进食。一只蜜蜂或蚂蚁的行为能力非常有限,它几乎不可能独 立存在于自然世界中,而多个蜜蜂或蚂蚁形成的Swarm则具有非常 强的生存能力,且这种能力不是通过多个个体之间能力简单叠加所 获得的。社会性动物群体所拥有的这种特性能帮助个体很好地适应 环境,个体所能获得的信息远比它通过自身感觉器官所取得的多, 其根本原因在于个体之间存在着信息交互能力。
7
粒子在搜索空间中以一定的速度飞行,这个速度根据它本身的飞 行经验和同伴的飞行经验来动态调整。所有的粒子都有一个被目标函 数决定的适应值(fitness value),这个适应值用于评价粒子的“好 坏”程度。
每个粒子知道自己到目前为止发现的最好位置(particle best, 记为pbest)和当前的位置,pbest就是粒子本身找到的最优解,这个 可以看作是粒子自己的飞行经验。
6
基本思想:
在PSO中,把一个优化问题看作是在空中觅食的鸟群,那么 “食物”就是优化问题的最优解,而在空中飞行的每一只觅食的 “鸟”就是PSO算法中在解空间中进行搜索的一个“粒子” (Particle)。“群”(Swarm)的概念来自于人工生命,满足人工生 命的五个基本原则。因此PSO算法也可看作是对简化了的社会模型 的模拟,这其中最重要的是社会群体中的信息共享机制,这是推动 算法的主要机制。
3
生物社会学家E.O.Wilson指出:“至少从理论上,在搜索食物 过程中群体中个体成员可以得益于所有其他成员的发现和先前的经 历。当食物源不可预测地零星分布时,这种协作带来的优势是决定 性的,远大于对食物的竞争带来的劣势。”
鱼群觅食模型
4
二、粒子群算法(PSO)简介
粒子群算法(particle swarm optimization, PSO)由Kennedy和Eberhart在1995年提出,该算法 模拟鸟集群飞行觅食的行为,鸟之间通过集体的 协作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。同遗传算法类似,也 是一种基于群体叠代的,但并没有遗传算法用的 交叉以及变异,而是粒子在解空间追随最优的粒 子进行搜索。PSO的优势在于简单容易实现同时又 有深刻的智能背景,既适合科学研究,又特别适 合工程应用,并且没有许多参数需要调整。
vk 1 id
vikd
c1 rand1k
(Pbestikd
xikd
)
c2
Leabharlann Baidu
rand
k 2
(Gbestdk
xikd
)
xk 1 id
xikd
vk 1 id
vikd :是粒子i在第k次迭代中第d维的速度;
xikd :是粒子i在第k次迭代中第d维的当前位置; 11
i=1,2,3…,M:种群大小。 c1和c2:学习因子(或称加速系数),合适的c1和c2既可加快收敛又 不易陷入局部最优。 rand1和rand2:是介于[0,1]之间的随机数。
Pbestikd :是粒子i在第d维的个体极值点的位置; Gbestdk :是整个粒子群在第d维的全局极值点的位置。
最大速度vmax:决定了问题空间搜索的力度,粒子的每一维速度vid都 会被限制在[-vdmax,+vdmax ]之间,粒子每一维的位置xid变化范围为 [-xdmax,+xdmax ] ,迭代中若位置和速度超过边界范围则取边界值。
12
“认知”部分,仅考虑了粒子自身的 经验,表示粒子本身的思考
vk 1 id
vikd
c1
rand1k
(Pbestikd
xikd )
c2
rand2k
(Gbestdk
xikd )
粒子先前的速度
“社会”部分,表示粒子间的 群体或领域内信息共享
10
三、粒子群优化算法的一般数学模型
假设在一个N维空间进行搜索,粒子i的信息可用两个N维向量来
表示:
第i个粒子的位置可表示为 xi xi1, xi2 , xiN T ; 速度为 vi vi1, vi2 ,viN T ;
在找到两个最优解后,粒子即可根据下式来更新自己的速度和位置:
9
粒子群算法的基本思想:
用随机解初始化一群随机粒子,然后通过迭代找到最优解。在每 一次迭代中,粒子通过跟踪两个“极值”来更新自己:
一个是粒子本身所找到的最好解,即个体极值(pbest),另一个 极值是整个粒子群中所有粒子在历代搜索过程中所达到的最优解 (gbest)即全局极值。
找到这两个最好解后,接下来是PSO中最重要的“加速”过程, 每个粒子不断地改变其在解空间中的速度,以尽可能地朝pbest和 gbest所指向的区域“飞”去。