【智能优化算法-飞蛾扑火优化算法】基于水循环混合飞蛾扑火优化算法求解约束的工程优化问题附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 运行结果

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

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代码问题可私信交流。

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

 

你可能感兴趣的:(优化求解,matlab,算法,开发语言)