Page 262 - 《软件学报》2021年第5期
P. 262

1486                                     Journal of Software  软件学报 Vol.32, No.5,  May 2021

                 3    计算机实验仿真及分析

                 3.1   测试函数及实验标准
                    为了全面验证提出的 GASCS 算法的有效性和先进性,本文采用 3 类测试函数进行实验:第 1 类为高维度单
                 模函数,选取文献[24]的 F 1 ~F 7 共 7 个测试函数;第 2 类为高维度多模函数,选取文献[24]的 F 8 ~F 13 和文献[25]的
                 f 18 ~f 20 共 9 个测试函数;第 3 类为固定维度的复杂模态函数,选取文献[24]的 F 14 ~F 23 共 10 个测试函数.为保证函
                 数标号的唯一性,将文献[25]的 f 18 ~f 20 这 3 个测试函数命名为 F 14 ~F 16 ,而原固定维度的测试函数 F 14 ~F 23 改为
                 F 17 ~F 26 .固定维度的复杂模态函数具有全局最优解非对称和局部最优解分布不均匀的特点,因此其优化难度极
                 大,是优化算法性能较好的测试算例.
                    为了检验 GASCS 算法的性能,本节对传统的 CS 算法、改进的 CS 算法以及粒子群算法(particle swarm
                 optimization,简称 PSO)、人工蜂群算法(artificial bee colony,简称 ABC)、万有引力搜索算法(gravitational search
                 algorithm,简称 GSA)等智能算法进行对比.
                    本节实验的参数设置为种群为 N=20 个宿主巢穴,函数空间维度 D=30,发现概率 Pa=0.2,控制参数θ=20.为
                 保证算法测试的鲁棒性,每种算法均独立运行 30 次,计算其最差值、最优值、优化平均值和优化标准方差.定义
                 函数适应度误差为 Fn(u),即
                                                 Fn ()u =  ( f X gb ( ))u −  ( f X * gb )            (18)
                                                                                   *
                 其中,u 为测试函数运行的次数,u=1,2,…,30;X gb (u)为第 u 次搜索到的实际最优解; X 为理论的最优解;f(X gb (u))
                                                                                   gb
                 和 (f X * gb ) 分别为搜索到的实际最优值和理论最优值.假设 A={|Fn(u)|<ε},其中,ε为函数适应度绝对误差精度.定
                         ⎧ 1,  u ∈  A
                 义 δ  ()u = ⎨   ,因此,算法进化过程中寻优成功率 Ps 定义为
                    A
                         ⎩ 0, u ∉  A
                                                         1  30
                                                     Ps =  ∑ δ A () u                                (19)
                                                         30 u= 1
                 3.2   测试函数及实验标准
                                          [2]
                    表 1 为 GASCS 和 CS 算法 在不同维度空间上独立运行 30 次的优化函数适应度最优值、最差值及平均
                 值等寻优性能比较.表 1 的 F 为优化函数,D 为维度空间,Algorithm 为比较的优化算法,Opt 为优化函数的理论最
                 优值,Best 为算法运行 30 次搜索到的最佳优化值,Aver 为算法独立运行 30 次的平均优化值,Worst 为算法独立运
                 行 30 次的最差优化值,Ps 为公式(19)中定义的寻优成功率,Var 为算法独立运行 30 次的优化值标准方差.测试函
                 数由于函数模态不同,其全局最优值也尽不相同,因此函数适应度的绝对误差精度也不同.故设置 F1~F4 的ε为
                 1.0E−3,F5~F7,F9~F26 的ε为 1.0E−2,F8 的ε为 1.0E+2,并且设置算法运行的最大迭代次数为 400 次.
                    表 1 显示出,在高维度单模函数求解中,GASCS 算法与 CS 算法比较具有更好的搜索精度.对于
                 F1~F7,GASCS 算法只有 F5 和 F6 的寻优成功率没有达到 100%,其余 5 个函数均搜索到全局最优解;与之相
                 对,CS 算法的寻优成功率则为 0.GASCS 算法对 F5 的优化结果远胜于 CS 算法.GASCS 算法对于高维度多模函
                 数 F9~F11,F14~F16 均取得全局最优解;而 F8,F12,F13 虽然获得较好的结果,但未能获得全局最优解.与此形成
                 对比的是,CS 算法在优化高维度多模函数的求解效果较差,均没有搜索到全局最优值.固定维度的复杂模态函
                 数具有全局最优解非对称、局部最优解分布不均匀的特点,因此,测试函数在优化过程中具有欺骗性,增大了优
                 化算法的设计难度.在固定维度的复杂模态函数求解中,GASCS 算法和 CS 算法均获得较好的优化结果,其
                 中,GASCS 算法寻优性能更好,它均能搜索到全局最优解.不论对于高维度单模函数、高维度多模函数,还是固定
                 维度复杂多模函数,GASCS 算法相比于 CS 算法的求解效率和精度有较大的提高,具有优越的全局优化性能.
   257   258   259   260   261   262   263   264   265   266   267