• 【智能优化算法】基于金豺优化算法求解单目标优化问题附matlab代码


    1 内容介绍

    提出了一种新的自然启发优化方法,称为金豺优化(GJO)算法,旨在为解决现实世界的工程问题提供一种替代优化方法。 GJO 的灵感来自金豺 (Canis aureus) 的协作狩猎行为。 算法的三个基本步骤是猎物搜索、包围和突袭,它们都经过数学建模和应用。 通过与不同的最先进的元启发式算法进行比较,在基准函数上评估了所提出算法的能力。 所提出的算法被进一步测试以解决七个不同的工程设计问题,并介绍了该方法在电气工程领域的实际实现。 经典工程设计问题和实际实现的结果验证了所提出的算法适用于解决具有未知搜索空间的挑战性问题。​

    2 仿真代码

    %___________________________________________________________________%

    %  Golden Jackal Optimization  (GJO)            

    %   Main paper: Chopra, Nitish, and Muhammad Mohsin Ansari. "Golden Jackal Optimization: A

    %              Novel Nature-Inspired Optimizer for Engineering Applications." 

    %              Expert Systems with Applications (2022): 116924. 

    %

    %               DOI: https://doi.org/10.1016/j.eswa.2022.116924             

    %                                                                   %

    %___________________________________________________________________%

    %% TESTING GJO ON ENGINEERING DESIGN

    SearchAgents_no=20; % Number of search agents

    Max_iteration=100; % Maximum numbef of iterations

    Function_name='F4';

    % 'F1'Tension/compression spring design; 

    % 'F2' %Pressure vessel design

    % 'F3' %Welded beam design 

    % 'F4' %Speed Reducer design 

    % 'F5'  Gear train design problem

    % 'F6' Three-bar truss design problem

    %% Load details of the selected engineering design problem

    [lb,ub,dim,fobj]=Get_Functions_details(Function_name);

    runn=1;% maximum number of re-run of GJO

    cost=zeros(runn,1);pos=zeros(runn,4);

    for i=1:runn

        disp(['Run no: ',num2str(i)]);

     [Male_Jackal_score,Male_Jackal_pos,GJO_cg_curve]=GJO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj);

    cost(i,:)=Male_Jackal_score;

    end

    mean_cost=mean(cost);

    min_cost=min(cost);

    max_cost=max(cost);

    disp(['best value GJO:  ',num2str(min_cost,10),'  Mean: ', num2str(mean_cost),'  Max: ', num2str(max_cost)]);

        figure('Position',[269   240   660   290])

    %Draw search space

    subplot(1,2,1);

    func_plot(Function_name);

    title('Parameter space')

    xlabel('x_1');

    ylabel('x_2');

    zlabel([Function_name,'( x_1 , x_2 )'])

    %Draw objective space

    subplot(1,2,2);

    plot(GJO_cg_curve,'Color','r','linewidth',1.5)

    title('Objective space')

    xlabel('Iteration');

    ylabel('Best score obtained so far');

    axis tight

    grid on

    box on

    legend('GJO')

            

    3 运行结果

    4 参考文献

    [1] Nc A ,  Mma B . Golden Jackal Optimization: A Novel Nature-Inspired Optimizer for Engineering Applications.  2022.

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

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

  • 相关阅读:
    java培训之SpringMVC提示消息的国际化
    安装 hbase(伪分布式)
    阿里P8架构师进阶心得:分布式数据库架构MyCat学习笔记送给你
    【Rabbitmq】Rabbitmq堆积消息后生产速率降低的问题分析及应对措施
    流水的数字内容,铁打的内容风控
    Java中的锁
    智能反射面辅助的物理层安全技术综述
    【react】基础知识补充及原理【粗略版】
    【寒武纪(3)】媒体处理系统的系统控制、视频输入和后处理子系统
    二、安全与风险管理—安全与风险管理基础
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126143485