留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

基于学习与竞争的改进PSO算法研究

上一篇

下一篇

蔡欢欢. 基于学习与竞争的改进PSO算法研究[J]. 西南师范大学学报(自然科学版), 2019, 44(5): 115-120. doi: 10.13718/j.cnki.xsxb.2019.05.019
引用本文: 蔡欢欢. 基于学习与竞争的改进PSO算法研究[J]. 西南师范大学学报(自然科学版), 2019, 44(5): 115-120. doi: 10.13718/j.cnki.xsxb.2019.05.019
Huan-huan CAI. On a Modified PSO Algorithm Based on Learning and Competitiveness[J]. Journal of Southwest China Normal University(Natural Science Edition), 2019, 44(5): 115-120. doi: 10.13718/j.cnki.xsxb.2019.05.019
Citation: Huan-huan CAI. On a Modified PSO Algorithm Based on Learning and Competitiveness[J]. Journal of Southwest China Normal University(Natural Science Edition), 2019, 44(5): 115-120. doi: 10.13718/j.cnki.xsxb.2019.05.019

基于学习与竞争的改进PSO算法研究

  • 基金项目: 广西高校中青年教师基础能力提升项目(2017KY1219)
详细信息
    作者简介:

    蔡欢欢(1980-), 男, 硕士, 副教授, 主要从事算法研究 .

  • 中图分类号: TP391

