基于Tent映射改进的混合灰狼算法matlab代码
Posted 博主QQ2449341593
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于Tent映射改进的混合灰狼算法matlab代码相关的知识,希望对你有一定的参考价值。
文章目录
一、理论基础
1、基本灰狼优化算法
灰狼优化算法(Grey Wolf Optimizer,GWO)由澳大利亚格里菲斯大学学者 Mirjalili 等人于2014年提出来的一种群智能优化算法。该算法受到了灰狼捕食猎物活动的启发而开发的一种优化搜索方法,它具有较强的收敛性能、参数少、易实现等特点。近年来受到了学者的广泛关注,它己被成功地应用到了车间调度、参数优化、图像分类等领域中。
2 算法原理:
灰狼隶属于群居生活的犬科动物,且处于食物链的顶层。灰狼严格遵守着一个社会支配等级关系。如图:
社会等级第一层:狼群中的头狼记为 , 狼主要负责对捕食、栖息、作息时间等活动作出决策。由于其它的狼需要服从 狼的命令,所以 狼也被称为支配狼。另外, 狼不一定是狼群中最强的狼,但就管理能力方面来说, 狼一定是最好的。
社会等级第二层: 狼,它服从于 狼,并协助 狼作出决策。在 狼去世或衰老后, 狼将成为 狼的最候选者。虽然 狼服从 狼,但 狼可支配其它社会层级上的狼。
社会等级第三层: 狼,它服从 、 狼,同时支配剩余层级的狼。 狼一般由幼狼、哨兵狼、狩猎狼、老年狼及护理狼组成。
社会等级第四层: 狼,它通常需要服从其它社会层次上的狼。虽然看上去 狼在狼群中的作用不大,但是如果没有 狼的存在,狼群会出现内部问题如自相残杀。
GWO 优化过程包含了灰狼的社会等级分层、跟踪、包围和攻击猎物等步骤,其步骤具体情况如下所示。
1)社会等级分层(Social Hierarchy)当设计 GWO 时,首先需构建灰狼社会等级层次模型。计算种群每个个体的适应度,将狼群中适应度最好的三匹灰狼依次标记为 、 、 ,而剩下的灰狼标记为 。也就是说,灰狼群体中的社会等级从高往低排列依次为; 、 、 及 。GWO 的优化过程主要由每代种群中的最好三个解(即 、 、 )来指导完成。
2)包围猎物( Encircling Prey )灰狼捜索猎物时会逐渐地接近猎物并包围它,该行为的数学模型如下:
式中:t 为当前迭代次数:。表示 hadamard 乘积操作;A 和 C 是协同系数向量;Xp 表示猎物的位置向量; X(t) 表示当前灰狼的位置向量;在整个迭代过程中 a 由2 线性降到 0; r1 和 r2 是 [0,1] 中的随机向量。
3)狩猎( Hunring)
灰狼具有识别潜在猎物(最优解)位置的能力,搜索过程主要靠 、 、 灰狼的指引来完成。但是很多问题的解空间特征是未知的,灰狼是无法确定猎物(最优解)的精确位置。为了模拟灰狼(候选解)的搜索行为,假设 、 、 具有较强识别潜在猎物位置的能力。因此,在每次迭代过程中,保留当前种群中的最好三只灰狼( 、 、 ),然后根据它们的位置信息来更新其它搜索代理(包括 )的位置。该行为的数学模型可表示如下:
式中:、、 分别表示当前种群中 、 、 的位置向量;X表示灰狼的位置向量;、、 分别表示当前候选灰狼与最优三条狼之间的距离;当|A|>1时,灰狼之间尽量分散在各区域并搜寻猎物。当|A|<1时,灰狼将集中捜索某个或某些区域的猎物。
从图中可看出,候选解的位置最终落在被 、 、 定义的随机圆位置内。总的来说, 、 、 需首先预测出猎物(潜 在最优解)的大致位置,然后其它候选狼在当前最优兰只狼的指引下在猎物附近随机地更新它们的位置。
4)攻击猎物(Attacking Prey)构建攻击猎物模型的过程中,根据2)中的公式,a值的减少会引起 A 的值也随之波动。换句话说,A 是一个在区间[-a,a](备注:原作者的第一篇论文里这里是[-2a,2a],后面论文里纠正为[-a,a])上的随机向量,其中a在迭代过程中呈线性下降。当 A 在[-1,1]区间上时,则捜索代理(Search Agent)的下一时刻位置可以在当前灰狼与猎物之间的任何位置上。
5)寻找猎物(Search for Prey)灰狼主要依赖 、 、 的信息来寻找猎物。它们开始分散地去搜索猎物位置信息,然后集中起来攻击猎物。对于分散模型的建立,通过|A|>1使其捜索代理远离猎物,这种搜索方式使 GWO 能进行全局搜索。GWO 算法中的另一个搜索系数是C。从2)中的公式可知,C向量是在区间范围[0,2]上的随机值构成的向量,此系数为猎物提供了随机权重,以便増加(|C|>1)或减少(|C|<1)。这有助于 GWO 在优化过程中展示出随机搜索行为,以避免算法陷入局部最优。值得注意的是,C并不是线性下降的,C在迭代过程中是随机值,该系数有利于算法跳出局部,特别是算法在迭代的后期显得尤为重要。
2、改进灰狼优化算法
二、PSO_GWO算法伪代码
本文提出改进之后的灰狼算法 (grey wolf optimization algorithm based on particle swarm optimization,简称PSO_GWO) 的具体实现伪代码:
图4 PSO_GWO算法的伪代码
三、实验数据及仿真分析
为验证改进之后的灰狼算法的有效性,本文从已有文献中选择9个基准测试函数做仿真实验,并与基本粒子群算法(PSO)、基本灰狼算法(GWO)、 改进的灰狼算法(the improved grey wolf optimization algorithm,IGWO)[2]的优化结果进行比较并分析本文算法的性能,其具体的基准测试函数见表1。
表1 基准测试函数
以F 1 , F 2 , F 3 F_1,F_2,F_3F1,F2,F3为例,运行30次,每次迭代500次,取平均值,给出算法对比的进化结果图,如图5~7所示。
图5 30维-F1
图6 30维-F2
图7 30维-F3
四、参考文献
[1] 滕志军, 吕金玲, 郭力文,等. 一种基于Tent映射的混合灰狼优化的改进算法[J]. 哈尔滨工业大学学报, 2018, 50(11):46-55.
[2] 胡小平,曹敬.改进灰狼优化算法在WSN节点部署中的应用[J].传感技术学报,2018,31(05):753-758.
[3] 龙文, 伍铁斌. 协调探索和开发能力的改进灰狼优化算法[J]. 控制与决策, 2017, 32(010):1749-1757.
[4] 左剑, 张程稳, 肖逸,等. 基于灰狼优化算法的多机电力系统稳定器参数最优设计[J]. 电网技术, 2017(09):2987-2995.
五、Matlab代码
下载地址:
以上是关于基于Tent映射改进的混合灰狼算法matlab代码的主要内容,如果未能解决你的问题,请参考以下文章
优化算法Tent映射的混合灰狼优化算法含Matlab源码 1570期
优化预测基于matlab差分优化灰狼算法优化支持向量机SVM预测含Matlab源码 1576期.zip
优化算法Iterative映射和单纯形法的改进灰狼优化算法(SMIGWO)含Matlab源码 1746期