1 内容介绍

本文提出了一种新的基于种群的优化方法,称为 Aquila Optimizer (AO),它是灵感来自天鹰座在捕捉猎物过程中的自然行为。因此,优化所提出的AO算法的程序用四种方法表示;按高选择搜索空间垂直俯冲翱翔,通过短滑翔攻击的轮廓飞行在发散的搜索空间内探索,通过低速飞行和慢速下降攻击在收敛搜索空间内利用,并通过步行和俯冲抓住猎物。

2 仿真代码

% ----------------------------------------------------------------------- %

function nd_pop=GetNonDominatedParticles(pop)

    ND=~[pop.Dominated];
    
    nd_pop=pop(ND);

end

%__________________________________________________________________ %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% ----------------------------------------------------------------------- %

function dom=Dominates(x,y)

    if isstruct(x)
        x=x.Cost;
    end

    if isstruct(y)
        y=y.Cost;
    end
    
    dom=all(x<=y) && any(x<y);

end

% ----------------------------------------------------------------------- %

function [Archive_X_Chopped, Archive_F_Chopped, Archive_mem_ranks_updated, Archive_member_no]=HandleFullArchive(Archive_X, Archive_F, Archive_member_no, Archive_mem_ranks, ArchiveMaxSize)

for i=1:size(Archive_F,1)-ArchiveMaxSize
    index=RouletteWheelSelection(Archive_mem_ranks);
    
    Archive_X=[Archive_X(1:index-1,:) ; Archive_X(index+1:Archive_member_no,:)];
    Archive_F=[Archive_F(1:index-1,:) ; Archive_F(index+1:Archive_member_no,:)];
    Archive_mem_ranks=[Archive_mem_ranks(1:index-1) Archive_mem_ranks(index+1:Archive_member_no)];
    Archive_member_no=Archive_member_no-1;
end

Archive_X_Chopped=Archive_X;
Archive_F_Chopped=Archive_F;
Archive_mem_ranks_updated=Archive_mem_ranks;

% ----------------------------------------------------------------------- %

clear;
close all;
clc;
% format long g

