改进的智能优化算法定性分析:收敛行为分析(Analysis of the convergence behavior )

目录

一、智能优化算法改进收敛行为分析运行结果

二、收敛性分析 

三、GWO1在F1收敛性运行结果

四、改进灰狼算法GWO1 

五、代码获取 


一、智能优化算法改进收敛行为分析运行结果

本文以改进的灰狼算法 GWO1 为例,在 CEC2005 测试函数上进行定性分析实验。

F1:

F5:

 F12:

二、收敛性分析 

       为了证明改进的灰狼算法GWO1的收敛性,我们给出了上图所示的收敛行为,在第一列中,显示基准函数的二维形状。第二列显示了搜索代理的最终位置,红点表示最优解的位置。从图中可以看出,搜索代理分布在整个参数空间中,但它们的位置主要在最优解附近。这表明GWO1具有出色的勘探开发性能。此外,第三列表示整个迭代过程中平均适应度值的变化。曲线收敛非常快表明了GWO1收敛速度很快。第四列说明了搜索代理在第一个维度中的轨迹。可以观察到,在早期的迭代过程中存在明显的波动,但是当迭代达到200次时,波动趋于平稳。这表明GWO1在避免局部最优和实现全局最优方面具有良好的性能。最后一列是收敛曲线,对于单峰函数,收敛曲线显得比较平滑,说明可以通过迭代得到最优值。然而,对于具有多个局部最优的多模态函数,需要在搜索过程中不断地逃避局部最优,以达到全局最优。结果表明,收敛曲线呈阶梯状。总体而言,基于这四个评价指标,GWO1明显具有收敛性。

三、GWO1在F1收敛性运行结果

四、改进灰狼算法GWO1 

function [Alpha_score,Alpha_pos,Convergence_curve]=GWO1(SearchAgents_no,Max_iter,lb,ub,dim,fobj)% initialize alpha, beta, and delta_pos
Alpha_pos=zeros(1,dim);
Alpha_score=inf; %change this to -inf for maximization problemsBeta_pos=zeros(1,dim);
Beta_score=inf; %change this to -inf for maximization problemsDelta_pos=zeros(1,dim);
Delta_score=inf; %change this to -inf for maximization problems%Initialize the positions of search agents
Positions=initialization(SearchAgents_no,dim,ub,lb);Convergence_curve=zeros(1,Max_iter);l=0;% Loop counter% Main loop
while l<Max_iterfor i=1:size(Positions,1)  % Return back the search agents that go beyond the boundaries of the search spaceFlag4ub=Positions(i,:)>ub;Flag4lb=Positions(i,:)<lb;Positions(i,:)=(Positions(i,:).*(~(Flag4ub+Flag4lb)))+ub.*Flag4ub+lb.*Flag4lb;               % Calculate objective function for each search agentfitness=fobj(Positions(i,:));% Update Alpha, Beta, and Deltaif fitness<Alpha_score Alpha_score=fitness; % Update alphaAlpha_pos=Positions(i,:);endif fitness>Alpha_score && fitness<Beta_score Beta_score=fitness; % Update betaBeta_pos=Positions(i,:);endif fitness>Alpha_score && fitness>Beta_score && fitness<Delta_score Delta_score=fitness; % Update deltaDelta_pos=Positions(i,:);endenda=sin(((l*pi)/Max_iter)+pi/2)+1; % a decreases linearly fron 2 to 0% Update the Position of search agents including omegasfor 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 (3.3)C1=2*r2; % Equation (3.4)D_alpha=abs(C1*Alpha_pos(j)-Positions(i,j)); % Equation (3.5)-part 1X1=Alpha_pos(j)-A1*D_alpha; % Equation (3.6)-part 1r1=rand();r2=rand();A2=2*a*r1-a; % Equation (3.3)C2=2*r2; % Equation (3.4)D_beta=abs(C2*Beta_pos(j)-Positions(i,j)); % Equation (3.5)-part 2X2=Beta_pos(j)-A2*D_beta; % Equation (3.6)-part 2       r1=rand();r2=rand(); A3=2*a*r1-a; % Equation (3.3)C3=2*r2; % Equation (3.4)D_delta=abs(C3*Delta_pos(j)-Positions(i,j)); % Equation (3.5)-part 3X3=Delta_pos(j)-A3*D_delta; % Equation (3.5)-part 3             Positions(i,j)=(5*X1+3*X2+2*X3)/10;% Equation (3.7)endend    Convergence_curve(l)=Alpha_score;
end%%
function Positions=initialization(SearchAgents_no,dim,ub,lb)Boundary_no= size(ub,2); % numnber of boundaries% If the boundaries of all variables are equal and user enter a signle
% number for both ub and lb
if Boundary_no==1Positions=rand(SearchAgents_no,dim).*(ub-lb)+lb;
end% If each variable has a different lb and ub
if Boundary_no>1for i=1:dimub_i=ub(i);lb_i=lb(i);Positions(:,i)=rand(SearchAgents_no,1).*(ub_i-lb_i)+lb_i;end
end

