APP下载

国外新颖优化算法

2019-09-24韩毅徐梓斌张亮邓丽丽

现代营销·信息版 2019年10期
关键词:优化算法鬣狗

韩毅 徐梓斌 张亮 邓丽丽

摘 要:本文描述了2017年提出的一种新颖的智能优化算法——花斑鬣狗算法(Spotted Hyena Optimizer, SHO),算法主要受到自然界中体型最大的鬣狗家族的启发,通过数学模型模拟了花斑鬣狗通过合作和自身能力进行捕猎的社会行为。算法借鉴了花斑鬣狗的包围猎物、狩猎、攻击猎物和搜寻猎物的行为,设计了4种运算算子来对应鬣狗的四种行为。

关键词:鬣狗;优化算法;包围;攻击

基金项目:国家自然科学基金青年基金,71301147

文献标志码: A    中图分类号: TP391.9

生物特性

鬣狗是像狗一样的大型食肉动物,它们生活在非洲和亚洲的热带草原、半荒漠草原和森林中。目前,世界上已知的鬣狗种类有4种,它们是花斑鬣狗、条纹鬣狗、棕色鬣狗和土狼。花斑鬣狗是捕猎技术最高超的猎手,它们也称为笑鬣狗。花斑鬣狗的皮毛上有红棕色的斑点,经常无休止地争夺领土和食物。在花斑鬣狗家族中,母鬣狗占主导地位,公鬣狗成年后要离开并加入一个新的部落。花斑鬣狗发现新的食物源时,会发出声音警报,这与人类的笑声非常相似。花斑鬣狗通常成群生活和捕猎,它们倚赖由100多名死党构成的交际网络。图1显示了花斑鬣狗的狩猎、搜寻、包围和攻击行为。

数学模型和SHO算法

①包围猎物

花斑鬣狗熟悉目标猎物的位置,通常采用包围策略逼近猎物。算法将当前最佳方案作为猎物,其他鬣狗根据猎物更新自己的位置。这种行为的数学模型由以下方程表示:

其中Dh表示猎物和鬣狗之间的距离,x表示当前迭代,B是系数向量,Pp表示猎物的位置,P是鬣狗的位置,||和·分别是绝对值和向量乘积,Iteration= 1,2,3,...,MAXIteration,h的值从5线性减少到0,随机向量rd1和rd2取值范围在[0,1]之间。图2给出了方程(1)和(2)在二维环境中的效果,鬣狗(A,B)可以根据猎物(A*,B*)的位置更新自身的位置。通过调整向量的值,鬣狗可以到达不同的位置,鬣狗在3D环境中的位置如图3所示。根据图2和图3,可以推断出鬣狗在n维空间中的位置更新方式。

②狩猎

鬣狗通常成群生活,依靠识别猎物位置的能力和信任的朋友进行捕猎。假设位置最好的鬣狗知道猎物的位置,其他鬣狗组成一个朝向位置最好的鬣狗进行移动的群体。

其中Ph是第一只位置最好的鬣狗,Pk表示其他鬣狗的位置。

N表示鬣狗数量,M是[0.5,1]之间的随机数向量,Ch是一群最优解构成的集合,countnos是加上M之后所有与搜索空间中的最优解位置非常接近的鬣狗的数量。

③攻击猎物(局部搜索)

为了模拟攻击猎物的过程,h值随着迭代过程从5降为0。E的值也随h变化,|E| < 1表示鬣狗攻击猎物,|E| > 1表示鬣狗搜索猎物。图4和图5显示了鬣狗攻击和搜索猎物行为。

P(x+1)记录了最好解并且根据位置最好的鬣狗更新了其他鬣狗的位置。

④搜寻猎物(全局搜索)

鬣狗群主要根据与Ch相关的位置搜索猎物,鬣狗之间彼此远离并寻找和攻击猎物。通过设置E>1或E<-1的E随机值来模拟鬣狗远离猎物,SHO算法可以进行全局搜索。B向量也是SHO算法的关键向量,B>1有助于算法进行全局搜索,B<1更利于算法的局部搜索。

算法执行步骤:

1)初始化鬣狗群

2)初始化SHO参数,h, B, E, N并给出最大迭代次数作为终止条件

3)计算鬣狗适应值

4)根据公式(8-9)计算位置最好的鬣狗Ph和Ch

5)  While (x< MaxIteration)

6){對于每只鬣狗利用公式(10)更新位置

7)更新h, B, E, N

8)检查鬣狗越界情况并进行位置调整

9)更新Ph值

10)更新Ch值

11)x+1

12)输出Ph值,结束程序

结语:

文献在2017年提出了一种新颖智能优化算法——花斑鬣狗算法,根据作者的描述,鬣狗算法通过包围机制定义了圆形邻域,该邻域可以扩展到更高维度的超空间。随机向量B和E帮助鬣狗在超空间内移动,狩猎方法帮助鬣狗定位猎物位置。通过调整E和h的值,算法可以在全局搜索和局部搜索之间轻松转换。

虽然SHO算法为学者提供了新的优化工具,但是根据算法描述来看,SHO的描述并不清晰,学者难以明确把握算法计算规则,阻碍了算法的编程实现。算法存在的问题如下:

1)从算法第②个狩猎算子来看,Ph是第一只位置最好的鬣狗。Ph是当前种群中位置最好的鬣狗,还是整个迭代过程中遇到的第一个全局最好解,文章描述并不明确。

2)此外,文章在第①个包围算子中定义全局最好解是猎物Pb,而在②中又以Ph为最好解,因此文章描述前后矛盾,没有逻辑性。

3)公式(8)如果是用来在公式(10)中定位鬣狗群的中间位置,则N值和公式(9)就十分难以理解。

4)公式(9)并未在文章中具体说明,只能结合算法步骤推断Ph+1是迭代过程中的第二个全局最好解,N为整个迭代过程中出现的所有全局最好解的个数。至于为什么将Ph+M作为迭代过程中的最后一个全局最好解,作者并未说明。

5)根据作者描述,公式(10)可以更新其他鬣狗的位置,但是根据公式来看,并不能确定公式(10)如何更新其他鬣狗的位置,如果将所有鬣狗位置都更新为公式(10)的位置,则所有鬣狗都位置相同了。根据公式(10)只能确定所有鬣狗的中间位置。

6)根据算法的执行步骤来看,SHO算法并未采用第①个包围算子,这就显得很不合常理。并且根据算法流程看,全局最好解(猎物)Pb并未采用,最终的最好解输出是Ph。算法流程中,N是由作者设置的,但是根据公式(9),N是计算出来的,这就非常矛盾和不合情理。

综合来看,SHO算法存在诸多不合理之处,描述也不够清晰。虽然SHO算法为学者提供了新的思路和创新观点,但算法的真实性和合理性还值得商榷。

参考文献:

[1] Dhiman G, Kumar V. Spotted hyena optimizer: A novel bio-inspired based metaheuristic technique for engineering applications [J]. Advances in Engineering Software, 2017, 114(12): 48-70.

猜你喜欢

优化算法鬣狗
复苏的母性
敢追捕犀牛的杀手——巨鬣狗
被嫌弃的棕鬣狗妈妈
原子干涉磁力仪信号鉴频优化算法设计
故障树计算机辅助分析优化算法研究与应用
故障树计算机辅助分析优化算法的实践应用
复苏的母性
遭遇鬣狗小熊工作室