基于火鹰优化算法的函数寻优算法
创始人
2024-04-02 05:20:48
0

文章目录

  • 一、理论基础
    • 1、火鹰优化算法
    • 2、FHO算法伪代码
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、火鹰优化算法

文献[1]提出了火鹰优化算法(Fire Hawk Optimizer, FHO)作为一种新的元启发式算法,该算法基于啸鸢、麻鹰和褐隼的觅食行为,这些鸟类被称为火鹰,因为它们在自然界中捕捉猎物的具体行动,特别是通过“放火”的方式。
FHO元启发式算法模拟了火鹰的觅食行为,考虑了生火和传火以及捕获猎物的过程。首先,确定若干候选解(XXX)作为火鹰和猎物的位置向量,利用一个随机初始化过程来确定这些向量在搜索空间中的初始位置。X=[X1X2⋮Xi⋮XN]=[x11x12⋯x1j⋯x1dx21x22⋯x2j⋯x2d⋮⋮⋮⋱⋮xi1xi2⋯xij⋯xid⋮⋮⋮⋱⋮xN1xN2⋯xNj⋯xNd],{i=1,2,…,Nj=1,2,…,d(1)X=\begin{bmatrix}X_1\\X_2\\\vdots\\X_i\\\vdots\\X_N\end{bmatrix}=\begin{bmatrix}x_1^1x_1^2\cdots x_1^j\cdots x_1^d\\x_2^1x_2^2\cdots x_2^j\cdots x_2^d\\\vdots\vdots\vdots\ddots\vdots\\x_i^1x_i^2\cdots x_i^j\cdots x_i^d\\\vdots\vdots\vdots\ddots\vdots\\x_N^1x_N^2\cdots x_N^j\cdots x_N^d\end{bmatrix},\quad\begin{dcases}i=1,2,\ldots,N\\j=1,2,\ldots,d\end{dcases}\tag{1}X=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​X1​X2​⋮Xi​⋮XN​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡​x11​x12​⋯x1j​⋯x1d​x21​x22​⋯x2j​⋯x2d​⋮⋮⋮⋱⋮xi1​xi2​⋯xij​⋯xid​⋮⋮⋮⋱⋮xN1​xN2​⋯xNj​⋯xNd​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤​,{i=1,2,…,Nj=1,2,…,d​(1)xij(0)=xi,min⁡j+rand⋅(xi,max⁡j−xi,min⁡j),{i=1,2,…,Nj=1,2,…,d(2)x_i^j(0)=x_{i,\min}^j+\text{rand}\cdot\left(x_{i,\max}^j-x_{i,\min}^j\right),\quad\begin{dcases}i=1,2,\ldots,N\\j=1,2,\ldots,d\end{dcases}\tag{2}xij​(0)=xi,minj​+rand⋅(xi,maxj​−xi,minj​),{i=1,2,…,Nj=1,2,…,d​(2)其中,NNN为搜索空间中候选解的总数;xijx_i^jxij​为第iii个候选解的第jjj个决策变量;xij(0)x_i^j(0)xij​(0)表示候选解的初始位置;Xi,min⁡jX_{i,\min}^jXi,minj​和xi,max⁡jx_{i,\max}^jxi,maxj​是第iii个候选解的第jjj个决策变量的最小和最大边界;rand\text{rand}rand是一个[0,1][0,1][0,1]均匀分布的随机数。
为了确定火鹰在搜索空间中的位置,候选解的目标函数评价考虑了所选优化问题。一些具有较好目标函数值的候选解表示为火鹰,而其余的候选解则是猎物。选定的火鹰用于在搜索空间内的猎物周围散布火焰,以使狩猎更容易。此外,假设全局最佳解决方案是火鹰在搜索空间(自然)中首先使用的主火。数学表达式如下:PR=[PR1PR2⋮PRk⋮PRm],k=1,2,…,m(3)PR=\begin{bmatrix}PR_1\\PR_2\\\vdots\\PR_k\\\vdots\\PR_m\end{bmatrix},\,\,k=1,2,\ldots,m\tag{3}PR=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​PR1​PR2​⋮PRk​⋮PRm​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​,k=1,2,…,m(3)FH=[FH1FH2⋮FHl⋮FHn],l=1,2,…,n(4)FH=\begin{bmatrix}FH_1\\FH_2\\\vdots\\FH_l\\\vdots\\FH_n\end{bmatrix},\,\,l=1,2,\ldots,n\tag{4}FH=⎣⎢⎢⎢⎢⎢⎢⎢⎢⎡​FH1​FH2​⋮FHl​⋮FHn​​⎦⎥⎥⎥⎥⎥⎥⎥⎥⎤​,l=1,2,…,n(4)其中,PRkPR_kPRk​是搜索空间中关于mmm个猎物总数的第kkk个猎物;FHlFH_lFHl​是搜索空间中nnn个火鹰的总数中的第lll个火鹰。
在算法的下一个阶段,计算火鹰和猎物之间的总距离。结果导致每只鸟最近的猎物被确定,从而区分这些鸟的有效领地。需要注意的是,确定距离第一火鹰最近且目标函数值最好的猎物,而通过剩余的猎物来考虑其他鸟类的领地。DklD_k^lDkl​由下式确定:Dkl=(x2−x1)2+(y2−y1)2,{l=1,2,…,nk=1,2,…,m(5)D_k^l=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2},\,\,\begin{dcases}l=1,2,\ldots,n\\k=1,2,\ldots,m\end{dcases}\tag{5}Dkl​=(x2​−x1​)2+(y2​−y1​)2​,{l=1,2,…,nk=1,2,…,m​(5)其中,DklD_k^lDkl​为第lll只火鹰与第kkk只猎物之间的总距离;mmm为搜索空间中的猎物总数;nnn为搜索空间中火鹰的总数;(x1,y1)(x_1, y_1)(x1​,y1​)和(x2,y2)(x_2, y_2)(x2​,y2​)表示火鹰和猎物在搜索空间中的坐标。
在进行了上述测量火鹰和猎物之间总距离的程序后,通过它们周围最近的猎物来区分这些鸟的领土。通过对火鹰和猎物的分类,配置了算法的搜索过程。需要注意的是,目标函数值较好的火鹰在其特定领土的搜索空间中选择最接近的最佳猎物。然后,其他的火鹰在搜索空间中完成了下一个最近的猎物,这证明了最强的火鹰比较弱的鸟完成了更成功的狩猎。
在算法的下一个阶段,火鹰从主火收集燃烧的木棍,以便在选定的区域点火。在这一阶段,每只鸟都会捡起一根燃烧的棍子,然后把它扔到自己的特定领地,迫使猎物匆忙逃离。与此同时,一些鸟渴望使用来自火鹰其他领地的燃烧棒。因此,这两种行为可作为FHO主搜索循环中的位置更新过程,如下式所示:FHlnew=FHl+(r1×GB−r2×FHNear),l=1,2,…,n(6)FH_l^{new}=FH_l+(r_1\times GB-r_2\times FH_{Near}),\,\,l=1,2,\ldots,n\tag{6}FHlnew​=FHl​+(r1​×GB−r2​×FHNear​),l=1,2,…,n(6)其中,FHlnewFH_l^{new}FHlnew​为第lll只火鹰(FHlFH_lFHl​)的新位置向量;GBGBGB是搜索空间中的全局最优解,被认为是主火;FHNearFH_{Near}FHNear​是搜索空间中的另一只火鹰;r1r_1r1​和r2r_2r2​是在(0,1)(0,1)(0,1)范围内均匀分布的随机数,用于确定火鹰向主火和其他火鹰领地的移动。
在算法的下一个阶段,猎物在每只火鹰的领地内的移动被认为是动物行为的一个关键方面,用于位置更新过程。当火鹰扔下一根燃烧的棍子时,猎物决定躲藏,逃跑,或者会误朝火鹰跑去。在位置更新过程中可以考虑这些动作,使用以下式子更新:PRqnew=PRq+(r3×FHl−r4×SPl),{l=1,2,…,nq=1,2,…,r(7)PR_q^{new}=PR_q+(r_3\times FH_l-r_4\times SP_l),\,\,\begin{dcases}l=1,2,\ldots,n\\q=1,2,\ldots,r\end{dcases}\tag{7}PRqnew​=PRq​+(r3​×FHl​−r4​×SPl​),{l=1,2,…,nq=1,2,…,r​(7)其中,PRqnewPR_q^{new}PRqnew​为被第lll只火鹰(FHlFH_lFHl​)包围的第qqq个猎物(PRqPR_qPRq​)的新位置向量;GBGBGB是搜索空间中的全局最优解,被认为是主火;SPlSP_lSPl​是第lll只火鹰属下的一个安全地点;r3r_3r3​和r4r_4r4​是在(0,1)(0,1)(0,1)范围内均匀分布的随机数,用于确定猎物向火鹰和安全地点的移动。
此外,猎物可能会向其他火鹰的领地移动,而猎物也有可能在附近的伏击中更接近火鹰,甚至试图躲到火鹰领地之外更安全的地方。在位置更新过程中可以考虑这些动作,使用以下公式:PRqnew=PRq+(r5×FHAlter−r6×SP),{l=1,2,…,nq=1,2,…,r(8)PR_q^{new}=PR_q+(r_5\times FH_{Alter}-r_6\times SP),\,\,\begin{dcases}l=1,2,\ldots,n\\q=1,2,\ldots,r\end{dcases}\tag{8}PRqnew​=PRq​+(r5​×FHAlter​−r6​×SP),{l=1,2,…,nq=1,2,…,r​(8)其中,PRqnewPR_q^{new}PRqnew​为第qqq个猎物被第lll个火鹰包围的新位置向量(PRqPR_qPRq​);FHAlterFH_{Alter}FHAlter​是搜索空间中的另一个火鹰;SPSPSP是火鹰第lll团领地之外的安全地带;r5r_5r5​和r6r_6r6​是在(0,1)(0,1)(0,1)范围内均匀分布的随机数,用于确定猎物向其他火鹰和领土外的安全地点移动。
基于自然界中的安全场所是大多数动物聚集在一起的场所,以便在危险期间保持安全和健康的事实,SPlSP_lSPl​和SPSPSP的数学表达式如下:SPl=∑q=1rPRqr,{l=1,2,…,nq=1,2,…,r(9)SP_l=\frac{\sum_{q=1}^rPR_q}{r},\,\,\begin{dcases}l=1,2,\ldots,n\\q=1,2,\ldots,r\end{dcases}\tag{9}SPl​=r∑q=1r​PRq​​,{l=1,2,…,nq=1,2,…,r​(9)SP=∑k=1mPRkm,k=1,2,…,m(10)SP=\frac{\sum_{k=1}^mPR_k}{m},\,\,k=1,2,\ldots,m\tag{10}SP=m∑k=1m​PRk​​,k=1,2,…,m(10)其中,PRqPR_qPRq​是被第lll只火鹰(FHlFH_lFHl​)包围的第qqq个猎物;PRkPR_kPRk​是搜索空间中的第kkk个猎物。

2、FHO算法伪代码

图1给出了FHO算法的伪代码。
在这里插入图片描述

图1 FHO算法伪代码

二、仿真实验与结果分析

将FHO与CS、MVO、SCA和ASO进行对比,实验设置种群规模为30,最大迭代次数为500,每个算法独立运行30次,以文献[2]表1中的F2、F5、F9、F12、F19、F20为例,结果显示如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

函数:F2
CS:最差值: -24.1568,最优值:-24.1568,平均值:-24.1568,标准差:1.859e-14,秩和检验:2.8991e-11
MVO:最差值: -24.1568,最优值:-24.1568,平均值:-24.1568,标准差:9.844e-06,秩和检验:0.016955
SCA:最差值: -23.7608,最优值:-24.1523,平均值:-24.0896,标准差:0.082235,秩和检验:3.0199e-11
ASO:最差值: -24.1568,最优值:-24.1568,平均值:-24.1568,标准差:1.086e-14,秩和检验:2.0668e-11
FHO:最差值: -24.1568,最优值:-24.1568,平均值:-24.1568,标准差:8.2549e-06,秩和检验:1
函数:F5
CS:最差值: -176.1376,最优值:-176.1376,平均值:-176.1376,标准差:2.2545e-09,秩和检验:3.018e-11
MVO:最差值: -90.8845,最优值:-176.1375,平均值:-145.9469,标准差:27.745,秩和检验:0.077272
SCA:最差值: -174.9205,最优值:-176.072,平均值:-175.7971,标准差:0.2496,秩和检验:0.051877
ASO:最差值: -174.4688,最优值:-176.1376,平均值:-176.056,标准差:0.31906,秩和检验:1.1652e-09
FHO:最差值: -174.6498,最优值:-176.1358,平均值:-175.5762,标准差:0.42623,秩和检验:1
函数:F9
CS:最差值: 28.3278,最优值:22.4495,平均值:25.5358,标准差:1.587,秩和检验:3.0199e-11
MVO:最差值: 28.944,最优值:12.5698,平均值:18.4464,标准差:4.0713,秩和检验:3.0199e-11
SCA:最差值: 17.9536,最优值:0.1324,平均值:6.4182,标准差:4.8785,秩和检验:3.0199e-11
ASO:最差值: 2.8213,最优值:0.012917,平均值:0.60252,标准差:0.76176,秩和检验:3.0199e-11
FHO:最差值: 6.7388e-22,最优值:4.8612e-25,平均值:1.0095e-22,标准差:1.8365e-22,秩和检验:1
函数:F12
CS:最差值: -8.3158,最优值:-11.4563,平均值:-9.6363,标准差:0.93867,秩和检验:3.0199e-11
MVO:最差值: -5.6063,最优值:-12.0308,平均值:-8.3491,标准差:1.5287,秩和检验:3.0199e-11
SCA:最差值: -11.096,最优值:-19.4145,平均值:-14.1445,标准差:2.035,秩和检验:1.0937e-10
ASO:最差值: -12.7339,最优值:-21.8777,平均值:-16.4089,标准差:2.3121,秩和检验:7.1186e-09
FHO:最差值: -16.2835,最优值:-45.1872,平均值:-28.7838,标准差:8.8617,秩和检验:1
函数:F19
CS:最差值: 31.6907,最优值:22.6836,平均值:26.437,标准差:2.1178,秩和检验:3.0199e-11
MVO:最差值: 69.9174,最优值:45.083,平均值:58.079,标准差:6.1903,秩和检验:3.0199e-11
SCA:最差值: 94.7724,最优值:80.3177,平均值:90.0727,标准差:3.2913,秩和检验:3.0199e-11
ASO:最差值: 35.6872,最优值:17.571,平均值:28.0979,标准差:4.0029,秩和检验:3.0199e-11
FHO:最差值: 5.6983e-28,最优值:3.5571e-33,平均值:2.799e-29,标准差:1.0564e-28,秩和检验:1
函数:F20
CS:最差值: -366,最优值:-426,平均值:-386.6333,标准差:13.0608,秩和检验:1.1931e-12
MVO:最差值: -383,最优值:-467,平均值:-432.2333,标准差:19.493,秩和检验:1.2068e-12
SCA:最差值: -211,最优值:-253,平均值:-230.6667,标准差:10.9461,秩和检验:1.1892e-12
ASO:最差值: -250,最优值:-309,平均值:-280.4667,标准差:13.8159,秩和检验:1.2068e-12
FHO:最差值: -575,最优值:-575,平均值:-575,标准差:0,秩和检验:NaN

实验结果表明:FHO算法比文献中比较的算法具有更好的性能。

三、参考文献

[1] Mahdi Azizi, Siamak Talatahari, Amir H. Gandomi. Fire Hawk Optimizer: a novel metaheuristic algorithm[J]. Artificial Intelligence Review, 2022.
[2] Mahdi Azizi. Atomic orbital search: A novel metaheuristic algorithm[J]. Applied Mathematical Modelling, 2021, 93: 657-683.

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【PdgCntEditor】解... 一、问题背景 大部分的图书对应的PDF,目录中的页码并非PDF中直接索引的页码...