五、代码获取 

需要代码请私信博主

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot之Actuator基本使用

SpringBoot之Actuator基本使用 引入分类常用接口含义healthbeansconditionsheapdumpmappingsthreaddumploggersmetrics 引入 <!-- actuator start--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter…

大麦订单生成器 大麦订单购买截图生成

后台一键生成链接&#xff0c;独立后台管理 教程&#xff1a;修改数据库config/Conn.php 不会可以看源码里有教程 下载程序&#xff1a;https://pan.baidu.com/s/16lN3gvRIZm7pqhvVMYYecQ?pwd6zw3

企业邮箱费用详解!了解企业邮箱的费用及其相关信息

对于需要可靠的邮箱平台的企业来说&#xff0c;企业邮箱可能是最好的解决方案。有许多供应商提供企业邮箱服务&#xff0c;他们通常每月都有相应的费用。 在考虑企业邮箱的成本时&#xff0c;有几件事要记住。首先&#xff0c;您应该考虑使用邮箱服务的用户数量&#xff0c;因为…

✅1本期刊发生变动,EI期刊目录更新!

【SciencePub学术】继上次更新后一个月&#xff0c;爱思唯尔&#xff08;Elsevier&#xff09;官网更新了EI Compendex收录期刊目录。本次更新EI期刊目录中&#xff0c;Serials&#xff08;连续出版/核心收录&#xff09;列表共收录期刊名称5347个&#xff0c;与上次更新相比&a…

java快速生成数据库表文档(HTML、DOC、MD)

在企业级开发中、我们经常会有编写数据库表结构文档的时间付出&#xff0c;关于数据库表结构文档状态&#xff1a;要么没有、要么有、但都是手写、后期运维开发&#xff0c;需要手动进行维护到文档中&#xff0c;很是繁琐&#xff0c;这里推荐一个开源项目&#xff1a;screw gi…

leetcode743. 网络延迟时间 floyd

https://leetcode.cn/problems/network-delay-time/ 有 n 个网络节点&#xff0c;标记为 1 到 n。 给你一个列表 times&#xff0c;表示信号经过 有向 边的传递时间。 times[i] (ui, vi, wi)&#xff0c;其中 ui 是源节点&#xff0c;vi 是目标节点&#xff0c; wi 是一个信…

成都链安:7月区块链安全事件爆发式增长,导致损失超4.11亿美元

7月&#xff0c;各类安全事件数量及造成的损失较6月爆发式增长。7月发生较典型安全事件超36起&#xff0c;各类安全事件造成的损失总金额约4.11亿美元&#xff08;虚拟货币案件涉案金额除外&#xff09;&#xff0c;较6月上涨约321%。Rug Pull导致损失约2065万美元&#xff0c;…

Python模块psycopg2连接postgresql

