【改进算法】【IHAOAVOA】天鹰优化算法和非洲秃鹫混合优化算法

2023-10-29

目录

1 主要内容

2 部分代码

3 程序结果

4 下载链接


主要内容

该程序复现《IHAOAVOA: An improved hybrid aquila optimizer and African vultures optimization algorithm for global optimization problems》,天鹰优化算法(AO)和非洲秃鹫算法(AVOA)各有优势:AO具有强大的全局勘探能力,但其局部开发阶段还不够稳定。另一方面,AVOA具有良好的开发能力,但勘探机制不足。基于这两种算法的特点,提出了一种改进的AO和AVOA混合优化算法,以克服单一算法的不足,为解决全局优化问题提供了更高质量的解决方案。

大家在学习和建立模型过程中,很难原创性的找到智能优化算法,一开始简单的算法改进,如粒子群中的权重非线性化或者种群精英化等均可以提升算法创新性,但是随着各种组合创新的出现,智能算法创新需要结合的方法越来越多,也需要越来越新颖,因此各种文献都祭出多种算法结合的“混合”优化算法,本次分享的两种算法结合的优化代码很具有参考意义,程序采用matlab编程,提供了23个测试函数,通过修改主函数的Function_name即可分别检查该算法对不同测试函数的性能。

  • IHAOAVOA流程图

  • 主要创新点

  1. 增加复合学习算法(COBL)
COBL是智能算法中一个强大的优化工具,已成功用于改进不同的原生元启发式算,主要思想是同时评价当前解的适应度值及其反向解,然后保留更适合的适应度值参与后续的迭代计算。因此,OBL可以有效地增加找到更好的候选解的可能性。
2.结合AO的勘探阶段和AVOA的开发阶段
综合两个算法的优势,实现更加快速找到最优值的作用。

部分代码

% The IHAOAVOA Optimization Algorithm
function [ihaoavoa_score,ihaoavoa_pos,ihaoavoa_curve]=IHAOAVOA(N,max_iter,lb,ub,dim,fobj)
    tic
    % initialize Best_vulture1, Best_vulture2
    ihaoavoa_pos=zeros(1,dim);
    ihaoavoa_score=inf;
    Best_vulture2_X=zeros(1,dim);
    Best_vulture2_F=inf;
    %Initialize the first random population of vultures
    X=initialization(N,dim,ub,lb);   
   %%  Controlling parameter   
   %/********AVOA**********/
    p2=0.4;
    p3=0.6;
    alpha=0.8;
    betha=0.2;
    gamma=2.5;
    %/********AO**********/
    avto = 1:dim;
    u = .0265;
    r0 = 10;
    rao = r0 +u*avto;
    omega = .005;
    phi0 = 3*pi/2;
    phi = -omega*avto+phi0;
    x = rao .* sin(phi);  
    y = rao .* cos(phi); 
    %/********LOBL**********/
    k=12000; % Scale Coefficient
    
    t=1; % Loop counter
%%Main loop
while t <= max_iter
    %% Evaluate the fitness
        for i=1:size(X,1)
            % Calculate the fitness of the population
            current_vulture_X = X(i,:);
            current_vulture_F=fobj(current_vulture_X);
            % Update the first best two vultures if needed
            if current_vulture_Fif current_vulture_F>ihaoavoa_score && current_vulture_F2,2,1,1)*((sin((pi/2)*(t/max_iter))^gamma)+cos((pi/2)*(t/max_iter))-1);
        P1=(2*rand+1)*(1-(t/max_iter))+a;
        %% FDB
        index = fitnessDistanceBalance(X,ihaoavoa_score); 
        %% Update the location
        for i=1:size(X,1)
            current_vulture_X = X(i,:);  % pick the current vulture back to the population
            F=P1*(2*rand()-1);  
            random_vulture_X=random_select(ihaoavoa_pos,Best_vulture2_X,alpha,betha);
          %% Composite opposition-based learning strategy (COBL)
           if rand<0.5
               opposite_X=lb+ub-rand*current_vulture_X;
            else
               opposite_X=(ub + lb)/2 + (ub + lb)/(2*k) - current_vulture_X/k;
            end
            Flag_UB=opposite_X>ub; % check if they exceed (up) the boundaries
            Flag_LB=opposite_Xif they exceed (down) the boundaries
            opposite_X=(opposite_X.*(~(Flag_UB+Flag_LB)))+ub.*Flag_UB+lb.*Flag_LB;
            Fnew=fobj(opposite_X);
            if Fnewif Fnewif abs(F) >= 1 
                if rand <0.5
                    current_vulture_X=ihaoavoa_pos*(1-t/max_iter)+(mean(X(i,:))-ihaoavoa_pos)*rand();
                else
                    current_vulture_X=ihaoavoa_pos.*Levy(dim)+X(index,:)+(y-x)*rand;  
                end
            %% Exploitation stage:AVOA
            elseif abs(F) < 1 
                current_vulture_X = exploitation(current_vulture_X, ihaoavoa_pos, Best_vulture2_X, random_vulture_X, F, p2, p3, dim, ub, lb); % Modified the position-weighted equation
            end
                X(i,:) = current_vulture_X; % place the current vulture back into the population
        end