On a Modified PSO Algorithm Based on Learning and Competitiveness

  • 摘要: 针对普通PSO算法收敛速率慢,难以收敛到全局最优解的问题,提出了一种基于学习与竞争的改进PSO算法.该算法通过将种群内部学习和竞争的思想与PSO算法相结合,让种群中个体通过竞争和学习策略来替代原有的PSO算法迭代公式.该方法在不增加PSO算法计算复杂度的基础上,能够克服基本PSO算法的不足.最后基于动态系统的稳定性分析理论,给出了该PSO算法收敛性的证明.在7种不同的测试函数上对改进后的算法进行了实验测试.实验结果表明该改进算法比传统的PSO算法有着更好的搜索精度.结果证明,新算法比普通的PSO算法具有更高的搜索精度和较低的时间复杂度.改进算法求解函数优化问题更加有效,收敛速率更快.
  • 加载中
  • 图 1  LC-PSO算法过程

    图 2  学习与竞争PSO算法的适应值排序过程

    图 3  N与学习概率的关系

    图 4  3种算法在F1上的测试结果

    图 5  3种算法在F2上的测试结果

    图 6  3种算法在F3上的测试结果

    图 7  3种算法在F4上的测试结果

    图 8  3种算法在F5上的测试结果

    图 9  3种算法在F6上的测试结果

    图 10  3种算法在F7上的测试结果

    表 1  测试函数搜索范围

    函数 搜索区间
    F1 [-10.24,10.24]
    F2 [-10.24,10.24]
    F3 [-100, 100]
    F4 [-2.048,2.048]
    F5 [-50, 50]
    F6 [-10, 10]
    F7 [-32.32]
    下载: 导出CSV

    表 2  对比算法的参数选择

    函数 参数值
    GPSO ω=0.9 c1=c2=2
    LPSO ω=0.9 c1=c2=2
    LC-PSO ω=0.9 c1=c2=2
    下载: 导出CSV

    表 3  实验结果

    测试函数 GPSO LPSO LC-PSO
    F1 0.231 0 0
    F2 0 5.121 0
    F3 10.113 6.993 0
    F4 12.176 5.129 1.829
    F5 0.541 5.29e-2 6.98e-3
    F6 2.551 1.011 0.321
    F7 3.791 1.802 3.98e-2
    下载: 导出CSV

    表 4  计算时间统计

    /s
    测试函数 GPSO LPSO LC-PSO
    F1 34 42 30
    F2 45 41 31
    F3 56 58 45
    F4 68 72 68
    F5 61 51 53
    F6 44 48 40
    F7 61 65 66
    下载: 导出CSV

    表 5  2种算法求解最优问题的实验结果

    方法 进化代数/次 时间 最优解
    改进GA 500 42 h (xy)=(14.095 010,0.842 980 2)
    F(xy)=-6 961.792 000
    LC-PSO 20 10 s (xy)=(14.095 000,0.842 965 4)
    F(xy)=-6 961.809 000
    下载: 导出CSV
  • [1] 蔡林益.基于粒子群算法的云计算资源配置研究[J].西南师范大学学报(自然科学版), 2017, 42(9):128-132. doi: http://xbgjxt.swu.edu.cn/jsuns/jscnuhhse/ch/reader/view_abstract.aspx?file_no=x201709021&flag=1
    [2] 沈海洋.基于遗传PSO的无线传感网络覆盖优化算法研究[J].微电子学与计算机, 2013, 30(3):148-151. doi: http://d.old.wanfangdata.com.cn/Periodical/wdzxyjsj201303038
    [3] 庄夏.基于并行粒子群和RL的无人机航路规划算法设计[J].西南师范大学学报(自然科学版), 2016, 41(3):31-36. doi: http://xbgjxt.swu.edu.cn/jsuns/jscnuhhse/ch/reader/view_abstract.aspx?file_no=x201603006&flag=1
    [4] 周相兵.一种基于粒子群优化的虚拟资源分配方法[J].重庆邮电大学学报(自然科学版), 2014, 26(5):686-693. doi: http://d.old.wanfangdata.com.cn/Periodical/cqydxyxb-zrkx201405021
    [5] 黄少荣.粒子群优化算法综述[J].计算机工程与设计, 2009, 30(8):1977-1980. doi: http://d.old.wanfangdata.com.cn/Periodical/zggckx200405018
    [6] 王铁君, 邬月春.基于混沌粒子群算法的物流配送路径优化[J].计算机工程与应用, 2011, 47(29):218-221. doi: 10.3778/j.issn.1002-8331.2011.29.061
    [7] 靳其兵, 张建, 权玲, 等.基于混合PSO-SQP算法同时实现多变量的结构和参数辨识[J].控制与决策, 2011, 26(9):1373-1376, 1381. doi: http://d.old.wanfangdata.com.cn/Periodical/kzyjc201109017
    [8] 李志华, 许新, 黎作鹏, 等.PSO-MEA混合优化算法及其收敛性分析[J].微电子学与计算机, 2017, 34(6):118-122, 127. doi: http://d.old.wanfangdata.com.cn/Periodical/wdzxyjsj201706025
    [9] 王甫, 郑亚平, 刘天琪.一种基于调节因子的小生境粒子群优化算法[J].计算机工程, 2014, 40(8):147-151. doi: http://d.old.wanfangdata.com.cn/Periodical/jsjgc201408028
    [10] MAHI M, BAYKAN Ö K, KODAZ H.A New Hybrid Method Based on Particle Swarm Optimization, Ant Colony Optimization and 3-Opt Algorithms for Traveling Salesman Problem[J]. Applied Soft Computing, 2015, 30:484-490. doi: 10.1016/j.asoc.2015.01.068
    [11] doi: http://www.wanfangdata.com.cn/details/detail.do?_type=perio&id=11697f9257d04c933265dace51c37242 GONG M G, CAI Q, CHEN X W, et al.Complex Network Clustering by Multiobjective Discrete Particle Swarm Optimization Based on Decomposition[J]. IEEE Transactions on Evolutionary Computation, 2014, 18(1):82-97.
    [12] 阚超豪.多向学习自适应的粒子群算法[J].计算机工程与应用, 2013, 49(6):23-28. doi: 10.3778/j.issn.1002-8331.1208-0230
    [13] 胡勇.用随机模式和调整机制改进粒子群优化算法[J].重庆邮电大学学报(自然科学版), 2010, 22(1):99-102. doi: http://d.old.wanfangdata.com.cn/Periodical/cqydxyxb-zrkx201001022
    [14] THANH T P, THE L N, ELNAFFAR S, et al.LPSO:Another Algorithm for Workflow Scheduling in the Cloud[J]. Journal of Computer Science, 2016, 12(12):611-617. doi: 10.3844/jcssp.2016.611.617
    [15] 李玲纯, 田丽, 王静.免疫粒子群算法在变电站选址中的应用[J].贵州师范大学学报(自然科学版), 2013, 31(5):107-111. doi: 10.3969/j.issn.1004-5570.2013.05.023
    [16] 张毅, 代恩灿, 罗元.基于改进遗传算法的移动机器人路径规划[J].计算机测量与控制, 2016, 24(1):313-316. doi: http://d.old.wanfangdata.com.cn/Periodical/jsjgcykx201007029
  • 加载中
