Adds documentation and license info for new optimizers

Also introduced alphabetic ordering for documented options
Closes #887
time-shift
Johannes Pfeifer 2015-04-24 12:30:51 +02:00
parent 4ffebeee2e
commit eed98a2c44
2 changed files with 131 additions and 26 deletions

View File

@ -4859,10 +4859,11 @@ compute the smoothed value of the variables of a model with calibrated parameter
@item 1
Uses @code{fmincon} optimization routine (available under MATLAB if
the optimization toolbox is installed; not available under Octave)
the Optimization Toolbox is installed; not available under Octave)
@item 2
Value no longer used
Uses the continuous simulated annealing global optimization algorithm
described in @cite{Corana et al. (1987)} and @cite{Goffe et al. (1994)}.
@item 3
Uses @code{fminunc} optimization routine (available under MATLAB if
@ -4896,12 +4897,21 @@ routine (generally more efficient than the MATLAB or Octave implementation
available with @code{mode_compute=7})
@item 9
Uses the CMA-ES (Covariance Matrix Adaptation Evolution Strategy) algorithm, an evolutionary algorithm for difficult non-linear non-convex optimization
Uses the CMA-ES (Covariance Matrix Adaptation Evolution Strategy) algorithm of
@cite{Hansen and Kern (2004)}, an evolutionary algorithm for difficult non-linear non-convex optimization
@item 10
Uses the simpsa algorithm, based on the combination of the non-linear simplex and simulated annealing algorithms and proposed by
@cite{Cardoso, Salcedo and Feyo de Azevedo (1996)}.
@item 101
Uses the SolveOpt algorithm for local nonlinear optimization problems proposed by
@cite{Kuntsevich and Kappel (1997)}.
@item 102
Uses @code{simulannealbnd} optimization routine (available under MATLAB if
the Global Optimization Toolbox is installed; not available under Octave)
@item @var{FUNCTION_NAME}
It is also possible to give a @var{FUNCTION_NAME} to this option,
instead of an @var{INTEGER}. In that case, Dynare takes the return
@ -4972,13 +4982,54 @@ A list of @var{NAME} and @var{VALUE} pairs. Can be used to set options for the o
@table @code
@item 1, 3, 7
Available options are given in the documentation of the MATLAB optimization toolbox or in Octave's documentation.
Available options are given in the documentation of the MATLAB Optimization Toolbox or in Octave's documentation.
@item 2
Available options are:
@table @code
@item 'initial_step_length'
Initial step length. Default: @code{1}
@item 'initial_temperature'
Initial temperature. Default: @code{15}
@item 'MaxIter'
Maximum number of function evaluations. Default: @code{100000}
@item 'neps'
Number of final function values used to decide upon termination. Default: @code{10}
@item 'ns'
Number of cycles. Default: @code{10}
@item 'nt'
Number of iterations before temperature reduction. Default: @code{10}
@item 'step_length_c'
Step length adjustment. Default: @code{0.1}
@item 'TolFun'
Stopping criteria. Default: @code{1e-8}
@item 'rt'
Temperature reduction factor. Default: @code{0.1}
@item 'verbosity'
Controls verbosity of display during optimization, ranging from 0 (silent) to 3
(each function evaluation). Default: @code{1}
@end table
@item 4
Available options are:
@table @code
@item 'InitialInverseHessian'
Initial approximation for the inverse of the Hessian matrix of the posterior kernel (or likelihood). Obviously this approximation has to be a square, positive definite and symmetric matrix. Default: @code{'1e-4*eye(nx)'}, where @code{nx} is the number of parameters to be estimated.
@item 'MaxIter'
Maximum number of iterations. Default: @code{1000}
@ -4991,9 +5042,6 @@ Size of the perturbation used to compute numerically the gradient of the objecti
@item 'TolFun'
Stopping criteria. Default: @code{1e-7}
@item 'InitialInverseHessian'
Initial approximation for the inverse of the Hessian matrix of the posterior kernel (or likelihood). Obviously this approximation has to be a square, positive definite and symmetric matrix. Default: @code{'1e-4*eye(nx)'}, where @code{nx} is the number of parameters to be estimated.
@end table
@item 5
@ -5001,15 +5049,15 @@ Available options are:
@table @code
@item 'MaxIter'
Maximum number of iterations. Default: @code{1000}
@item 'Hessian'
Triggers three types of Hessian computations. @code{0}: outer product gradient; @code{1} default DYNARE Hessian routine; @code{2} 'mixed' outer product gradient, where diagonal elements are obtained using second order derivation formula and outer product is used for correlation structure.
Both @{0@} and @{2@} options require univariate filters, to ensure using maximum number of individual densities and a positive definite Hessian.
Both @{0@} and @{2@} are quicker than default DYNARE numeric Hessian, but provide decent starting values for Metropolis for large models (option @{2@} being more accurate than @{0@}).
Default: @code{1}.
@item 'MaxIter'
Maximum number of iterations. Default: @code{1000}
@item 'TolFun'
Stopping criteria. Default: @code{1e-5} for numerical derivatives @code{1e-7} for analytic derivatives.
@ -5020,8 +5068,14 @@ Available options are:
@table @code
@item 'NumberOfMh'
Number of MCMC run sequentially. Default: @code{3}
@item 'AcceptanceRateTarget'
A real number between zero and one. The scale parameter of the jumping distribution is adjusted so that the effective acceptance rate matches the value of option @code{'AcceptanceRateTarget'}. Default: @code{1.0/3.0}
@item 'InitialCovarianceMatrix'
Initial covariance matrix of the jumping distribution. Default is @code{'previous'} if option @code{mode_file} is used, @code{'prior'} otherwise.
@item 'nclimb'
Number of iterations in the last MCMC (climbing mode).
@item 'ncov-mh'
Number of iterations used for updating the covariance matrix of the jumping distribution. Default: @code{20000}
@ -5029,14 +5083,8 @@ Number of iterations used for updating the covariance matrix of the jumping dist
@item 'nscale-mh'
Maximum number of iterations used for adjusting the scale parameter of the jumping distribution. @code{200000}
@item 'nclimb'
Number of iterations in the last MCMC (climbing mode).
@item 'InitialCovarianceMatrix'
Initial covariance matrix of the jumping distribution. Default is @code{'previous'} if option @code{mode_file} is used, @code{'prior'} otherwise.
@item 'AcceptanceRateTarget'
A real number between zero and one. The scale parameter of the jumping distribution is adjusted so that the effective acceptance rate matches the value of option @code{'AcceptanceRateTarget'}. Default: @code{1.0/3.0}
@item 'NumberOfMh'
Number of MCMC run sequentially. Default: @code{3}
@end table
@ -5045,6 +5093,9 @@ Available options are:
@table @code
@item 'InitialSimplexSize'
Initial size of the simplex, expressed as percentage deviation from the provided initial guess in each direction. Default: @code{.05}
@item 'MaxIter'
Maximum number of iterations. Default: @code{5000}
@ -5060,10 +5111,6 @@ Tolerance parameter (w.r.t the objective function). Default: @code{1e-4}
@item 'TolX'
Tolerance parameter (w.r.t the instruments). Default: @code{1e-4}
@item 'InitialSimplexSize'
Initial size of the simplex, expressed as percentage deviation from the provided initial guess in each direction. Default: @code{.05}
@end table
@item 9
@ -5090,6 +5137,9 @@ Available options are:
@table @code
@item 'EndTemperature'
Terminal condition w.r.t the temperature. When the temperature reaches @code{EndTemperature}, the temperature is set to zero and the algorithm falls back into a standard simplex algorithm. Default: @code{.1}
@item 'MaxIter'
Maximum number of iterations. Default: @code{5000}
@ -5102,11 +5152,33 @@ Tolerance parameter (w.r.t the objective function). Default: @code{1e-4}
@item 'TolX'
Tolerance parameter (w.r.t the instruments). Default: @code{1e-4}
@item 'EndTemperature'
Terminal condition w.r.t the temperature. When the temperature reaches @code{EndTemperature}, the temperature is set to zero and the algorithm falls back into a standard simplex algorithm. Default: @code{.1}
@end table
@item 101
Available options are:
@table @code
@item 'LBGradientStep'
Lower bound for the stepsize used for the difference approximation of gradients. Default: @code{1e-11}
@item 'MaxIter'
Maximum number of iterations. Default: @code{15000}
@item 'SpaceDilation'
Coefficient of space dilation. Default: @code{2.5}
@item 'TolFun'
Tolerance parameter (w.r.t the objective function). Default: @code{1e-6}
@item 'TolX'
Tolerance parameter (w.r.t the instruments). Default: @code{1e-6}
@end table
@item 102
Available options are given in the documentation of the MATLAB Global Optimization Toolbox.
@end table
@customhead{Example 1}
@ -12428,6 +12500,11 @@ Expansion Approach to Simulation of Stochastic Forward-Looking Models
with an Application to a Non-Linear Phillips Curve,'' @i{Computational
Economics}, 17, 125--139
@item
Corona, Angelo, M. Marchesi, Claudio Martini, and Sandro Ridella (1987):
``Minimizing multimodal functions of continuous variables with the ``simulated annealing'' algorithm'',
@i{ACM Transactions on Mathematical Software}, 13(3), 262--280
@item
Christiano, Lawrence J., Mathias Trabandt and Karl Walentin (2011):
``Introducing financial frictions and unemployment into a small open
@ -12476,6 +12553,16 @@ International Meeting on Bayesian Statistics, pp. 169--194, Oxford University Pr
Geweke, John (1999): ``Using simulation methods for Bayesian econometric models:
Inference, development and communication,'' @i{Econometric Reviews}, 18(1), 1--73
@item
Goffe, William L., Gary D. Ferrier, and John Rogers (1994): ``Global Optimization
of Statistical Functions with Simulated Annealing,'' @i{Journal of Econometrics}, 60(1/2),
65--100
@item
Hansen, Nikolaus and Stefan Kern (2004): ``Evaluating the CMA Evolution Strategy
on Multimodal Test Functions''. In: @i{Eighth International Conference on Parallel
Problem Solving from Nature PPSN VIII, Proceedings}, Berlin: Springer, 282--291
@item
Ireland, Peter (2004): ``A Method for Taking Models to the Data,''
@i{Journal of Economic Dynamics and Control}, 28, 1205--26
@ -12514,6 +12601,11 @@ Koopman, S. J. and J. Durbin (2003): ``Filtering and Smoothing of
State Vector for Diffuse State Space Models,'' @i{Journal of Time
Series Analysis}, 24(1), 85--98
@item
Kuntsevich, Alexei V. and Franz Kappel (1997): ``SolvOpt - The solver
for local nonlinear optimization problems (version 1.1, Matlab, C, FORTRAN)'',
University of Graz, Graz, Austria
@item
Laffargue, Jean-Pierre (1990): ``Résolution d'un modèle
macroéconomique avec anticipations rationnelles'', @i{Annales

View File

@ -53,6 +53,19 @@ Copyright: 2001-2012 Nikolaus Hansen
2012 Dynare Team
License: GPL-3+
Files: matlab/optimization/solvopt.m
Copyright: 1997-2008 Alexei Kuntsevich and Franz Kappel
2008-2015 Giovanni Lombardo
2015 Dynare Team
License: GPL-3+
Files: matlab/optimization/simulated_annealing.m
Copyright: 1995 E.G.Tsionas
1995-2002 Thomas Werner
2002-2015 Giovanni Lombardo
2015 Dynare Team
License: GPL-3+
Files: matlab/endogenous_prior.m
Copyright: 2011 Lawrence J. Christiano, Mathias Trabandt and Karl Walentin
2013 Dynare Team