diff --git a/doc/dynare.texi b/doc/dynare.texi
index 8d5a09c2a10d1ca852ee9feb0658a99413e3d384..78f25b4d7902e04338b3cccaf2a4d6d7d3bab9c8 100644
--- a/doc/dynare.texi
+++ b/doc/dynare.texi
@@ -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
diff --git a/license.txt b/license.txt
index 52fce2880a101a89d2e584d0fec87cb7bf848bf0..0f9bcbaf496436b22be33b2dfc1aa57d8deac416 100644
--- a/license.txt
+++ b/license.txt
@@ -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