程序结果

4 下载链接

见下方联系方式->程序目录

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【改进算法】【IHAOAVOA】天鹰优化算法和非洲秃鹫混合优化算法 的相关文章

  • npm install报错 -> npm ERR! Unexpected token ‘.‘ 报错解决办法

    原因 我遇到这个问题的场景是用nvm1 1 7的版本安装了16 x以上的node 然后再下载依赖的时候就报错了 总结一下就是nvm版本太低了 他的里面没有集成高版本node导致的 解决 我们把nvm版本换到最新的就可以了 1 卸载掉当前所有
  • 第4章 R语言编程基础——数据整理与预处理

    目录 4 1 经济 金融数据库 4 1 1 金融数据与数据库 4 1 2 国外金融数据库概况 4 1 3 国内金融数据库概况 4 1 4 数据的主要内容 4 2 数据格式 4 3 数据的导入 4 3 1 从控制台上输入数据 4 3 2 上市
  • 异步模式之生产者与消费者

    1 定义 异步 由于存在消息队列 生产者产生的数据不能立刻被消费者处理 中间会有延迟 因此归为异步 异步与同步的区别 同步 线程A要请求某个资源 但是此资源正在被线程B使用中 因为同步机制存在 线程A请求不到 只能等待下去 异步 线程A要请

