Skip to content
Snippets Groups Projects
Commit 39248627 authored by Stéphane Adjemian's avatar Stéphane Adjemian
Browse files

Fixed bug (options_.optim_opt is now initialized as an empty array).

parent e7bffae5
Branches
Tags
No related merge requests found
...@@ -78,7 +78,7 @@ switch minimizer_algorithm ...@@ -78,7 +78,7 @@ switch minimizer_algorithm
end end
% Set default optimization options for fmincon. % Set default optimization options for fmincon.
optim_options = optimset('display','iter', 'LargeScale','off', 'MaxFunEvals',100000, 'TolFun',1e-8, 'TolX',1e-6); optim_options = optimset('display','iter', 'LargeScale','off', 'MaxFunEvals',100000, 'TolFun',1e-8, 'TolX',1e-6);
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']); eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']);
end end
if options_.analytic_derivation, if options_.analytic_derivation,
...@@ -96,7 +96,7 @@ switch minimizer_algorithm ...@@ -96,7 +96,7 @@ switch minimizer_algorithm
end end
% Set default optimization options for fminunc. % Set default optimization options for fminunc.
optim_options = optimset('display','iter','MaxFunEvals',100000,'TolFun',1e-8,'TolX',1e-6); optim_options = optimset('display','iter','MaxFunEvals',100000,'TolFun',1e-8,'TolX',1e-6);
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']); eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']);
end end
if options_.analytic_derivation, if options_.analytic_derivation,
...@@ -117,7 +117,7 @@ switch minimizer_algorithm ...@@ -117,7 +117,7 @@ switch minimizer_algorithm
numgrad = options_.gradient_method; numgrad = options_.gradient_method;
epsilon = options_.gradient_epsilon; epsilon = options_.gradient_epsilon;
% Change some options. % Change some options.
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
options_list = read_key_value_string(options_.optim_opt); options_list = read_key_value_string(options_.optim_opt);
for i=1:rows(options_list) for i=1:rows(options_list)
switch options_list{i,1} switch options_list{i,1}
...@@ -156,8 +156,7 @@ switch minimizer_algorithm ...@@ -156,8 +156,7 @@ switch minimizer_algorithm
newratflag = options_.newrat.hess; %default newratflag = options_.newrat.hess; %default
end end
nit=options_.newrat.maxiter; nit=options_.newrat.maxiter;
if ~isempty(options_.optim_opt)
if isfield(options_,'optim_opt')
options_list = read_key_value_string(options_.optim_opt); options_list = read_key_value_string(options_.optim_opt);
for i=1:rows(options_list) for i=1:rows(options_list)
switch options_list{i,1} switch options_list{i,1}
...@@ -194,14 +193,14 @@ switch minimizer_algorithm ...@@ -194,14 +193,14 @@ switch minimizer_algorithm
error('Option mode_compute=7 requires the Optimization Toolbox') error('Option mode_compute=7 requires the Optimization Toolbox')
end end
optim_options = optimset('display','iter','MaxFunEvals',1000000,'MaxIter',6000,'TolFun',1e-8,'TolX',1e-6); optim_options = optimset('display','iter','MaxFunEvals',1000000,'MaxIter',6000,'TolFun',1e-8,'TolX',1e-6);
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']); eval(['optim_options = optimset(optim_options,' options_.optim_opt ');']);
end end
[opt_par_values,fval,exitflag] = fminsearch(objective_function,start_par_value,optim_options,varargin{:}); [opt_par_values,fval,exitflag] = fminsearch(objective_function,start_par_value,optim_options,varargin{:});
case 8 case 8
% Dynare implementation of the simplex algorithm. % Dynare implementation of the simplex algorithm.
simplexOptions = options_.simplex; simplexOptions = options_.simplex;
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
options_list = read_key_value_string(options_.optim_opt); options_list = read_key_value_string(options_.optim_opt);
for i=1:rows(options_list) for i=1:rows(options_list)
switch options_list{i,1} switch options_list{i,1}
...@@ -228,7 +227,7 @@ switch minimizer_algorithm ...@@ -228,7 +227,7 @@ switch minimizer_algorithm
H0 = 1e-4*ones(n_params,1); H0 = 1e-4*ones(n_params,1);
cmaesOptions = options_.cmaes; cmaesOptions = options_.cmaes;
% Modify defaults % Modify defaults
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
options_list = read_key_value_string(options_.optim_opt); options_list = read_key_value_string(options_.optim_opt);
for i=1:rows(options_list) for i=1:rows(options_list)
switch options_list{i,1} switch options_list{i,1}
...@@ -252,7 +251,7 @@ switch minimizer_algorithm ...@@ -252,7 +251,7 @@ switch minimizer_algorithm
fval=BESTEVER.f; fval=BESTEVER.f;
case 10 case 10
simpsaOptions = options_.simpsa; simpsaOptions = options_.simpsa;
if isfield(options_,'optim_opt') if ~isempty(options_.optim_opt)
options_list = read_key_value_string(options_.optim_opt); options_list = read_key_value_string(options_.optim_opt);
for i=1:rows(options_list) for i=1:rows(options_list)
switch options_list{i,1} switch options_list{i,1}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment