system: [SYSTEM]

user: 3. 标准粒子群算法 3.1. 个体极值扰动策略 粒子群算法无论是全局收敛还是局部收敛，粒子群中的粒子都会出现早熟的现象，一旦粒子的全局收敛最优值陷入到函数的局部收敛最优值地带，其中个体最优值和全局最优值会停止更新，并且粒子此时会失去动能，无法找到最优位置 [ 10 ] [ 11 ]。此时可以给飞行中的粒子赋予其他方向的速度，有利于粒子跳出局部最优解探索其他区域。因此可以在个体最优的位置引入部分扰动以扩大迭代过程中粒子的搜索范围，本文的位置改进算法如下： v i d ( t + 1 ) = ω v i d ( t ) + c 1 r 1 ( ( 0 .5 + 0 .5 ∗ r 3 ) ∗ p i d ( t ) − x i d ( t ) ) + r 2 ( p g t ( t ) − x i d ( t ) ) (4) 式中 r 3 是随机分布在 [ 0，1 ] 之间的常数，a是小常数，由于 r 3 的扰动，个体最优解会产生偏离并且伴随着速度方向和大小的变化。这种改进方法可以在迭代过程的初期扩大粒子的搜索区域，引导粒子搜索更多新的区域，最终有效的减少算法快速陷入局部最优的可能。 3.2. Rosenbrock搜索法 Rosenbrock方法又称为转轴法，于1960年由Howard Harry Rosenbrock提出 [ 12 ] [ 13 ]。Rosenbrock法是在当前位置所构造得n个正交方向上探测移动，直至找到缩小最快的方向，通过轴向的旋转产生一组新的方向为下一次迭代的轴向，如此循环 [ 14 ]。而粒子群算法全局搜索能力较强，但是容易早熟，局部搜索能力弱，因此在标准粒子群算法融入Rosenbrock算法来增强局部搜索的能力提高解的质量，Rosenbrock搜索是一种解决无约束最优化问题时不需要函数导数信息的直接方法 [ 15 ] [ 16 ]，具体步骤如下： Step1：初始化 给定初始解 x ( 1 ) ∈ R n 、n个正交化的初始向量组 { d ( 1 ) ， d ( 2 ) ， ⋯ ， d ( n ) } ，初始步长 δ 0 = ( δ 1 0 ， δ 2 0 ， ⋯ ， δ n 0 ) T > 0 ，方向取坐标轴方向，精度 ε > 0 ，扩大系数a>1，缩小系数 β ∈ ( 0，1 ) 。置 y ( 1 ) = x ( 1 ) ， δ i = δ i ( 0 ) ， i = 1 ， 2 ， ⋯ ， n ，置k = 1，j = 1。 Step2：计算适应值 若 f ( y ( j ) + δ j d ( j ) ) ≤ f ( y ( j ) ) ，则令 y ( j + 1 ) = y ( j ) + δ j d ( j ) ， δ j = α δ j 。若 f ( y ( j ) + δ j d ( j ) ) > f ( y ( j ) ) ，则令 y ( j + 1 ) = y ( j ) ， δ j = β δ j 。 Step3：如果 j < n ，则置 j = j + 1 ，转Step2；否则，转Step4。 Step4：求得个体最佳适应值 f ( y ( n + 1 ) ) < f ( y ( 1 ) ) ，此时令 y ( 1 ) = y ( n + 1 ) ，命 j = 1 ，转至步骤Step2；若 f ( y ( n + 1 ) ) = f ( y ( 1 ) ) ，则进行Step5。 Step5：求得群体最佳适应值 若 f ( y ( n + 1 ) ) < f ( x ( k ) ) ，则转至步骤Step6；如果对每个参数j，都有 | δ j | < ε 成立，则计算停止，此时 x ( k ) 作为最优解的估计；若终止条件不满足，则令 y ( 1 ) = y ( n + 1 ) ，命j=1，转至步骤Step2。 Step6：判断算法是否结束 令 x ( k + 1 ) = y ( n + 1 ) 。若 ‖ x ( k + 1 ) − x ( k ) ‖ < ε ，此时取 x ( k + 1 ) 作为极小点的估计，此时计算停止并输出 x ( k + 1 ) ，否者转至步骤Step7。 Step7：更新粒子位置和速度 令 d 1 ˜ = x ( k + 1 ) − x ( k ) 建立新的标准化正交向量组 { d 0 ， d 1 ， ⋯ ， d n } k + 1 ，令 δ ( k + 1 ) = δ ( 0 ) ， k = k + 1 ，转Step2。 通过蒙特卡罗随机模拟的方式得到粒子位置方程表示为： X ( t ) = P ± L 2 ln ( 1 / u ) (5) 其中：u为 [ 0，1 ] 之间随机变化数。 L ( t + 1 ) = 2 ∗ β | m b e s t − x ( t ) | (6) m b e s t = ∑ i = 1 n P i / n = ( ∑ i − 1 n P i 1 / n ， ∑ i − 1 n P i 2 / n ， ⋯ ， ∑ i − 1 n P i d / n ) (7) 式中：当达到第T次迭代时，取 β = 0 ， β 为缩放因子，此时 P i 为第i个粒子的最优历史解。 取 a ∈ [ 2 ， 3 ] ， β ≈ 0 .5 ，标及准正交化的n个初始向量组取单位向量组，由于Rosenbrock搜索算法的嵌入使得粒子群算法的局部搜索能力增强，提高了算法精度并且在都搜索步长 δ 、放大因子a和缩小因子 β 选择合理的情况下，Rosenbrock的搜索可以有效的改善单维度或是多维度陷入局部值得情况，帮助粒子跳出局部最优 [ 17 ]，具体的改进算法步骤如下： 更新粒子群的初始化位置信息，并设定改进粒子群算法的各项参数。 评价粒子的适应度，并按照公式(1)改进的位置更新公式得到所有粒子的位置信息，记 P i 为当前个体粒子的最优位置， P g 为种群最优位置。 假如在T次迭代中，全局最优粒子没有改变，则执行Rosenbrock搜索，直到算法收敛或是达到设定搜索次数；否则，转至步骤2。 当计算结束后，输出全局最优粒子的位置和适应值；否则，转至步骤Step2。 为了检验改进算法得有效性，如表1所示现采用4个经典函数进行实验，函数均取30维，实验条件：粒子种群大小为30，最大迭代次数为200，两种算法都采用惯性权重策略， c 1 = c 2 = 2 ， ω = 0 .9 ，在Rosenbrock搜索中，放大因子 a = 1.4 ，缩小因子 β = − 0 .5 ，允许误差 ε = 10 − 6 ，最大搜索次数为100，搜索步长 β 为半搜索区间的10%，当达到最大搜索次数后跳出搜索。现采取4中算法独立运行30次以消除随机性的方法，求得平均值、标准差和最优值作为评估的标准，标准粒子群算法及改进粒子群算法实验结果可如表2和表3所示。 Table 1 Benchmark function 函数名 数学表达式 取值范围 类型 Rosenbrock f 1 ( x ) = ∑ i = 1 n − 1 [ 100 ( x i + 1 − x i 2 ) 2 + ( x i − 1 ) 2 ] x i ∈ [ − 30 ， 30 ] 单峰病态 Rastrigrin f 2 ( x ) = ∑ i = 1 n ( x i 2 − 10 cos ( 2 π x i ) + 10 ) x i ∈ [ − 5.12 ， 5.12 ] 多峰 Griewank f 3 ( x ) = 1 4000 ∑ i = 1 n x i 2 − ∏ i = 1 n cos ( x i i ) + 1 x i ∈ [ − 100 ， 100 ] 多峰 Levy f 4 ( x ) = sin 2 ( π ω 1 ) + ∑ i = 1 d − 1 ( ω i − 1 ) 2 [ 1 + 10 sin 2 ( 2 π ω d ) ]                       + ( ω d − 1 ) 2 [ 1 + sin 2 ( 2 π ω d ) ] x i ∈ [ − 10 ， 10 ] 多峰 表1. 基准测试函数 Table 2 Calculation results of standard particle swar 函数 最优值 均值 标准差 f 1 13.954425 22.548978 11.158645 f 2 2.081573 7.264837 10.637861 f 3 1.982478 12.724531 43.585016 f 4 3.850634 8.721682 10.231597 表2. 标准粒子群计算结果 Table 3 Improved particle swarm optimization calculation result 函数 最优值 均值 标准差 f 1 2.25 × 10 −7 4.36 × 10 −7 9.82 × 10 −7 f 2 0 0 0 f 3 1.8 × 10 −2 6.5 × 10 −2 3.1 × 10 −2 f 4 1.58 × 10 −16 8.61 × 10 −16 3.27 × 10 −16 表3. 改进粒子群计算结果 由表2看出，对于四个基准测试函数，标准粒子群算法基本陷入了局部最优。由表3可以看出，在4个测试函数求解过程中，改进粒子群算法无论是在求解高维度单峰或多峰函数时都表现优异，由于函数 f 1 是一个病态函数，在低维时呈现单峰特性，但在高维是呈现多峰特性，使得标准粒子群无论是最优值还是均值访民啊寻优结果都不理想，但改进粒子群算法得寻优精度可达到10 −7 ，在对此函数得寻优过程中基本不会陷入局部最优。从以上结果表明，在函数维度升高时，本文中改进粒子群算法仍然具有良好得寻优性能，具有较好得鲁棒性。