• 【黑猩猩算法】基于加权反对技术和贪婪搜索进化黑猩猩优化算法求解多模态工程问题附matlab代码


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

    🍎个人主页:Matlab科研工作室

    🍊个人信条:格物致知。

    更多Matlab仿真内容点击👇

    智能优化算法  神经网络预测 雷达通信  无线传感器

    信号处理 图像处理 路径规划 元胞自动机 无人机

    ⛄ 内容介绍

    黑猩猩算法主要模拟了黑猩猩对于猎物的攻击、驱赶、拦截和追逐等4种社会行为[16]。黑猩猩优化算法的基本描述为:假定黑猩猩种群数目为NXi表示第i只黑猩猩所处的位置群体的最优解为Xatacter、次优解Xbarier、第3优解Xchaser、第4优解Xdrive。黑猩猩算法的具体数学描述如下:1)驱赶、追逐猎物。在黑猩猩狩猎的过程中任何个体均会依据猎物的位置而改变自身的位置。其位置更新公式如下:

    式中:D表示黑猩猩与猎物之间的距离Xprey和Xchimp分别表示猎物的位置和黑猩猩的位置A、m、C为系数向量m=Chaotic_value是一个基于某种混沌映射计算出来的混沌向量r1和r2为[01]之间的随机数t和tmax分别表示当前迭代次数和最大迭代次数f为收敛因子在迭代过程中从2线性递减到0。

    2)攻击方式。黑猩猩通过对猎物位置的探索最后将其包围。通常狩猎过程由攻击者进行而驱赶者、拦截者、追逐者仅参与狩猎过程4种黑猩猩分别更新自己的位置其他黑猩猩根据四者的位置进行更新。

    ⛄ 部分代码

    function [] = drawComparisonPlot(function_name, curve_list, curve_name_list, curve_color_list)

    figure('Position',[500 500 660 290])

    % Draw search space

    subplot(1,2,1);

    func_plot(num2str(cell2mat(function_name)));

    title('Parameter space')

    xlabel('x_1');

    ylabel('x_2');

    zlabel([num2str(cell2mat(function_name)),'( x_1 , x_2 )'])

    %Draw objective space

    subplot(1,2,2);

    for loop = 1:size(curve_list,1)

        semilogy(curve_list(:,loop),'Color',curve_color_list(1,loop));

        hold on;

    end

    title('Objective space')

    xlabel('Iteration');

    ylabel('Best score obtained so far');

    axis tight

    grid on

    box on

    legend(curve_name_list)  % chnage this according to your required names

    end

    ⛄ 运行结果

    ⛄ 参考文献

    [1]程国森, and 崔东文. "黑猩猩优化算法-极限学习机模型在富水性分级判定中的应用." 人民黄河 43.7(2021):6.

    ❤️ 关注我领取海量matlab电子书和数学建模资料

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

  • 相关阅读:
    对象序列化运用
    Java案例找素数(三种方法)
    Java中 常见的开源树库介绍
    【学习笔记】记录一个win 11 操作文件卡顿,Windows 资源管理器CPU占用飙升问题
    算法小记【1】
    大学生想做兼职应该怎么找,适合大学生的线上线下靠谱兼职推荐
    2023网络工程毕业设计选题推荐 - 计算机毕业设计题目大全
    SSM前后端分离项目(后端:SpringBoot 前端:vue+elementui)
    Weakmap详解
    【Node.js】crypto 模块
  • 原文地址:https://blog.csdn.net/matlab_dingdang/article/details/127589622