1 简介

基于梯度的优化算法(Gradient-based optimizer,GBO)是于2020年提出的一种新型智能优化算法,该算法受基于梯度的牛顿方法启发,具有结构简单,寻优能力强等特点。

In this study, a novel metaheuristic optimization algorithm, gradient-based optimizer (GBO) is proposed. The GBO, inspired by the gradient-based Newton’s method, uses two main operators: gradient search rule (GSR) and local escaping operator (LEO) and a set of vectors to explore the search space. The GSR employs the gradient-based method to enhance the exploration tendency and accelerate the convergence rate to achieve better positions in the search space. The LEO enables the proposed GBO to escape from local optima. The performance of the new algorithm was evaluated in two phases. 28 mathematical test functions were first used to evaluate various characteristics of the GBO, and then six engineering problems were optimized by the GBO. In the first phase, the GBO was compared with five existing optimization algorithms, indicating that the GBO yielded very promising results due to its enhanced capabilities of exploration, exploitation, convergence, and effective avoidance of local optima. The second phase also demonstrated the superior performance of the GBO in solving complex real-world engineering problems.

2 部分代码

%---------------------------------------------------------------------------------------------------------------------------

%---------------------------------------------------------------------------------------------------------------------------

%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


clear 

close all

clc


nP=50;          % Number of Population


Func_name='F2'; % Name of the test function, range from F1-F14


MaxIt=200;      % Maximum number of iterations


% Load details of the selected benchmark function

[lb,ub,dim,fobj]=BenchmarkFunctions(Func_name);


[Best_fitness,BestPositions,Convergence_curve] = GBO(nP,MaxIt,lb,ub,dim,fobj);


%% Plots

figure('Position',[269   240   660   290])

%Draw search space

subplot(1,2,1);

func_plot(Func_name);

title('Parameter space')

xlabel('x_1');

ylabel('x_2');

zlabel([Func_name,'( x_1 , x_2 )'])


%Draw objective space

subplot(1,2,2);

semilogy(Convergence_curve,'Color','r')

title('Objective space')

xlabel('Iteration');

ylabel('Best score obtained so far');


axis tight

grid on

box on

legend('GBO')


3 仿真结果

【优化求解-基于梯度的优化算法】基于梯度的优化算法求解单目标优化问题附matlab代码_sed

【优化求解-基于梯度的优化算法】基于梯度的优化算法求解单目标优化问题附matlab代码_lua_02

4 参考文献

[1] Ahmadianfar, I. ,  O. Bozorg-Haddad , and  X. Chu . "Gradient-Based Optimizer: A New Metaheuristic Optimization Algorithm." Information Sciences 540(2020).

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

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