FractionOrderSystem/FOTF Toolbox/fmincon_global.m

20 lines
688 B
Matlab

function [x,f0]=fmincon_global(f,a,b,n,N,varargin), f0=Inf;
% fmincon_global - a possible global solver for constrained optimization problems
%
% [x,f0]=fmincon_global(f,a,b,n,N,varargin)
%
% f - the objective function
% (a,b) - the interval for the decision variables
% n - the number of decision variables
% N - the number of runs of fmincon function
% x, f0 - the optimal decision variable and objective function
% Copyright (c) Dingyu Xue, Northeastern University, China
% Last modified 28 March, 2017
% Last modified 18 May, 2022
for i=1:N
x0=a+(b-a).*rand(n,1); [x1,f1,key]=fmincon(f,x0,varargin{:});
if key>0 && f1<f0, x=x1; f0=f1; end
end
end