• 【智能优化算法】基于金豺优化算法求解单目标优化问题附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代码问题可私信交流。

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

  • 相关阅读:
    linux CentOS7.6安装jenkins(小白版本)
    P4 开发实践 — NG-SDN Tutorial — Exercise 3: Using ONOS as the control plane
    Android中使用kotlin进行xutils数据库版本升级
    react管理系统layOut简单搭建
    淘宝关键词搜索商品API
    Spring 源码阅读 74:事务管理的原理 - BeanFactoryTransactionAttributeSourceAdvisor 分析
    前端性能优化总结
    vscode终端命令报错
    速冻品、预制菜商城小程序的作用有哪些
    FPGA实现HDMI输入转SDI视频输出,提供4套工程源码和技术支持
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126143485