当前位置: 首页 > news >正文

CEC2017:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解cec2017(提供MATLAB代码)

一、鱼鹰优化算法简介

鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovský于2023年提出,其模拟鱼鹰的捕食行为。
在这里插入图片描述

鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米,体重1000-1750克。头部白色,头顶具有黑褐色的纵纹,枕部的羽毛稍微呈披针形延长,形成一个短的羽冠。头的侧面有一条宽阔的黑带,从前额的基部经过眼睛到后颈部,并与后颈的黑色融为一体。上体为暗褐色,略微具有紫色的光泽。下体为白色,胸部的暗色纵纹和飞羽,以及尾羽上相间排列的横斑均极为醒目。虹膜淡黄色或橙黄色,眼周裸露皮肤铅黄绿色,嘴黑色,蜡膜铅蓝色,脚和趾黄色,爪黑色。
在这里插入图片描述

鱼鹰栖息于湖泊、河流、海岸或开阔地,尤其喜欢在山地森林中的河谷或有树木的水域地带活动。常见在江河、湖沼及海滨一带飞翔,一见水中有饵,就直下水面,用脚掠之而去。趾具锐爪,趾底遍生细刺,外趾复能由前向后反转,这些都很适于捕鱼。在天气晴朗之日,盘旋于水面上空,定点后俯冲而下,再将捕获的鱼带至岩石、电杆、树上等地方享用。巢常营于海岸或岛屿的岩礁上。主要以鱼为食,有时也捕食蛙、蜥蜴、小型鸟类等其他小型陆栖动物。除了南极和北极,亚洲、北美洲等各大洲均有分布。
鱼鹰优化算法OOA的算法描述如下:
在这里插入图片描述

参考文献:
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.

二、CEC2017简介

CEC2017共有30个无约束测试函数分别是:单峰函数(F1-F3)、简单多峰函数(F4-F10)、混合函数(F11-F20)和组合函数(F21-F30)。测试维度包含:10D、30D、50D、100D。CEC2017无约束测试问题随着维度的增加求解极其困难。

在这里插入图片描述

三、求解结果

完整代码添加博客下方博主微信:djpcNLP123

将鱼鹰优化算法OO运用于求解CEC2017中30个无约束函数,其中每个测试函数可以选择的维度分别有:10D、30D、50D、100D。增大迭代次数,OOA的求解效果更佳。本例测试函数维度均为为10D(可根据自己需求调整),最大迭代次数为5000次。

close all
clear 
clc
Function_name=1; %测试函数1-30
lb=-100;%变量下界
ub=100;%变量上界
dim=10;%维度 10/30/50/100
SearchAgents_no=100; % Number of search agents
Max_iteration=100;%最大迭代次数
[Best_score,Best_pos,Curve]=OOA(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);
figure
% Best convergence curve
semilogy(Curve,'LineWidth',2,'Color','r');
title(strcat('CEC2017-F',num2str(Function_name)))
xlabel('迭代次数');
ylabel('适应度值');
axis tight
box on
legend('OOA')
display(['The best solution is : ', num2str(Best_pos)]);
display(['The best optimal value of the objective funciton is : ', num2str(Best_score)]);

F1:

在这里插入图片描述

F2:

在这里插入图片描述

F3:

在这里插入图片描述

F4:

在这里插入图片描述

四、参考代码

完整代码添加博客下方博主微信:djpcNLP123

相关文章:

CEC2017:鱼鹰优化算法(Osprey optimization algorithm,OOA)求解cec2017(提供MATLAB代码)

一、鱼鹰优化算法简介 鱼鹰优化算法(Osprey optimization algorithm,OOA)由Mohammad Dehghani 和 Pavel Trojovsk于2023年提出,其模拟鱼鹰的捕食行为。 鱼鹰是鹰形目、鹗科、鹗属的仅有的一种中型猛禽。雌雄相似。体长51-64厘米…...

Vue3 企业级项目实战:通关 Vue3 企业级项目开发,升职加薪快人一步

Vue3 企业级项目实战 - 程序员十三 - 掘金小册Vue3 Element Plus Spring Boot 企业级项目开发,升职加薪,快人一步。。「Vue3 企业级项目实战」由程序员十三撰写,2744人购买https://s.juejin.cn/ds/S2RkR9F/ 课程介绍 很高兴为大家介绍这个…...

vue样式绑定(v-if)

