• 【智能优化算法-蝙蝠算法】基于混合粒子群和蝙蝠算法求解单目标优化问题附matlab代码


    1 内容介绍

    PSO 能够实现在全局搜索最大功率点,搜索偏差小,但 收敛时间较长,而 BA 也具有全局搜索功能,前期搜索速度 快,但后期搜索时间长,搜索精度低。鉴于这两种算法的特 点,结合两种算法在搜索不同时期的优势,BA 应用于混合算 法前期,提升前期的搜索效果,PSO 应用于算法中后期,提升 算法的搜索精度,并分别对两种算法进行改进。

    蝙蝠的速度更新式(4)的第一部分和粒子群的速度更新 式(2)的第一部分均为上代个体速度项,粒子群可以通过惯性 权重 w调节个体惯性对速度的影响,为了平衡混合算法前期 的全局搜索能力和后期的局部搜索能力,在前期蝙蝠算法中 引入中后期 PSO 的 w。蝙蝠的速度更新式(4)的第二部分和 粒子群的速度更新式(2)的第三部分都为群体认知项,蝙蝠是 通过频率而粒子是通过社会学习因子 c2调节群体经验对速度 的影响,两者可以共用参数 c2。为了进一步提升收敛速度,w和 c2会随着迭代次数而改变,因此改进后蝙蝠算法的速度更 新式为:

    2 仿真代码

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  HRPBV source codes version 1.0                                   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all close allclcCostFunction=@(x) MyCost(x); % Modify or replace Mycost.m according to your cost funcitonMax_iter=500; % Maximum number of iterationsn=30;         % Number of agentsd=100;% HRPBV with V-shaped transfer function[gBest, gBestScore, ConvergenceCurve]=HRPBV(n, d, Max_iter, CostFunction);plot(ConvergenceCurve,'DisplayName','HRPBV','Color', 'b');hold ontitle(['\fontsize{12}\bf Convergence curve']);xlabel('\fontsize{12}\bf Iteration');ylabel('\fontsize{12}\bf Average Best-so-far');legend('\fontsize{10}\bf HRPBV');grid onaxis tightsave resuls

    3 运行结果

    4 参考文献

    [1]陈志敏, 吴盘龙, 薄煜明,等. 基于自控蝙蝠算法智能优化粒子滤波的机动目标跟踪方法[J]. 电子学报, 2018, 46(4):9.

    [2]唐海东, 芮钧, 吴正义. 基于混合蝙蝠算法的梯级水电站群优化调度研究[J]. 水电自动化与大坝监测, 2015(6):5.

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

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

  • 相关阅读:
    01 使用docker搭建wordpress博客网站
    Redis高可用之持久化
    4个技巧告诉你,如何使用SMS促进业务销售?
    MIR7创建预制发票BAPI
    MongoDB 权限管理
    【算法】spfa算法(spfa判断负环)
    金融科技,串联了互联网时代与数字时代
    应用程序意外变成另外一个应用程序的图标,打开就是另外一个程序!Synaptics.exe到底是什么?
    flink 技术总结待续
    [C++]C++类和对象(下)、
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126106185