粒子群优化算法PSO
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若w>1,则当前速度始终是初始速度的放大; 若w<1,则当前速度从初始速度开始,呈几何级数衰减; 若w=1,则粒子一直以初始速度飞行,不会改变飞行的方向和速度 的大小。 如果c1=0,则粒子没有个体认知能力,只有“社会”模型。在粒子相 互作用下,虽然可能探索新的解空间,但对复杂问题很容易陷入局部 极值点。 如果c2=0,则粒子之间没有社会信息共享,只有“个体认知”模型。 因为个体间没有交互,一个规模为m的群体等价于执行了m个粒子的 单独搜索,因而得到最优解的概率大大减小。 一般取c1=c2=2.
将车辆任务点编号为0, 1,…L , 其中: 0 为 中心仓库; 1, 2,…L 为收货点。 • 定义变量如下:
f ki
• cij 为从任务点i到任务点j的运输成本(运输 距离)
• Z为所有车辆行驶距离总和
非满载车辆优化调度的数学模型为
该模型要求每个收 货点都得到车辆配 送服务, 并且限制 每个收货点的需求 只能由某一台车辆 完成, 同时保证每 条路径上各收货点 的总需求量不超过 此路径上配送车辆 的容量。在满足上 述条件的情况下, 使所有车辆行驶距 离之和Z 最小。
12/03/12
Particle Swarms Optimization
粒子群最佳化
整合群体行为、人类决策与鸟群行为发展成为 粒子群演算法。
【Eberhart, Kennedy, 1995】
Russ Eberhart
Bionic Computing
Bionic Computing Lab, 2005
(1) 对粒子第二维向量xi 的元素xij 进行取整操作 int (xij) , 即可得到分配给收货点j 的车辆k 。 (2) 对于车辆k 的行驶路径, 按照粒子第三维向量y i 的元素yij 的大小顺序来确定, 即首先找出由车辆 k 完成配送的收货点j , 然后按照j 所对应yij 的大小, 从小到大进行排序, 从而确定车辆k的行驶路径。
配送车辆优化调度的数学描述
配送车辆优化调度问题一般描述为: 有一个中 心仓库, 拥有K 辆车, 容量分别为qk ( k= 1, 2,…K ) ; 有L 个收货点的运输任务需要完成, 各收货点的货运量为gi ( i= 1, 2,… L ) , 并且 max { gi } ≤max { qk } ; 配送车辆优化调度的 目标是满足货运需求的车辆行驶路径最短。
通常,在第d(1≤d≤D)维的位置变化范围限定在 [Xmin,d , X max,d 内] ,
速度变化范围限定在[-Vmax,d ,V max,d ] 内(即在迭代中若 vid、xid
超出了边界值,则该维的速度或位置被限制为该维最大速度或边界 位置)
粒子i的第d维速度更新公式:
vikd =wvikd-1
原理
我们可以设想这样一个场景,一群鸟在某区域随 机搜寻食物。该区域只有一块食物。所有的鸟都 不知道食物在哪里,但它们知道目前距离食物还 有多远,那么找到食物的最佳策略是什么呢?最 简单的方法就是找寻距离食物最近的鸟周围区域 及根据自己飞行的经验判断食物的所在。
12/21/05
DM course Particle Swarms Optimization
算法流程
1. Initial:
初始化粒子群体(群体规模为n),包括随机位置和速度。
2. Evaluation:
根据fitness function ,评价每个粒子的适应度。
3. Find the Pbest:
对每个粒子,将其当前适应值与其个体历史最佳位置(pbest)对应 的适应值做比较,如果当前的适应值更高,则将用当前位置更新历 史最佳位置pbest。
2
2 4
,
1 2 ,
4
K为受φ1 φ2 限制的w。φ1 φ2是需要预先设定 的模型参数
粒子群算法在车辆优化调度中的应用
物流配送车辆调度问题包括集货线路优化、 货物配装及送货线路优化等, 是物流配送系统 优化的关键。利用粒子群算法求解物流车辆 调度问题的关键是解决针对调度问题的粒子 编码和解码方法。
较低的加速常数允许粒子在被拉回之前可以在目标区域外徘徊,而高 的加速常数则导致粒子突然冲向或越过目标区域,形成较大的适应值 波动。 若w=0,则速度只取决于粒子pbest和gbest,速度本身不具有记忆性。 此时,粒子仅能探测有限区域,更像一个局部算法。 如果公式里没有后两部分,即c1=c2=0
某个给定的阈值时算法停止。
max
或者最佳适应度值的增量小于
粒子群优化算法流程图
开始 初始化粒子群 计算每个粒子的适应度
根据适应度更新pbest、gbest,更新粒子位置速度
no
达到最大迭代次数或
全局最优位置满足最小界限?
yes
结束
算法参数设置
1.群体规模
一般,待求解问题维数越高,所需的群体规模也 越大ຫໍສະໝຸດ 通常群体规模是问题维数的1.5倍左右。
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2r2
(
gbestd
xk 1 id
)
收缩因子法 速度更新公式为
vid K[vid 1r1( pbestid xid ) 2r2 (gbestd xid )]
其中,收缩因子为
K
2
线性递减权值
w
wmax
(wmax
wmin ) *
run runmax
wmax最大惯性权重,wmin最小惯性权重,run当前 迭代次数,runmax为算法迭代总次数 模糊控制器自适应改变权重
Shi和Eberhart提出一个模糊系统来调节w,该 系统包括9条规则,有两个输入和一个输出,每个 输入和输出定义了三个模糊集。一个输入为当前 代的全局最好适应值,另一个为当前的w;输出 为w的变化。
c1r1( pbestid
xk 1 id
)
c2r2 (gbestd
xk 1 id
)
粒子i的第d维位置更新公式:
xikd
xk 1 id
vk 1 id
vikd —第k次迭代粒子i飞行速度矢量的第d维分量 xikd —第k次迭代粒子i位置矢量的第d维分量
c1,c2—加速度常数,调节学习最大步长
使它具有更强的描述和表达能力。
粒子群算法就是对一个CAS---鸟群社会系统 的研究得出的。
PSO算法简介
粒子群算法(particle swarm optimization,PSO) 由Kennedy和Eberhart在1995年提出,该算法模 拟鸟集群飞行觅食的行为,鸟之间通过集体的协 作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。同遗传算法类似,也是 一种基于群体叠代的,但并没有遗传算法用的交 叉以及变异,而是粒子在解空间追随最优的粒子 进行搜索。PSO的优势在于简单容易实现同时又 有深刻的智能背景,既适合科学研究,又特别适 合工程应用,并且没有许多参数需要调整。
鳥群(魚群)行為
粒子群特性
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
算法介绍
每个寻优的问题解都被想像成一只鸟,称为“粒 子”。所有粒子都在一个D维空间进行搜索。
所有的粒子都由一个fitness function 确定适应值以 判断目前的位置好坏。
粒子群算法设计
粒子编码设计
粒子的第一维用自然数1, 2,… L 来表示L 个 收货点, 按递增顺序排列; 粒子的第二维xi 用于映射分配给各收货点的车辆编号, xi 的 元素xij∈ [ 1, K + 1) 。粒子的第三维yi 用于 映射各车辆的行驶距离。
一个完整的三维粒子可以表示为:
粒子解码过程
CAS的4个基本特点(这些特点是粒子群算法发展 变化的依据):
首先,主体是主动的、活动的。 其次,主体与环境及其他主体是相互影响、相互
作用的,这种影响是系统发展变化的主要动力。 再次,环境的影响是宏观的,主体之间的影响是
微观的,宏观与微观要有机结合。 最后,这种建模方法还引进了随机因素的作用,
4. Find the Gbest:
对每个粒子,将其当前适应值与全局最佳位置(gbest)对应的适
应值做比较,如果当前的适应值更高,则将用当前粒子的位置更新 全局最佳位置gbest。
5. Update the Velocity:
根据公式更新每个粒子的速度与位置。
6. 如未满足结束条件,则返回步骤2
通常算法达到最大迭代次数 G
r1,r2—两个随机函数,取值范围[0,1],以增加搜索随机 性
w —惯性权重,非负数,调节对解空间的搜索范围
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2
r2
(
gbestd
xk 1 id
)
粒子速度更新公式包含三部分:
第一部分为粒子先前的速度
第二部分为“认知”部分,表示粒子本身的 思考,可理解为粒子i当前位置与自己最好位 置之间的距离。
粒子群优化算法
主要内容
1.产生背景 2.算法介绍 3.参数设置 4.在车辆优化调度中的应用
粒子群算法的产生背景
粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出, CAS中的成员称为主体。比如研究鸟群系统,每个 鸟在这个系统中就称为主体。主体有适应性,它能 够与环境及其他的主体进行交流,并且根据交流的 过程“学习”或“积累经验”改变自身结构与行为。 整个系统的演变或进化包括:新层次的产生(小鸟 的出生);分化和多样性的出现(鸟群中的鸟分成 许多小的群);新的主题的出现(鸟寻找食物过程 中,不断发现新的食物)。
12/21/05
DM course Particle Swarms Optimization
粒子群最佳化
2維簡例
區域
Note
合理解
目前最優解
區域最佳解
全域
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
4.惯性权重
惯性权重w描述粒子上一代速度对当前代速度的 影响。w值较大,全局寻优能力强,局部寻优能力 弱;反之,则局部寻优能力强。当问题空间较大时, 为了在搜索速度和搜索精度之间达到平衡,通常做 法是使算法在前期有较高的全局搜索能力以得到合 适的种子,而在后期有较高的局部搜索能力以提高 收敛精度。所以w不宜为一个固定的常数。
第三部分为“社会”部分,表示粒子间的信 息共享与合作,可理解为粒子i当前位置与群 体最好位置之间的距离。
12/21/05
DM course Particle Swarms Optimization
Vik
=Vik
1
+C1*r1*(Pbest
i
-X
k i
1
)+C2
*r2
*(gbest
-Xik 1)
2.最大速度
Vmax 决定当前位置与最优位置之间区域的分辨率。 如果太高,粒子可能会飞过好解;如果太小,粒子 不能对局部最优区间之外进行足够探索,导致陷入 局部优值。
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2
r2
(
gbestd
xk 1 id
)
3.加速度常数 c1、c2代表将每个粒子推向pbest和gbest位置的统计加速项的权重。
每一个粒子必须赋予记忆功能,能记住所搜寻到的 最佳位置。
每一个粒子还有一个速度以决定飞行的距离和方向。 这个速度根据它本身的飞行经验以及同伴的飞行经 验进行动态调整。
粒子群优化算法求最优解
D维空间中,有N个粒子; 粒子i位置:xi=(xi1,xi2,…xiD),将xi代入适应函数f(xi)求适应值; 粒子i速度:vi=(vi1,vi2,…viD) 粒子i个体经历过的最好位置:pbesti=(pi1,pi2,…piD) 种群所经历过的最好位置:gbest=(g1,g2,…gD)
Xik =Xik 1 +Vik 1
Vi =Vi1,Vi2,...,ViN
Xi = Xi1,Xi2,...,XiN
区域 最佳解
运动向量
全域 最佳解
Bionic Computing
Chung Yuan Christian University
惯性向量
Bionic Computing Lab, 2005
将车辆任务点编号为0, 1,…L , 其中: 0 为 中心仓库; 1, 2,…L 为收货点。 • 定义变量如下:
f ki
• cij 为从任务点i到任务点j的运输成本(运输 距离)
• Z为所有车辆行驶距离总和
非满载车辆优化调度的数学模型为
该模型要求每个收 货点都得到车辆配 送服务, 并且限制 每个收货点的需求 只能由某一台车辆 完成, 同时保证每 条路径上各收货点 的总需求量不超过 此路径上配送车辆 的容量。在满足上 述条件的情况下, 使所有车辆行驶距 离之和Z 最小。
12/03/12
Particle Swarms Optimization
粒子群最佳化
整合群体行为、人类决策与鸟群行为发展成为 粒子群演算法。
【Eberhart, Kennedy, 1995】
Russ Eberhart
Bionic Computing
Bionic Computing Lab, 2005
(1) 对粒子第二维向量xi 的元素xij 进行取整操作 int (xij) , 即可得到分配给收货点j 的车辆k 。 (2) 对于车辆k 的行驶路径, 按照粒子第三维向量y i 的元素yij 的大小顺序来确定, 即首先找出由车辆 k 完成配送的收货点j , 然后按照j 所对应yij 的大小, 从小到大进行排序, 从而确定车辆k的行驶路径。
配送车辆优化调度的数学描述
配送车辆优化调度问题一般描述为: 有一个中 心仓库, 拥有K 辆车, 容量分别为qk ( k= 1, 2,…K ) ; 有L 个收货点的运输任务需要完成, 各收货点的货运量为gi ( i= 1, 2,… L ) , 并且 max { gi } ≤max { qk } ; 配送车辆优化调度的 目标是满足货运需求的车辆行驶路径最短。
通常,在第d(1≤d≤D)维的位置变化范围限定在 [Xmin,d , X max,d 内] ,
速度变化范围限定在[-Vmax,d ,V max,d ] 内(即在迭代中若 vid、xid
超出了边界值,则该维的速度或位置被限制为该维最大速度或边界 位置)
粒子i的第d维速度更新公式:
vikd =wvikd-1
原理
我们可以设想这样一个场景,一群鸟在某区域随 机搜寻食物。该区域只有一块食物。所有的鸟都 不知道食物在哪里,但它们知道目前距离食物还 有多远,那么找到食物的最佳策略是什么呢?最 简单的方法就是找寻距离食物最近的鸟周围区域 及根据自己飞行的经验判断食物的所在。
12/21/05
DM course Particle Swarms Optimization
算法流程
1. Initial:
初始化粒子群体(群体规模为n),包括随机位置和速度。
2. Evaluation:
根据fitness function ,评价每个粒子的适应度。
3. Find the Pbest:
对每个粒子,将其当前适应值与其个体历史最佳位置(pbest)对应 的适应值做比较,如果当前的适应值更高,则将用当前位置更新历 史最佳位置pbest。
2
2 4
,
1 2 ,
4
K为受φ1 φ2 限制的w。φ1 φ2是需要预先设定 的模型参数
粒子群算法在车辆优化调度中的应用
物流配送车辆调度问题包括集货线路优化、 货物配装及送货线路优化等, 是物流配送系统 优化的关键。利用粒子群算法求解物流车辆 调度问题的关键是解决针对调度问题的粒子 编码和解码方法。
较低的加速常数允许粒子在被拉回之前可以在目标区域外徘徊,而高 的加速常数则导致粒子突然冲向或越过目标区域,形成较大的适应值 波动。 若w=0,则速度只取决于粒子pbest和gbest,速度本身不具有记忆性。 此时,粒子仅能探测有限区域,更像一个局部算法。 如果公式里没有后两部分,即c1=c2=0
某个给定的阈值时算法停止。
max
或者最佳适应度值的增量小于
粒子群优化算法流程图
开始 初始化粒子群 计算每个粒子的适应度
根据适应度更新pbest、gbest,更新粒子位置速度
no
达到最大迭代次数或
全局最优位置满足最小界限?
yes
结束
算法参数设置
1.群体规模
一般,待求解问题维数越高,所需的群体规模也 越大ຫໍສະໝຸດ 通常群体规模是问题维数的1.5倍左右。
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2r2
(
gbestd
xk 1 id
)
收缩因子法 速度更新公式为
vid K[vid 1r1( pbestid xid ) 2r2 (gbestd xid )]
其中,收缩因子为
K
2
线性递减权值
w
wmax
(wmax
wmin ) *
run runmax
wmax最大惯性权重,wmin最小惯性权重,run当前 迭代次数,runmax为算法迭代总次数 模糊控制器自适应改变权重
Shi和Eberhart提出一个模糊系统来调节w,该 系统包括9条规则,有两个输入和一个输出,每个 输入和输出定义了三个模糊集。一个输入为当前 代的全局最好适应值,另一个为当前的w;输出 为w的变化。
c1r1( pbestid
xk 1 id
)
c2r2 (gbestd
xk 1 id
)
粒子i的第d维位置更新公式:
xikd
xk 1 id
vk 1 id
vikd —第k次迭代粒子i飞行速度矢量的第d维分量 xikd —第k次迭代粒子i位置矢量的第d维分量
c1,c2—加速度常数,调节学习最大步长
使它具有更强的描述和表达能力。
粒子群算法就是对一个CAS---鸟群社会系统 的研究得出的。
PSO算法简介
粒子群算法(particle swarm optimization,PSO) 由Kennedy和Eberhart在1995年提出,该算法模 拟鸟集群飞行觅食的行为,鸟之间通过集体的协 作使群体达到最优目的,是一种基于Swarm Intelligence的优化方法。同遗传算法类似,也是 一种基于群体叠代的,但并没有遗传算法用的交 叉以及变异,而是粒子在解空间追随最优的粒子 进行搜索。PSO的优势在于简单容易实现同时又 有深刻的智能背景,既适合科学研究,又特别适 合工程应用,并且没有许多参数需要调整。
鳥群(魚群)行為
粒子群特性
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
算法介绍
每个寻优的问题解都被想像成一只鸟,称为“粒 子”。所有粒子都在一个D维空间进行搜索。
所有的粒子都由一个fitness function 确定适应值以 判断目前的位置好坏。
粒子群算法设计
粒子编码设计
粒子的第一维用自然数1, 2,… L 来表示L 个 收货点, 按递增顺序排列; 粒子的第二维xi 用于映射分配给各收货点的车辆编号, xi 的 元素xij∈ [ 1, K + 1) 。粒子的第三维yi 用于 映射各车辆的行驶距离。
一个完整的三维粒子可以表示为:
粒子解码过程
CAS的4个基本特点(这些特点是粒子群算法发展 变化的依据):
首先,主体是主动的、活动的。 其次,主体与环境及其他主体是相互影响、相互
作用的,这种影响是系统发展变化的主要动力。 再次,环境的影响是宏观的,主体之间的影响是
微观的,宏观与微观要有机结合。 最后,这种建模方法还引进了随机因素的作用,
4. Find the Gbest:
对每个粒子,将其当前适应值与全局最佳位置(gbest)对应的适
应值做比较,如果当前的适应值更高,则将用当前粒子的位置更新 全局最佳位置gbest。
5. Update the Velocity:
根据公式更新每个粒子的速度与位置。
6. 如未满足结束条件,则返回步骤2
通常算法达到最大迭代次数 G
r1,r2—两个随机函数,取值范围[0,1],以增加搜索随机 性
w —惯性权重,非负数,调节对解空间的搜索范围
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2
r2
(
gbestd
xk 1 id
)
粒子速度更新公式包含三部分:
第一部分为粒子先前的速度
第二部分为“认知”部分,表示粒子本身的 思考,可理解为粒子i当前位置与自己最好位 置之间的距离。
粒子群优化算法
主要内容
1.产生背景 2.算法介绍 3.参数设置 4.在车辆优化调度中的应用
粒子群算法的产生背景
粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论于1994年正式提出, CAS中的成员称为主体。比如研究鸟群系统,每个 鸟在这个系统中就称为主体。主体有适应性,它能 够与环境及其他的主体进行交流,并且根据交流的 过程“学习”或“积累经验”改变自身结构与行为。 整个系统的演变或进化包括:新层次的产生(小鸟 的出生);分化和多样性的出现(鸟群中的鸟分成 许多小的群);新的主题的出现(鸟寻找食物过程 中,不断发现新的食物)。
12/21/05
DM course Particle Swarms Optimization
粒子群最佳化
2維簡例
區域
Note
合理解
目前最優解
區域最佳解
全域
Bionic Computing
Chung Yuan Christian University
Bionic Computing Lab, 2005
4.惯性权重
惯性权重w描述粒子上一代速度对当前代速度的 影响。w值较大,全局寻优能力强,局部寻优能力 弱;反之,则局部寻优能力强。当问题空间较大时, 为了在搜索速度和搜索精度之间达到平衡,通常做 法是使算法在前期有较高的全局搜索能力以得到合 适的种子,而在后期有较高的局部搜索能力以提高 收敛精度。所以w不宜为一个固定的常数。
第三部分为“社会”部分,表示粒子间的信 息共享与合作,可理解为粒子i当前位置与群 体最好位置之间的距离。
12/21/05
DM course Particle Swarms Optimization
Vik
=Vik
1
+C1*r1*(Pbest
i
-X
k i
1
)+C2
*r2
*(gbest
-Xik 1)
2.最大速度
Vmax 决定当前位置与最优位置之间区域的分辨率。 如果太高,粒子可能会飞过好解;如果太小,粒子 不能对局部最优区间之外进行足够探索,导致陷入 局部优值。
vikd =wvikd-1
c1r1( pbestid
xk 1 id
)
c2
r2
(
gbestd
xk 1 id
)
3.加速度常数 c1、c2代表将每个粒子推向pbest和gbest位置的统计加速项的权重。
每一个粒子必须赋予记忆功能,能记住所搜寻到的 最佳位置。
每一个粒子还有一个速度以决定飞行的距离和方向。 这个速度根据它本身的飞行经验以及同伴的飞行经 验进行动态调整。
粒子群优化算法求最优解
D维空间中,有N个粒子; 粒子i位置:xi=(xi1,xi2,…xiD),将xi代入适应函数f(xi)求适应值; 粒子i速度:vi=(vi1,vi2,…viD) 粒子i个体经历过的最好位置:pbesti=(pi1,pi2,…piD) 种群所经历过的最好位置:gbest=(g1,g2,…gD)
Xik =Xik 1 +Vik 1
Vi =Vi1,Vi2,...,ViN
Xi = Xi1,Xi2,...,XiN
区域 最佳解
运动向量
全域 最佳解
Bionic Computing
Chung Yuan Christian University
惯性向量
Bionic Computing Lab, 2005