随机推荐

  • 存储过程违反GTID一致性的问题解决方法

    java sql SQLException Statement violates GTID consistency CREATE TEMPORARY TABLE 解决 2021 2 1项目现场反馈存储过程程序报错无法创建和删除临时表 语句违
  • io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: no further informati

    项目启动报错 io netty channel AbstractChannel AnnotatedConnectException Connection refused no further information 127 0 0 1 63
  • Linux访问ioctl访问失败的问题

    今天遇到一个ioctl访问失败的问题 做个记录 主要是用户态是32位 内核态时64位的 对于字符设备 内核中ioctl的挂接有不同 一 写64位driver驱动时 必须实现compat ioctl实现 用户态是32位时 会调用这个接口 否则
  • SpringBoot使用多线程

    一 概述 1 为什么使用多线程 在我们开发系统过程中 经常会处理一些好费时间的任务 如 向数据库中插入上百万数据 将会导致系统等待 这个时候就会自然想到使用多线程 2 为什么使用Spring来实现多线程 使用Spring比使用JDK原生的并
  • 企业人员信息管理(一)

    一 struts2和hibernate整合 1 整合 StrutsPrepareAndExecuteFilter作用详解 https blog csdn net clk esunny article details 80293978 过滤器
  • 跨境外贸业务,选择动态IP还是静态IP?

    在跨境业务中 代理IP是一个关键工具 它们提供了匿名的盾牌 有助于克服网络服务器针对数据提取设置的限制 无论你是需要经营管理跨境电商店铺 社交平台广告投放 还是独立站SEO优化 代理IP都可以让你的业务程度更加丝滑 达到事半功倍的效果 代理
  • python是不是面向对象的程序设计语言是_Python是一种面向对象程序设计语言

    Python是一种面向对象程序设计语言 答 正确 中国大学MOOC 构建人类命运共同体 要求在政治上 答 相互尊重 平等协商 成人膀胱空虚时膀胱尖不超过 答 耻骨联合上缘 课堂教学中常采用 读一读 议一议 练一练 讲一讲 的教学方式 这符合
  • 百度文心一言可以接入微信小程序啦!

    文心一言 英文名 ERNIE Bot 是百度全新一代知识增强大语言模型 文心大模型家族的新成员 能够与人对话互动 回答问题 协助创作 高效便捷地帮助人们获取信息 知识和灵感 接入小程序效果图 1 百度智能云 千帆大模型平台 注册登录账号 2
  • Qt Creator增强套装16.9.27.12更新

    HI 大家好 这里是jiangcaiyang 我们很高兴地告诉大家 我们将要发布Qt Creator增强套装新的版本了 这一次呢 主要是应大家强烈的要求 更新了我们的聊天神器 萌梦聊天室 现在它不再频繁地崩溃以及暂时性地无法回消息了 这个聊
  • docker安装seata

    下载seata docker镜像 docker pull seataio seata server 1 4 2 创建挂载目录和文件 mkdir p opt docker seata conf touch opt docker seata c
  • 创建老版本react-native项目,以0.59.10为例(0.60.0之前的版本)

    目录 创建react native 0 59 10版本项目前言 开始创建react native 0 59 10版本 创建react native 0 59 10版本项目前言 写这篇文章之前 有些东西要说明一下 当前rn的最新版本为 0 7
  • JavaFx转换为exe

    要点 首先导入依赖 在pom xml导入依赖 具体解释 而maven的两种方式 前者生成两个文件 程序jar包与复制所需的依赖jar包到lib目录 操作比较繁琐 而且在exe4j中进行打包的话会出现Caused by java lang N
  • JS基础知识(二十八):箭头函数

    1 箭头函数的使用 箭头函数有两种格式 一种只包含一个表达式 没有 和 return 一种包含多条语句 这个时候 return 就不能省略 箭头函数类型 代码 没有参数 gt 100 function return 10 一个参数 x gt
  • 使用Initramfs挂载根文件系统,编译过程multiple target patterns(多个目标匹配)问题的解决

    编译内核前 配置内核用Initramfs挂载根文件系统 配置选项如下 Genera setup gt Initial RAM filesystem and RAM disk initramfs initrd support home myr
  • 想要精通算法和SQL的成长之路 - 戳气球

    想要精通算法和SQL的成长之路 戳气球 前言 一 戳气球 1 1 记忆化搜索 前言 想要精通算法和SQL的成长之路 系列导航 一 戳气球 原题链接 首先我们看一下题干 对于超出了数组边界的 就当做它是一个数字为1的气球 遇到这种的 我们可以
  • POI设置EXCEL单元格的"条件格式"

    这篇博客主要是说明如何通过POI设置excle文档中单元格的条件格式 POI版本 poi 3 5 FINAL 涉及到的主要类 org apache poi hssf usermodel HSSFSheet org apache poi hs
  • SAN 网络配置规范

    管理网络的界定 为了统一起见 我们对管理网络进行如下界定 1 管理网络是指专门开辟一个用于管理的网络 主要用于 SAN 网 络设备的管理和调试 SAN 存储设备的管理和调试等 包括 BNA SAN 网络管理系统均使用管理网络 地址段为 X
  • Error when import grpc: "Symbol not found: _deflate"解决方法

    Import grpc时出现如下错误 Traceback most recent call last File private var tmp bazel lls 5ea0bb16383fa9c06c47b535a23ac475 execr
  • mybatis—plus

    接口和实现类都继承 如果你让你的服务接口继承 IService 并让你的服务实现类继承 ServiceImpl 那么你的服务接口将明确地列出所有可用的 CRUD 方法 只继承 ServiceImpl 如果你只让你的服务实现类继承 Servi
  • 【改进算法】【IHAOAVOA】天鹰优化算法和非洲秃鹫混合优化算法

    目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序复现 IHAOAVOA An improved hybrid aquila optimizer and African vultures optimizati