基于混沌思想的粒子群优化算法

(整期优先)网络出版时间:2022-03-16
/ 6


基于混沌思想的粒子群优化算法

余廷勋

深圳华微激光科技有限公司 广东深圳 518000

要:针对传统粒子群优化算法易早熟收敛的问题,提出一种基于混沌思想的改进粒子群优化算法。该算法利用混沌运动的随机性、遍历性和规律性等特征,综合了混沌初始化、惯性权重的混沌调节、位置的边界处理、陷入早熟时的混沌遍历搜索等改进措施, 改善了粒子群的随机性与多样性,较好解决了算法的早熟收敛问题。通过3个典型高维测试函数的实验测试表明:改进的混沌粒子群算法在收敛速度、寻优精度和稳定性等方面明显优于传统的粒子群算法。

关键词:粒子群优化算法;混沌;优化;综合改进

中图分类号:TP301.6 文献标志码:A

Particle Swarm Optimization Algorithm Based on Chaos

AbstractTo overcome the problem of premature convergence on traditional particle swarm optimization (PSO), an improved particle swarm optimization algorithm based on chaos is proposed in this paper. By use of the properties—randomicity,ergodicity and regularity of chaos, chaos initialization, chaotic inertia weight strategy , position boundary treatment and chaotic search in the premature are integrated, the randomicity and persity of the particle population are improved. Finally, experiments on three benchmark functions with high dimension show that the improved PSO outperforms traditional PSO in convergence speed, searching precision and stability.

Key words: particle swarm optimization (PSO); chaos; optimization; comprehensive improvement

.

0 引 言

粒子群优化算法[1](Particle Swarm Optimization,PSO)是一种基于群体智能的元启发式并行搜索算法,它由美国心理学家Kennedy和电气工程师Eberhart受鸟群觅食行为的启发而提出。PSO算法具有控制参数少、收敛速度快、对目标函数要求少和易于实现等优点,是一种通用的全局搜索算法。然而,与其他智能优化算法一样,PSO算法亦存在易陷入局部早熟收敛、全局搜索能力差等不足。为此,许多算法改进策略被提出[2-6],但这些策略大多从某单方面的改进进行探讨,未对PSO算法的整体综合改进进行研究。

混沌是非线性确定系统中普遍存在的一种貌似随机的现象,是客观世界中最基本的运动形态之一。混沌运动具有内在随机性、遍历性和对初始条件的高度敏感性等特征[7]。将混沌机制引入PSO算法,可有效地均衡算法的全局搜索和局部搜索,进而提高算法的快速性、有效性和鲁棒性[8-12]。本文从种群的初始化、惯性权重的调节、位置边界处理和早熟收敛时的混沌遍历搜索四个方面对传统的PSO算法进行改进。

1标准PSO算法

在PSO算法中,n维搜索空间上的每个点(称为“粒子”)对应优化问题的一个潜在解(即点的位置),每个粒子都由一个目标函数决定的适应值来评价其位置的优劣。粒子在搜索空间以速度为步长进行位置的更新,而速度的更新由粒子当前速度、个体认知部分和社会认知部分共同决定。设n维空间的一个粒子种群由62315a2ec03a3_html_ec62db12084c5520.gif 个粒子组成,第i个粒子的位置和速度分别为62315a2ec03a3_html_ac62ebf5fd7573f.gif62315a2ec03a3_html_e292db8991ba27e5.gif ,其中62315a2ec03a3_html_e93adf5c222f058c.gif 。根据文献[1],粒子速度和位置的更新公式为:

62315a2ec03a3_html_5ab8a1cbd0bdf869.gif (1)

62315a2ec03a3_html_1c34bf1319174a40.gif (2)

式中:62315a2ec03a3_html_927cef691bc30e63.gif62315a2ec03a3_html_346216115553ac22.gif 称为加速常数或学习因子,通常取值为2,体现了对粒子个体最优历史经验和种群最优历史经验的继承与学习;62315a2ec03a3_html_73f804a3e5a315df.gif62315a2ec03a3_html_6a626694150cda35.gif 为0到1之间均匀分布的随机数;62315a2ec03a3_html_20839cde66717a42.gif 为迄今为止第i个粒子所经历的最佳位置的第j维分量;62315a2ec03a3_html_e48bb0e5c5a91122.gif 为迄今为止种群所经历的最佳位置的第j维分量。通过设置粒子的速度区间62315a2ec03a3_html_fafe7f1890959a32.gif 和位置区间62315a2ec03a3_html_d15212ae06b1bbf6.gif ,对粒子速度和位置的更新进行适当的限制。为更好地均衡PSO算法的全局探索和局部开发能力,Shi Y等引入惯性权重

