基于布谷鸟搜索混合灰狼优化算法求解单目标优化问题(AGWOCS)

news2025/1/16 21:15:10

 👨‍🎓个人主页:研学社的博客 

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

📋📋📋本文目录如下:🎁🎁🎁

目录

💥1 概述

📚2 运行结果

🎉3 参考文献

🌈4 Matlab代码及详细文章


💥1 概述

文献来源:

灰狼优化算法(GWO)是一种智能元启发式方法,它模仿了一群灰狼(狼群)的领导层级和合作狩猎行为。最近提出了一种GWO的增强,称为增强GWO(AGWO),具有更大的勘探能力。然而,在某些情况下,AGWO在开发阶段表现不佳,停滞在局部最佳状态。CS算法是一种受自然启发的优化技术,它模仿了杜鹃鸟和征税飞行的独特筑巢策略。这两种算法都具有强大的搜索能力。在我们的研究工作中,提出了一种新的混合元启发式算法,称为AGWOCS,它结合了两种元启发式算法的优点,以有效地获得全局最优。所提出的算法融合了AGWO的探索能力和布谷鸟搜索(CS)的开发能力为了测试我们提出的混合AGWOCS的熟练程度,有23个著名的基准测试功能。它与其他六种现有的元启发式方法进行了比较,包括标准GWO、粒子群优化(PSO)、增强GWO(AGWO)、增强型GWO(EGWO)、CS混合GWO(CS-GWO)以及混合PSO和GWO(GWOPSO)。仿真结果表明,AGWOCS在快速收敛速度以及避免局部最优停滞方面优于其他元启发式算法。

📚2 运行结果

部分代码:

function [Alpha_score,Alpha_pos,Convergence_curve]=AGWO_CS(SearchAgents_no,Max_iter,lb,ub,dim,fobj)

% initialize alpha_pos, beta_pos.
% p=initialization(SearchAgents_no,dim,ub,lb);
Alpha_pos=zeros(1,dim);

Alpha_score=inf; %change this to -inf for maximization problems

Beta_pos=zeros(1,dim);
Beta_score=inf; %change this to -inf for maximization problems

%Initialize the positions of search agents
Positions=initialization(SearchAgents_no,dim,ub,lb);
Positions=sort(Positions);
oldPositions=Positions;
Convergence_curve=zeros(1,Max_iter);

l=0;% Loop counter
% Main loop
while l<Max_iter
    for i=1:size(Positions,1)  
        
       % Return back the search agents that go beyond the boundaries of the search space
%        Flag4ub=Positions(i,:)>ub;
%        Flag4lb=Positions(i,:)<lb;
%        Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;               
%         Positions(i,:)=sort(Positions(i,:));
        % Calculate objective function for each search agent
