网站制作最新技术的,阿里巴巴网站中详情页怎么做,51找呀模板网,山东平台网站建设价格一、鱼鹰优化算法简介
鱼鹰优化算法#xff08;Osprey optimization algorithm#xff0c;OOA#xff09;由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出#xff0c;其模拟鱼鹰的捕食行为。
鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…一、鱼鹰优化算法简介
鱼鹰优化算法Osprey optimization algorithmOOA由Mohammad Dehghani 和 Pavel Trojovský于2023年提出其模拟鱼鹰的捕食行为。
鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米体重1000-1750克。头部白色头顶具有黑褐色的纵纹枕部的羽毛稍微呈披针形延长形成一个短的羽冠。头的侧面有一条宽阔的黑带从前额的基部经过眼睛到后颈部并与后颈的黑色融为一体。上体为暗褐色略微具有紫色的光泽。下体为白色胸部的暗色纵纹和飞羽以及尾羽上相间排列的横斑均极为醒目。虹膜淡黄色或橙黄色眼周裸露皮肤铅黄绿色嘴黑色蜡膜铅蓝色脚和趾黄色爪黑色。
鱼鹰栖息于湖泊、河流、海岸或开阔地尤其喜欢在山地森林中的河谷或有树木的水域地带活动。常见在江河、湖沼及海滨一带飞翔一见水中有饵就直下水面用脚掠之而去。趾具锐爪趾底遍生细刺外趾复能由前向后反转这些都很适于捕鱼。在天气晴朗之日盘旋于水面上空定点后俯冲而下再将捕获的鱼带至岩石、电杆、树上等地方享用。巢常营于海岸或岛屿的岩礁上。主要以鱼为食有时也捕食蛙、蜥蜴、小型鸟类等其他小型陆栖动物。除了南极和北极亚洲、北美洲等各大洲均有分布。
1.1鱼鹰优化算法原理
鱼鹰优化算法包含两个阶段第一阶段为鱼鹰识别鱼的位置并捕鱼全局勘探 第二阶段为将鱼带到合适的位置 局部开采其详细设计如下
1.1.1 种群初始化
采用下式随机初始化鱼鹰种群 X[X1⋮Xi⋮XN]N×m[x1,1⋯x1,j⋯x1,m⋮⋱⋮⋱⋮xi,1⋯xi,j⋯xi,m⋮⋱⋮⋱⋮xN,1⋯xN,j⋯xN,m]N×m,xi,jlbjri,j⋅(ubj−lbj),i1,2,…,N,j1,2,…,m,\begin{array}{c} X\left[\begin{array}{c} X_{1} \\ \vdots \\ X_{i} \\ \vdots \\ X_{N} \end{array}\right]_{N \times m}\left[\begin{array}{ccccc} x_{1,1} \cdots x_{1, j} \cdots x_{1, m} \\ \vdots \ddots \vdots \ddots \vdots \\ x_{i, 1} \cdots x_{i, j} \cdots x_{i, m} \\ \vdots \ddots \vdots \ddots \vdots \\ x_{N, 1} \cdots x_{N, j} \cdots x_{N, m} \end{array}\right]_{N \times m}, \\ x_{i, j}l b_{j}r_{i, j} \cdot\left(u b_{j}-l b_{j}\right), i1,2, \ldots, N, j1,2, \ldots, m, \end{array}XX1⋮Xi⋮XNN×mx1,1⋮xi,1⋮xN,1⋯⋱⋯⋱⋯x1,j⋮xi,j⋮xN,j⋯⋱⋯⋱⋯x1,m⋮xi,m⋮xN,mN×m,xi,jlbjri,j⋅(ubj−lbj),i1,2,…,N,j1,2,…,m, 其中N为鱼鹰的数量m为问题的维度初始化位置后依据优化问题计算适应度值 F[F1⋮Fi⋮FN]N×1[F(X1)⋮F(Xi)⋮F(XN)]N×1F\left[\begin{array}{c} F_{1} \\ \vdots \\ F_{i} \\ \vdots \\ F_{N} \end{array}\right]_{N \times 1}\left[\begin{array}{c} F\left(X_{1}\right) \\ \vdots \\ F\left(X_{i}\right) \\ \vdots \\ F\left(X_{N}\right) \end{array}\right]_{N \times 1}FF1⋮Fi⋮FNN×1F(X1)⋮F(Xi)⋮F(XN)N×1
1.1.2 全局勘探第一阶段位置识别和捕鱼
鱼鹰是强大的猎人由于其强大的视力能够探测到水下鱼类的位置。在确定鱼的位置后他们攻击它并通过潜入水下捕猎鱼。OOA中种群更新的第一阶段是基于对鱼鹰这种自然行为的模拟而建模的。对鱼鹰攻击鱼类进行建模会导致鱼鹰在搜索空间中的位置发生显著变化这增加了OOA在识别最优区域和逃离局部最优方面的探索能力。在OOA设计中对于每只鱼鹰搜索空间中具有较好目标函数值的其他鱼鹰的位置被视为水下鱼类。每只鱼鹰的位置使用下式指定。 FPi{Xk∣k∈{1,2,…,N}∧FkFi}∪{Xbest }\boldsymbol{F P _ { i }}\left\{X_{k} \mid \boldsymbol{k} \in\{1,2, \ldots, N\} \wedge \boldsymbol{F}_{k}\boldsymbol{F}_{i}\right\} \cup\left\{\boldsymbol{X}_{\text {best }}\right\}FPi{Xk∣k∈{1,2,…,N}∧FkFi}∪{Xbest } 其中FPiF P _ { i }FPi为第i只鱼鹰的位置集合Xbest {X}_{\text {best }}Xbest 为最佳鱼鹰的位置。 鱼鹰随机检测其中一条鱼的位置并攻击它。基于鱼鹰向鱼的运动模拟使用下式计算相应鱼鹰的新位置。这个新位置如果它的目标函数的值更好则替换鱼鹰的先前位置。 xi,jP1xi,jri,j⋅(SFi,j−Ii,j⋅xi,j),xi,jP1{xi,jP1,lbj≤xi,jP1≤ubj;lbj,xi,jP1lbj;ubj,xi,jP1ubj.Xi{XiP1,FiP1Fi;Xi,else ,\begin{array}{l} x_{i, j}^{P 1}x_{i, j}r_{i, j} \cdot\left(S F_{i, j}-I_{i, j} \cdot x_{i, j}\right), \\ x_{i, j}^{P 1}\left\{\begin{array}{ll} x_{i, j}^{P 1}, l b_{j} \leq x_{i, j}^{P 1} \leq u b_{j} ; \\ l b_{j}, x_{i, j}^{P 1}l b_{j} ; \\ u b_{j}, x_{i, j}^{P 1}u b_{j} . \end{array}\right. \\ X_{i}\left\{\begin{array}{l} X_{i}^{P 1}, F_{i}^{P 1}F_{i} ; \\ X_{i}, \text { else }, \end{array}\right. \\ \end{array}xi,jP1xi,jri,j⋅(SFi,j−Ii,j⋅xi,j),xi,jP1⎩⎨⎧xi,jP1,lbj,ubj,lbj≤xi,jP1≤ubj;xi,jP1lbj;xi,jP1ubj.Xi{XiP1,FiP1Fi;Xi, else , 其中xi,jP1x_{i, j}^{P 1}xi,jP1为第i只鱼鹰在第一阶段时其第j维的新位置Fi,jP1F_{i, j}^{P 1}Fi,jP1是其对应的适应度值。SFi,jS F_{i, j}SFi,j为[0,1]之间的随机数Ii,jI_{i, j}Ii,j为集合{1,2}中的随机数。
1.1.3 局部开采第二阶段将鱼带到合适的位置
捕食鱼后鱼鹰将其带到合适对他来说安全的位置并在那里吃。OOA中更新种群的第二阶段是基于鱼鹰这种自然行为的模拟建模的。将鱼带到合适位置的建模导致鱼鹰在搜索空间中的位置发生微小变化从而导致 OOA 在本地搜索中的开发能力增加并在发现的解决方案附近收敛到更好的解决方案。在OOA的设计中为了模拟鱼鹰的这种自然行为首先针对种群的每个成员使用下式计算一个新的随机位置作为“适合吃鱼的位置”。然后如果目标函数的值在这个新位置得到改善则替换相应鱼鹰的先前位置。 xi,jP2xi,jlbjr⋅(ubj−lbj)t,i1,2,…,N,j1,2,…,m,t1,2,…,T,xi,jP2{xi,jP2,lbj≤xi,jP2≤ubj;lbj,xi,jP2lbjubj,xi,jP2ubj,Xi{XiP2,FiP2Fi;Xi,else ,\begin{array}{c} x_{i, j}^{P 2}x_{i, j}\frac{l b_{j}r \cdot\left(u b_{j}-l b_{j}\right)}{t}, i1,2, \ldots, N, j1,2, \ldots, m, t1,2, \ldots, T, \\ x_{i, j}^{P 2}\left\{\begin{array}{l} x_{i, j}^{P 2}, l b_{j} \leq x_{i, j}^{P 2} \leq u b_{j} ; \\ l b_{j}, x_{i, j}^{P 2}l b_{j} \\ u b_{j}, x_{i, j}^{P 2}u b_{j}, \end{array}\right. \\ X_{i}\left\{\begin{array}{l} X_{i}^{P 2}, F_{i}^{P 2}F_{i} ; \\ X_{i}, \text { else }, \end{array}\right. \end{array}xi,jP2xi,jtlbjr⋅(ubj−lbj),i1,2,…,N,j1,2,…,m,t1,2,…,T,xi,jP2⎩⎨⎧xi,jP2,lbj≤xi,jP2≤ubj;lbj,xi,jP2lbjubj,xi,jP2ubj,Xi{XiP2,FiP2Fi;Xi, else , 其中xi,jP2x_{i, j}^{P 2}xi,jP2为第i只鱼鹰在第二阶段时其第j维的新位置Fi,jP2F_{i, j}^{P 2}Fi,jP2是其对应的适应度值。rrr为[0,1]之间的随机数ttt和TTT分别为当前迭代次数和最大迭代次数。
1.2算法描述 1.3算法流程 1.4参考文献
Dehghani Mohammad, Trojovský Pavel.Osprey optimization algorithm: A new bio-inspired metaheuristic algorithm for solving engineering optimization problems[J].Frontiers in Mechanical Engineering,2023,8.
二、CEC2020简介
CEC2020共有10个测试函数测试维度包含2D、5D、10D、15D、20D。CEC2020测试问题随着维度的增加求解极其困难。 三、求解结果
完整代码添加博客下方博主微信djpcNLP123 将鱼鹰优化算法OOA运用于求解CEC2020中10个函数其中每个测试函数可以选择的维度分别有2D、5D、10D、15D、20D。增大迭代次数鱼鹰优化算法OOA的求解效果更佳。本例测试函数维度均为10D可根据自己需求调整种群大小为50最大迭代次数为100次。
close all
clear
clc
MaxFes 50;%迭代次数
VarNumber 10;%维度 2/5/10/15/20
nPop 50;%种群大小
VarMin-100;%下限
VarMax100;%上限
fitnessfuncstr2func(cec20_func);
Function_name1;%测试函数1-10
[Best_Fit,Best_Pos,Curve]OOA(nPop,MaxFes,VarMin,VarMax,VarNumber,CostFunction);
figure
plot(Curve,g,linewidth,2.5)
xlabel(迭代次数)
ylabel(适应度值)
legend(OOA)
title(strcat(CEC2020-F,num2str(Function_name)))
部分求解结果
F1 F2: F3 F4: F5: 四、参考代码
完整代码添加博客下方博主微信djpcNLP123