[2,3],将(1)式改为如下:

62315a2ec03a3_html_64a6412433cffe18.gif (3)

(2)和(3)式被认为标准的PSO算法。Shi Y等通过大量的实验研究发现:惯性权重62315a2ec03a3_html_6bd5f48a0cc560.gif 取值较大有利于全局探索,惯性权重62315a2ec03a3_html_6bd5f48a0cc560.gif 取值较小有利于局部开发;建议在算法的初期62315a2ec03a3_html_6bd5f48a0cc560.gif 取较大值,在算法的后期62315a2ec03a3_html_6bd5f48a0cc560.gif 取较小值,并建议惯性权重按线性递减策略调整:

62315a2ec03a3_html_8773f88be4c3adb8.gif (4)

式中:62315a2ec03a3_html_51004b01635d98cd.gif 为惯性权重的最大值,常取为0.9;62315a2ec03a3_html_a283d745bc843120.gif 为惯性权重的最小值,常取为0.4;t为当前进化代数;62315a2ec03a3_html_19814a9137a9cde2.gif 为最大进化代数。

尽管标准PSO算法较好地均衡了种群寻优过程的全局与局部搜索,但仍有不足:惯性权重在算法的迭代初期被赋予较大值,导致局部开发能力较弱,即使此时粒子已接近全局最优解,往往也只能与之 “擦肩而过”;而在迭代后期, 随着惯性权重的线性递减则全局探索能力变弱,易陷入早熟收敛或在全局最优解附近“振荡”;另外,惯性权重的取值范围以及最大迭代次数需通过大量反复试验才能确定,很难找到适应不同优化问题的最佳值。

2改进的PSO算法

2.1 PSO的混沌思想

PSO算法在搜索空间的寻优过程是一个非线性运动过程,也是粒子多样性消失的过程。利用非线性混沌运动的遍历性,即混沌运动在其混沌吸引域内是各态历经的,将最优解的搜索过程对应为混沌轨道的遍历过程,有助于解决算法的早熟收敛问题;混沌运动的内在随机性,有助于改善粒子的多样性,提高算法全局搜索能力。

混沌与噪声表现非常相似,但二者有本质的区别。前者的“内在随机性”是指非线性确定系统产生的非周期解,表现出貌似随机却并非随机,仍有规律可循,存在普适常数等;噪声的表现则属于“外在随机性”,它是由外界因素引起的一种完全无序或无规则的运动[7]

Logistic映射是典型的混沌系统[7],其迭代公式如下:

62315a2ec03a3_html_f6a22c7cc707dcba.gif (5)

式中:62315a2ec03a3_html_73435190e5bd8d47.gif 为控制参量。当62315a2ec03a3_html_9459758b10f72f12.gif ,初值62315a2ec03a3_html_3f64caec05c054d2.gif62315a2ec03a3_html_641095398e0ba17f.gif 时, Logistic映射属于完全混沌状态,其Lyapunov指数图和二维仿真图分别如图1中(a)、(b)所示,图(a)中的横轴是控制参量62315a2ec03a3_html_73435190e5bd8d47.gif ,纵轴是对应的Lyapunov指数。可见,Logistic映射产生的混沌变量在混沌区域分布并不均匀,一定程度上影响粒子的全局搜索能力。

62315a2ec03a3_html_bdc477a993c57859.png

(a)Lyapunov指数图

62315a2ec03a3_html_e6d19851a2cd2986.png

(b)二维仿真图

图1 Logistic映射李氏指数与二维仿真图

62315a2ec03a3_html_dbf4bfa993c51bee.gif (6)

文献[13]采用(6)式作为混沌序列发生器,其映射的方程形式表示如下:

62315a2ec03a3_html_7b2924a0c14dbf9.gif (7)

62315a2ec03a3_html_ebcf4647c0068c27.gif 求导数,得62315a2ec03a3_html_4cc99460433f0bc9.gif 。其Lyapunov指数为:

