优化算法笔记(三十六)哈里斯鹰算法

1. 算法简介

(以下描述,均不是学术用语,仅供大家快乐的阅读)
  哈里斯鹰算法是受哈里斯鹰捕食兔子过程启发而提出的优化算法。算法提出与2019年,提出时间不长。
  哈里斯鹰算法非常的复杂,其位置更新公式就有7个,并且使用了许多条件来判断何时使用哪一个公式来计算新位置。该算法更像是数个算法拼接而成,与哈里斯鹰没有太大的关系。不多近年多数算法都是这样,算法与其名字相关的动物并没有太大的关系,应该是先写好了算法,再去寻找与之相似,能够套用的动物,才造成了这样的结果。


2. 算法流程

本期的主角就是哈里斯鹰了(其实兔子才是主角,不过就理解兔子是鹰所在位置的适应度函数也行)。
  哈里斯鹰算法中的种群数量为N,每只鹰的位置为X=(x^1,x^2,...,x^D),该位置的优劣由其适应度函数F(X)计算得出。
  下面看看该算法的位置更新公式。


  公式(1)-公式(7)为位置更新公式。
  其中rand为[0,1]内的均匀随机数,rand2为[-2,2]内的均匀随机数,J为[-1,1]内的均匀随机数,x_r为种群中的随机个体,x_{best}为全局最优位置,x_{mean}为群体的平均位置。
  先来解析一下各个公式的含义。
  先说说公式(1)(3)(5)(6)(7)这4个相似的公式
  公式(1),在当前位置附近进行搜索,搜索范围较大。
  公式(3)(5)(6)则是在当前最优位置附近搜索,其搜索范围由公式(8)决定,可见随着迭代次数的增大,它们的搜索范围会越来越小。
  公式(7)则是在得到的新位置处进行小范围levy飞行。

下面看看公式(2)和公式(4)。
  公式(2)的含义是在解空间的中心区域进行搜索。随着迭代次数增加,x_{best}x_{mean}会越来越近,此时公式(2)前半部分取值近似于0,后半部分其实就是解空间内随机初始化并乘上了一个随机数,[0,1]内均匀随机数可取其期望为0.5,故该公式会在解空间中心区域进行搜索。
  公式(4),个人觉得有点问题。当群体较为集中后,可以理解为x_{best}x_{i}几乎重合,次数公式(4)退化成如下公式:


  易知公式(9)所表示的是当前最优位置与原点(每个维度都是0的点)连成的直线,该直线过原点,所以,当适应度函数的正解在0处时,算法的结果会非常的好,反之,效果稍差。
  算法中选择哪个阶段来更新位子主要由E的值决定。


  从条件中可以看出,算法的前期使用公式(1)(2)的概率较大,而在后期则是(3)(4)(5)(6)的使用概率较大。
  其中公式(5)(6)(7)在使用后需要通过贪心算法来判断是否保留该值,公式(1)(2)(3)(4)则是无论结果好坏,都会飞行到新位置。
  算法流程图如下


  流程图属实给我整不会了T^T

3. 实验

适应度函数f(x1,x2)=(x1-a)^2+(x2-b)^2,a=b=90
实验一:

问题维度(维度) 2
总群数量(种群数) 20
最大迭代次数 50
取值范围 (-100,100)
实验次数 10

  从图像可以看出,算法收敛性还是不错的,局部搜索能力也不错。在算法中后期,我们可以看到群体的轨迹慢慢变成了一条线。这是由公式(4)造成的,由于公式(4)的步骤没有贪心算法,会让群体出现在当前最优位置与原点(值为0的点)所确定的直线上。

最优值 3.825638232062466E-4
最差值 0.3058783621115111
平均值 0.04628947420338882

我们看看结果,结果中规中矩,不太出色,并且不太稳定。看来算法的性能不一定和其复杂程度成正比。
  有没有可能是公式(4)让大部分应该收敛的个体去了较远的位置,而使得算法的精度不高呢?实验二将去掉公式(4)再看看效果
实验二:将公式(4)替换为公式(3)


  从图像上看,比实验一好了一点,群体不再像实验一中那样会集中到一条直线上,其他看上去与实验一没有太大的差别。

最优值 4.067659511451527E-6
最差值 0.04826967148053276
平均值 0.013061678816358727

从结果来看,实验二的结果比实验一也只是好了一点,说明公式(4)对其影响也不算太大,总体来说算法还是有一定的稳定性,单独修改某一个公式对算法的结果的影响不显著。

4.总结

哈里斯鹰算法是根据哈里斯鹰捕食兔子的过程提出的优化算法。算法流程非常非常复杂,公式也非常非常多,虽然这些公式的相似度很高,但看起来仍然很恐怖。算法的效果并没有因为其流程的复杂而变得出众。看来算法的效果并不是与算法的复杂程度正相关,优秀的算法通常看起来也都很简洁。

参考文献
Aaha B , Sm C , Hf D , et al. Harris hawks optimization: Algorithm and applications[J]. Future Generation Computer Systems, 2019, 97:849-872. 提取码:luuq
原文代码提取码:luuq
以下指标纯属个人yy,仅供参考

指标 星数
复杂度 ★★★★★★☆☆☆☆
收敛速度 ★★★☆☆☆☆☆☆☆
全局搜索 ★★★☆☆☆☆☆☆☆
局部搜索 ★★★★★☆☆☆☆☆
优化性能 ★★★★☆☆☆☆☆☆
跳出局部最优 ★★★☆☆☆☆☆☆☆
改进点 ★★★☆☆☆☆☆☆☆

目录
上一篇 优化算法笔记(三十五)天鹰算法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,014评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,796评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,484评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,830评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,946评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,114评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,182评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,927评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,369评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,678评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,832评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,533评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,166评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,885评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,128评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,659评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,738评论 2 351

推荐阅读更多精彩内容