Salome HOME
Documentation de toutes les options du 3DVAR
[modules/adao.git] / doc / examples.rst
index 91e163434fc2cfaa37d794e80543ecf4433f659d..a803bd59c84f20404e45730ef2d61e1408c106d6 100644 (file)
@@ -271,24 +271,34 @@ definition of the ADAO case, which is an keyword of the ASSIMILATION_STUDY. This
 keyword requires a Python dictionary, containing some key/value pairs.
 
 For example, with a 3DVAR algorithm, the possible keys are "*Minimizer*",
-"*MaximumNumberOfSteps*", and "*Bounds*":
+"*MaximumNumberOfSteps*", "ProjectedGradientTolerance", "GradientNormTolerance"
+and "*Bounds*":
 
-#.   The "*Minimizer*" key allows to choose the optimisation minimizer, the
-     default choice being "LBFGSB", and the possible ones "LBFGSB" (nonlinear
+#.   The "*Minimizer*" key allows to choose the optimisation minimizer. The
+     default choice is "LBFGSB", and the possible ones are "LBFGSB" (nonlinear
      constrained minimizer, see [Byrd95] and [Zhu97]), "TNC" (nonlinear
      constrained minimizer), "CG" (nonlinear unconstrained minimizer), "BFGS"
-     (non-linear unconstrained minimizer).
+     (nonlinear unconstrained minimizer), "NCG" (Newton CG minimizer).
 #.   The "*MaximumNumberOfSteps*" key indicates the maximum number of iterations
      allowed for iterative optimisation. The default is 15000, which very
      similar of no limit on iterations. It is then recommended to adapt this
      parameter to the needs on real problems.
+#.   The "ProjectedGradientTolerance" key indicates a limit value, leading to
+     stop successfully the iterative optimisation process when all the components
+     of the projected gradient are under this limit.
+#.   The "GradientNormTolerance" key indicates a limit value, leading to stop
+     successfully the iterative optimisation process when the norm of the
+     gradient is under this limit.
 #.   The "*Bounds*" key allows to define upper and lower bounds for every
      control variable being optimized. Bounds can be given by a list of list of
      pairs of lower/upper bounds for each variable, with possibly ``None`` every
-     time there is no bound.
+     time there is no bound. The bounds can always be specified, but they are
+     taken into account only by the constrained minimizers.
 
 If no bounds at all are required on the control variables, then one can choose
-the "BFGS" or "CG" minimisation algorithm for the 3DVAR algorithm.
+the "BFGS" or "CG" minimisation algorithm for the 3DVAR algorithm. For
+constrained optimisation, the minimizer "LBFGSB" is often more robust, but the
+"TNC" is always more performant.
 
 This dictionary has to be defined, for example, in an external Python script
 file, using the mandatory variable name "*AlgorithmParameters*" for the