狼群算法是通过模拟狼群捕食行为而提出的, 不同学者针对不同理解的捕食行为提出了不同的进化原理. Liu等[1]将捕食过程分为游猎、围攻与食物分配等行为, 实验表明与粒子群算法、遗传算法相比, 其所提的算法具有更高的求解精度和收敛速度; 吴虎胜等[2]则将捕食过程分为游走、召唤、围攻3种行为, 以及"胜者为王"的头狼产生规则和"强者生存"的狼群食物分配机制, 其所提算法与经典鱼群算法、粒子群算法、遗传算法相比具有较强的鲁棒性和全局寻优能力, 尤其在处理多峰、高维复杂函数中效果明显; 周强等[3]提出通过头狼引领狼群进化; 李国亮等[4]对游走行为和召唤行为引入交互策略改进搜索策略; 吴虎胜等[5]又提出一种二进制狼群算法, 扩展了狼群算法的应用.但狼群算法同样存在收敛速度慢、易陷入局部最优等不足, 分析其主要原因有以下3点: ① 狼个体在游猎过程中都是以一定的步长通过随机探索指定步数来产生新个体, 随机性虽利于增加全局搜索能力但缺少确定性, 容易产生一些多余的试算, 同时步长设置的大小也会对算法性能产生影响, 很多情况都是通过试算给出; ② 食物分配过程中都是通过重新初始化, 虽然可以起到增加个体多样性的作用, 但又会对收敛速度产生影响; ③ 全邻域狼群算法收敛速度快, 但易于陷入局部最优, 采用局部邻域则可有效的避免陷入局部最优.因此, 本文提出一种自适应分组差分变异狼群优化算法(Adaptive Grouping Difference Variation Wolf Pack Algorithm, AGDV-WPA), 首先采用佳点集理论对狼群进行初始化, 利用自分组策略对狼群进行分子群寻优, 通过云模型算法来改进狼个体的游猎行为, 在围攻行为中考虑狼个体的自身能量, 以求消耗更低的能效来获得更多的食物, 最后利用差分进化算法和混沌理论完成狼个体变异.
1 基本狼群算法综述以上学者所提狼群算法的优化原理, 可大致抽象成3种行为.
(1) 游猎行为:狼个体在当前位置附近搜索局部最优值, 如果优于当前个体则替换, 否则继续游猎到指定次数
| $\begin{align} x_{id} '=x_{id} +{\rm rand}( )\times x_{{\rm step}a},\end{align}$ | (1) |
其中, rand()是区间
(2) 围攻行为:狼群经过游猎后, 在狼群中找到最优狼个体, 通过召唤和围攻利用最优狼个体的信息搜索全局最优值, 计算公式为
| $\begin{align} x_{id} '=x_{id} +{\rm rand}( )\times x_{{\rm step}b} (x_{gd} -x_{id} ),\end{align}$ | (2) |
其中, rand()是区间
(3) 食物分配:依据优胜劣汰原则, 通过随机产生新个体来替换狼群中适应度差的狼个体, 进而增加狼群的多样性, 避免陷入局部最优.
2 自适应分组差分变异狼群优化算法原理 2.1 基于佳点集理论的种群初始化狼群进化算法从随机初始化狼群个体开始迭代寻优, 若存在某些狼个体在最优解附近, 则在一定程度上能够加速算法收敛和提高寻优性能.佳点集理论[6]已证明近似计算函数在
设
自然界中的狼群具有领域性, 其活动范围通常相对固定, 数量一般在5
(1) 将整个狼群分成
(2) 把狼群内的个体按适应值降序排列, 将前
(3) 每迭代一次计算子群内狼个体的方差.用方差来衡量子群内个体的离散程度, 方差越小说明离散程度越小, 表明或是找到最优解, 或是陷入局部最优.
(4) 递减子群个数
社会学原理指出, 在优秀个体附近较易发现更优个体, 也就是说局部最优值附近往往存在更优值.在基本狼群算法中, 狼个体的游猎行为是通过计算向周围
狼群在围攻行为中狼个体是以一定移动步长随机向着头狼(最优值)处行进, 这样虽然可以加快收敛速度, 但也可能在奔袭过程中错过全局最优值而陷入局部最优, 所以在奔袭过程中应考虑距离最优值较远的狼个体能以耗费较低的能量来获得更多的体能, 这也符合最优觅食理论中所表述的:为获取更好的觅食效果, 动物更趋向在觅食过程中以消耗更低的能效耗费来获得更多的猎物[12-13].计算狼个体间的能效吸引力公式为
| $\begin{align} \left\{ {\begin{array}{l} d_{jk} =\sqrt {\sum\limits_{s=1}^n {(x_{js} -x_{ks} )^2} },\\[4mm] F_{jk} =\dfrac{f(x_j )-f(x_k )}{d_{jk} },F_{jk} =-F_{kj}. \\ \end{array}} \right. \end{align}$ | (3) |
设对狼个体
| $\begin{align} x_i '=x_i +{\rm rand}( )\times {\rm step}\times (x_g -x_i )+w\times (x_{nx} -x_i ),\end{align}$ | (4) |
其中,
从公式(4) 可知,
| $\begin{align*} w=a+(b-a)\times \Big(1-\dfrac{f_{x_i} }{f_{\rm best} }\times \sin \Big(\dfrac{\pi }{2}\times \dfrac{t}{T}\Big)\Big),\end{align*}$ |
其中,
已有狼群算法的狼群食物分配原则都是最精壮的狼优先获取猎物, 接着再分配给较为弱小的狼.算法运行时的实际处理方式通常是按照一定的比例选择狼群中若干最差个体, 以随机方式重新初始化来避免狼群陷入局部最优, 但在自然界的狼群体中, 并不是所有瘦弱的狼都会被抛弃, 会有若干个体狼与其分享一些食物, 这样会使某些瘦弱狼获得一定的能量进而有机会继续生存下去.本文提出将差分进化算法中的变异策略引入到食物分配原则中来.差分进化算法已被证明是进化算法中简单而最高效的算法, 具有原理简单、受控参数少的优势[14-15], 其主要的变异操作在很大程度上影响着该算法的性能.常用的变异算子存在或全局搜索能力弱、或局部搜索能力弱的局限性[16].本文采用改进的差分变异策略来分配食物:让瘦弱狼个体从周围的狼个体获取一定的能量, 若其适应度得到改善则继续进入下一次迭代; 若其适应度得不到改善, 说明其需要被淘汰, 可以使用混沌理论产生新个体进入下一次迭代.使用混沌映射产生的个体呈现遍历性、随机性和多样性[17], 可有效地在收敛区域以外空间搜索全局最优位置, 进而更好地保持种群多样性.采用
| $\begin{align*} & x_w '=x_w +F\times ((x_{r1} -x_{r2} )+(x_{r3} -x_{r4} )),\end{align*}$ | (5.1) |
| $\begin{align*} & x_w '=\cos (k\arccos x_w ),k=2, \end{align*}$ | (5.2) |
其中,
| $\begin{align} F_i =F_l +(F_u -F_l )\times \dfrac{f_{r1} -f_w }{f_{r2} -f_w }\times \dfrac{f_{r3} -f_w }{f_{r4} -f_w }. \end{align}$ | (6) |
最后利用狼群个体的适应度来确定需要变异的狼个体数量, 方法如下.
第一步:计算所有狼群个体适应度值的平均值
第二步:计算小于
第三步:计算个体适应度值小于
第四步:在算法进化中起到变异作用的狼个体不宜取过多, 所以需要设定一个变异个数上限
第一步:参数初始化, 设置迭代次数
第二步:采用佳点集理论初始化狼群个体.
第三步:采用第2.2节的方法完成狼群的分组, 对每个子群分别执行limit次第四步到第六步;
第四步:采用第2.3节的方法完成狼群个体的游猎行为.
第五步:采用第2.4节的公式(3) 和公式(4) 完成狼群的围攻行为.
第六步:采用第2.5节的公式(5.1)、公式(5.2) 和公式(6) 完成基于差分变异和混沌变异的食物分配原则.
第七步:
以8个函数极值优化为例, 并通过与粒子群算法(Particle Swarm Optimization, PSO)、遗传算法(Genetic Algorithm, GA)、文献[1]的狼群算法(Wolf Colony Algorithm, WCA)和文献[2]的狼群算法(Wolf Pack Algorithm, WPA)对比, 验证本文算法的优化性能.种群大小均为100, 最大迭代代数均为5 000, 每个函数独立运行20次; PSO参数设置[19]为惯性因子0.729 8、自身因子1.496 18、全局因子1.496 18; GA参数设置为交叉概率
|
表 1 |
|
表 2 |
|
表 3 |
|
表 4 |
|
表 5 |
|
表 6 |
|
表 7 |
|
表 8 |
从仿真结果对比可以看出, 本文所提的自适应分组差分变异狼群优化算法(AGDV-WPA)具有很好的求解精度和求解速度, 分析原因主要有以下两个方面: ① 从最优结果、最差结果、平均结果可以看出, PSO和GA的寻优效果较差, WCA和WPA次之, AGDV-WPA最优, 这是因为AGDV-WPA算法采用佳点集理论初始化狼群, 增加了狼个体接近最优解的机会, 并且游猎行为个体的更新采用云模型, 其稳定倾向性有利于保护最优个体对附近更优个体进行自适应定位, 其随机性有利于保持狼个体的多样性, 采用的自适应分组策略有利于提升避免算法陷入局部最优的能力, 加快了算法的进化速度和寻优性能, 同时基于差分变异和混沌变异的食物分配原则使算法进化后期很好的避免陷入局部最优, 有利于获得全局最优解, 进而解决了算法在一些复杂函数时容易陷入早熟收敛、收敛速度慢、易陷入局部最优的缺点. ② 从平均运行时间和方差可以看出, WCA、WPA和AGDV-WPA速度较快, 但是AGDV-WPA更快些, WPA次之, 分析其原因除了AGDV-WPA的种群初始化可以获得更加均匀分布解外, 主要是狼群个体游猎行为过程中WCA、WPA都是采用随机试探的方式, 虽有利于维护种群的多样性, 但容易造成多余的试算, 而基于云模型的游猎行为可以完成确定性中包含随机性的搜索, 而且AGDV-WPA在狼群围攻行为中引入的自身能量能在一定程度上限制由于个体围攻的步长过大而错过最优解.
5 结束语狼群算法通过个体游猎和群体围攻来完成进化计算的核心功能, 游猎的随机性有利于获取全局最优解, 但也增加了一些试算, 缺少针对性的搜索.本文应用佳点集理论和云模型算法克服随机算法中因个体位置分布不合理带来的局限性, 进而加速对解空间进行全局寻优, 利用差分混沌变异来避免陷入局部最优位置, 较好地改进了狼群算法中随机试算和围攻步长而带来的易陷入局部最优解和选择压力过大造成的早熟收敛等问题.仿真结果表明:该算法具有精度高、收敛速度快等优点.
| [1] | LIU C A, YAN X H, LIU C Y. The wolf colony algorithm and its application[J]. Chinese Journal of Electronics, 2011, 20(2): 212-216. |
| [2] | 吴虎胜, 张凤鸣, 吴庐山. 一种新的群体智能算法——狼群算法[J]. 系统工程与电子技术, 2013, 35(11): 2430-2438. |
| [3] | 周强, 周永权. 一种基于领导者策略的狼群搜索算法[J]. 计算机应用研究, 2013, 30(9): 2629-2632. |
| [4] | 李国亮, 魏振华, 徐蕾. 基于改进搜索策略的狼群算法[J]. 计算机应用, 2015, 35(6): 1633-1636. DOI:10.11772/j.issn.1001-9081.2015.06.1633 |
| [5] | 吴虎胜, 张凤鸣, 战仁军. 求解0-1背包问题的二进制狼群算法[J]. 系统工程与电子技术, 2014, 36(8): 1660-1667. DOI:10.3969/j.issn.1001-506X.2014.08.34 |
| [6] | 华罗庚, 王元. 数论在近似分析中的应用[M]. 北京: 科学出版社, 1978. |
| [7] | 刘香品, 宣士斌, 刘峰. 引入佳点集和猴群翻过程的人工蜂群算法[J]. 模式识别与人工智能, 2015, 28(1): 80-89. |
| [8] | 毕晓君, 张磊. 基于混合策略的双种群约束优化算法[J]. 控制与决策, 2015, 30(4): 715-720. |
| [9] | 张英杰, 邵岁锋, NiyongaboJulius. 一种基于云模型的云变异粒子群算法[J]. 模式识别与人工智能, 2011, 24(1): 90-96. |
| [10] | 马颖, 田维坚, 樊养余. 基于云模型的自适应量子免疫克隆算法[J]. 计算物理, 2013, 30(4): 627-632. |
| [11] | 李翠明, 龚俊, 牛万才, 等. 基于改进隶属云模型蚁群算法的喷涂机器人喷枪轨迹组合优化[J]. 上海交通大学学报, 2015, 49(3): 387-391. |
| [12] | 孙儒泳. 动物生态学原理:第三版[M]. 北京: 北京师范大学出版社, 2001. |
| [13] | 崔志华, 曾建潮. 微粒群优化算法[M]. 北京: 科学出版社, 2011. |
| [14] | 彭虎, 吴志健, 周新宇. 基于三角的骨架差分进化算法[J]. 计算机研究与发展, 2015, 52(12): 2776-2788. DOI:10.7544/issn1000-1239.2015.20140230 |
| [15] | 李章维, 周晓根, 张贵军. 一种动态自适应差分进化算法[J]. 计算机科学, 2015, 42(6): 52-56. |
| [16] | 孔祥勇, 高立群, 欧阳海滨, 等. 求解大规模可靠性问题的改进差分进化算法[J]. 东北大学学报(自然科学版), 2014, 35(3): 328-332. |
| [17] | 胥小波, 郑康锋, 李丹, 等. 新的混沌粒子群优化算法[J]. 通信学报, 2012, 33(1): 24-37. |
| [18] | 刘金梅, 屈强. 几类混沌序列的随机性测试[J]. 计算机工程与应用, 2011, 47(5): 46-49. |
| [19] | POLI R, KENNEDY J, BLACKWELL T. Particle swarm optimization[J]. Swarm Intelligence, 2007(1): 33-57. |

