基于多种群多模型协同进化的粒子群优化算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第 39 卷 Vol.39
第5期 No.5
计 算 机 工 程 Computer Engineering
文章编号: 文章编号:1000—3428(2013)05—0200—04 文献标识码: 文献标识码:A
2013 年 5 月 May 2013
中图分类号: 中图分类号:TP301.6
·人工智能及识别技术· 人工智能及识别技术·
第 39 卷 第 5 期
徐冰纯,葛洪伟,王燕燕:基于多种群多模型协同进化的粒子群优化算法
201
子获得新生命力的概率太小,在多峰函数寻优时不能及时
Fi tn es s
跳出局部极值点。 本文提出了一种基于多种群多模型协同进化的粒子群 优化算法(PSO algorithm based on Multi-swarm and Multimodel cooperative evolution, MSM-PSO)。 算法建立了基于不 同模型的多个分群,且分群间的信息交流扩大到了所有粒 子间,以更有效地提高种群的多样性。同时,采用动态的 自适应惯性权重,根据适应值的大小动态调整惯性权重, 使算法对不同优化问题具有更强的适应性。
基于多种群多模型协同进化的粒子群优化算法
徐冰纯, 徐冰纯,葛洪伟, 葛洪伟,王燕燕
(江南大学物联网工程学院,江苏 无锡 214122) 摘 要:为克服标准粒子群优化(PSO)算法易陷入局部极值和优化精度较低的缺点,提出一种多种群多模型协同进化的粒子 群优化(MSM-PSO)算法。将整个粒子群分成大小相等的 3 个分群,各分群采用不同的进化模型,分群间相互影响促进。同 时采用自适应动态惯性权重,以保持种群多样性,降低陷入局部极值的概率。测试结果表明,该算法全局性能好、寻优精 度高。 关键词: 关键词:粒子群优化算法;多种群;多模型;自适应动态惯性权重;协同进化
Particle Swarm Optimization Algorithm Based on Multi-swarm and Multi-model Cooperative Evolution
XU Bing-chun, GE Hong-wei, WANG Yan-yan
(School of Internet of Things Engineering, Jiangnan University, Wuxi 214122, China) 【Abstract】Aiming to improve the performance of standard Particle Swarm Optimization(PSO) algorithm, an improved PSO algorithm based on Multi-swarm and Multi-model cooperative evolution(MSM-PSO) is proposed. The particles are divided into three swarms in the same size, different swarms adapt different evolution models, and three swarms interact and affect each other. Besides, adaptive dynamic inertia weight is adopted in the algorithm, which can maintain diversity of population and reduce the possibility of local minimum. Simulation result shows that this method has better global performance, and higher optimization precision. 【 Key words 】 Particle Swarm Optimization(PSO) algorithm; multi-swarm; multi-model; adaptive dynamic inertia weight; cooperative evolution DOI: 10.3969/j.issn.1000-3428.2013.05.044
ω = ωmax − i ⋅
wmax − wmin max _ gen
(7)
其中, ωmax 和 ωmin 分别表示惯性权重最大值、最小值; i 表示目前迭代次数; max _ gen 表示最大迭代次数。
[2]
。为了平衡收敛的全局性和收敛速度,文献[3-4]提
出了线性递减权重策略 (Linearly Decreasing Weight PSO,
————————————
作者简介: 作者简介:徐冰纯(1988-),女,硕士研究生,主研方向:人工智能;葛洪伟,教授、博士生导师;王燕燕,硕士研究生 收稿日期: 收稿日期:2012-05-31 修回日期: 修回日期:2012-08-03 E-mail:xbc6001@163.com
V
V & s es tn Fi
图 1 分群间信息交流与合作模式
2
标准粒子群优化算法
粒子群优化算法是借鉴鸟类寻找食物的自然现象提出
3 个分群按照如下方程迭代: 基础群 S1、S2:
1(2) 1(2) v1(2) id (t + 1) = ω ⋅ vid (t ) + c1 ⋅ rand () ⋅ ( P id (t ) − 1(2) 1(2) xid (t )) + c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t )) (3)
(5)
c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t )) xid (t + 1) = xid (t ) + vid (t + 1)
(1) (2)
3 xid (t
+ wenku.baidu.com)
3 = α1 ⋅ xid (t ) + α 2 3 vid (t + 1)
3 ⋅ Pid (t ) + α 3
c2 调整粒子向 Pid (t ) 、 Pgd (t ) 学习的权重,并用 rand () 对
粒子的状态进行随机处理,以保持多样性。
3
3.1
算法描述 算法描述
多种群多模型协同进化机制 多种群多模型 协同进化机制 MSM-PSO 算法将粒子分成 3 个粒子数相同的分群:
S1(基础群),S2(基础群),S3(综合群)。分群中的粒子均在同 一搜索空间中飞行,且在搜索过程中 3 个分群保持信息交 流,以提高协同进化的能力。分群间信息交流与合作模式 如图 1 所示。在图 1 中,3 个分群根据不同的更新公式各自 产生新的速度、位置和分群历史最优位置。每一代更新完 毕,即可从 3 个分群历史最优位置中产生全局历史最优位 置。其中,综合群 S3 中粒子的速度更新有赖于基础群 S1、 S2 的速度和适应值,位置更新有赖于基础群 S1、S2 历史最 优位置和全局历史最优位置。
1
概述
粒子群优化(Particle Swarm Optimization, PSO)算法是
[1]
LDI-PSO) 和基于模糊系统的惯性因子动态调整方法。文 献[5]分析了不同的种群拓扑结构对 PSO 算法效能的影响, 提出了构造种群结构的基本原则。在保持种群多样性方面, 文献[6]提出了分群思想,根据不同参数组对算法的影响, 利用 2 个相同模型的分群共同进化。为体现多分群多样化 的优势,文献[7]借鉴了两分群模型,并采用 2 个飞行方向 不同的微粒群共同作用的方法。基于文献[7],文献[8]增加 了两分群间交换粒子的功能,使得在遇到局部极值点时更 易逃离,避免早熟收敛。文献 [9]通过多样性指标和阈值来 决定何时交换粒子。 文献[10]则采用小生境技术和灾变原理 获得自适应分群的效果。在上述基于分群思想的算法中, 文献[6-7,10]采用相同的进化模型,不能充分发挥多种群拥 有多样性粒子信息的优势。文献[8-9]虽然采用了不同进化 模型,但是第二分群采用的是“独立认知”模型,虽然增 加了多样性,但浪费了过多计算量在非最优值的搜索上, 且分群间的粒子交换仅局限于最优粒子和最差粒子间,粒
1 ,本文将 α1 、 α 2 、 α 3 分别取为 1/6、1/3、1/2, α 值越
大,对综合群当前位置的影响越大。由粒子群进化方式可 知, 全局最优解 Pgd 对粒子向最优解飞行有着重要的引导作 用,为了提高搜索能力,式(6)因此引入全局最优解 Pgd 。 至此,综合群 S3 利用了所有分群的信息,没有一个群是孤 立存在的,这不仅提高了种群多样性,而且增强了在已搜 索到的全局最优值附近的搜索性能。 3.2 自适应动态惯性权重机制 一般的, 为获得较好的算法性能, 通常在搜索早期使 ω 具有较大的值,以确保粒子群在较大的搜索空间范围内搜 索,避免早熟收敛;随着迭代次数增加,使 ω 具有较小的 值以确保粒子群在较小局部空间内调节搜索,提高收敛精 度。以线性递减权重粒子群算法为典型(LDI-PSO),其惯性 权重调节方式为:
m − m1 1 m − m2 2 ⋅ vid (t + 1) + ⋅ vid (t + 1) + m m
3 3 3 vid (t )) + c1 ⋅ rand () ⋅ ( Pid (t ) − xid (t )) + 3 c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t ))
基础群 S1、S2 的进化式(3)、式(4)与标准粒子群算法相 同。 综合群 S3 的速度公式式(5)引入了基础群 S1、 S2 的速度, 其中, m = m1 + m2 ; m1 、 m2 是基础群 S1、S2 当前适应度 值,通过两基础群适应值的大小比较,保证较好的那个基 础群对综合群 S3 有更大的影响。位置式(6)引入了全局最优 解 Pgd , 其中, α1 、 α2 、 α 3 称为影响因子, 且 α1 + α 2 + α 3 =
&
(4)
综合群 S3:
3 (t + 1) = ω ⋅ ( vid
( X i1 , X i 2 ,⋯ , X id ) ,速度表示为 Vi = (Vi1 ,Vi 2 ,⋯,Vid ) , i =
1, 2,⋯ , n 。 微粒 i 在 d 维空间中的飞行速度和位置根据下式
进行调整: vid (t + 1) = ω ⋅ vid (t ) + c1 ⋅ rand () ⋅ ( Pid (t ) − xid (t )) +
的一类基于种群随机全局优化的技术。在此算法中,待优 化问题潜在的解对应于搜索空间中一只鸟的位置,即“粒 子” ,每个粒子有自己的位置和速度。设搜索区域为 d 维空 间, 粒子群的粒子数为 n , 则第 i 个粒子的位置表示为 X i =
1(2) 1(2) x1(2) id (t + 1) = xid (t ) + vid (t + 1)
⋅ Pgd (t ) +
(6)
其中, ω 为惯性权重,决定前一时刻的速度对当前时刻速 度的影响大小。当 ω 较小时,粒子探索能力弱,开发能力 强,易陷入局部极值;当 ω 较大时,粒子探索能力强,开 发能力弱,易跳出局部极值,但收敛速度较慢。因此,需 要调整 ω 的大小以协调全局寻优和局部寻优能力,通常在 迭代初期 ω 取值较大,收敛速度较快,随着迭代过程线性 变小,在迭代后期使得跳出局部极值(LDI-PSO)。 Pid (t ) 为 t 次搜索后第 i 个粒子自身找到的个体最优值, Pgd (t ) 为 t 次搜索后得到的全局最优值。 同时, 群体利用记忆因子 c1 、
一种基于群体智能的优化算法 。其算法易于实现、可调参 数少、收敛速度快,已被广泛用于函数寻优、神经网络训 练、数字电路优化和 TSP 问题等优化反演领域。但其存在 2 个弱点:(1)和其他随机优化算法一样,为了不易陷入局 部极值而扩大搜索范围,导致相当多的计算量用在差的适 应值的搜索上; (2)在整个迭代过程中, 粒子群一直朝着 “目 前找到的全局最优值位置”方向飞行,即使这个全局最优 值只是局部极值点,此时微粒的速度将很快降为 0 而不再 飞行,导致粒子群易收敛于局部极值点。 针对上述缺陷,很多研究者提出了相应的改进方案。 其中,标志性的改进有:对 PSO 算法的速度项引入惯性权 重ω
第5期 No.5
计 算 机 工 程 Computer Engineering
文章编号: 文章编号:1000—3428(2013)05—0200—04 文献标识码: 文献标识码:A
2013 年 5 月 May 2013
中图分类号: 中图分类号:TP301.6
·人工智能及识别技术· 人工智能及识别技术·
第 39 卷 第 5 期
徐冰纯,葛洪伟,王燕燕:基于多种群多模型协同进化的粒子群优化算法
201
子获得新生命力的概率太小,在多峰函数寻优时不能及时
Fi tn es s
跳出局部极值点。 本文提出了一种基于多种群多模型协同进化的粒子群 优化算法(PSO algorithm based on Multi-swarm and Multimodel cooperative evolution, MSM-PSO)。 算法建立了基于不 同模型的多个分群,且分群间的信息交流扩大到了所有粒 子间,以更有效地提高种群的多样性。同时,采用动态的 自适应惯性权重,根据适应值的大小动态调整惯性权重, 使算法对不同优化问题具有更强的适应性。
基于多种群多模型协同进化的粒子群优化算法
徐冰纯, 徐冰纯,葛洪伟, 葛洪伟,王燕燕
(江南大学物联网工程学院,江苏 无锡 214122) 摘 要:为克服标准粒子群优化(PSO)算法易陷入局部极值和优化精度较低的缺点,提出一种多种群多模型协同进化的粒子 群优化(MSM-PSO)算法。将整个粒子群分成大小相等的 3 个分群,各分群采用不同的进化模型,分群间相互影响促进。同 时采用自适应动态惯性权重,以保持种群多样性,降低陷入局部极值的概率。测试结果表明,该算法全局性能好、寻优精 度高。 关键词: 关键词:粒子群优化算法;多种群;多模型;自适应动态惯性权重;协同进化
Particle Swarm Optimization Algorithm Based on Multi-swarm and Multi-model Cooperative Evolution
XU Bing-chun, GE Hong-wei, WANG Yan-yan
(School of Internet of Things Engineering, Jiangnan University, Wuxi 214122, China) 【Abstract】Aiming to improve the performance of standard Particle Swarm Optimization(PSO) algorithm, an improved PSO algorithm based on Multi-swarm and Multi-model cooperative evolution(MSM-PSO) is proposed. The particles are divided into three swarms in the same size, different swarms adapt different evolution models, and three swarms interact and affect each other. Besides, adaptive dynamic inertia weight is adopted in the algorithm, which can maintain diversity of population and reduce the possibility of local minimum. Simulation result shows that this method has better global performance, and higher optimization precision. 【 Key words 】 Particle Swarm Optimization(PSO) algorithm; multi-swarm; multi-model; adaptive dynamic inertia weight; cooperative evolution DOI: 10.3969/j.issn.1000-3428.2013.05.044
ω = ωmax − i ⋅
wmax − wmin max _ gen
(7)
其中, ωmax 和 ωmin 分别表示惯性权重最大值、最小值; i 表示目前迭代次数; max _ gen 表示最大迭代次数。
[2]
。为了平衡收敛的全局性和收敛速度,文献[3-4]提
出了线性递减权重策略 (Linearly Decreasing Weight PSO,
————————————
作者简介: 作者简介:徐冰纯(1988-),女,硕士研究生,主研方向:人工智能;葛洪伟,教授、博士生导师;王燕燕,硕士研究生 收稿日期: 收稿日期:2012-05-31 修回日期: 修回日期:2012-08-03 E-mail:xbc6001@163.com
V
V & s es tn Fi
图 1 分群间信息交流与合作模式
2
标准粒子群优化算法
粒子群优化算法是借鉴鸟类寻找食物的自然现象提出
3 个分群按照如下方程迭代: 基础群 S1、S2:
1(2) 1(2) v1(2) id (t + 1) = ω ⋅ vid (t ) + c1 ⋅ rand () ⋅ ( P id (t ) − 1(2) 1(2) xid (t )) + c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t )) (3)
(5)
c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t )) xid (t + 1) = xid (t ) + vid (t + 1)
(1) (2)
3 xid (t
+ wenku.baidu.com)
3 = α1 ⋅ xid (t ) + α 2 3 vid (t + 1)
3 ⋅ Pid (t ) + α 3
c2 调整粒子向 Pid (t ) 、 Pgd (t ) 学习的权重,并用 rand () 对
粒子的状态进行随机处理,以保持多样性。
3
3.1
算法描述 算法描述
多种群多模型协同进化机制 多种群多模型 协同进化机制 MSM-PSO 算法将粒子分成 3 个粒子数相同的分群:
S1(基础群),S2(基础群),S3(综合群)。分群中的粒子均在同 一搜索空间中飞行,且在搜索过程中 3 个分群保持信息交 流,以提高协同进化的能力。分群间信息交流与合作模式 如图 1 所示。在图 1 中,3 个分群根据不同的更新公式各自 产生新的速度、位置和分群历史最优位置。每一代更新完 毕,即可从 3 个分群历史最优位置中产生全局历史最优位 置。其中,综合群 S3 中粒子的速度更新有赖于基础群 S1、 S2 的速度和适应值,位置更新有赖于基础群 S1、S2 历史最 优位置和全局历史最优位置。
1
概述
粒子群优化(Particle Swarm Optimization, PSO)算法是
[1]
LDI-PSO) 和基于模糊系统的惯性因子动态调整方法。文 献[5]分析了不同的种群拓扑结构对 PSO 算法效能的影响, 提出了构造种群结构的基本原则。在保持种群多样性方面, 文献[6]提出了分群思想,根据不同参数组对算法的影响, 利用 2 个相同模型的分群共同进化。为体现多分群多样化 的优势,文献[7]借鉴了两分群模型,并采用 2 个飞行方向 不同的微粒群共同作用的方法。基于文献[7],文献[8]增加 了两分群间交换粒子的功能,使得在遇到局部极值点时更 易逃离,避免早熟收敛。文献 [9]通过多样性指标和阈值来 决定何时交换粒子。 文献[10]则采用小生境技术和灾变原理 获得自适应分群的效果。在上述基于分群思想的算法中, 文献[6-7,10]采用相同的进化模型,不能充分发挥多种群拥 有多样性粒子信息的优势。文献[8-9]虽然采用了不同进化 模型,但是第二分群采用的是“独立认知”模型,虽然增 加了多样性,但浪费了过多计算量在非最优值的搜索上, 且分群间的粒子交换仅局限于最优粒子和最差粒子间,粒
1 ,本文将 α1 、 α 2 、 α 3 分别取为 1/6、1/3、1/2, α 值越
大,对综合群当前位置的影响越大。由粒子群进化方式可 知, 全局最优解 Pgd 对粒子向最优解飞行有着重要的引导作 用,为了提高搜索能力,式(6)因此引入全局最优解 Pgd 。 至此,综合群 S3 利用了所有分群的信息,没有一个群是孤 立存在的,这不仅提高了种群多样性,而且增强了在已搜 索到的全局最优值附近的搜索性能。 3.2 自适应动态惯性权重机制 一般的, 为获得较好的算法性能, 通常在搜索早期使 ω 具有较大的值,以确保粒子群在较大的搜索空间范围内搜 索,避免早熟收敛;随着迭代次数增加,使 ω 具有较小的 值以确保粒子群在较小局部空间内调节搜索,提高收敛精 度。以线性递减权重粒子群算法为典型(LDI-PSO),其惯性 权重调节方式为:
m − m1 1 m − m2 2 ⋅ vid (t + 1) + ⋅ vid (t + 1) + m m
3 3 3 vid (t )) + c1 ⋅ rand () ⋅ ( Pid (t ) − xid (t )) + 3 c2 ⋅ rand () ⋅ ( Pgd (t ) − xid (t ))
基础群 S1、S2 的进化式(3)、式(4)与标准粒子群算法相 同。 综合群 S3 的速度公式式(5)引入了基础群 S1、 S2 的速度, 其中, m = m1 + m2 ; m1 、 m2 是基础群 S1、S2 当前适应度 值,通过两基础群适应值的大小比较,保证较好的那个基 础群对综合群 S3 有更大的影响。位置式(6)引入了全局最优 解 Pgd , 其中, α1 、 α2 、 α 3 称为影响因子, 且 α1 + α 2 + α 3 =
&
(4)
综合群 S3:
3 (t + 1) = ω ⋅ ( vid
( X i1 , X i 2 ,⋯ , X id ) ,速度表示为 Vi = (Vi1 ,Vi 2 ,⋯,Vid ) , i =
1, 2,⋯ , n 。 微粒 i 在 d 维空间中的飞行速度和位置根据下式
进行调整: vid (t + 1) = ω ⋅ vid (t ) + c1 ⋅ rand () ⋅ ( Pid (t ) − xid (t )) +
的一类基于种群随机全局优化的技术。在此算法中,待优 化问题潜在的解对应于搜索空间中一只鸟的位置,即“粒 子” ,每个粒子有自己的位置和速度。设搜索区域为 d 维空 间, 粒子群的粒子数为 n , 则第 i 个粒子的位置表示为 X i =
1(2) 1(2) x1(2) id (t + 1) = xid (t ) + vid (t + 1)
⋅ Pgd (t ) +
(6)
其中, ω 为惯性权重,决定前一时刻的速度对当前时刻速 度的影响大小。当 ω 较小时,粒子探索能力弱,开发能力 强,易陷入局部极值;当 ω 较大时,粒子探索能力强,开 发能力弱,易跳出局部极值,但收敛速度较慢。因此,需 要调整 ω 的大小以协调全局寻优和局部寻优能力,通常在 迭代初期 ω 取值较大,收敛速度较快,随着迭代过程线性 变小,在迭代后期使得跳出局部极值(LDI-PSO)。 Pid (t ) 为 t 次搜索后第 i 个粒子自身找到的个体最优值, Pgd (t ) 为 t 次搜索后得到的全局最优值。 同时, 群体利用记忆因子 c1 、
一种基于群体智能的优化算法 。其算法易于实现、可调参 数少、收敛速度快,已被广泛用于函数寻优、神经网络训 练、数字电路优化和 TSP 问题等优化反演领域。但其存在 2 个弱点:(1)和其他随机优化算法一样,为了不易陷入局 部极值而扩大搜索范围,导致相当多的计算量用在差的适 应值的搜索上; (2)在整个迭代过程中, 粒子群一直朝着 “目 前找到的全局最优值位置”方向飞行,即使这个全局最优 值只是局部极值点,此时微粒的速度将很快降为 0 而不再 飞行,导致粒子群易收敛于局部极值点。 针对上述缺陷,很多研究者提出了相应的改进方案。 其中,标志性的改进有:对 PSO 算法的速度项引入惯性权 重ω