文章目录一.第一次用vue框架二.要求:1.定义两种样式,一种描述正确的状态,一种描述错误的状态。2.在结构代码中定义一个块,实现绑定正确的样式状态。3.定义一个按钮,实现正确和错误两种状态的class切换。三.源代码四.效果一.第一次…...

无需公网IP,安全稳定实现U8C异地访问

用友是全球领先的企业云服务与软件提供商,在财务、人力、供应链、采购、制造、营销、研发、项目、资产、协同等领域为客户提供数字化、智能化、社会化的企业云服务产品与解决方案。 U8C是用友针对成长型、创新型企业,提供企业级ERP整体解决方案。在系统…...

Graph Neural Network(GNN)图神经网络

Graph Neural Network(GNN)图神经网络,是一种旨在对图结构数据就行操作的深度学习算法。它可以很自然地表示现实世界中的很多问题,包括社交网络,分子结构和交通网络等。GNN旨在处理此类图结构数据,并对图中的节点和边进行预测或执…...

JSTL核心库的简单使用

JSTL核心库的简单使用 7.1考试重点 7.1.1c:out输出数据 考试重点就是c的相关的 jar包下载地址:Apache Tomcat - Apache Taglibs Downloads 看会典型应用就可以<% page contentType"text/html;charsetUTF-8" language"java" %> <% taglib uri"…...

ffmpeg.dll丢失怎么办,有什么修复ffmpeg.dll的方法

如果你在运行某些音视频软件或游戏时遇到了“ffmpeg.dll丢失”的错误消息&#xff0c;这意味着你的Windows系统中缺少了ffmpeg.dll文件&#xff0c;这是一个必要的动态链接库&#xff08;DLL&#xff09;文件&#xff0c;用于支持许多音视频软件和游戏的运行。在这篇文章中&…...

【学习笔记】NOIP爆零赛9

这场考炸了&#xff0c;不过也还好&#xff0c;正好给自己警醒的作用 t1t1t1应该是想到正解了&#xff0c;就是最后边界那个地方还是没有想清楚&#xff0c;哎这种交互题卡询问次数还是挺难受的&#xff0c;并且似乎我对于这种细节并不能很好把握。然后就少了50pts50pts50pts是…...

SpringMVC的常用组件和工作流程及部分注解解析

一丶SpringMVC常用的组件 1.前端控制器DispatcherServlet 作用&#xff1a;统一处理请求和响应。除此之外还是整个流程控制的中心&#xff0c;由 DispatcherServlet 来调用其他组件&#xff0c;处理用户的请求 接收请求&#xff0c;响应结果&#xff0c;相当于转发器&#xff…...

创建Firebase项目并接入Firebase推送: Firebase Cloud Messaging (FCM)

1.FCM简介&#xff1a;Firebase Cloud Messaging (FCM) 是一种跨平台消息传递解决方案&#xff0c;可供您可靠地传递消息&#xff0c;而且还是免费的服务。支持 Android&#xff0c;IOS,Web,Flutter,Unity.消息类型可以使用 FCM 向客户端发送两种类型的消息&#xff1a;通知消息…...

MyBatis的简单使用

MyBatis是一个优秀的持久型框架用于简化JDBC开发&#xff0c;JDBC的原生写法普遍都很麻烦&#xff0c;还要写原汁原味的sql语句&#xff0c;mybatis将很多东西都放到了配置文件里面然后用少量代码简化了免除了几乎所有的JDBC代码以及设定参数和获取结果集的工作。MyBatis 可以通…...

最新的Windows docker安装方法

什么是Docker&#xff1f;关于Docker的相关概述&#xff0c;请看&#xff1a;Docker_面向架构编程的博客-CSDN博客在Windows10 or Windows11中安装docker主要就两步&#xff1a;1.安装wsl22. 安装docker一、安装WSL2安装wslwsl --install然后重启一下电脑在cmd窗口可以查看自己…...

2023软件测试工程师涨薪攻略,3年如何达到30K

1.软件测试如何实现涨薪 首先涨薪并不是从8000涨到9000这种涨薪&#xff0c;而是从8000涨到15K加到25K的涨薪。基本上三年之内就可以实现。 如果我们只是普通的有应届毕业生或者是普通本科那我们就只能从小公司开始慢慢往上走。 有些同学想去做测试&#xff0c;是希望能够日…...

【算法题】1927. 求和游戏

题目&#xff1a; Alice 和 Bob 玩一个游戏&#xff0c;两人轮流行动&#xff0c;Alice 先手 。 给你一个 偶数长度 的字符串 num &#xff0c;每一个字符为数字字符或者 ‘?’ 。每一次操作中&#xff0c;如果 num 中至少有一个 ‘?’ &#xff0c;那么玩家可以执行以下操…...