% Initial parameters of the MOAOS algorithm
for j=8
    max_iter=100;
    Pop=100;
    ArchiveMaxSize=100;

    nvar=30;
    %     obj_no=2;

    method=3;
    if method==3

        Archive_F1=load(sprintf('P%d.txt',j));
    end
    obj_no=2;
    mkdir (sprintf('P%d',j))
    %-------------------------- MOAOS-----------------------------------------
    for i=1% Numbver of independent runs

        [Archive_F]=MAOS(max_iter,ArchiveMaxSize,Pop,nvar,method,j);
        if numel(Archive_F')==2
            continue
        end
        Archive_F=Archive_F';

        if obj_no==2
            plot(Archive_F1(:,1),Archive_F1(:,2),'Color','g','LineWidth',4);
            hold on
            plot(Archive_F(:,1),Archive_F(:,2),'ro','LineWidth',1,...
                'MarkerEdgeColor','b',...
                'MarkerFaceColor','r',...
                'Marker','o',...
                'MarkerSize',10);
            legend('True PF','Obtained PF');
            title(sprintf('MOAOS FOR MMF%d PROBLEM',j));
            xlabel('obj_1');
            ylabel('obj_2');

            hold off
        end
        if obj_no==3
            plot3(Archive_F1(:,1),Archive_F1(:,2),Archive_F1(:,3),'Color','g','LineWidth',1);
            hold on
            plot3(Archive_F(:,1),Archive_F(:,2),Archive_F(:,3),'ro','LineWidth',1,...
                'MarkerEdgeColor','b',...
                'MarkerFaceColor','r',...
                'Marker','o',...
                'MarkerSize',10);
            legend('True PF','Obtained PF');
            title(sprintf('MOAOS FOR MMF%d PROBLEM',j));
            xlabel('obj_1');
            ylabel('obj_2');
            zlabel('obj_3');

            hold off
        end

        savefig(sprintf('P%d/fig_%d.fig',j,i));

    end

    save(sprintf('P%d/result_P%d.mat',j,j));

end

3 运行结果

4 参考文献

Abualigah, L., Yousri, D., Elaziz, M.A., Ewees, A.A., A. Al-qaness, M.A., Gandomi,A.H., Aquila Optimizer: A novel meta-heuristic optimization Algorithm, Computers & Industrial Engineering
(2021)​

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【智能优化算法-天鹰算法】基于天鹰优化算法求解多目标优化问题附matlab代码相关推荐

  1. 【雷达检测】基于复杂环境下的雷达目标检测技术附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  2. 【图像分割】基于计算机视觉实现视网膜图像中的血管分割附matlab代码

    1 简介 视网膜图像里的血管是可以被观察到的一类微血管,并且它是无创伤的,而其分布位置也属于深度部位[5].其分布.结构和形态特征的变化能在一定程度上反映病变的程度.而白血病.糖尿病以及高血压等疾病都 ...

  3. 基于混合整数二阶锥(MISOCP)的配电网重构(附matlab代码)

    参考资料:主动配电网网络分析与运行调控 (sciencereading.cn) 配电网重构是指在满足配电网运行基本约束的前提下,通过改变配电网中一个或多个开关的状态对配电网中一个或多个指标进行优化.通 ...

  4. 优化算法 | 基于粒子群优化算法的Bp神经网络预测21~22赛季NBA总冠军(附MATLAB代码)

    文章目录 前言 一.数据准备 二.基于PSO的Bp神经网络预测 1.粒子表达方式 2.目标函数 3.粒子速度和位置的更新 三.MATLAB代码 四.预测结果 五.代码获取方式 总结 近期你可能错过了的 ...

  5. 【图像分割】基于区域的重叠椭圆拟合实现细胞分割附matlab代码

    1 内容介绍 一种基于区域的方法,用于用自动确定的可能重叠椭圆的数量来逼近任意 2D 形状.RFOVE 是完全无监督的,在没有任何假设或关于对象形状的先验知识的情况下运行,并且扩展和改进了递减椭圆拟合 ...

  6. 【图像分割】基于方向谷形检测实现静脉纹路分割附MATLAB代码

    1 内容介绍 一种基于方向谷形检测的指静脉图像分割方法及其系统,终端,包括以下步骤:步骤1,接收图像采集模块采集的指静脉图像;步骤2,对截取的指静脉图像进行脊波变换作图像增强处理;步骤3,针对增强处理 ...

  7. 【滤波估计】基于双卡尔曼滤波实现soc和soh联合估计附matlab代码

    1 内容介绍 对电动汽车电池管理系统进行电池状态估计非常重要准确充电,实现电池模型参数的在线更新.在本文中,开路电压的估计转换为开路电压拟合的估计参数,快速时变参数开路电压被转换成几个慢时变参数.提出 ...

  8. 【路径规划】基于FMM快速行进法实现船舶路径规划附matlab代码

    1 内容介绍 第一步 描绘了一个模拟环境,其中位于通道之间的两个小岛,其中起点和目标点分别用红色阴影圆圈和红色星星表示,障碍区域用黑色表示,其中到目标点(或障碍)的距离越大,电势就越高. 论文中描述为 ...

  9. 【数学建模】基于SIR模型实现新冠病毒COVID-19估计附matlab代码

    1 内容介绍 COVID-19是由严重急性呼吸综合症冠状病毒2型引发的传染病,它最初病毒携带者是一些动物,传染源主要是COVID-19患者,无症状患者.传播方式主要是呼吸道飞沫近距离传播,接触传播,还 ...

  10. 【多式联运】基于粒子群结合遗传算法实现陆海空多式联运问题附matlab代码

    1 简介 物流运输方式由公路.水路.空运及管道等 3 种方式组成,3 种运输方式在技术上.经济上各有长短,都有适宜的 使用范围,每种运输方式单独运用很难实现节约资源.降本增效.随着我国经济不断发展以及 ...

最新文章

  1. 重构广义应用数学:人工智能,数学发展的重大机遇
  2. Python中from...import与import......as的区别
  3. 剑指Offer(Java实现)栈的压入、弹出序列
  4. 分布式数据库切分规则介绍
  5. java 禁用迅雷_Squid使用User Agent过滤禁止迅雷
  6. 医学图像-颅内出血(转载+整理)
  7. 公有云 私有云 混合云_混合云的承诺,收益和产品
  8. [Wix] 搞了这么久才知道Wix怎么装
  9. 一个网站大概多少钱_建一个外贸网站大概需要多少钱?角点科技总结建外贸网站的费用...
  10. flutter列表无法滚动到底部_在闲鱼实习做Flutter是什么感受?
  11. 麒麟芯片或“绝版”,华为多系列手机涨价​;一加回应“刘作虎回归OPPO”;DBeaver 7.2 发布| 极客头条
  12. 自制简单的Tabs(Vue)
  13. rust自我解脱_自我解脱
  14. scala 主构造器_Scala主构造器深度
  15. 多个注解可以合并成一个,包括自定义注解
  16. 网站优化如何创作优质的内容?
  17. mysql绘制er图教程_使用MySQLWorkBench绘制ER图
  18. 最新二次开发仿包图网素材图片源码
  19. ecshop打开手机端QQ对话窗口
  20. 电脑连接热点无internet访问权限_电脑连接无线网,显示无网络访问权限

热门文章

  1. 算法 - 希尔排序(Shell Sort)
  2. 化工有害气体在线监测解决方案,还你安全放心的生产环境
  3. Eclipse导入项目左下角有感叹号/红叉
  4. SMT激光钢网制作开孔厚度有哪些?
  5. 针对在线游戏玩家的 DDoS 攻击和破坏性的涟漪效应
  6. bufferedreader.readline()解析
  7. C300简易配置基本操作--移机+业务配置(详细!!!)
  8. html底部导航栏图标切换,【微信小程序】自定义底部导航栏,切换不同页面显示不同tabbar...
  9. AD20(Altium designer2020)怎么隐藏所有元器件的位号(名字)和属性?
  10. 微信开发手机在线调试