图( 10) 表( 5)
计量
  • 文章访问数:  1182
  • HTML全文浏览数:  1052
  • PDF下载数:  71
  • 施引文献:  0
出版历程
  • 收稿日期:  2018-01-11
  • 刊出日期:  2019-05-20

基于学习与竞争的改进PSO算法研究

    作者简介: 蔡欢欢(1980-), 男, 硕士, 副教授, 主要从事算法研究
  • 广西工商职业技术学院 财信系, 南宁 530003
基金项目:  广西高校中青年教师基础能力提升项目(2017KY1219)

摘要: 针对普通PSO算法收敛速率慢,难以收敛到全局最优解的问题,提出了一种基于学习与竞争的改进PSO算法.该算法通过将种群内部学习和竞争的思想与PSO算法相结合,让种群中个体通过竞争和学习策略来替代原有的PSO算法迭代公式.该方法在不增加PSO算法计算复杂度的基础上,能够克服基本PSO算法的不足.最后基于动态系统的稳定性分析理论,给出了该PSO算法收敛性的证明.在7种不同的测试函数上对改进后的算法进行了实验测试.实验结果表明该改进算法比传统的PSO算法有着更好的搜索精度.结果证明,新算法比普通的PSO算法具有更高的搜索精度和较低的时间复杂度.改进算法求解函数优化问题更加有效,收敛速率更快.