62315a2ec03a3_html_ab788b377bf2596e.gif

显然,62315a2ec03a3_html_ded05abe98f0f48f.gif =0.9163或0.5108,根据夹逼准则,(6)式映射的Lyapunov指数取值范围为:0.510862315a2ec03a3_html_95491be5e426736a.gif

独立计算(6)式Lyapunov指数5000次,结果如图2(a)所示,图中横轴是计算次数,纵轴是对应的Lyapunov指数,实验结果与上述理论分析吻合。理论分析和实验证明了(6)式的Lyapunov指数大于零,其映射是混沌的。(6)式的二维仿真图如图2(b)所示,可见其产生的混沌序列在混沌区域内分布均匀,有助于算法的全局寻优。本文采用(6)式作为混沌信号发生器,应用于对标准PSO算法种群初始化、惯性权重调节、位置边界处理、早熟收敛时的遍历搜索四个方面的改进。

62315a2ec03a3_html_b3a83a9c91bdbf7d.png

(a)Lyapunov指数图

62315a2ec03a3_html_77e847907f6fb5aa.png

(b)二维仿真图

图2 方程(6)李氏指数与二维仿真图

2.2 PSO的混沌初始化

利用(6)式迭代产生大量混沌序列,利用载波的方式将混沌运动轨道的遍历范围映射到粒子位置的取值范围,即按下式进行变换:

62315a2ec03a3_html_f373fe8768f4a606.gif (9)

式中:62315a2ec03a3_html_91f2a2c75235f5bf.gif62315a2ec03a3_html_79dbc2aa1c4c4ee8.gif 分别为粒子位置的最大值与最小值;62315a2ec03a3_html_b41509b08c397383.gif 为混沌变量,62315a2ec03a3_html_1f316c76541c2e5a.gif62315a2ec03a3_html_46f9ab04e393ab02.gif 分别为混沌变量的最大值与最小值。由(6)式、(9)式可得到大量的原始粒子,计算每个原始粒子的适应值,选择其中最优的m个粒子作为算法的初始种群,兼顾了粒子种群的随机性和多样性。粒子的初始位置即为个体当前历史最佳位置;全部粒子适应值的最优值为全局最优值,其对应的位置为当前全局历史最佳位置。

2.3 惯性权重的混沌调节

在PSO算法中,惯性权重是均衡粒子探索与开发能力的一个关键参数,其取值较大对应粒子全局探索能力较强、局部开发能力较弱,取值较小则相反。国内外学者对惯性权重的调节策略进行了大量的研究[2-6,14,15],这些调节策略大多采用线性或非线性递减模式,若迭代次数很大,每次迭代惯性权重的改变量很小,调节功能的发挥效果不明显;另外,这种单一的调节模式,当粒子在迭代后期陷入局部极值时很难逃逸而发现最优解。受前人研究启发,本文提出如下的惯性权重调节策略:

62315a2ec03a3_html_326dde33cdbed0fc.gif (10)

式中:uv为可调参数;62315a2ec03a3_html_b41509b08c397383.gif 为混沌变量;其余参数和(4)式相同。当62315a2ec03a3_html_4742358a0485c1c5.gif62315a2ec03a3_html_f99f82d38a8f4f03.gifu=0.4,v=0.7时,惯性权重调节策略如图3所示

62315a2ec03a3_html_a2b0983ae3704f0e.png

图3 惯性权重62315a2ec03a3_html_6bd5f48a0cc560.gif 曲线

改进的惯性权重调节策略通过引入混沌机制,在保持惯性权重整体递减趋势的同时有效避免了单一变化的模式,增强种群的随机性与多样性,提高粒子逃逸局部极值束缚的能力。

2.4 位置边界处理

粒子在搜索空间寻优时,常有超出位置边界的现象,常规的处理方法是将其设置为位置边界值。这种“一刀切”的处理方式有很大的缺陷,即降低了粒子的随机性和多样性。利用混沌运动随机性与遍历性的特性,对出界粒子按下式进行位置调整:

62315a2ec03a3_html_4b1c37e080b2c3a6.gif (11)

