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

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

  • 相关阅读:
    C++医院影像科PACS源码:三维重建、检查预约、胶片打印、图像处理、测量分析等
    【爬虫】(一)fossies.org
    固体火箭推进剂理论(一)
    【工程实践】CatBoost进行多分类
    「移动端」mescroll.js 在 H5端 运行的下拉刷新和上拉加载插件
    VBA数据库解决方案第九讲:把数据库的内容在工作表中显示
    SM4国密4在jdk1.7版本和jdk1.8版本中的工具类使用
    web前端框架
    (32)测距仪(声纳、激光雷达、深度摄影机)
    【vue+elementUI】输入框样式、选择器样式、树形选择器和下拉框样式修改
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126143485