diff --git a/matlab/global_initialization.m b/matlab/global_initialization.m index 6c3797eb0..ebe2a04d2 100644 --- a/matlab/global_initialization.m +++ b/matlab/global_initialization.m @@ -480,6 +480,7 @@ simplex.maxiter = 5000; simplex.maxfcallfactor = 500; simplex.maxfcall = []; simplex.verbosity = 2; +simplex.delta_factor=0.05; options_.simplex = simplex; % CMAES optimization routine. diff --git a/matlab/simplex_optimization_routine.m b/matlab/simplex_optimization_routine.m index 11e4d6595..33843cf0d 100644 --- a/matlab/simplex_optimization_routine.m +++ b/matlab/simplex_optimization_routine.m @@ -54,7 +54,9 @@ number_of_variables = length(x); % get options. if isempty(options.maxfcall) - max_func_calls = options.maxfcallfactor*number_of_variables + max_func_calls = options.maxfcallfactor*number_of_variables; +else + max_func_calls=options.maxfcall; end % Set tolerance parameter. @@ -155,8 +157,8 @@ else end % Set delta parameter. -if isfield(options,'delta_parameter')% Size of the simplex - delta = options.delta_parameter; +if isfield(options,'delta_factor')% Size of the simplex + delta = options.delta_factor; else delta = 0.05; end diff --git a/tests/fs2000/fs2000_mode_compute_8.mod b/tests/fs2000/fs2000_mode_compute_8.mod index 8ea1ec578..4f39e10bf 100644 --- a/tests/fs2000/fs2000_mode_compute_8.mod +++ b/tests/fs2000/fs2000_mode_compute_8.mod @@ -72,4 +72,11 @@ varobs gp_obs gy_obs; options_.solve_tolf = 1e-12; -estimation(order=1,datafile=fsdat_simul,nobs=192,mode_compute=8,loglinear,mh_replic=0); +estimation(order=1,datafile=fsdat_simul,nobs=192,mode_compute=8,loglinear,mh_replic=0,optim=( +'MaxIter',5000, +'TolFun',1e-4, +'TolX',1e-4, +'MaxFunEvals',5000, +'MaxFunEvalFactor',500, +'InitialSimplexSize',0.05 +));