式中:62315a2ec03a3_html_d93adec6e6868ad8.gif 表示第62315a2ec03a3_html_77ade0dde22b4a8e.gif 个粒子的位置的第62315a2ec03a3_html_abaa86e09b725679.gif 分量;62315a2ec03a3_html_48613b74be1e7a89.gif 为当前全局最佳位置的第62315a2ec03a3_html_abaa86e09b725679.gif 维分量;k为可调参数;其余参数与前述相同。通过(11)式对出界粒子进行位置调整处理,进一步提高了粒子群的随机性和多样性。

2.5 局部收敛的混沌搜索

标准PSO算法应用于高维复杂优化问题时,易陷入局部早熟收敛。此时,速度更新(3)式中的个体认知模式和社会模式接近于零,速度的更新主要由惯性项决定,由于惯性权重一般小于1,这将导致速度递减趋近于零,即粒子将停滞不动。当种群陷入早熟收敛时,利用混沌运动的遍历性,将粒子的寻优过程对应为混沌运动的遍历搜索过程,使粒子具备逃逸局部收敛点束缚的能力,指导种群逼近全局最优点。

判断算法是否进入早熟收敛是进行混沌遍历搜索的前提,本文采用下式作为判断算法进入早熟收敛的依据:

62315a2ec03a3_html_1bf1515704f9e1f7.gif (12)

式中:62315a2ec03a3_html_cc35af3ec03a414e.gif 是当前全局最优适应值;62315a2ec03a3_html_f14107fbcd595117.gif 是前一次迭代的全局最优适应值;62315a2ec03a3_html_19d44a93ab2021b4.gif 是指定的阈值。当算法连续N(比如N为10)次迭代满足(12)式,表明算法进化陷入局部收敛,应转入混沌遍历搜索。

当算法陷入早熟收敛时,经过大量数值仿真实验,本文构造如下以全局最佳位置为中心的混沌搜索区域:

62315a2ec03a3_html_411b50b35f0d4969.gif (13)

式中:62315a2ec03a3_html_85eda557f67f3004.gif 为当前全局最佳位置;abcd为大于等于零的可调参数,经反复试验,ad一般取值稍小(如小于5),bc一般取值稍大(如大于30);62315a2ec03a3_html_b41509b08c397383.gif 为混沌变量;其余参数与前述相同。计算每个混沌搜索点的适应值,如果搜索点优于当前全局最佳位置,则更新种群最优适应值并用最优搜索点随机替换种群中任一粒子。

2.6 算法步骤

改进的PSO算法步骤如下:

Step1 混沌初始化。通过(6)、(9)式产生大量原始粒子,取适应值最优的前m个精英粒子组成初始种群;

Step2 将粒子的初始位置设置为该粒子的个体历史最佳位置,将初始种群最佳位置设置为种群全局历史最佳位置;

Step3 按照(2)、(3)、(6)、(10)式更新粒子速度和位置;

Step4 计算每个粒子的适应值;

Step5 更新个体历史最佳位置和全局历史最佳位置;

Step6 判断是否陷入早熟收敛,未陷入早熟收敛则转Step7,否则进入混沌遍历搜索:

1)混沌迭代初始化。设置迭代计数器初值和最大迭代次数;

2)按(6)、(13)式进行混沌遍历搜索;

3)计算每次混沌遍历搜索点的适应值,若比当前全局最优值更优,则更新最优信息,并将搜索点替换种群中的任一粒子;

4)更新迭代计数器,若超过最大迭代次数则混沌遍历搜索结束,否则转入2)。

Step7 若满足算法结束条件则寻优过程结束,否则转Step3。

3算法测试

为检验算法的性能,采用表1中的三个经典测试函数对改进PSO算法和标准PSO算法分别进行仿真测试。其中,Sphere函数和Rosenbrock函数是连续的高维单峰函数,常用于检验算法的收敛速度; Rastrigrin 函数是一个高维多峰函数,存在大量按正弦拐点排列、很深的局部最优点,用于检验算法的全局寻优能力。

算法参数设置如下:粒子群规模m=30; 62315a2ec03a3_html_90a86daf6e8861d0.gif62315a2ec03a3_html_4742358a0485c1c5.gif62315a2ec03a3_html_f99f82d38a8f4f03.gif ;三个函数的最大迭代次数分别500次、1000次、10000次。为减小随机性的影响,连续重复实验50次,取平均值作为最后的响应值。算法进化曲线如图4(a)、图5(a)、图6(a)所示;以收敛精度达62315a2ec03a3_html_c3a483b2bcef675d.gif 为衡量函数收敛的指标,各次实验寻优结果如图4(b)、图5(b)、图6(b)所示;详细实验测试结果对比如表2所示。


