优化算法笔记(二十九)秃鹰算法

1. 算法简介

(以下描述,均不是学术用语,仅供大家快乐的阅读)
  秃鹰优化算(bald eagle search optimization algorithm)是根据秃鹰的捕食过程提出的优化算法。该算法提出(发表)于2019年,属于较新的优化算法。
  秃鹰算法模拟了秃鹰捕食的三个阶段,选择区域、搜索猎物、俯冲捕猎。随着迭代次数的增加,秃鹰会改变其搜索方式。总体来说秃鹰算法是综合了粒子群算法和鲸鱼算法,不过其性能可以说是青出于蓝而胜于蓝了,毕竟每个个体搜索了三次。

2. 算法流程

本次的主角就是秃鹰了。秃鹰个体也是只有位置这一个属性,秃鹰种群数量为N,每只秃鹰的位置为P=(p^1,p^2,...,p^D),该位置的优劣由其适应度函数F(X)计算得出。
  秃鹰捕食有三个阶段(搜索方式):选择阶段(Select stage),搜索阶段(Search stage),俯冲阶段(Swooping stage)。

2.1选择阶段

选择阶段,秃鹫会飞到当前最优个体附近,与最优个体的距离由全体个体的平均位置决定。


  公式(1)中p_{new,i}表示当前个体选择的新位置,alpha为[1.5,2]内的常数,r为[0,1]内均匀分布的随机数,p_{mean}为当前群体的平均位置。
  如果新位置优于原位置,秃鹰则会飞行到新位置,否则留在原地。

2.2搜索阶段

搜索阶段,秃鹰会围绕当前位置,以阿基米德螺线方式搜索,其具体实现如下:


  其中公式(5)中a为取值在[5,10]中的常数,R是取值在[0.5,2]中的常数,rand为[0,1]内的均匀随机数。
  从公式(2)可以看出,秃鹰围绕自身飞行,飞行的距离由自身与群体中心的距离和自身与下一只秃鹰的距离决定。(如果当前秃鹰是群体中的最后一只,它的下一只秃鹰则为群体的第一只秃鹰)。
  如果搜索得到的新位置优于原位置,秃鹰则会飞行到新位置,否则留在原地。

2.3俯冲阶段

俯冲阶段则是在当前的最优位置周围以螺线的方式搜索,其具体公式如下:


  公式(6)c1,c2为常数,一般取值为2,rand为[0,1]内的均匀随机数。
  可以看出次阶段,秃鹰会围绕着最优个体搜索,但又不是完全围绕最优个体搜索,公式(6)中,最优个体前有随机数作为系数。由于随机数的存在,该个体所围绕的中心会渐渐的向0靠近,故当0点为最优位置时,算法将取得较好的效果。
  该阶段依然需要贪心算法,如果搜索得到的新位置优于原位置,秃鹰则会飞行到新位置,否则留在原地。

2.4流程图


  可以看出秃鹰算法的每一次迭代过程中,每只秃鹫进行了三次适应度值计算,而其他大多数算法只进行了一次计算,所以在做对照实验时,应该将秃鹰算法的最大迭代次数或者种群数设置为其他算法的1/3。

3. 实验

适应度函数f(x_1,x_2)=(x_1-a)^2+(x_2-b)^2,a=b=90。
实验一

问题维度(维度) 2
总群数量(种群数) 20
最大迭代次数 50
取值范围 (-100,100)
实验次数 10
C1 2
C2 2
alpha公式(1) 2
a公式(5)(9) 10
R公式(5)(9) 1.5

从图像可以看出,秃鹰算法的收敛速度还是挺快的,在第3代时就已经非常集中了??悸堑剿看扑闳蔚淖鞅仔形?,也可以认为在第9代时收敛。

最优值 1.516652616780882E-23
最差值 3.311250131703701E-17
平均值 3.4414438428571417E-18

结果上看,也是非常的好,毕竟是三倍的付出,结果可以说是同等条件下算法中比较优秀的了。
  由于有贪心步骤的存在,图像上看不出其俯冲阶段向0点靠近的行为。下面移除所有阶段的贪心步骤,看看秃鹰的运动过程。
实验二: 移除秃鹰算法的贪心步骤,自由飞翔。

可以看出移除贪心步骤后,种群不再收敛,给我的感觉是在0点和最优点之间的区域飞行,不过也不好说。

最优值 0.030622151048277216
最差值 0.41104809161705186
平均值 0.1993553041755197

实验结果也较为一般,明显弱于有贪心步骤时的结果。
  如果算法确实会向0收敛,猜测会有下面两种结果:
 ?。?) 在实验二的基础上,将上面适应度函数取值范围设置为[50,100]时,种群应该会聚集在左上角部分(最优解在右下角)。
 ?。?) 在实验二的基础上,将适应度函数的最优解设为0,种群应该会收敛到原点。
实验三:在实验二的基础上将适应度函数取值范围设置为[50,100]


从图像可以看出,种群没有在最优解附近运动而是在左上角,甚至因为超出边界被停留在了边界上,说明种群有着向左上角运动的趋势。
实验四:在实验二的基础上,将最优解设置为a=b=0。

可以看出,这次收敛速度非常的快也非常的集中,几乎可以认为是在同一个点了。

最优值 4.208327662513449E-107
最差值 4.169966258795712E-89
平均值 4.170038576285687E-90

这个结果应该是目前所看到最好的结果了,不过很可惜是一个作弊行为得到的。只有当最优解在0处时才会得到。如果事先已知最优解为0,那还要算法干什么呢?
  从实验三和实验四可以看出,与实验二后的猜想基本一致。
实验五:在实验四的基础上,去掉秃鹰的俯冲阶段。


可以看出,去除俯冲阶段后的秃鹰算法不再收敛到一个点,而是会在解空间内不断的搜索。这可以说明俯冲阶段将会使秃鹰群体向0点收敛,该阶段的实现公式应该进行改进。

4. 总结

秃鹰算法是根据秃鹰的觅食行为而提出的算法。算法的结构有些许复杂,每次迭代分为选择、搜索和俯冲三个阶段。主要搜索行为借助了螺线以及群体中心,可以看做是将粒子群算法和鲸鱼算法进行了融合,使用螺线来得到角度,使用自身与群体中心和下一个秃鹰得到距离,来计算新的位置。
  由于每代中的各个个体计算了三次适应度函数,所有同等条件下其结果会优于其他算法,在对照实验时,应当将秃鹰算法的迭代次数或者种群数削减至原值的1/3。俯冲阶段由于最优位置前有0-1的随机系数,其个体的位置会逐渐收敛于0,当最优解不在0处时,其结果相对较差。该阶段须改进。

参考文献
Alsattar H A , Zaidan A A , Zaidan B B . Novel meta-heuristic bald eagle search optimisation algorithm[J]. Artificial Intelligence Review, 2020, 53(6). 提取码:uxsz
原文代码提取码:uxsz

以下指标纯属个人yy,仅供参考

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

目录
上一篇 优化算法笔记(二十八)蝗虫算法
下一篇 优化算法笔记(三十)海洋捕食者算法

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

推荐阅读更多精彩内容