From df47be40769bf9e7d48de07bbae2da683f75cfe4 Mon Sep 17 00:00:00 2001 From: Johannes Pfeifer Date: Sun, 11 Oct 2015 18:21:25 +0200 Subject: [PATCH] Properly set bounds and H0 for CMAES --- matlab/optimization/dynare_minimize_objective.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/matlab/optimization/dynare_minimize_objective.m b/matlab/optimization/dynare_minimize_objective.m index f570a1a3e..f32fac898 100644 --- a/matlab/optimization/dynare_minimize_objective.m +++ b/matlab/optimization/dynare_minimize_objective.m @@ -302,8 +302,11 @@ switch minimizer_algorithm [opt_par_values,fval,exitflag] = simplex_optimization_routine(objective_function,start_par_value,simplexOptions,parameter_names,varargin{:}); case 9 % Set defaults - H0 = 1e-4*ones(n_params,1); + H0 = (bounds(:,2)-bounds(:,1))*0.2; + H0(~isfinite(H0)) = 0.01; cmaesOptions = options_.cmaes; + cmaesOptions.LBounds = bounds(:,1); + cmaesOptions.UBounds = bounds(:,2); % Modify defaults if ~isempty(options_.optim_opt) options_list = read_key_value_string(options_.optim_opt);