1 3个标准测试函数

函数

表达式

维数

搜索空间

最优点

最优值


Sphere

62315a2ec03a3_html_35b4c577e037b9d1.gif

10

62315a2ec03a3_html_c9fa17904462cb48.gif

(0,0,…,0)

0


Rastrigrin

62315a2ec03a3_html_4175d70223834615.gif

10

62315a2ec03a3_html_b55c509e21a6e861.gif

(0,0,…,0)

0


Rosenbrock

62315a2ec03a3_html_e57da41bf7501299.gif

10

62315a2ec03a3_html_b55c509e21a6e861.gif

(1,1,…,1)

0

62315a2ec03a3_html_555b91aebc15ee00.png

(a) 寻优进化曲线图

62315a2ec03a3_html_7f096a021f8ff8b0.png

(b)寻优结果图

图4寻优进化曲线与寻优结果(Sphere)



62315a2ec03a3_html_2dda0b2782e8f0dd.png

(a) 寻优进化曲线图

62315a2ec03a3_html_e89e0bc3ceae4135.png

(b)寻优结果图

图5寻优进化曲线与寻优结果(Rastrigrin)

62315a2ec03a3_html_69a7f8e932bf986.png

(a) 寻优进化曲线图

62315a2ec03a3_html_e32cf06951a5ade1.png

(b)寻优结果图

图6寻优进化曲线与寻优结果(Rosenbrock)

由数值仿真实验可知:改进PSO算法的寻优率达100%,算法鲁棒性明显得到提高;对于Sphere函数,改进的PSO算法和标准PSO算法都能收敛到全局最优值,但改进PSO算法的收敛精度、收敛速度和标准差都远优于标准PSO算法;对于Rastrigrin 函数,改进的PSO算法能较快地收敛到全局最优值,标准PSO算法则陷入局部极值而未能全局收敛;对于Rosenbrock函数,改进的PSO算法同样能以较好的性能收敛至全局最优值,标准PSO算法则迭代至最大迭代次数仍未实现全局收敛。

4结论

本文将混沌思想深度融合于PSO算法,其

创新点主要体现如下:


2 标准PSO与改进PSO 测试结果对比

性能指标

Sphere函数

Rastrigrin函数

Rosenbrock函数

平均值

标准PSO

1.618707172917301e-12

3.761404359894018

0.694141346608958

改进PSO

0

0

5.278951174554872e-28

最大值

标准PSO

1.778499571665472e-11

7.959753966303865

2.845455107958166

改进PSO

0

0

7.695214870914529e-28

最小值

标准PSO

8.470521989716488e-15

0.994959057093290

0.057429318283072

改进PSO

0

0

2.969814789124228e-28

标准差

标准PSO

3.140322602718772e-12

1.619950697434712

0.690189928625441

改进PSO

0

0

9.730342183755279e-29

迭代次数

标准PSO

500

1000

10000

改进PSO

40

23

10000

寻优率

标准PSO

100%

0%

0%

改进PSO

100%

100%

100%


1)将混沌思想应用于种群初始化、惯性权重

的调节、位置边界处理,从不同角度改善种群的随机性和多样性,有效均衡了粒子的全局探索和局部开发能力;

2)当算法陷入早熟收敛时,将粒子的寻优过程对应为混沌运动的遍历搜索过程,指导算法朝全局最优值逼近。

最后,本文用3个典型的测试函数对算法进行仿真实验比较。实验结果表明:改进的PSO算法在收敛速度、收敛精度和全局寻优能力等性能上都比标准PSO算法有明显的改善和提高。

参考文献

[1]Kennedy J, Eberhart R. Particle Swarm Optimization[C]. Proceedings of IEEE International Conference on Neural Networks. Perth, Australia, 1995:1942-1948.

[2]Shi Y, Eberhart R. A Modified Particle Swarm Optimizer[C]. Proceedings of the IEEE Conference on Evolutionary Computation. Anchorage: IEEE Press, 1998:69-73.

