Я не уверен, что fmincon
является лучшим решением для оптимизации с несколькими параметрами.
Я хочу оптимизировать два параметра: inp_1
с допустимыми значениями от 1
до 2
длякоторый я использовал этот код
inp_1 = 1
Ub= 2*inp_1 ; Lb= 0.5*inp_1;
options = optimoptions('fmincon',...
'FiniteDifferenceType','central',...
'DiffMaxChange',0.5,...
'DiffMinChange',1e-1,...
'MaxIter',20,...
'MaxFunEvals',200,...
'Display','iter',... % 'iter'
'OptimalityTolerance',1e-13);
[param,distance,exitflag,output,lambda,grad,hessian] = fmincon(@optimization_func,inp_1 ,[],[],[],[],[],Lb,Ub,options);
и все работает отлично.Если я хочу добавить еще одну зависимость, например inp_2
с допустимыми значениями от 0
до 360
, я могу установить вектор x
как x(1) = inp_1;
и x(2) = inp_2
и передать x
в fmincon.
Таким образом, параметры больше не являются правильными, поскольку мне нужно установить другие параметры, особенно для DiffMinChange
и DiffMaxChange
.Какое здесь лучшее решение для нескольких разных ограничений?