针对粒子群算法(PSO)容易陷入局部最优值、收敛精度低等缺陷,提出一种新的带分布式自适应时延的粒子群算法(PSO-DW)。改进的算法主要在RODDPSO算法的基础上考虑时延的时变性和种群的进化状态,以平衡算法的全局搜索和局部搜索能力,降低早熟收敛的可能性,提高算法的收敛速度和精度。主要思想:1) 在引入了分布式时延的速度更新公式中,每个时延项配以自适应权重,2) 引入通过当前状态和概率转移矩阵预测下一进化状态的预测机制,3) 分布式时延的强度因子由预测状态所确定。在九个基准函数上与四个算法作对比的实验结果表明,改进后的算法在寻优质量、稳定性、收敛速度等方面更具优越性。 A new particle swarm optimization algorithm (PSO) with distributed adaptively weighted delays (PSO-DW) has been proposed to overcome the defects of the PSO algorithm, such as falling into local optimal value, low convergence accuracy. Based on the RODDPSO algorithm, the improved algorithm further considers the time-varying delays and the evolutionary states of the population, so that it can balance the global search and local search ability of the algorithm, reduce the possibility of premature convergence, and improve the convergence speed and accuracy of the algorithm. The main ideas are: 1) each delay is equipped with adaptive weight in the velocity update formula; 2) prediction mechanism of the next evolutionary state has been introduced by the current state and probability transfer matrix; 3) intensity factor of the distributed delay is determined by the prediction state. The experimental results show that the improved algorithm has more advantages in optimizing quality, stability and convergence speed by comparing with four algorithms on nine benchmark functions.
针对粒子群算法(PSO)容易陷入局部最优值、收敛精度低等缺陷,提出一种新的带分布式自适应时延的粒子群算法(PSO-DW)。改进的算法主要在RODDPSO算法的基础上考虑时延的时变性和种群的进化状态,以平衡算法的全局搜索和局部搜索能力,降低早熟收敛的可能性,提高算法的收敛速度和精度。主要思想:1) 在引入了分布式时延的速度更新公式中,每个时延项配以自适应权重,2) 引入通过当前状态和概率转移矩阵预测下一进化状态的预测机制,3) 分布式时延的强度因子由预测状态所确定。在九个基准函数上与四个算法作对比的实验结果表明,改进后的算法在寻优质量、稳定性、收敛速度等方面更具优越性。
粒子群优化(PSO),分布式时延,进化因子,权重
Jianhua Hu, Weili Xiong
University of Shanghai for Science and Technology, Shanghai
Received: Feb. 23rd, 2021; accepted: Mar. 19th, 2021; published: Mar. 26th, 2021
A new particle swarm optimization algorithm (PSO) with distributed adaptively weighted delays (PSO-DW) has been proposed to overcome the defects of the PSO algorithm, such as falling into local optimal value, low convergence accuracy. Based on the RODDPSO algorithm, the improved algorithm further considers the time-varying delays and the evolutionary states of the population, so that it can balance the global search and local search ability of the algorithm, reduce the possibility of premature convergence, and improve the convergence speed and accuracy of the algorithm. The main ideas are: 1) each delay is equipped with adaptive weight in the velocity update formula; 2) prediction mechanism of the next evolutionary state has been introduced by the current state and probability transfer matrix; 3) intensity factor of the distributed delay is determined by the prediction state. The experimental results show that the improved algorithm has more advantages in optimizing quality, stability and convergence speed by comparing with four algorithms on nine benchmark functions.
Keywords:Particle Swarm Optimization (PSO), Distributed Time-Delay, Evolutionary Factor, Weight
Copyright © 2021 by author(s) and Hans Publishers Inc.
This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).
http://creativecommons.org/licenses/by/4.0/
粒子群算法(particle swarm optimization, PSO)是一种基于群体智能的随机全局优化算法 [
本文拟在RODDPSO算法的基础上,充分考虑不同历史信息对当前状态的影响,提出一种带分布式自适应时延的粒子群算法(PSO-DW)。改进算法中时延是具有时变性的,分布式时延的强度因子由预测状态所确定。新算法能进一步平衡全局搜索能力和局部搜索能力,降低早熟收敛的可能,提高算法的收敛速度和精度。仿真实验在150维搜索空间的九个基准函数上与四个算法作对比。结果表明,改进后的算法在寻优质量、稳定性、收敛速度等方面更具优越性。
在PSO算法中,所有的粒子构成种群,并且每一个粒子都可能是所研究优化问题的最优解。粒子在搜索空间中根据个体的最优位置和群体最优位置更新速度和位置,从而寻找最优解 [
V i ( k ) = ( V i 1 ( k ) , V i 2 ( k ) , ⋯ , V i D ( k ) ) ,
X i ( k ) = ( X i 1 ( k ) , X i 2 ( k ) , ⋯ , X i D ( k ) ) .
令 P i = ( P i 1 , P i 2 , ⋯ , P i D ) 表示第i个粒子的最优位置, P G = ( P G 1 , P G 2 , ⋯ , P G D ) 表示种群全局最优位置 [
V i ( k + 1 ) = ω V i ( k ) + c 1 r 1 ( P i ( k ) − X i ( k ) ) + c 2 r 2 ( P G ( k ) − X i ( k ) ) , X i ( k + 1 ) = X i ( k ) + V i ( k + 1 ) . (1)
在公式(1)中, ω 是惯性权重; r 1 , r 2 都是D维向量,其每个分量都是 [ 0 , 1 ] 上的随机数; c 1 , c 2 分别表示个体认知加速度系数和社会认知加速度系数。
为了提高搜索速度,Clerc和Kennedy (2002)提出了PSO-CK算法 [
ω = ω max − ( ω max − ω min ) × i t e r m a x i t e r , (2)
这里 ω max ( ω min )为在整个搜索过程中惯性权重的最大(最小)的值; i t e r ( m a x i t e r )表示当前(最大)的迭代次数。受时变惯性权重的启发,Ratnaweera等人在2004年提出了PSO-TVAC算法 [
c 1 = ( c 1 i − c 1 f ) × m a x i t e r − i t e r m a x i t e r + c 1 f (3)
c 2 = ( c 2 i − c 2 f ) × m a x i t e r − i t e r m a x i t e r + c 2 f (4)
上式中 c 1 i ( c 1 f )和 c 2 i ( c 2 f )分别是个体认知加速度系数和社会认知加速度系数的初值(终值),这些参数的取值为:
c 1 i = 2.5 , c 1 f = 0.5 , c 2 i = 0.5 , c 2 f = 2.5.
本文提出一个带有分布式自适应时延和与由预测状态所确定的强度因子的粒子群优化(PSO-DW)算法。
进化状态这一概念先后由Zhan [
d i = 1 S − 1 ∑ j = 1 , i ≠ j S ∑ l = 1 D ( x i l − x j l ) 2 , i ∈ I (5)
表示第i个粒子和其余粒子间的平均距离, d min , d max 是集合 { d i | i ∈ I } 中的最小值和最大值,用G表示全局最优粒子。定义
E f = d G − d min d max − d min , (6)
显然 E f ∈ [ 0 , 1 ] 且在收敛状态下粒子群将紧跟当前全局最优粒子飞向最优解,此时 E f 会逐渐减小;而在跳出状态下全局最优粒子倾向于远离种群,此时 E f 相对较大。因此 E f 能恰当刻画种群的进化状态,称 E f 为进化因子。根据 E f 的取值,规定:
ξ = { 1 , 0.00 ≤ E f < 0.25 , 2 , 0.25 ≤ E f < 0.50 , 3 , 0.50 ≤ E f < 0.75 , 4 , 0.75 ≤ E f ≤ 1. (7)
在种群进化过程中,下一进化状态不可避免的受到当前状态的影响,本文引入一种预测机制,利用概率转移矩阵来通过当前进化状态对下一状态进行预测。记 ξ ( k ) 为第k次迭代时的当前进化状态, ξ ′ ( k ) 为预计的下一进化状态。取概率转移矩阵为:
M ( k ) = [ φ 1 − φ 0 0 1 − φ 2 φ 1 − φ 2 0 0 1 − φ 2 φ 1 − φ 2 0 0 1 − φ φ ] (8)
其中
M i j ( k ) = P { ξ ′ ( k ) = j | ξ ( k ) = i } , ∀ i , j = 1 , 2 , 3 , 4
表示种群根据当前进化状态i去预测下一状态j的概率,满足 ∑ j = 1 4 M i j ( 4 ) = 1 。这里 φ 是一个非常重要的参数。为既保持种群进化的惯性,也增加其多样性,本文参考Zeng [
传统的粒子群算法专注于当前信息对寻找最优解的影响而忽略了过去的信息。但在实际搜索过程中每一个粒子对每次迭代的速度、位置、个体最优以及全局最优等信息都保留有记忆,充分综合这些信息更有利于种群搜索最优解。2019年Liu等人引入随机分布式时延项,提出RODDPSO算法 [
V i ( k + 1 ) = ω V i ( k ) + c 1 r 1 ( P i ( k ) − X i ( k ) ) + c 2 r 2 ( P G ( k ) − X i ( k ) ) + m l ( ξ ′ ( k ) ) c 3 r 3 ∑ τ = 1 N ω 1 α ( τ ) ( P i ( k − τ ) − X i ( k ) ) + m G ( ξ ′ ( k ) ) c 4 r 4 ∑ τ = 1 N ω 1 α ( τ ) ( P G ( k − τ ) − X i ( k ) ) , X i ( k + 1 ) = X i ( k ) + V i ( k + 1 ) . (9)
对比式(1),这里引进了关于个体认知和社会认知的分布式时延项。其中 τ 是时延的步数,可取值 1 , 2 , ⋯ , N ,N为分布式时延步数的上限值; ω 1 是当时延发生时的自适应权重,它决定了每个时延影响的大小; α ( τ ) 从 { 0 , 1 } 中随机选取,以增加粒子的多样性; c 3 , c 4 是加速度系数; r 3 , r 4 是 [ 0 , 1 ] 上服从均匀分布的随机向量; m l ( ξ ′ ( k ) ) 和 m G ( ξ ′ ( k ) ) 是分布式时延项的强度因子,由预测的进化状态 ξ ′ ( k ) 确定,主要用来提高算法的搜索能力和加快收敛速度。需要说明的是当 τ ≥ k 时约定 P i ( k − τ ) = P i ( k ) , P G ( k − τ ) = P G ( k ) 。
新的粒子群算法带有两个权重参数 ω 和 ω 1 。其中惯性权重 ω 由式(2)确定;自适应权重 ω 1 用来控制时延项对速度的影响,它是时变的,为关于 τ 的递减函数,本文取
ω 1 = N − τ N , (10)
加速度系数 c 1 , c 2 由式(3)、(4)确定, c 3 , c 4 与 c 1 , c 2 所起作用类似,本文取 c 3 = c 1 , c 4 = c 2 。强度因子 m l ( ξ ′ ( k ) ) 和 m G ( ξ ′ ( k ) ) 主要用来提高算法的搜索能力,加快算法的收敛速度,初值都取为0,在进化过程中,其大小由预测状态所确定(见表1)。当根据k次迭代后种群的状态预测到下一状态是收敛状态时,粒子将紧跟全局最优粒子快速到达最优解,为保持这种趋势,忽略时延项的影响而取 m l ( 1 ) = m G ( 1 ) = 0 ;当预测到下一状态是开发状态时,粒子将在个体最优位置仔细搜索,因此个体的历史最优位置有着重要的参考意义,取 m l ( 2 ) = 0.01 , m G ( 2 ) = 0 。当预测到下一状态是勘探状态时,粒子将在整个搜索空间尽可能的探索全局最优解,此时需充分考虑全局历史最优信息,取 m l ( 3 ) = 0 , m G ( 3 ) = 0.01 ;当预测到下一状态是跳出状态时,个体和全局的历史最优位置需要综合考虑,取 m l ( 4 ) = 0.01 , m G ( 4 ) = 0.01 。需指出的是参数0.01是个经验值。
状态 | 状态值 | m l ( ξ ′ ( k ) ) | m l ( ξ ′ ( k ) ) |
---|---|---|---|
收敛 | ξ ′ ( k ) = 1 | 0 | 0 |
开发 | ξ ′ ( k ) = 2 | 0.01 | 0 |
勘探 | ξ ′ ( k ) = 3 | 0 | 0.01 |
跳出 | ξ ′ ( k ) = 4 | 0.01 | 0.01 |
表1. 强度因子选择策略
为验证新算法的性能,本文引入九个基准函数进行测试,其中既有单峰函数又有多峰函数,基准函数的具体信息见表2;本文实验在高维搜索空间进行,取维数 D = 150 ,粒子数 S = 20 ,最大迭代次数为20,000次,为消除随机因素的影响,每次实验重复40次,最后取平均值。每次实验之初随机初始化粒子的速度 V i 和位置 X i , i ∈ I ,然后计算出每一个粒子的适应度值,根据适应度值确定个体最优粒子的位置 P i 和全局最优粒子的位置 P G 。
在PSO-DW算法中,分布式时延步数的上限值N是一个非常重要的参数,不同的N将影响算法的收敛速度和最终的收敛值。本文将通过实验,对比N取75、100、125、150、175、200时,根据算法在150维空间中的九个基准函数上的不同表现,选取鲁棒性最强的N。实验结果如图1所示。在图1中,纵坐标是平均适应度值的对数值,横坐标是迭代次数。
从图1中可以看出,当分布时延项数的上限值N取125时算法在 f 1 ( x ) , f 3 ( x ) , f 8 ( x ) , f 9 ( x ) 相对于其他的N性能更优,不仅拥有较好的适应度值,而且相对而言较早开始收敛。对于函数 f 2 ( x ) , f 4 ( x ) , f 5 ( x ) , f 6 ( x ) , f 7 ( x ) ,虽然N取125没有最优的适应度值,但与其它适应度值相差不大,而 N = 125 时有更早的收敛趋势,因此本文选取 N = 125 。
函数 | 名字 | 搜索空间 |
---|---|---|
f 1 ( x ) | Griewank | [−600, 600] |
f 2 ( x ) | Penalized 1 | [−50, 50] |
f 3 ( x ) | Schwefel 1.2 | [−100, 100] |
f 4 ( x ) | Rastrigin | [−5.12, 5.12] |
f 5 ( x ) | Schwefel | [−500, 500] |
f 6 ( x ) | Penalized 2 | [−50, 50] |
f 7 ( x ) | Step | [−100, 100] |
f 8 ( x ) | Schwefel2.22 | [−10, 10] |
f 9 ( x ) | Schwefel2.21 | [−100, 100] |
表2. 基准函数
图1. 由PSO-DW算法训练N
为验证算法性能在高维搜索空间中的优越性,本文选用PSO-CK、PSO-TVAC、PSO-LDIW、RODDPSO四种算法作对比,评价指标为最小值、均值、方差。实验结果如表3和图2所示。表3表明,在相同的实验环境下,PSO-DW算法在九个基准函数上表现出明显优势。首先九个平均适应度值都是最小的,这表明PSO-DW算法有较好的寻优质量,其收敛精度更高;其次除了在 f 4 ( x ) 上,PSO-DW算法的方差也是最小的,这说明PSO-DW算法的稳定性较好;就最小值而言PSO-DW算法的仅在 f 3 ( x ) 上略逊于PSO-CK算法。进一步仔细比较,算法性能表现次优的是RODDPSO算法,而PSO-CK、PSO-TVAC、PSO-LDIW算法精确度普遍较差,这表明在高维搜索空间中,PSO-CK、PSO-TVAC、PSO-LDIW算法容易收敛于局部极值,而引入时延项的PSO算法,充分考虑了种群的个体最优历史信息和全局历史信息,更加有利于增加粒子的多样性,表现出更好的跳出局部最优的能力。
函数 | 评价指标 | PSO-CK | PSO-LDIW | PSO-TVAC | RODDPSO | PSO-DW |
---|---|---|---|---|---|---|
f 1 ( x ) | 最小值 | 2.71 × 102 | 3.43 × 10−2 | 2.99 × 102 | 2.32 × 10−11 | 8.66 × 10−15 |
均值 | 5.50 × 102 | 3.27 × 102 | 4.13 × 102 | 1.43 × 10−1 | 2.15 × 10−2 | |
方差 | 1.83 × 102 | 1.63 × 102 | 4.13 × 102 | 1.43 × 10−1 | 2.15 × 10−2 | |
f 2 ( x ) | 最小值 | 4.17 × 10−2 | 2.51 × 10−4 | 5.71 × 106 | 4.93 × 10−9 | 1.88 × 10−15 |
均值 | 8.96 × 107 | 1.92 × 107 | 2.23 × 107 | 4.42 × 10−1 | 7.98 × 10−2 | |
方差 | 1.79 × 108 | 6.83 × 107 | 9.90 × 106 | 5.66 × 10−1 | 1.51 × 10−1 | |
f 3 ( x ) | 最小值 | 3.30 × 103 | 1.54 × 105 | 2.12 × 105 | 1.70 × 104 | 8.04 × 103 |
均值 | 9.21 × 104 | 2.29 × 105 | 3.07 × 105 | 6.00 × 104 | 1.45 × 104 | |
方差 | 5.69 × 104 | 6.01 × 104 | 4.69 × 104 | 2.30 × 104 | 4.01 × 103 | |
f 4 ( x ) | 最小值 | 7.26 × 102 | 5.49 × 102 | 1.23 × 103 | 3.69 × 102 | 2.71 × 102 |
均值 | 9.01 × 102 | 7.72 × 102 | 1.40 × 103 | 5.24 × 102 | 3.80 × 102 | |
方差 | 1.20 × 102 | 1.14 × 102 | 8.44 × 101 | 7.11 × 101 | 8.17 × 101 |
f 5 ( x ) | 最小值 | 2.55 × 104 | 2.56 × 104 | 3.88 × 104 | 2.20 × 104 | 2.18 × 104 |
---|---|---|---|---|---|---|
均值 | 3.09 × 104 | 3.07 × 104 | 4.44 × 104 | 3.05 × 104 | 2.59 × 104 | |
方差 | 2.28 × 103 | 2.50 × 103 | 4.52 × 103 | 9.51 × 103 | 1.98 × 103 | |
f 6 ( x ) | 最小值 | 1.59 × 100 | 6.42 × 10−1 | 4.17 × 107 | 4.61 × 10−8 | 1.40 × 10−12 |
均值 | 5.33 × 108 | 1.33 × 108 | 9.14 × 107 | 1.81 × 100 | 3.51 × 10−1 | |
方差 | 4.17 × 108 | 2.35 × 108 | 3.44 × 107 | 2.31 × 100 | 9.70 × 10−1 | |
f 7 ( x ) | 最小值 | 4.13 × 104 | 1.00 × 104 | 2.42 × 104 | 2.70 × 101 | 1.20 × 101 |
均值 | 7.75 × 104 | 3.53 × 104 | 4.18 × 104 | 2.04 × 102 | 4.06 × 101 | |
方差 | 1.93 × 104 | 1.65 × 104 | 7.92 × 103 | 1.05 × 102 | 3.03 × 101 | |
f 8 ( x ) | 最小值 | 9.07 × 101 | 1.60 × 102 | 3.55 × 102 | 2.40 × 10−1 | 9.20 × 10−9 |
均值 | 1.89 × 102 | 2.79 × 102 | 4.67 × 102 | 3.41 × 101 | 4.19 × 10−6 | |
方差 | 4.52 × 101 | 9.75 × 101 | 3.45 × 102 | 2.13 × 101 | 1.51 × 10−5 | |
f 9 ( x ) | 最小值 | 2.93 × 101 | 2.98 × 101 | 5.52 × 101 | 1.64 × 101 | 6.34 × 100 |
均值 | 3.31 × 101 | 3.48 × 101 | 6.13 × 101 | 2.36 × 101 | 8.17 × 100 | |
方差 | 1.87 × 100 | 2.32 × 100 | 3.42 × 100 | 2.77 × 100 | 1.42 × 100 |
表3. 五种算法在150D的搜索空间中的性能比较
图2表明在150维搜索空间中,五种算法都有较好的收敛,但PSO-DW的优势更加明显。由于分布式时延的引入,历史最优信息被充分考虑,PSO-DW和RODDPSO算法在寻优前期都表现出较好的全局搜索能力,快速朝最优解方向搜索,并且在寻优中期和晚期中表现出较好的局部搜索和跳出局部最优的能力,实现收敛能力的提升。对比RODDPSO算法,一方面由于考虑了时延的时变性,PSO-DW算法具有更加准确的搜索性能,大大提升了收敛精确度;另一方面,由预计状态确定的强度因子的引入,促使种群由当前状态快速向下一进化状态转化,加快了算法的收敛速度。综上所述,在150维的搜索空间中,改进的PSO-DW算法在搜索过程中较好地平衡了全局搜索和局部搜索的能力,降低了陷入局部最优的可能性,实现了收敛速度和收敛精度的提升。
图2. 五种算法在150维的搜索空间中的对比图
考虑到种群的进化状态和历史最优信息,本文提出一种带分布式自适应时延的粒子群优化算法(PSO-DW),该算法大大降低了种群在搜索过程中陷入局部最优的可能性,提升了收敛速度和收敛精度。实验在150维搜索空间进行,迭代20,000次,每次实验重复40次,工作量较大;实验结果表明在高维搜索空间中新算法有较好的寻优能力和稳定性。
本项目由国家自然科学基金项目:61873169资助。
胡建华,熊伟利. 一种带分布式自适应时延的粒子群算法A Particle Swarm Optimization Algorithm with Distributed Adaptively Weighted Delays[J]. 应用数学进展, 2021, 10(03): 753-762. https://doi.org/10.12677/AAM.2021.103083