[3]Shi Y, Eberhart R. Empirical study of particle swarm optimization[C].Evolutionary Computation, 1999. CEC 99. Proceedings of the 1999 Congress on. IEEE, 1999:1945-1950.

[4]Clerc M. The Swarm and the Queen: Towards a Deterministic and Adaptive Particle Swarm Optimization[C]. Proceedings 1999 Congress Evolutionary Computation .Piscataway NJ: IEEE Press, 1999:1951-1957.

[5]Chen G M, Jia J Y, Han Q. Study on the Strategy of Decreasing Inertia Weight in Particle Swarm Optimization Algorithm [J]. Journal of Xi'an Jiao tong University, 2006, 40 (1):53-61.(陈贵敏,贾建援,韩琪.粒子群优化算法的惯性权值递减策略研究[J].西安交通大学学报,2006, 40 (1):53-61.)

[6]Gao L Q, Li R P, Zou D X. A Global Particle Swarm Optimization Algorithm [J]. Journal of Nort_heastern University (Natural Science), 2011, 32 (11): 1538-1541.(高立群,李若平,邹德旋.全局粒子群优化算法[J].东北大学学报(自然科学版),2011, 32 (11): 1538-1541.)

[7]Yu S M. Chaotic Systems and Chaotic Circuits: Principle, Design and Its Application in Communications [M]. Xi'an: Xidian University Press, 2011.(禹思敏.混沌系统与混沌电路——原理、设计及其在通信中的应用[M].西安:西安电子科技大学出版社, 2011.)

[8]Gao Y, Xie S L. Chaos Particle Swarm Optimization Algorithm[J]. Computer Science, 2004,31(8):13-15.(高鹰,谢胜利.混沌粒子群优化算法[J].计算机科学,2004,31 (8):13-15.)

[9]Dai D X, Wang Q, Ruan Y S, et al. Chaos-based particle swarm optimization algorithm and its application [J]. Huazhong Univ. of Sci. & Tech. (Nature Science Edition), 2005, 33 (10): 53-55.(戴冬雪, 王祁, 阮永顺等. 基于混沌思想的粒子群优化算法及其应用[J].华中科技大学学报(自然科学版), 2005, 33 (10): 53-55.)

[10]Zhang J S, Li Q Q, Wang Z X. Hybrid particle swarm optimization algorithm based on the chaos search [J]. Journal of Shandong University (Engineering Science), 2007, 37 (1): 47-50.(张劲松,李歧强,王朝霞.基于混沌搜索的混和粒子群优化算法[J].山东大学学报(工学版), 2007, 37 (1): 47-50.)

[11]Zhao Z G, Chang C. Adaptive Chaos Particle Swarm Optimization Algorithm [J]. Computer Engineering, 2011, 37 (15): 128-130.(赵志刚,常成.自适应混沌粒子群优化算法[J].计算机工程, 2011, 37 (15): 128-130.)

[12] Meng H J, Zheng P, Mei G H, et al. Particle Swarm Optimization Algorithm Based on Chaotic Series[J]. Control and Decision, 2006, 21(3): 263-266. (孟红记, 郑鹏, 梅国晖, 等. 基于混沌序列的粒子群优化算法[J]. 控制与决策, 2006, 21(3): 263-266.)

[13]Liu L, Zhong W M, Qian F. An Improved Chaos-Particle Swarm Optimization Algorithm [J]. Journal of East China University of Science and Technology (Natural Science Edition), 2010, 36 (2): 267-272.(刘玲,钟伟民,钱锋.改进的混沌粒子群优化算法[J].华东理工大学学报(自然科学版), 2010, 36 (2): 267-272.)

[14]Wu Q B, Wang Y C, Zhao Q L, et al. Particle Swarm Optimization Algorithm with Chaotic Inertia Weight Adjusting Strategy[J].Computer Engineering and Applications, 2009, 45 (9): 49-51.(吴秋波,王允诚,赵秋亮,等.混沌惯性权值调整策略的粒子群优化算法[J].计算机工程与应用, 2009, 45 (9): 49-51.)

[15] Pandey B B, Debbarma S, Bhardwaj P. Particle Swarm Optimization with Varying Inertia Weight for Solving Nonlinear Optimization Problem[C]Electrical, Electronics, Signals, Communication and Optimization (EESCO), 2015 International Conference on. IEEE, 2015: 1-5.