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