diff --git a/doc/dynare.texi b/doc/dynare.texi index c859829f27acee8a9dfda478f01bc0f203b10ff1..97519cec2d35830985993462b60fbac5383bc1d4 100644 --- a/doc/dynare.texi +++ b/doc/dynare.texi @@ -3574,6 +3574,17 @@ slower than @code{stack_solve_algo=0}, but may be less memory consuming on big models (not available with @code{bytecode} and/or @code{block} options). +@item 7 +Allows the user to solve the perfect foresight model with the solvers available +through option @code{solve_algo} (@xref{solve_algo} for a list of possible +values, note that values 5, 6, 7 and 8, which require @code{bytecode} and/or +@code{block} options, are not allowed). For instance, the following commands: +@example +perfect_foresight_setup(periods=400); +perfect_foresight_solver(stack_solve_algo=7, solve_algo=9) +@end example +trigger the computation of the solution with a trust region algorithm. + @end table @item no_homotopy @@ -3592,6 +3603,32 @@ Specify the minimal number of periods where the model has to be solved, before using a constant set of operations for the remaining periods. Only used when @code{stack_solve_algo = 5}. Default: @code{1}. +@item lmmcp +Solves the perfect foresight model with a mixed complementarity problem solver, +which allows to consider inequality constraints on the endogenous variables +(such as a ZLB on the nominal interest rate or a model with irreversible +investment). This option is equivalent to @code{stack_solve_algo=7} @strong{and} +@code{solve_algo=10}. The inequality constraints on the endogenous variables +have to be specified with an equation tag @pxref{Model declaration}. For instance, +a ZLB on the nominal interest rate would be specified as follows in the model block: +@example +model; + ... + [mcp = 'r > -1.94478'] + r = rho*r(-1) + (1-rho)*(gpi*Infl+gy*YGap) + e; + ... +end; +@end example +where 1.94478 is the steady state level of the nominal interest rate and +@code{r} is the nominal interest rate in deviation to the steady state. In the +current implementation, the content of the equation tag is not parsed by the +preprocessor. The inequalities must be as simple as possible: an endogenous +variable, followed by a relational operator, followed by a number (not a +variable, parameter or expression). Note also that the constraint on an +endogenous variable must be associated to an equation and that the mixed +complementarity solver may fail or perform poorly if the constraint is +associated with an equation not directly related to the restricted variable. + @item endogenous_terminal_period The number of periods is not constant across Newton iterations when solving the perfect foresight model. The size of the nonlinear system of @@ -3604,7 +3641,8 @@ the reported value of the maximum absolute error). Only available with option @code{stack_solve_algo==0}. @item linear_approximation -Solves the linearized version of the perfect foresight model. The model must be stationary. Only available with option @code{stack_solve_algo==0}. +Solves the linearized version of the perfect foresight model. The model must be +stationary. Only available with option @code{stack_solve_algo==0}. @end table @@ -3631,7 +3669,6 @@ Accepts all the options of @code{perfect_foresight_setup} and @code{perfect_foresight_solver}. @end deffn - @anchor{oo_.endo_simul} @defvr {MATLAB/Octave variable} oo_.endo_simul This variable stores the result of a deterministic simulation (computed by