English Abstract

  • 目前PSO算法应用十分广泛[1-4].粒子群算法前期搜索容易导致收敛速度过快,在某些情况下随机振荡现象会对算法后期搜索产生较大的影响,容易限于局部极小值,搜索精度大大的降低,并且有时候还会导致算法的发散[5],对此衍生出了若干PSO新算法[6-15].

    在研究了PSO算法以及各种衍生的PSO新算法以后,本文将学习与竞争思想引入到PSO算法中,构造一种新的PSO算法.

  • 状态属性

    其中xit表示粒子it时刻的位置,[LdUd]表示xidt的取值范围.

    其中vidt表示粒子it时刻的速度,[vmin,dvmax,d]表示vidt的取值范围.则PSO算法迭代更新公式为:

    式中:pidtpgdt分别为当前个体和前种群最优值;r1r2是均匀分布的随机数,区间范围为(0,1);c1c2表示根据问题设定的学习因子.

  • 图 1是基于学习与竞争的PSO算法(简称LC-PSO算法)的主要过程,首先计算种群的所有个体的适应值,然后按照一定规则对种群个体适应值进行排序.

    通过社会学习以后的修正项为

    其中:Xij(t)表示在t代时j维向量的第i个粒子的状态,PiL表示第i个个体的学习概率.个体i会随机向比自己好的个体进行学习而不一定是向最优个体学习.

    图 2所示是LC-PSO算法中种群个体适应值排序过程,按由高到低的顺序从左到右排列.最左边的1表示适应值最好的个体,m表示当前种群中适应值最差的个体.依据社会学习的基本思想,种群中适应值差的个体向好的个体进行学习,则基于社会学习的PSO算法如式(6)所示:

    其中r1(t),r2(t),r3(t)为0到1的随机数,

    对式(6)分析可知,ΔXij(t+1)由3部分构成:第1部分为r1(t)ΔXij(t),与传统PSO相同;第2部分为r2(t)Iij(t),表示较差个体向较好个体学习的过程,具体为个体i向比自己好的个体k进行学习的结果;第3部分为r3(t)εCij(t),其中ε取值为较小的一个正数,依据是所求问题规模.这个部分表示的是种群的中心位置,这个部分的作用是对算法的收敛性进行控制.

  • 本文提出的基于学习与竞争的改进PSO算法有3个参数需要确定,分别为个体学习概率PiL、种群的规模m和社会学习概率参数ε.在大量实验的前提下,给出了本文算法的参数选择规则.种群规模

    其中:M表示的是本文算法中种群数量,n表示求解优化问题的维数.在经过大量的实验以后,本文选取M=100.

    个体学习概率PiL对本文算法有着至关重要的影响作用,适应值差的个体以学习概率PiL向适应值好的个体学习,求解优化问题的困难程度与学习过程的困难程度成正比,基于以上知识,在式(11)中给出了PiL的表达式:

    从(11)式可得出PiLi成反比关系,这反映了种群中适应值越好的个体作为被学习对象的可能性越大;还可得出学习概率PiL与问题规模n成反比关系,这反映了问题的规模越大则学习的速度越慢.这样的法则能够保持该算法种群的多样性.一般要求α < 1,在本文中选取α=0.5.

    ε是用来控制算法迭代公式(6)中r3(t)εCij(t)的取值.通过大量实验给出ε的表达式:

    其中β是一个较小的正数,本文取β=0.01.由(12)式可以得出:问题规模与ε成正比关系,而种群规模则与ε成反比关系.

  • 当PSO算法种群内部所有个体完全相同,即种群不会再依据算法的迭代法则发生变化则认为该算法收敛.根据改进PSO算法的迭代公式有:

    假设式(6)和式(7)中的随机数有确定的期望值.对式(6)进行替换可以得到:

    $ \theta = \frac{{1 + \varepsilon }}{2}, p = \frac{1}{{1 + \varepsilon }}{X_{k, j}}(t) + \frac{\varepsilon }{{1 + \varepsilon }}{\bar X_{i, j}}(t)$带入到式(11)中可得:

    PSO算法的寻优过程可以看做是一个动态系统变化的过程.

    结合(16)式有

    矩阵A在动态系统中称为状态矩阵,B称为输出矩阵.这个动态系统能否收敛是由矩阵A的特征值λ所决定的:

    由此可以得到矩阵A的特征值为:

    该系统收敛的充分必要条件是矩阵A的特征值小于1,即|λ2| < 1,由此可得

    在PSO算法中nMβ一般都取大于0的常数,所以以上表达式都成立.由此可知改进的PSO算法依然满足动态系统收敛的充分必要条件,所以该算法收敛.

  • 采用7个测试函数进行仿真实验:

    表 1为每个对应的测试函数的自变量搜索范围;表 2为本文LC-PSO算法与目前常规的2种改进PSO算法(LPSO和GPSO算法)的参数设定.将每种算法运行200次,给出每种算法求解结果的平均值(表 3).对比3种算法的求解结果发现,相对于以往的PSO改进算法,本文提出的LC-PSO算法是求解精度最高的一种算法,即使面对复杂的函数优化问题也能够较好求出次优解.同时由表 4可知,LC-PSO的计算时间总体上要小于其它两种改进的PSO算法.这是由于与以往的改进算法相比,LC-PSO算法在迭代公式的设计上并没有增加自适应参数或者混合算法的过程,仅仅是通过学习与竞争的机制来体现种群的进化过程. 3种算法迭代过程的变化图如图 4-10所示.

    图 4-10可知本文所给出的基于学习与竞争的改进PSO算法(LC-PSO)收敛速度更快,计算结果更准确.

    另外为了证明本文算法的优越性,将本文算法与改进遗传算法(GA)[16]进行对比实验.求解问题为非线性约束的二元函数优化问题,数学模型为:

    其中:13≤x≤100,0≤y≤100.已知全局最优解为(xy)=(14.095,0.842 96),F(xy)=-6 961.813 381.实验结果见表 5.

    表 5中数据可知本文算法在求解精度和时间性能方面都优于改进GA算法.

  • 本文提出了一种基于学习与竞争的粒子群算法(LC-PSO).将学习和竞争的机制与基本的PSO算法结合,让种群中适应值差的个体来学习适应值好的个体,同时好的个体和差的个体之间相互竞争,由此替代了基本PSO算法的迭代公式,构成了新的PSO算法.该算法在提高搜索精度和寻优能力的同时并没有增大算法的计算量.该改进算法求解函数优化问题收敛速度更快,计算结果更准确.

参考文献 (16)

目录

/

返回文章
返回