有趣的 Kotlin 0x10:操作符 ..<

操作符 …< ..< 操作符是 Kotlin 在 1.7.20 版本中引入的不包含尾部元素的左闭右开区间操作符。之前我们使用的比较多的操作符可能是 .. 和 until&#xff0c;两者均表示区间&#xff0c;前者是闭区间&#xff0c;后者则表示不包含末端元素的左闭右开区间。 OptIn(Expe…...

mysql数据库之索引使用原则

一、最左前缀法则。 1、如果索引使用了多列&#xff08;联合索引&#xff09;&#xff0c;要遵守最左前缀法则。最左前缀法则指的是查询从索引的最左列开始&#xff0c;并且不跳过索引中的列。 如果跳跃到某一列&#xff0c;索引将部分失效&#xff08;后面的字段索引失效&am…...

【Java】Spring Boot 日志文件

文章目录SpringBoot日志文件1. 日志有什么用2. 日志怎么用3. 自定义日志打印3.1 在程序中得到日志对象3.2 使用日志对象打印日志4. 日志级别4.1 日志级别有什么用&#xff1f;4.2 日志级别的分类与使用5. 日志持久化6. 更简单的日志输出--lombok6.1 添加 lombok 依赖6.2 输出日…...

软件项目管理计算题复习(1)

软件项目管理计算题复习&#xff08;1&#xff09; 1.关键路径&#xff1a;决定项目最早完成的一系列的活动。网络图中最长的路&#xff0c;最少的时差&#xff0c;总是差为0&#xff0c;也是关键路径。 2.最短路径也是最短工期 3.总时差&#xff1a;最晚开始-最早开始最晚结…...

BMI160 BOSCH/博世 六轴 加速度 陀螺仪 传感器

BMI160 6轴惯性运动传感器&#xff0c;采用MEMS传感器封装&#xff0c;将16位3轴加速度计和超低功耗3轴陀螺仪集成在一起。当加速度计和陀螺仪在全速模式下运行时&#xff0c;耗电典型值低至950A&#xff0c;仅为市场上同类产品耗电量的50%或者更低。 Bosch BMI160专为智能手机…...

ROS探索[wpr_simulation的编译]

遇到的多种挑战最终的解决方式是通过重新删除所有编译文件夹重新生成工程原因如下 第一次生成的catkin_make文件的时候针对环境变量进行了设置,如果不删除环境变量相关的设置则后续新装的工具工程都会受到影响掣肘Protocbuf相关问题系统中存在多个版本的Protocbuf,因此优先级…...

连接Oracle数据库失败(ORA-12514)故障排除

文章目录症状产生原因解决办法欢迎加下方我的微信&#x1f447;&#xff0c;拉你入学习群点击试看博主的专著《MySQL 8.0运维与优化》&#xff08;清华大学出版社&#xff09;ORA-12514的故障是很多新手在连接Oracle数据库时经常遇到故障&#xff0c;它通常表示无法连接到数据库…...

DevOps 学习笔记(一) | DevOps 简介及环境搭建

1. 环境配置 本次实验需要三台服务器CI/CD 服务器、应用服务器和Harbor 服务器 DevOps 步骤 程序员将代码 push 到代码仓库Jenkins 根据触发条件拉取代码到CI/CD 服务器Jenkins 使用 Maven 将代码 build 成 jar 包Jenkins 使用 jar 包通过 Dockerfile 和 docker-compose.yml…...

日志收集笔记(Filebeat 日志收集、Logstash 日志过滤)

1 FileBeat Filebeat 是使用 Golang 实现的轻量型日志采集器&#xff0c;也是 Elasticsearch stack 里面的一员。本质上是一个 agent &#xff0c;可以安装在各个节点上&#xff0c;根据配置读取对应位置的日志&#xff0c;并上报到相应的地方去。 1.1 FileBeat 安装与使用 …...

字节二面,原来是我对自动化测试的理解太浅薄了..

如何使用Python实现自动化测试 如果你入职一家新的公司&#xff0c;领导让你开展自动化测试&#xff0c;作为一个新人&#xff0c;你肯定会手忙脚乱&#xff0c;你会如何落地自动化测试呢&#xff1f;资深测试架构师沉醉将告诉你如何落地自动kan化测试&#xff0c;本次话题主要…...

2023雅虎邮箱不能注册?别急,这份教程教你成功注册雅虎邮箱

