• 【智能优化算法-飞蛾扑火优化算法】基于水循环混合飞蛾扑火优化算法求解约束的工程优化问题附matlab代码WCMFO


    1 内容介绍

    本文提出了一种基于水循环和蛾火焰优化算法的混合算法,用于求解数值和约束工程优化问题。将飞蛾火焰优化算法中飞蛾的螺旋运动引入到水循环算法中,以增强其利用能力。此外,为了增加新混合方法的随机性,允许水循环算法中的流使用随机游走(Levy 飞行)更新它们的位置。随机游走显着提高了水循环算法的探索能力。在单峰、多峰和固定维度多峰基准函数等 23 个基准函数中研究了新的混合水循环-蛾-火焰优化算法 (WCMFO) 的性能。WCMFO 的结果与其他最先进的元启发式算法进行了比较。结果表明,在大多数基准函数中,混合方法能够优于其他最先进的元启发式算法。为了评估 WCMFO 在解决复杂的约束工程和现实生活问题中的效率,使用 WCMFO 解决了三个著名的结构工程问题,并将结果与文献中的其他元启发式方法进行了比较。模拟结果表明,与其他混合和元启发式算法相比,WCMFO 能够提供非常有竞争力和有希望的结果。

    2 仿真代码

    clear;

    close all;

    clc;

    %----------------INPUTS----------------------------------------------

    % objective_function:           Objective function which you wish to minimize or maximize

    % LB:                           Lower bound vector

    % UB:                           Upper bound vector

    % nvars:                        Number of design variables

    % Npop                          Population size

    % Nsr                           Number of rivers + sea

    % dmax                          Evaporation condition constant (For unconstrained problems dmax=1e-16 and for constrained problems dmax=1e-05)

    % max_it:                       Maximum number of iterations

    % flag=                         1 (draw) or 0 (do not draw) Drawing best sol over the course of iterations

    %----------------OUTPUTS---------------------------------------------

    % Xmin:                         Optimum solution

    % Fmin:                         Cost/fitness of optimum solution

    % SUM_Constraints               Summation of constraint violations

    % NFEs:                         Number of function evaluations

    % Elapsed_Time                  Elapsed time for optimization process

    % --------------Input parameters for Welded Beam problem-------------

    objective_function=@fun;

    constraints=@Constraints;

    LB=[0.1 0.1 0.1 0.1];

    UB=[2 10 10 2];

    nvars=4;

    Npop=50;

    Nsr=5;

    dmax=1e-5;

    max_it=20;

    flag=0;                        % 0 or 1 (convergence plot over the course of iterations); flag=0 significantly improves computation speed

    % Run WCMFO

    [Xmin,Fmin,av_obj,FF,SUM_Constraints,NFEs,Elapsed_Time]=WCMFO(objective_function,constraints,LB,UB,nvars,Npop,Nsr,dmax,max_it,flag);

    % plot the results

    plotdata(Xmin,Fmin,av_obj,FF,SUM_Constraints,NFEs,Elapsed_Time);

    3 运行结果

    4 参考文献

    [1] Khalilpourazari S ,  Khalilpourazary S . An efficient hybrid algorithm based on Water Cycle and Moth-Flame Optimization algorithms for solving numerical and constrained engineering optimization problems[J]. Soft Computing, 2017.

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

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

     

  • 相关阅读:
    第五十一天学习记录:C语言进阶:枚举和联合(共用体)
    Python数据采集与处理之网页爬取
    springboot校园疫情智慧防控微信小程序毕业设计源码011133
    flink on yarn 远程提交
    openGauss学习笔记-71 openGauss 数据库管理-创建和管理普通表-删除表中数据
    nuxt添加aos动效
    关于生成式人工智能模型应用的调研
    【新书推荐】Cleaning Data for Effective Data Science
    linux中 删除指定行多行sed命令
    flink中使用异步函数的几个注意事项
  • 原文地址:https://blog.csdn.net/qq_59747472/article/details/126416159