目录 1. 基础语法 2. 基础用法 3. 多条SQL 4. 事务SQL 1. 基础语法 语法 psycopg2.connect(dsn #指定连接参数。可以使用参数形式或 DSN 形式指定。host #指定连接数据库的主机名。dbname #指定数据库名。user #指定连接数据库使用的用户名。…

探寻AI大模型平台之巅——文心千帆

目录 前言1. 何为文心千帆2. 核心亮点2.1 第三方大模型2.2 Prompt模板2.3 安全可靠 3. 一站式服务3.1 数据管理3.2 数据标注3.3 数据处理3.4 数据训练3.5 模型纳管3.5.1 模型评估3.5.2 模型压缩 3.6 服务发布 总结 前言 众多AI大模型不断涌现&#xff0c;一时不知如何挑选&…

Java 线程的生命周期和状态(实践加深理解)

一、常规回答&#xff08;八股文&#xff09; 线程的生命周期一共分为有6个状态&#xff0c;在某个时刻中&#xff0c;一个线程只会处在6个状态中的其中一种。 第1&#xff1a;初始状态&#xff08;NEW&#xff09; 当前的线程已经被创建了出来&#xff0c;但是还没有通过调用…

ELK高级搜索(一)

文章目录 ELK搜索1&#xff0e;简介1.1 内容1.2 面向 2&#xff0e;Elastic Stack2.1 简介2.2 特色2.3 组件介绍 3&#xff0e;Elasticsearch3.1 搜索是什么3.2 数据库搜索3.3 全文检索3.4 倒排索引3.5 Lucene3.6 Elasticsearch3.6.1 Elasticsearch的功能3.6.2 Elasticsearch使…

【uniapp】样式合集

1、修改uni-data-checkbox多选框的样式为单选框的样式 我原先是用的单选&#xff0c;但是单选并不支持选中后&#xff0c;再次点击取消选中&#xff1b;所以我改成了多选&#xff0c;然后改变多选样式&#xff0c;让他看起来像单选 在所在使用的页面上修改样式即可 <uni-d…

Android Gradle 骚操作,将两个项目合并到一个项目中

1. 前言 在工作中&#xff0c;由于各种原因&#xff0c;导致需要将两个可单独运行的App项目&#xff0c;合并到一个git仓库里&#xff0c;且单独的App项目里还有其他Module模块。 如果只是将两个项目复制到同一个文件夹下&#xff0c;还是得单独打开各个项目&#xff0c;是很不…

CCL 2023 电信网络诈骗案件分类评测-第一名方案

1 任务内容 1.1 任务背景 2022年12月1日起&#xff0c;新出台的《反电信网络诈骗犯罪法》正式施行&#xff0c;表明了我国治理当前电信网络诈骗乱象的决心。诈骗案件分类问题是打击电信网路诈骗犯罪过程中的关键一环&#xff0c;根据不同的诈骗方式、手法等将其分类&#xff…

Leetcode每日一题:141. 环形链表、142. 环形链表 II、143. 重排链表(2023.7.29、30、31 C++)

目录 141. 环形链表 问题描述&#xff1a; 实现代码与解析&#xff1a; 快慢指针&#xff1a; 原理思路&#xff1a; 142. 环形链表 II 问题描述&#xff1a; 实现代码与解析&#xff1a; 快慢指针 原理思路&#xff1a; 143. 重排链表 题目描述&#xff1a; 实现…

分布式系统的 38 个知识点

天天说分布式分布式&#xff0c;那么我们是否知道什么是分布式&#xff0c;分布式会遇到什么问题&#xff0c;有哪些理论支撑&#xff0c;有哪些经典的应对方案&#xff0c;业界是如何设计并保证分布式系统的高可用呢&#xff1f; 1. 架构设计 这一节将从一些经典的开源系统架…

基于ASP.NET MVC开发的、开源的个人博客系统

推荐一个功能丰富、易于使用和扩展的开源博客&#xff0c;可以轻松地创建和管理自己的博客。 项目简介 基于.Net Framework 4.5开发的、开源博客系统&#xff0c;具有丰富的功能&#xff0c;包括文章发布、分类、标签、评论、订阅、统计等功能&#xff0c;同时也可以根据需要…

Stable Diffusion如何生成高质量的图-prompt写法介绍

文章目录 Stable Diffusion使用尝试下效果prompt的编写技巧prompt 和 negative promptPrompt格式Prompt规则细节优化Guidance Scale 总结 Stable Diffusion Stable Diffusion是一个开源的图像生成AI系统,由Anthropic公司开发。它基于 Transformer模型架构,可以通过文字描述生成…

TypeScript 【type】关键字的进阶使用方式

导语&#xff1a; 在前面章节中&#xff0c;我们了解到 TS 中 type 这个关键字&#xff0c;常常被用作于&#xff0c;定义 类型别名&#xff0c;用来简化或复用复杂联合类型的时候使用。同时也了解到 为对象定义约束接口类型 的时候所使用的是 Interfaces。 其实对于前面&#…

安装金蝶云星空出错 T_META FORMENUMITEM

找不到对象"T_META FORMENUMITEM”&#xff0c;因为它不存在或者你没有所需的权限 解决方案 如果出现以下问题