这几年&#xff0c;跨境电商的迅猛发展&#xff0c;越来越多人加入这片蓝海&#xff0c;跨境人拥有一个专业的邮箱账户显得尤为重要&#xff0c;它是商业交流和日常工作的必备工具。因此&#xff0c;雅虎邮箱成为了许多人的首选&#xff0c;全球范围内使用雅虎邮箱的人数是非常…...

Elasticsearch 自动补全 completion type

Elasticsearch 自带一种自动补全类型 completion 这种类型不在mapping文档里面有点坑。 先直接上例子。 建立 index,把我们要自动补全的字段设置为 completion 类型 或者直接设置为子类型 PUT /blogs_completion/ {"mappings": {"tech": {"properties…...

GB28181协议实现源码Android源码

一、GB28181规范 尽管在国标GB28181中并没有对“平台”进行明确的定义,但在规范中却多次提到“系统平台”、“管理平台”等词汇,在具体项目中、网络上的交流学习中,平台概念也是无处不在。笔者认为,GB28181平台就是视频联网系统中的上级平台、中间平台或下级平台,用于实现…...

HNU工训中心: 三人表决器及八人抢答器实验报告

工训中心的牛马实验 三人表决器&#xff1a; 实验目的 1) 辨识数字IC功能说明。 2) 测试数字集成门电路&#xff0c;掌握输出故障排除、使用注意事项。 3) 掌握逻辑函数搭建三人表决器。 2.实验资源 HBE硬件基础电路实验箱、万用表 74LS00与非门、74LS10 三个3输入与非门…...

split()用法注意事项

split()用法注意事项 这个要注意有些特殊的分割符&#xff0c;比如.&#xff0c;这个表示匹配任何字符&#xff0c;如果在split()中调用的话&#xff0c;会将任何字符都分隔开&#xff0c;比如&#xff1a; String[] split "se.lll".split("."); System…...

centos7配置静态网络常见问题归纳

系列相似配置与安装软件问题整理与归纳文章目录 安装pymysql库_pymysql库安装_张小鱼༒的博客-CSDN博客 解决pip更新的代码_pip更新代码_张小鱼༒的博客-CSDN博客 python当中的第三方wxPython库的安装解答_pip install wx_张小鱼༒的博客-CSDN博客 spark里面配置jdk后的编程…...

网站程序有哪些/百度站长工具seo综合查询

神经网络&#xff08;一&#xff09;神经网络模型理解1.1 模型1.2 神经网络模型&#xff08;前馈&#xff09;1.3 建立神经网络模型1.4 多元分类1.5 循环神经网络与对称连接网络&#xff08;二&#xff09;神经网络模型实现2.1 代价函数2.2 反向传播2.2.1 数学推导&#xff08;…...

网站建设内容大全/网页设计软件有哪些

前言在爬取https网站的时候&#xff0c;今天遇到了一个之前没有见过的异常javax.net.ssl.SSLHandshakeException&#xff0c;具体细节请看如图2020-06-01 23:18:17.032 DEBUG org.springframework.web.servlet.DispatcherServlet- Successfully completed requestjavax.net.ssl…...

编程做网站容易还是做软件/龙斗seo博客

2019独角兽企业重金招聘Python工程师标准>>> redis就是叫redis memcached的客户端dalli sinatramongoidmysqlsidekiqrails_admindeviseCMS(LocomotiveCms) 转载于:https://my.oschina.net/u/934148/blog/495720...

千万不要去苏州打工/北京seo案例

1.随着微信小程序功能的开发&#xff0c;2.已经可以跟公众号打通了&#xff0c;3.主要有两种方式&#xff1a;4.1)在公众号文章中插入小程序5.2)在公众号菜单中添加小程序6.第一种方式&#xff0c;7.子恒老师在前面的课程已经详细介绍过&#xff0c;8.今天来讲第二种方法&#…...

北碚区网站建设/厦门人才网最新招聘信息网

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上&#xff0c;针对大访问量网站的需求&#xff0c;添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网&#xff0c;天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用…...

网站建设找云尚网络/谷歌搜索入口手机版

JavaCV介绍JavaCV首先提供了计算机视觉领域研究人员常用的函数库的封装&#xff1a;OpenCV, FFmpeg, libdc1394, PGRFlyCapture, OpenKinect, videoInput,和ARToolKitPlus。可以通过其中的utility类方便的在包括Android在内的Java平台上调用这些接口。另外JavaCV还带有硬件加速…...