智能优化算法:浣熊优化算法-附代码
智能优化算法:浣熊优化算法
文章目录
- 智能优化算法:浣熊优化算法
- 1.浣熊优化算法
- 1.1 初始化
- 1.2 阶段一:狩猎和攻击(探索阶段)
- 2.实验结果
- 3.参考文献
- 4. Matlab
摘要:浣熊优化算法(Coati Optimization Algorithm(COA)),是于2022年提出的一种基于浣熊行为的优化算法,该算法通过模拟浣熊猎食行为来进行寻优,具有寻优能力强,收敛速度快等特点
1.浣熊优化算法
1.1 初始化
与其他优化算法类似,在寻优空间里随机初始化种群:
x i , j = l b j + r ⋅ ( u b j − l b j ) (2) x_{i, j}=l b_j+r \cdot\left(u b_j-l b_j\right) \tag{2} xi,j=lbj+r⋅(ubj−lbj)(2)
其中 x i , j x_{i,j} xi,j为个体, l b j lb_j lbj为寻优下边界, u b j ub_j ubj为寻优上边界, r r r为[0,1]之间的随机数。
1.2 阶段一:狩猎和攻击(探索阶段)
在搜索空间中更新coatis种群的第一阶段是基于模拟它们攻击鬣蜥(Iguana)时的策略进行建模的。在这一策略中,一群coatis爬上树去够一只鬣蜥并吓唬它。其他几只coatis在树下等待,直到鬣蜥摔倒在地。鬣蜥落地后,coatis攻击并猎杀它。这种策略导致coatis移动到搜索空间的不同位置,这表明了COA在解决问题空间的全局搜索中的探索能力。
在COA设计中,假设种群中最好成员的位置是鬣蜥的位置。也有人假设,一半的鬣蜥爬上树,另一半等待鬣蜥掉到地上。因此,使用等式(4)对从树上升起的涂层的位置进行数学模拟。
X i P 1 : x i , j P 1 = x i , j + r ⋅ ( Iguana j − I ⋅ x i , j ) , for i = 1 , 2 , … , ⌊ N 2 ⌋ a n d j = 1 , 2 , … , m . (4) X_i^{P 1}: x_{i, j}^{P 1}=x_{i, j}+r \cdot\left(\text { Iguana }_j-I \cdot x_{i, j}\right), \text { for } i=1,2, \ldots,\left\lfloor\frac{N}{2}\right\rfloor \\and j=1,2, \ldots, m. \tag{4} XiP1:xi,jP1=xi,j+r⋅( Iguana j−I⋅xi,j), for i=1,2,…,⌊2N⌋andj=1,2,…,m.(4)
鬣蜥摔倒在地后,它被放置在搜索空间中的一个随机位置。基于这个随机位置,地面上的涂层在搜索空间中移动,这是使用等式(5)和(6)模拟的。
Iguana G : Iguana a j G = l b j + r ⋅ ( u b j − l b j ) , j = 1 , 2 , … , m , (5) \begin{aligned} & \text { Iguana }^G: \text { Iguana } a_j^G=l b_j+r \cdot\left(u b_j-l b_j\right), j=1,2, \ldots, m \text {, } \end{aligned}\tag{5} Iguana G: Iguana ajG=lbj+r⋅(ubj−lbj),j=1,2,…,m, (5)
X i p 1 : x i , j P 1 = { x i , j + r ⋅ ( Iguana j j G − I ⋅ x i , j ) , F Iguana G < F i , x i , j + r ⋅ ( x i , j − Iguana j G ) , else, for i = ⌊ N 2 ⌋ + 1 , ⌊ N 2 ⌋ + 2 , … , N and j = 1 , 2 , … , m . (6) \begin{aligned} & X_i^{p 1}: x_{i, j}^{P 1}=\left\{\begin{array}{cl} x_{i, j}+r \cdot\left(\text { Iguana } j_j^G-I \cdot x_{i, j}\right), & F_{\text {Iguana }}^G<F_i, \\ x_{i, j}+r \cdot\left(x_{i, j}-\text { Iguana }_j^G\right), & \text { else, } \end{array}\right. \\ & \text { for } i=\left\lfloor\frac{N}{2}\right\rfloor+1,\left\lfloor\frac{N}{2}\right\rfloor+2, \ldots, N \text { and } j=1,2, \ldots, m \text {. } \\ & \end{aligned}\tag{6} Xip1:xi,jP1={xi,j+r⋅( Iguana jjG−I⋅xi,j),xi,j+r⋅(xi,j− Iguana jG),FIguana G<Fi, else, for i=⌊2N⌋+1,⌊2N⌋+2,…,N and j=1,2,…,m. (6)
如果更新后的个体更优则更新当前个体,否则保持原状:
X i = { X i P 1 , F i P 1 < F i X i , else. (7) X_i=\left\{\begin{aligned} X_i^{P 1}, & F_i^{P 1}<F_i \\ X_i, & \text { else. } \end{aligned}\right. \tag{7} Xi={XiP1,Xi,FiP1<Fi else. (7)
这里 X i P 1 X_i^{P1} XiP1是更新后的新位置, I g u a n a Iguana Iguana为猎物鬣蜥的位置, r r r为[0,1]之间的随机数。I为随机选择的1或者2。
1.3 阶段二:逃离捕食者(开发阶段)
更新coatis在搜索空间中的位置的过程的第二阶段是基于coatis遇到捕食者和逃离捕食者时的自然行为进行数学建模的。当捕食者攻击一只coatis时,它会从自己的位置逃跑。Coati在这一战略中的举措使其处于接近当前位置的安全位置,这表明了COA在本地搜索中的局部搜索能力。
为了模拟这种行为,基于等式(8)和(9),在每个coatis所在的位置附近生成随机位置。
l b j local = l b j t , u b j local = u b j t , where t = 1 , 2 , … , T (8) \begin{gathered} l b_j^{\text {local }}=\frac{l b_j}{t}, u b_j^{\text {local }}=\frac{u b_j}{t}, \text { where } t=1,2, \ldots, T \end{gathered}\tag{8} lbjlocal =tlbj,ubjlocal =tubj, where t=1,2,…,T(8)
X i P 2 : x i , j P 2 = x i , j + ( 1 − 2 r ) ⋅ ( l b j local + r ⋅ ( u b j local − l b j local ) ) , i = 1 , 2 , … , N , j = 1 , 2 , … , m (9) \begin{gathered} X_i^{P 2}: x_{i, j}^{P 2}=x_{i, j}+(1-2 r) \cdot\left(l b_j^{\text {local }}+r \cdot\left(u b_j^{\text {local }}-l b_j^{\text {local }}\right)\right), \\ i=1,2, \ldots, N, j=1,2, \ldots, m \end{gathered}\tag{9} XiP2:xi,jP2=xi,j+(1−2r)⋅(lbjlocal +r⋅(ubjlocal −lbjlocal )),i=1,2,…,N,j=1,2,…,m(9)
其中t 为迭代次数,如果更新后的个体更优则更新当前个体,否则保持原状:
X i = { X i P 2 , F i P 2 < F i X i , else (10) X_i=\left\{\begin{aligned} X_i^{P 2}, & F_i^{P 2}<F_i \\ X_i, & \text { else } \end{aligned}\right.\tag{10} Xi={XiP2,Xi,FiP2<Fi else (10)
算法流程图如下:
2.实验结果
3.参考文献
[1]Dehghani Mohammad,Montazeri Zeinab,Trojovská Eva,Trojovský Pavel. Coati Optimization Algorithm: A new bio-inspired metaheuristic algorithm for solving optimization problems[J]. Knowledge-Based Systems,2023,259.
uristic algorithm for solving optimization problems[J]. Knowledge-Based Systems,2023,259.
4. Matlab
相关文章:
智能优化算法:浣熊优化算法-附代码
智能优化算法:浣熊优化算法 文章目录 智能优化算法:浣熊优化算法1.浣熊优化算法1.1 初始化1.2 阶段一:狩猎和攻击(探索阶段) 2.实验结果3.参考文献4. Matlab 摘要:浣熊优化算法(Coati Optimizat…...
【51单片机】数码管显示(样例展示以及异常分析)
🎊专栏【51单片机】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【如愿】 大一同学小吉,欢迎并且感谢大家指出我的问题🥰 ⭐数码管 比如要显示“6”,那么下面图片中,AFEDCG=1,B=0 对应到数码管上,就是 ⭐原理 🎊P22~P24控制LED1~...
Android InputChannel事件发送接收系统分析
本文基于Android12。 InputChannel表示其他进程通过文件描述符传递输入事件到View的通道,因为需要跨进程传输,实现了Parcelable序列化接口,所以也能够理解Java层的InputChannel后面为什么使用copyTo()方法初始化。 输入事件的接收方是View&…...
Java时间类(五)-- LocalDate()类
目录 引言: 1. LocalDate的概述: 2. LocalDate的常用方法: 引言: (1)Date存在的缺陷: 如果不格式化,打印出的日期可读性差://获取当前时间Date date = new Date();System.out.println("date = " + date); //date = Wed May 03 22:30:24 CST...
用手机号码归属地 API 开发的应用推荐
引言 手机号码归属地 API是一种提供手机号码归属地信息的接口,通过该接口,可以获取手机号码所属的省份、城市、运营商等信息。它可以帮助企业更好地了解客户,为个性化推荐和精准广告投放提供数据支持。作为一种数据服务,手机号码…...
测试从业第 3 年,我看到了终点......
先说明,今天的内容,是写给想成为高级测试开发、自动化测试专家的人看的,因为,它可能颠覆你的认知。 众所周知,如今无论是大厂还是中小厂,自动化测试基本是标配了,毕竟像双11、618 这种活动中庞…...
结巴分词原理分析
结巴分词器工作原理 结巴分词是一款python写成的开源中文分词器,分词过程大致如下: 首先,结巴使用正则表达式将输入文本切割成若干中文块,接着对每个中文块B做处理,将B转成有向无环图(DAG)。DAG是以{key:list[i,j...…...
JavaEE 第三-四周
计算机Z20-第3-4周作业 总分:100分 得分:74.2分 1 . 填空题 简单 5分 在web.xml文件中,<url-pattern>/xxxxServlet</url-pattern>中的第一个‘/’表示__________。 学生答案 当前web应用程序的根目录 2 . 填空题 简…...
Ububtu20.04 无法连接外屏(显卡驱动问题导致)
Ububtu20.04 无法显示第二个屏幕(显卡驱动问题) Ububtu20.04 无法显示第二个屏幕(显卡驱动问题) Ububtu20.04 无法显示第二个屏幕(显卡驱动问题) 1. 问题描述2. 解决方案 1. 问题描述 一开始我的ububt…...
配置JDK环境变量
文章目录 查看电脑系统下载及安装JavaSE配置系统环境变量测试环境变量配置是否成功。 查看电脑系统 运行输入框中输入:control 下载及安装JavaSE 这个从网上下载就行,jdk-8u141-windows-x64.exe,不提供下载方式了。 主要讲解安装过程&a…...
保护移动设备免受恶意软件侵害优秀方法
几天前,移动恶意软件攻击增加了500%显然,我们大多数人都不知道不能很好地保护我们的手机下面小编揭秘有效保护移动设备免受恶意软件侵害的最佳方法。 1、使用移动反恶意软件 恶意软件很容易感染智能手机和平板电脑,因此在设备上安装可靠的…...
一个人在家怎么赚钱?普通人如何通过网络实现在家就能赚钱
近年来,随着互联网的飞速发展,嗅觉敏锐的人只要使用互联网就可以快乐地赚钱。一般来说,网上赚钱的投资较少,有时有一台能上网的电脑或手机就够了,所以大家有时称其为“无成本或低成本网赚”。今天就分享一个人在家如何…...
ChatGPT诞生的新岗位:提示工程师(Prompt Engineer)
ChatGPT诞生的新岗位:提示工程师(Prompt Engineer) Prompt 工程师是什么? 是识别人工智能的错误和隐藏功能,以便开发者可以对这些发现进行处理。 如果你正在寻找科技领域最热门的工作,你可以尝试了解如何与AI聊天机…...
机器学习笔记 使用PPOCRLabel标注自己的OCR数据集
一、PPOCRLabel的安装 最简单的方式就是直接pip安装,如下命令。 pip install PPOCRLabel -i https://pypi.douban.com/simple/ 运行的时候,直接激活安装了PPOCRLabel的环境后,输入PPOCRLabel回车即可运行,不过PPOCRLabel依赖PyQt5,所以会要求安装PyQt5,按要求安装或者提前…...
【C++初阶】类和对象(二)
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:C初阶 🎯长路漫漫浩浩,万事皆有期待 上一篇博客:【C初阶】…...
深入探讨Java、Spring和Dubbo的SPI机制
在Java开发领域中,SPI(Service Provider Interface)是一种用于实现框架扩展的机制。Java本身提供了SPI机制,Spring和Dubbo也都有自己的SPI机制。本文将介绍Java、Spring、Dubbo三者SPI机制的原理和区别。 一、Java SPI机制 Java…...
使用机器人为无线传感器网络提供服务(Matlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨💻4 Matlab代码 💥1 概述 无线传感器网络是一种无线网络,包括大量循环的、自定向的、微小的、低功耗的设备,称为传感器节点&…...
QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样
QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样 [1] QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样一、本自制虚拟键盘特点二、windows打开系统自带软键盘三、让键盘界面保持在最上方、不改变底层界面焦点四、长按按键重复输入键盘内容五、模拟键盘点击事件完成虚拟键盘…...
优思学院|8D和DMAIC两种方法应如何选择?
在现代的商业环境中,客户投诉是一个非常常见的问题。当客户不满意产品或服务时,他们往往会向企业发出投诉。质量管理部门是一个负责处理这些投诉的重要部门,因为它们需要确保产品和服务的质量满足客户的期望。改善方法是质量管理部门用来解决…...
回归预测 | MATLAB实现MLR多元线性回归预测(多指标评价)
回归预测 | MATLAB实现MLR多元线性回归预测(多指标评价) 目录 回归预测 | MATLAB实现MLR多元线性回归预测(多指标评价)预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 回归预测 | MATLAB实现MLR多元线性回归预测(多指标评价) 模型描述 多元线性回归(Multip…...
PHP 二维数组相关函数:二维数组指定key排序,二维数组转一维数组,两个二维数组取差集,对象转数组,判断元素是否在多维数组中
目录 一、二维数组转一维数组 二、对二维数组进行指定key排序 三、二维数组转一维数组 四、两个二维数组取差集 五、对象转数组 六、判断元素是否在多维数组中 PHP 二维数组相关函数:二维数组转一维数组,二维数组指定key排序,两个二维数…...
演出剧院门票售票预约小程序开发制作功能介绍
基于微信小程序的票务预约小程序,广泛适用于演出主办方、剧院、艺术中心、活动中心售票、景区门票售票、儿童游乐园售票、会务签到、展会售票签到、教育培训报名预约、健身预约功能。 多场景售票支持: 售票软件支持多种场景的售票,支持选座、…...
JUC之Java内置锁的核心原理
文章目录 JUC之Java内置锁的核心原理Java对象结构对象头对象体对齐字节 Mark Word的结构信息64位Mark Word的构成 偏向锁偏向锁的设置偏向锁的重偏向偏向锁的撤销偏向锁的膨胀 轻量级锁执行过程轻量级锁的分类普通自旋锁自适应自旋锁 重量级锁偏向锁、轻量级锁与重量级锁的对比…...
【项目经理】论项目经理的自我修养
项目经理的非职权领导力 文章目录 项目经理的非职权领导力一、权利的类型二、构成权利的三要素三、沟通是实施影响力的重要手段3.1 沟通的主要类型3.2 沟通的内容和形式3.3 沟通的主要困难 四、综合沟通协调的技巧4.1 常见的负面反馈4.2 沟通技巧 五、论项目经理的自我修养5.1 …...
知识图谱学习笔记03-知识图谱的作用
语义搜索 知识图谱在语义搜索方面扮演着非常重要的角色。传统的文本搜索引擎基本上是基于关键词匹配的方式进行搜索,这种方式容易受到搜索词语的表述方式和不同语言之间的差异的影响,而无法深入理解用户的意图和查询目的。而知识图谱则提供了一种更加精…...
刚进公司就负责项目,把老弟整蒙了!
刚进公司就负责项目,把老弟整蒙了! 大家好,我是鱼皮,先把封面图送给大家: 又快到周末了,今天分享一些轻松的编程经验~ 还记得我学编程的老弟小阿巴么?他目前大二,听说最近刚刚找到…...
【Python基础入门学习】Python高级变量你了解多少?
认识高级变量 1. 列表 list1.1 列表的定义1.2 列表常用操作关键字、函数和方法 1.3 循环遍历1.4 列表嵌套1.5 应用场景 2. 元组 tuple2.1 元组的定义2.2 元组常用操作2.3 应用场景 3. 字典 dictionary3.1 字典的含义3.2 字典常用操作3.3 应用场景 4. 字符串 string4.1 字符串的…...
《LearnUE——基础指南:上篇—3》——GamePlay架构WorldContext,GameInstance,Engine之间的关系
目录 平行世界是真实存在的吗? 1.3.1 引言 1.3.2 世界管理局(WorldContext) 1.3.3 司法天神(GameInstance) 1.3.4 上帝(Engine) 1.4 总结 平行世界是真实存在的吗? 1.3.1 引言 …...
重大问题,Windows11出现重大BUG(开始菜单掉帧,卡顿)
重大问题,Windows11出现重大BUG 这种Windows11操作系统出现BUG已经可以说是非常常见的,但是,今天我将代表所有微软用户,解决一个关于UI设计非常不舒服的功能 关闭多平面覆盖 事情叙述问题 微软社区解决方案自己发现的解决方案解决…...
修改系统语言字体的方法及注意事项
Android修改系统语言字体 随着我们生活品质的提升,现在人们对于手机的依赖越来越高,而且对于手机的功能也有了更高的要求。其中,界面的字体对于我们视觉的体验感受非常重要。而在Android系统中,默认的字体可能并不符合我们的胃口。…...
建立音乐网站/营销方案案例
有关换行的问题首先提一个问题,如下。python程序代码如下:print("Im Bob. Whats your name?")上一行代码的输出如下:Im Bob. Whats your name?上面的输出没有换行。想在What之前换行,效果是:Im Bob.Whats …...
成都行业网站/怎么创建个人网站
**作者:张华 发表于:2016-12-07 版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明 ( http://blog.csdn.net/quqi99 )** python3中的默认编码unicode(UCS-2编码)采用2个字节表…...
阿里云网站怎么做阿里妈妈/企业培训体系搭建
一、App启动优化1.App的启动可以分为2种冷启动(Cold Launch):从零开始启动APP热启动(Warm Launch):APP已经在内存中,在后台存活着,再次点击图标启动APPAPP启动时间的优化,主要是针对冷启动进行优化通过添加环境变量可以打印出APP的启动时间分…...
商业网站服务/搜狗seo排名软件
/* 在BC31下编译 */ /* compile under Borland C 3.1 *//* 对四则混合运算所提取的形式化表达式(生成式) <exp> -> <term> { <addop> <term> } <addop> -> | - <term> -> <factor> { <mulop> <factor> } <…...
网站开发外贸/怎么做优化关键词
2019独角兽企业重金招聘Python工程师标准>>> Laravel使用PHP的一个扩展API–Carbon来处理时间。它提供了很多日期操作方法,其中 diffForHumans() 可以把日期转换成 “1 hours age”、“4 years age” 这样的格式,同时,它还支持本地…...
WordPress支持熊掌号/百度官方优化软件
一个脚本可以使得本来要用键盘进行的相互式操作自动化。一个 Shell 脚本主要 由原本需要在命令行输入的命令组成, 或在一个文本编辑器中, 用户可以使用脚 本来把一些常用的操作组合成一组串行。 主要用来书写这种脚本的语言叫做脚本 语言。 很多脚本语言…...