%        [Positions(i,:), fitness(i)]=objf(Positions(i,:)',measuredPos,measuredPos,BlindDeviceID,actualRefLocs,refDeviceID,Range,x);
        fitness(i)=fobj(Positions(i,:));
        % Update Alpha, Beta, and Delta
        if fitness(i)<Alpha_score 
            Alpha_score=fitness(i); % Update alpha
            Alpha_pos=Positions(i,:);
        end
        
        if fitness(i)>Alpha_score && fitness(i)<Beta_score 
            Beta_score=fitness(i); % Update beta
            Beta_pos=Positions(i,:);
            
        end
        
    end
    
    a=2-(cos(rand())*l/Max_iter); % a decreases non-linearly fron 2 to 1.
   
    % Update the Position of search agents including omegas
    for i=1:size(Positions,1)
        for j=1:size(Positions,2)     
                   
            r1=rand(); % r1 is a random number in [0,1]
            r2=rand(); % r2 is a random number in [0,1]
            
            A1=2*a*r1-a; % Equation (4)
            C1=2*r2;     % Equation (5)
            
            D_alpha=abs(C1*Alpha_pos(j)-Positions(i,j)); % Equation (6)-part 1
            X1(i,j)=Alpha_pos(j)-A1*D_alpha; % Equation (7)-part 1
                       
            r1=rand();
            r2=rand();
            
            A2=2*a*r1-a; % Equation (4)
            C2=2*r2;     % Equation (5)
            
            D_beta=abs(C2*Beta_pos(j)-Positions(i,j)); % Equation (6)-part 2
            X2(i,j)=Beta_pos(j)-A2*D_beta; % Equation (7)-part 2       
                     
        end
    end
    %% Cuckoo Search integrated here and take control from AGWO
   
    %  the key group members of AGWO are updated by cuckoo search's position updation formula 
    %    
    [~,index]=min(fitness);
    best=Positions(index,:);
    X1=get_cuckoos(X1,best,lb,ub); 
    X2=get_cuckoos(X2,best,lb,ub);
    %% control is sent back to AGWO
    Positions=(X1+X2)/2;% Equation (8)
%     Positions=sort(Positions);
    if Positions(i,j)>ub    
          Positions(i,j)=ub;    
          elseif Positions(i,j)<lb    
          Positions(i,j)=lb;    
    end
                    
    l=l+1;    
    Convergence_curve(l)=Alpha_score;
end

end
 

🎉3 参考文献

部分理论来源于网络,如有侵权请联系删除。

S. Sharma, R. Kapoor and S. Dhiman, "A Novel Hybrid Metaheuristic Based on Augmented Grey Wolf Optimizer and Cuckoo Search for Global Optimization," 2021 2nd International Conference on Secure Cyber Computing and Communications (ICSCCC), 2021, pp. 376-381, doi: 10.1109/ICSCCC51823.2021.9478142.

🌈4 Matlab代码及详细文章

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/23951.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【工具】typora的一些配置

文章目录1. 自动编号1.1 大纲编号1.2 目录编号3. 正文部分2. 自定义快捷键1. 自动编号 我们在查看文档时候&#xff0c;希望编译器能够自动根据标题样式按顺序编号&#xff0c;不需要用户自行添加相应标题。这样也方便用户随时更新文档时候不会因为修改了某个编号而要去修改其…

分享3个文字配音软件,帮助你们轻松制作短视频

有没有刚踏入自媒体行业的小伙伴呀&#xff1f;那你们是不是为视频的后期工作所困惑着呢&#xff1f; 大家平时刷到的视频虽然看起来简短又有趣&#xff0c;但其实后期制作并没那么简单&#xff0c;是由许多道工序环环相扣而成的&#xff0c;其中比较重要的&#xff0c;就是为视…

JavaEE进阶:Spring 更简单的读取和存储对象

文章目录前言一、存储 Bean 对象1、前置⼯作&#xff1a;配置扫描路径&#xff08;重要&#xff09;2、添加注解存储 Bean 对象① Controller&#xff08;控制器存储&#xff09;② Service&#xff08;服务存储&#xff09;③ Repository&#xff08;仓库存储&#xff09;④ C…

栈的实现.

文章目录1.栈的概念及结构2.栈的实现&#xff08;数组实现&#xff09;2.1栈头文件2.2函数实现3.栈的习题3.1有效的括号3.1.1思路分析3.1.2代码实现1.栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删…

Qt第二十一章:Qt Designer 之 布局

简单场景&#xff1a;页面上放一个QTextEdit控件 预览后发现&#xff0c;拖拽放大窗口&#xff0c;QTextEdit控件不会进行缩放&#xff0c;就像下边自适应缩放 我们看到了QTextEdit控件撑满了整个界面&#xff1a;在控件sizePolicy属性的允许范围中尽可能的撑满界面。 如果换成…

基于h5的风云网球网站的设计

目 录 1绪 论 1 1.1 选题背景及意义 1 1.2 国内外研究现状 2 1.3本章小结 2 2 前端开发及相关技术 4 2.1 HTML5前端开发环境 4 2.2 HTML5前端开发工具 4 2.3 HTML5前端开发相关技术 5 2.3.1 javascript简介 5 2.3.2 javascript基本特点 5 2.3.3 css简介 6 2.3.4 jQuery 7 2.4 本…

Python精髓之括号家族:方括号、花括号和圆括号,你真的会用吗?

Python独一无二的特色除了缩进还有哪些特色呢&#xff1f;大多数的回答一定是 语法简洁、简单易学、代码高效、功能强大四项。那究竟是Python的哪些语言特性使得人们普遍认为Python具有这些特点呢&#xff1f;其实很大程度上&#xff0c;这要归功于列表&#xff08;list&#x…

公众号免费题库使用方法

公众号免费题库使用方法 本平台优点&#xff1a; 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a; 题库&#xff1a;题库后台&#xff08;点击跳转&#xf…

haoop启动正常,但上不去网页hadoop102:9870

haoop启动正常&#xff0c;但上不去网页hadoop102:9870 症状如下: hadoop启动正常&#xff0c;jps正常 网页上不去 查下cmd&#xff0c;ping不通 解决方法 一、 先查hdfs 命令&#xff1a;vim /opt/module/hadoop-3.1.3/etc/hadoop/hdfs.site.xml 二、查hosts&#xff0c;我就是…

Redis实战篇(五)好友关注

1、点赞 ------------ Set 2、点赞排行 ------SortedSet 3、共同关注 -------set sinter 一、共同关注 Overridepublic Result followCommons(Long id) {// 1.获取当前用户Long userId UserHolder.getUser().getId();String key "follows:" userId;// 2.求交集St…

Gradle (史上最全): 5W字文

Gradle是绕不开的一个构建工具 对于用惯了 maven的人来说&#xff0c; Graddle不好用&#xff0c; 非常不好用&#xff0c; 主要是环境 会遇到各种各样的问题 但是&#xff0c;越来越多的 场景使用到了 Graddle&#xff0c;但是 spring 的源码&#xff0c;使用 Gradle 构建 …

【Fiddler】安卓7.0以上添加Fiddler/Charles证书到系统根证书(模拟器-雷电)

目录 一、安装工具 1、安装open-ssl 2、配置环境变量 3、验证安装 二、Fiddler 1、导出证书 2、转化cer格式变成PEM 3、查看PEM的哈希值 三、Charles 1、导出证书 2、查看PEM的哈希值 四、证书安装到安卓模拟器 &#xff08;雷电&#xff09; 1、使用模拟器的adb命令 2、…

【实战案例】——实战渗透某不法网站

作者名&#xff1a;Demo不是emo 主页面链接&#xff1a;主页传送门 创作初心&#xff1a;舞台再大&#xff0c;你不上台&#xff0c;永远是观众&#xff0c;没人会关心你努不努力&#xff0c;摔的痛不痛&#xff0c;他们只会看你最后站在什么位置&#xff0c;然后羡慕或鄙夷座…

RPA-机器人流程自动化

RPA-机器人流程自动化RPA-机器人流程自动化简介RPA是什么&#xff1f;RPA历史上的演变RPA原理RPA特点RPA技术框架及功能1.TagUI2.RPA for Python3.Robot Framework4.Automagica5.Taskt6.OpenRPARPA部署模式1 环境配置的参数调整2 将自动化程序整体打包部署3 版本的管理和控制机…

【微服务】SpringCloud的OpenFeign与Ribbon配置

&#x1f496; Spring家族及微服务系列文章 ✨【微服务】SpringCloud轮询拉取注册表及服务发现源码解析 ✨ 【微服务】SpringCloud微服务续约源码解析 ✨ ✨【微服务】SpringCloud微服务注册源码解析 ✨【微服务】Nacos2.x服务发现&#xff1f;RPC调用&#xff1f;重试机制&…

token的使用

一&#xff1a;什么是token及token的作用&#xff1f; 1.什么是token&#xff1f; Token是首次登录时&#xff0c;由服务器下发&#xff0c;作为客户端进行请求时的一个令牌。当请求后台方法时&#xff0c;用于身份验证 当第一次登录后&#xff0c;服务器生成一个Token便将此…

1013 Battle Over Cities

目录 Input Specification: Output Specification: Sample Input: Sample Output: 一、题目大意 二、思路 三、代码 It is vitally important to have all the cities connected by highways in a war. If a city is occupied by the enemy, all the highways from/to…

138.深度学习分布式计算框架-1

138.1 PaddlePaddle PaddlePaddle是百度开源的一个深度学习平台PaddlePaddle为深度学习研究人员提供了丰富的API&#xff0c;可以轻松地完成神经网络配置&#xff0c;模型训练等任务。官方文档中简易介绍了如何使用框架在 线性回归识别数字图像分类词向量个性化推荐情感分析语…

2.14 分享9个高吸睛小红书首图制作技巧,要认真学哦!【玩赚小红书】

在小红书里&#xff0c;推荐的图片比例是3:4、1:1、4:3。 做图的时候就要提前调整好比例&#xff0c;免得上传被自动裁剪掉重要信息。竖屏最常用&#xff0c;因为比较“霸屏”&#xff0c;展现的信息空间比较大。当然&#xff0c;选哪个比例还是看个人偏好&#xff0c;尽量保持…

2022年C++面试题万余字汇总【面试官常问】

2022年C面试题【常问重点问题】1、请你说说 GET 和 POST 的区别&#xff1f;2、简述一下 C 中的多态?3、说一说进程有多少种状态&#xff0c;如何转换?3、请你说说指针和引用的区别4、简述一下虚函数的实现原理5、说一说 vector 和 list 的区别&#xff0c;分别适用于什么场景…