**A first way is to limit the default number of iterations in the iterative
search processes**. Even if this is not the best theoretical way to control the
algorithm, it is very effective in a real study process. For this purpose, the
-keyword "*MaximumNumberOfSteps*" exists in all cases of calculations that
+keyword "*MaximumNumberOfIterations*" exists in all cases of calculations that
support it, and its default value is usually set to an equivalent of infinity
so that it is not the stopping criterion. This is the case for calculations
based on variational methods such as :ref:`section_ref_algorithm_3DVAR`,
is to read the old ADAO case file with the new SALOME/ADAO module, and save it
with a new name.
+However, there may be incompatibilities from user cases written directly in TUI
+interface. It is advisable to review the syntax and arguments in the TUI
+scripts at each version change. In particular, it is advisable to check that
+the algorithm parameters are still adequate and active, knowing that it has
+been explicitly chosen that there is no message when a parameter becomes
+inactive (for the example, we quote the parameter "*MaximumNumberOfSteps*" as
+having changed its name to "*MaximumNumberOfIterations*", for homogeneity with
+the variables that can be displayed).
+
Switching from 8.5 to 9.2
+++++++++++++++++++++++++
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. include:: snippets/BoundsWithNone.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/CrossOverProbability_CR.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. ------------------------------------ ..
.. include:: snippets/Header2Algo03AdOp.rst
-.. include:: snippets/MaximumNumberOfSteps_50.rst
+.. include:: snippets/MaximumNumberOfIterations_50.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Quantile.rst
.. include:: snippets/LengthOfTabuList.rst
-.. include:: snippets/MaximumNumberOfSteps_50.rst
+.. include:: snippets/MaximumNumberOfIterations_50.rst
.. include:: snippets/NoiseAddingProbability.rst
In the entry, one must enclose a standard dictionary definition between simple
quotes, as for example::
- '{"MaximumNumberOfSteps":25,"SetSeed":1000}'
+ '{"MaximumNumberOfIterations":25,"SetSeed":1000}'
It is the recommended way to define algorithmic parameters. This method allows
in particular to keep options or parameters for other algorithms than the
name "*AlgorithmParameters*", as in the following example::
AlgorithmParameters = {
- "MaximumNumberOfSteps" : 25,
+ "MaximumNumberOfIterations" : 25,
"StoreSupplementaryCalculations" : ["APosterioriCovariance","OMA"],
}
case.setAlgorithmParameters(
Algorithm='3DVAR',
Parameters={
- 'MaximumNumberOfSteps': 100,
+ 'MaximumNumberOfIterations': 100,
'StoreSupplementaryCalculations': [
'CurrentState',
],
case.setAlgorithmParameters(
Algorithm='NonLinearLeastSquares',
Parameters={
- 'MaximumNumberOfSteps': 100,
+ 'MaximumNumberOfIterations': 100,
'StoreSupplementaryCalculations': [
'CurrentState',
],
Algorithm = '3DVAR',
Parameters = {
"Bounds":Bounds,
- "MaximumNumberOfSteps":100,
+ "MaximumNumberOfIterations":100,
"StoreSupplementaryCalculations":[
"CostFunctionJ",
"CurrentState",
CurrentIterationNumber
*List of integers*. Each element is the iteration index at the current step
- during the iterative algorithm procedure.
+ during the iterative algorithm procedure. There is one iteration index value
+ per assimilation step corresponding to an observed state.
Example:
``i = ADD.get("CurrentIterationNumber")[-1]``
CurrentStepNumber
*List of integers*. Each element is the index of the current step in the
iterative process, driven by the series of observations, of the algorithm
- used. Note: it is not the index of the current iteration of the algorithm
- even if it coincides for non-iterative algorithms.
+ used. This corresponds to the observation step used. Note: it is not the
+ index of the current iteration of the algorithm even if it coincides for
+ non-iterative algorithms.
Example:
``i = ADD.get("CurrentStepNumber")[-1]``
--- /dev/null
+.. index:: single: MaximumNumberOfIterations
+
+MaximumNumberOfIterations
+ *Integer value*. This key indicates the maximum number of iterations allowed
+ for iterative optimization. The default is 15000, which is very similar to no
+ limit on iterations. It is then recommended to adapt this parameter to the
+ needs on real problems. For some optimizers, the effective stopping step can
+ be slightly different of the limit due to algorithm internal control
+ requirements. One can refer to the section describing ways for
+ ref:`subsection_iterative_convergence_control` for more detailed
+ recommendations.
+
+ Example:
+ ``{"MaximumNumberOfIterations":100}``
--- /dev/null
+.. index:: single: MaximumNumberOfIterations
+
+MaximumNumberOfIterations
+ *Integer value*. This key indicates the maximum number of iterations allowed
+ for iterative optimization. The default is 50, which is an arbitrary limit.
+ It is then recommended to adapt this parameter to the needs on real problems.
+
+ Example:
+ ``{"MaximumNumberOfIterations":50}``
+++ /dev/null
-.. index:: single: MaximumNumberOfSteps
-
-MaximumNumberOfSteps
- *Integer value*. This key indicates the maximum number of iterations allowed
- for iterative optimization. The default is 15000, which is very similar to no
- limit on iterations. It is then recommended to adapt this parameter to the
- needs on real problems. For some optimizers, the effective stopping step can
- be slightly different of the limit due to algorithm internal control
- requirements. One can refer to the section describing ways for
- ref:`subsection_iterative_convergence_control` for more detailed
- recommendations.
-
- Example:
- ``{"MaximumNumberOfSteps":100}``
+++ /dev/null
-.. index:: single: MaximumNumberOfSteps
-
-MaximumNumberOfSteps
- *Integer value*. This key indicates the maximum number of iterations allowed
- for iterative optimization. The default is 50, which is an arbitrary limit.
- It is then recommended to adapt this parameter to the needs on real problems.
-
- Example:
- ``{"MaximumNumberOfSteps":50}``
parameters are given in the section :ref:`section_reference` and its
subsections. The recommendation is to use the explicit definition of values
from the default list of optional parameters, as here with the
-"*MaximumNumberOfSteps*":
+"*MaximumNumberOfIterations*":
.. _adao_scriptentry02:
.. image:: images/adao_scriptentry02.png
AlgorithmParameters = {
"Minimizer" : "LBFGSB", # Recommended
- "MaximumNumberOfSteps" : 10,
+ "MaximumNumberOfIterations" : 10,
}
If no bounds at all are required on the control variables, then one can choose
# Creating the required ADAO variable
# -----------------------------------
AlgorithmParameters = {
- "Minimizer" : "LBFGSB", # Recommended
- "MaximumNumberOfSteps" : 15, # Number of global iterative steps
+ "Minimizer" : "LBFGSB", # Recommended
+ "MaximumNumberOfIterations" : 15, # Number of global iterative steps
"Bounds" : [
- [ None, None ], # Bound on the first parameter
- [ 0., 4. ], # Bound on the second parameter
- [ 0., None ], # Bound on the third parameter
+ [ None, None ], # Bound on the first parameter
+ [ 0., 4. ], # Bound on the second parameter
+ [ 0., None ], # Bound on the third parameter
],
"StoreSupplementaryCalculations" : [
"CurrentState",
**Un premier moyen est de limiter le nombre d'itérations par défaut dans les
processus de recherches itératives**. Même si ce n'est pas la meilleure manière
théorique de contrôler l'algorithme, elle est très efficace dans un processus
-d'étude réelle. Pour cela, le mot-clé "*MaximumNumberOfSteps*" existe dans tous
-les cas de calculs qui le supportent, et sa valeur par défaut est usuellement
-fixée à un équivalent de l'infini pour que ce ne soit pas le critère d'arrêt.
-C'est le cas pour les calculs à base de méthodes variationnelles comme les
-:ref:`section_ref_algorithm_3DVAR`, :ref:`section_ref_algorithm_4DVAR` et
+d'étude réelle. Pour cela, le mot-clé "*MaximumNumberOfIterations*" existe dans
+tous les cas de calculs qui le supportent, et sa valeur par défaut est
+usuellement fixée à un équivalent de l'infini pour que ce ne soit pas le
+critère d'arrêt. C'est le cas pour les calculs à base de méthodes
+variationnelles comme les :ref:`section_ref_algorithm_3DVAR`,
+:ref:`section_ref_algorithm_4DVAR` et
:ref:`section_ref_algorithm_NonLinearLeastSquares`, mais c'est aussi le cas
pour d'autres comme les :ref:`section_ref_algorithm_DerivativeFreeOptimization`
ou :ref:`section_ref_algorithm_QuantileRegression`. Dans la pratique, on
procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
+Cependant, il peut se présenter des incompatibilités provenant de cas
+utilisateurs écrits directement en interface TUI. Il est conseillé de revoir la
+syntaxe et les arguments dans les scripts TUI à chaque changement de version.
+En particulier, il convient de vérifier que les paramètres d'algorithme sont
+toujours adéquats et actifs, sachant qu'il a été explicitement choisi qu'il n'y
+ait pas de message lorsqu'un paramètre devient inactif (pour l'exemple, on cite
+le paramètre "*MaximumNumberOfSteps*" comme ayant changé de nom pour devenir
+"*MaximumNumberOfIterations*", par homogénéité avec les variables pouvant être
+affichées).
+
Passer de la version 8.5 à la 9.2
+++++++++++++++++++++++++++++++++
procédure de montée en version consiste à lire l'ancien fichier de cas ADAO
avec le nouveau module SALOME/ADAO, et à l'enregistrer avec un nouveau nom.
-Par contre, il peut se présenter des incompatibilités provenant de fichiers
+Cependant, il peut se présenter des incompatibilités provenant de fichiers
scripts utilisateurs qui n'auraient pas une syntaxe compatible avec Python 3.
L'erreur la plus immédiate est l'usage de l'impression "*print*" avec la
syntaxe "*commande*" au lieu de la syntaxe fonctionnelle "*print(...)*". Dans
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. include:: snippets/BoundsWithNone.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/CrossOverProbability_CR.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Minimizer_xDVAR.rst
.. ------------------------------------ ..
.. include:: snippets/Header2Algo03AdOp.rst
-.. include:: snippets/MaximumNumberOfSteps_50.rst
+.. include:: snippets/MaximumNumberOfIterations_50.rst
.. include:: snippets/MaximumNumberOfFunctionEvaluations.rst
.. include:: snippets/InitializationPoint.rst
-.. include:: snippets/MaximumNumberOfSteps.rst
+.. include:: snippets/MaximumNumberOfIterations.rst
.. include:: snippets/Quantile.rst
.. include:: snippets/LengthOfTabuList.rst
-.. include:: snippets/MaximumNumberOfSteps_50.rst
+.. include:: snippets/MaximumNumberOfIterations_50.rst
.. include:: snippets/NoiseAddingProbability.rst
Dans le champs de saisie, il faut utiliser des guillemets simples pour une
définition standard de dictionnaire, comme par exemple::
- '{"MaximumNumberOfSteps":25,"SetSeed":1000}'
+ '{"MaximumNumberOfIterations":25,"SetSeed":1000}'
C'est la manière recommandée pour définir des paramètres algorithmiques. Cette
méthode permet en particulier de conserver des options ou des paramètres pour
"*AlgorithmParameters*", à la manière de l'exemple qui suit::
AlgorithmParameters = {
- "MaximumNumberOfSteps" : 25,
+ "MaximumNumberOfIterations" : 25,
"StoreSupplementaryCalculations" : ["APosterioriCovariance","OMA"],
}
case.setAlgorithmParameters(
Algorithm='3DVAR',
Parameters={
- 'MaximumNumberOfSteps': 100,
+ 'MaximumNumberOfIterations': 100,
'StoreSupplementaryCalculations': [
'CurrentState',
],
case.setAlgorithmParameters(
Algorithm='NonLinearLeastSquares',
Parameters={
- 'MaximumNumberOfSteps': 100,
+ 'MaximumNumberOfIterations': 100,
'StoreSupplementaryCalculations': [
'CurrentState',
],
Algorithm = '3DVAR',
Parameters = {
"Bounds":Bounds,
- "MaximumNumberOfSteps":100,
+ "MaximumNumberOfIterations":100,
"StoreSupplementaryCalculations":[
"CostFunctionJ",
"CurrentState",
CurrentIterationNumber
*Liste d'entiers*. Chaque élément est l'index d'itération courant au cours du
- déroulement itératif de l'algorithme utilisé.
+ déroulement itératif de l'algorithme utilisé. Il y a une valeur d'index
+ d'itération par pas d'assimilation correspondant à un état observé.
Exemple :
``i = ADD.get("CurrentIterationNumber")[-1]``
CurrentStepNumber
*Liste d'entiers*. Chaque élément est l'index du pas courant au cours du
déroulement itératif, piloté par la série des observations, de l'algorithme
- utilisé. Remarque : ce n'est pas l'index d'itération courant d'algorithme
- même si cela coïncide pour des algorithmes non itératifs.
+ utilisé. Cela correspond au pas d'observation utilisé. Remarque : ce n'est
+ pas l'index d'itération courant d'algorithme même si cela coïncide pour des
+ algorithmes non itératifs.
Exemple :
``i = ADD.get("CurrentStepNumber")[-1]``
--- /dev/null
+.. index:: single: MaximumNumberOfIterations
+
+MaximumNumberOfIterations
+ *Valeur entière*. Cette clé indique le nombre maximum d'itérations possibles
+ en optimisation itérative. Le défaut est 15000, qui est très similaire à une
+ absence de limite sur les itérations. Il est ainsi recommandé d'adapter ce
+ paramètre aux besoins pour des problèmes réels. Pour certains optimiseurs, le
+ nombre de pas effectif d'arrêt peut être légèrement différent de la limite à
+ cause d'exigences de contrôle interne de l'algorithme. On peut se reporter à
+ la partie décrivant les manières de
+ :ref:`subsection_iterative_convergence_control` pour des recommandations plus
+ détaillées.
+
+ Exemple :
+ ``{"MaximumNumberOfIterations":100}``
--- /dev/null
+.. index:: single: MaximumNumberOfIterations
+
+MaximumNumberOfIterations
+ *Valeur entière*. Cette clé indique le nombre maximum d'itérations possibles
+ en optimisation itérative. Le défaut est 50, qui est une limite arbitraire.
+ Il est ainsi recommandé d'adapter ce paramètre aux besoins pour des problèmes
+ réels.
+
+ Exemple :
+ ``{"MaximumNumberOfIterations":50}``
+++ /dev/null
-.. index:: single: MaximumNumberOfSteps
-
-MaximumNumberOfSteps
- *Valeur entière*. Cette clé indique le nombre maximum d'itérations possibles
- en optimisation itérative. Le défaut est 15000, qui est très similaire à une
- absence de limite sur les itérations. Il est ainsi recommandé d'adapter ce
- paramètre aux besoins pour des problèmes réels. Pour certains optimiseurs, le
- nombre de pas effectif d'arrêt peut être légèrement différent de la limite à
- cause d'exigences de contrôle interne de l'algorithme. On peut se reporter à
- la partie décrivant les manières de
- :ref:`subsection_iterative_convergence_control` pour des recommandations plus
- détaillées.
-
- Exemple :
- ``{"MaximumNumberOfSteps":100}``
+++ /dev/null
-.. index:: single: MaximumNumberOfSteps
-
-MaximumNumberOfSteps
- *Valeur entière*. Cette clé indique le nombre maximum d'itérations possibles
- en optimisation itérative. Le défaut est 50, qui est une limite arbitraire.
- Il est ainsi recommandé d'adapter ce paramètre aux besoins pour des problèmes
- réels.
-
- Exemple :
- ``{"MaximumNumberOfSteps":50}``
La liste des paramètres optionnels possibles est donnée dans la section
:ref:`section_reference` et ses sous-sections. On recommande d'utiliser la
définition explicite de valeurs à partir de la liste par défaut de paramètres
-optionnels, comme ici avec le "*MaximumNumberOfSteps*" :
+optionnels, comme ici avec le "*MaximumNumberOfIterations*" :
.. _adao_scriptentry02:
.. image:: images/adao_scriptentry02.png
AlgorithmParameters = {
"Minimizer" : "LBFGSB", # Recommended
- "MaximumNumberOfSteps" : 10,
+ "MaximumNumberOfIterations" : 10,
}
Si aucune borne n'est requise sur les variables de contrôle, alors on peut
# Creating the required ADAO variable
# -----------------------------------
AlgorithmParameters = {
- "Minimizer" : "LBFGSB", # Recommended
- "MaximumNumberOfSteps" : 15, # Number of global iterative steps
+ "Minimizer" : "LBFGSB", # Recommended
+ "MaximumNumberOfIterations" : 15, # Number of global iterative steps
"Bounds" : [
- [ None, None ], # Bound on the first parameter
- [ 0., 4. ], # Bound on the second parameter
- [ 0., None ], # Bound on the third parameter
+ [ None, None ], # Bound on the first parameter
+ [ 0., 4. ], # Bound on the second parameter
+ [ 0., None ], # Bound on the third parameter
],
"StoreSupplementaryCalculations" : [
"CurrentState",
init_data["ObservationError"] = ObservationError
# Algorithm Parameters
-init_data["AlgorithmParameters"] = {"Minimizer":"LBFGSB","MaximumNumberOfSteps":5}
+init_data["AlgorithmParameters"] = {"Minimizer":"LBFGSB","MaximumNumberOfIterations":5}
# Creating the required ADAO variable
# -----------------------------------
AlgorithmParameters = {
- "Minimizer" : "TNC", # Possible : "LBFGSB", "TNC", "CG", "BFGS"
- "MaximumNumberOfSteps" : 15, # Number of iterative steps
+ "Minimizer" : "LBFGSB", # Possible : "LBFGSB", "TNC", "CG", "BFGS"
+ "MaximumNumberOfIterations" : 15, # Number of iterative steps
"Bounds" : [
- [ None, None ], # Bound on the first parameter
- [ 0., 4. ], # Bound on the second parameter
- [ 0., None ], # Bound on the third parameter
+ [ None, None ], # Bound on the first parameter
+ [ 0., 4. ], # Bound on the second parameter
+ [ 0., None ], # Bound on the third parameter
],
"StoreInternalVariables":True,
}
listval = ["State", "Parameters"],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
listval = ["LBFGSB","TNC", "CG", "NCG", "BFGS"],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
Dfun = GradientOfCostFunctionLM,
args = (),
ftol = selfA._parameters["CostDecrementTolerance"],
- maxfev = selfA._parameters["MaximumNumberOfSteps"],
+ maxfev = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
full_output = True,
)
J = 1./mpr
DeltaJ = 1./mpr
Xr = numpy.asarray(selfA._parameters["InitializationPoint"]).reshape((-1,1))
- while abs(DeltaJ) >= selfA._parameters["CostDecrementTolerance"] and iOuter <= selfA._parameters["MaximumNumberOfSteps"]:
+ while abs(DeltaJ) >= selfA._parameters["CostDecrementTolerance"] and iOuter <= selfA._parameters["MaximumNumberOfIterations"]:
#
# Inner Loop
# ----------
fprime = GradientOfCostFunction,
args = (),
bounds = RecentredBounds(selfA._parameters["Bounds"], Xb),
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
fprime = GradientOfCostFunction,
args = (),
bounds = RecentredBounds(selfA._parameters["Bounds"], Xb),
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = numpy.zeros(Xb.size),
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = numpy.zeros(Xb.size),
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = numpy.zeros(Xb.size),
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
fprime = GradientOfCostFunction,
args = (),
bounds = selfA._parameters["Bounds"],
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
fprime = GradientOfCostFunction,
args = (),
bounds = RecentredBounds(selfA._parameters["Bounds"], Xb, BI),
- maxfun = selfA._parameters["MaximumNumberOfSteps"]-1,
+ maxfun = selfA._parameters["MaximumNumberOfIterations"]-1,
factr = selfA._parameters["CostDecrementTolerance"]*1.e14,
pgtol = selfA._parameters["ProjectedGradientTolerance"],
iprint = selfA._parameters["optiprint"],
fprime = GradientOfCostFunction,
args = (),
bounds = RecentredBounds(selfA._parameters["Bounds"], Xb, BI),
- maxfun = selfA._parameters["MaximumNumberOfSteps"],
+ maxfun = selfA._parameters["MaximumNumberOfIterations"],
pgtol = selfA._parameters["ProjectedGradientTolerance"],
ftol = selfA._parameters["CostDecrementTolerance"],
messages = selfA._parameters["optmessages"],
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
avextol = selfA._parameters["CostDecrementTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
x0 = Xini,
fprime = GradientOfCostFunction,
args = (),
- maxiter = selfA._parameters["MaximumNumberOfSteps"],
+ maxiter = selfA._parameters["MaximumNumberOfIterations"],
gtol = selfA._parameters["GradientNormTolerance"],
disp = selfA._parameters["optdisp"],
full_output = True,
],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
func = CostFunction,
x0 = Xini,
args = (self._parameters["QualityCriterion"],),
- maxiter = self._parameters["MaximumNumberOfSteps"]-1,
+ maxiter = self._parameters["MaximumNumberOfIterations"]-1,
maxfun = self._parameters["MaximumNumberOfFunctionEvaluations"],
xtol = self._parameters["StateVariationTolerance"],
ftol = self._parameters["CostDecrementTolerance"],
func = CostFunction,
x0 = Xini,
args = (self._parameters["QualityCriterion"],),
- maxiter = self._parameters["MaximumNumberOfSteps"]-1,
+ maxiter = self._parameters["MaximumNumberOfIterations"]-1,
maxfun = self._parameters["MaximumNumberOfFunctionEvaluations"],
xtol = self._parameters["StateVariationTolerance"],
ftol = self._parameters["CostDecrementTolerance"],
],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de générations",
#
len_X = numpy.asarray(Xb).size
popsize = round(self._parameters["PopulationSize"]/len_X)
- maxiter = min(self._parameters["MaximumNumberOfSteps"],round(self._parameters["MaximumNumberOfFunctionEvaluations"]/(popsize*len_X) - 1))
+ maxiter = min(self._parameters["MaximumNumberOfIterations"],round(self._parameters["MaximumNumberOfFunctionEvaluations"]/(popsize*len_X) - 1))
logging.debug("%s Nombre maximal de générations = %i, taille de la population à chaque génération = %i"%(self._name, maxiter, popsize*len_X))
#
Hm = HO["Direct"].appliedTo
listval = ["State", "Parameters"],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
def __init__(self):
BasicObjects.Algorithm.__init__(self, "PARTICLESWARMOPTIMIZATION")
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 50,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
#
# Minimisation de la fonctionnelle
# --------------------------------
- for n in range(self._parameters["MaximumNumberOfSteps"]):
+ for n in range(self._parameters["MaximumNumberOfIterations"]):
for i in range(self._parameters["NumberOfInsects"]) :
insect = numpy.ravel(PosInsect[:,i])
rp = numpy.random.uniform(size=nbparam)
listval = ["MMQR",],
)
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 15000,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
fprime = GradientOfCostFunction,
bounds = self._parameters["Bounds"],
quantile = self._parameters["Quantile"],
- maxfun = self._parameters["MaximumNumberOfSteps"],
+ maxfun = self._parameters["MaximumNumberOfIterations"],
toler = self._parameters["CostDecrementTolerance"],
y = Y,
)
def __init__(self):
BasicObjects.Algorithm.__init__(self, "TABUSEARCH")
self.defineRequiredParameter(
- name = "MaximumNumberOfSteps",
+ name = "MaximumNumberOfIterations",
default = 50,
typecast = int,
message = "Nombre maximal de pas d'optimisation",
_Best, _qualityBest = _S, _qualityS
_TabuList = []
_TabuList.append( _S )
- while _n < self._parameters["MaximumNumberOfSteps"]:
+ while _n < self._parameters["MaximumNumberOfIterations"]:
_n += 1
if len(_TabuList) > self._parameters["LengthOfTabuList"]:
_TabuList.pop(0)
- CurrentIterationNumber : numéro courant d'itération dans les algorithmes itératifs, à partir de 0
- CurrentOptimum : état optimal courant lors d'itérations
- CurrentState : état courant lors d'itérations
- - CurrentStepNumber : numéro courant de pas de mesure dans les algorithmes temporels
+ - CurrentStepNumber : pas courant d'avancement dans les algorithmes en évolution, à partir de 0
- GradientOfCostFunctionJ : gradient de la fonction-coût globale
- GradientOfCostFunctionJb : gradient de la partie ébauche de la fonction-coût
- GradientOfCostFunctionJo : gradient de la partie observations de la fonction-coût
self._content = __content
self._object = __object
self._missing = """raise ValueError("This case requires beforehand to import or define the variable named <%s>. When corrected, remove this command, correct and uncomment the following one.")\n# """
+ #------------------------
def _append(self, *args):
"Transformation d'une commande individuelle en un enregistrement"
raise NotImplementedError()
def _extract(self, *args):
"Transformation d'enregistrement(s) en commande(s) individuelle(s)"
raise NotImplementedError()
+ #------------------------------
+ def _initialize(self, __multilines):
+ "Permet des pré-conversions automatiques simples de commandes ou clés"
+ __translation = {
+ "Study_name" :"StudyName",
+ "Study_repertory" :"StudyRepertory",
+ "MaximumNumberOfSteps":"MaximumNumberOfIterations",
+ "FunctionDict" :"ScriptWithSwitch",
+ "FUNCTIONDICT_FILE" :"SCRIPTWITHSWITCH_FILE",
+ }
+ for k,v in __translation.items():
+ __multilines = __multilines.replace(k,v)
+ return __multilines
def _finalize(self, __upa=None):
"Enregistrement du final"
__hasNotExecute = True
"Chargement normalisé des commandes"
if __filename is not None and os.path.exists(__filename):
self._content = open(__filename, 'r').read()
+ self._content = self._initialize(self._content)
elif __content is not None and type(__content) is str:
- self._content = __content
+ self._content = self._initialize(__content)
elif __object is not None and type(__object) is dict:
self._object = copy.deepcopy(__object)
else:
if "EFICAS_ROOT" in os.environ:
__EFICAS_ROOT = os.environ["EFICAS_ROOT"]
__path_ok = True
+ elif "EFICAS_NOUVEAU_ROOT" in os.environ:
+ __EFICAS_ROOT = os.environ["EFICAS_NOUVEAU_ROOT"]
+ __path_ok = True
else:
self.__msg += "\nKeyError:\n"+\
" the required environment variable EFICAS_ROOT is unknown.\n"+\
#
selfB = PartialAlgorithm("3DVAR")
selfB._parameters["Minimizer"] = "LBFGSB"
- selfB._parameters["MaximumNumberOfSteps"] = 15000
+ selfB._parameters["MaximumNumberOfIterations"] = 15000
selfB._parameters["CostDecrementTolerance"] = 1.e-7
selfB._parameters["ProjectedGradientTolerance"] = -1
selfB._parameters["GradientNormTolerance"] = 1.e-05
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
#Parse les mocles des commandes
parseKeywords(jdc.root)
- GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+ genereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
# ==========================================================================
for command in atraiter:
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
#Parse les mocles des commandes
parseKeywords(jdc.root)
- GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+ genereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
# ==========================================================================
for command in atraiter:
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
#Parse les mocles des commandes
parseKeywords(jdc.root)
- GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+ genereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
# ==========================================================================
for command in atraiter:
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
fsrc = re.sub( "#CHECKSUM.*FIN CHECKSUM", "", fsrc )
#
-#-*- coding: utf-8 -*-
+# -*- coding: utf-8 -*-
#
# Copyright (C) 2008-2022 EDF R&D
#
#
# Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
-import argparse
+import argparse # optparse deprecated since Python version 3.2
import sys
import re
import Traducteur.log as log
from Traducteur.load import getJDC, getJDCFromTexte
from Traducteur.mocles import parseKeywords
-from Traducteur.dictErreurs import GenereErreurPourCommande
+from Traducteur.dictErreurs import genereErreurPourCommande
from Traducteur.inseremocle import *
from Traducteur.movemocle import *
from Traducteur.renamemocle import *
#Parse les mocles des commandes
parseKeywords(jdc.root)
- GenereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
+ genereErreurPourCommande(jdc,('Algorithm','AlgorithmParameters','FunctionDict'))
# ==========================================================================
for command in atraiter:
# ==========================================================================
fsrc = jdc.getSource()
+ fsrc = re.sub( "MaximumNumberOfSteps", "MaximumNumberOfIterations", fsrc )
fsrc = re.sub( "FunctionDict", "ScriptWithSwitch", fsrc )
fsrc = re.sub( "FUNCTIONDICT_FILE", "SCRIPTWITHSWITCH_FILE", fsrc )
fsrc = re.sub( "#VERSION_CATALOGUE:.*:FIN VERSION_CATALOGUE", "#VERSION_CATALOGUE:%s:FIN VERSION_CATALOGUE"%version_out, fsrc)
Algorithm = '3DVAR',
Parameters = {
"Bounds":Bounds,
- "MaximumNumberOfSteps":100,
+ "MaximumNumberOfIterations":100,
"StoreSupplementaryCalculations":[
"CostFunctionJ",
"CurrentState",
Algorithm = '3DVAR',
Parameters = {
"Bounds":Bounds,
- "MaximumNumberOfSteps":100,
+ "MaximumNumberOfIterations":100,
"StoreSupplementaryCalculations":[
"CostFunctionJ",
"CurrentState",
Algorithm = '3DVAR',
Parameters = {
"Minimizer":"CG",
- "MaximumNumberOfSteps":3,
+ "MaximumNumberOfIterations":3,
"CostDecrementTolerance":1.e-2,
"SetSeed":1234567,
"StoreSupplementaryCalculations":[
Algorithm = '3DVAR',
Parameters = {
"MINIMIZER":"CG",
- "maximumnumberofsteps":3,
+ "MaximumNumberOfIterations":3,
"COSTDecrementTOLERANCE":1.e-2,
"STORESUPPLEMENTARYCALCULATIONS":[
"CostFunctionJAtCurrentOptimum",
Algorithm = '3DVAR', # Mots-clé réservé
Parameters = { # Dictionnaire
"Bounds":Bounds, # Liste de paires de Real ou de None
- "MaximumNumberOfSteps":100, # Int >= 0
+ "MaximumNumberOfIterations":100, # Int >= 0
"CostDecrementTolerance":1.e-7, # Real > 0
"StoreSupplementaryCalculations":[# Liste de mots-clés réservés
"CostFunctionJAtCurrentOptimum",
Algorithm = 'NonLinearLeastSquares', # Mots-clé réservé
Parameters = { # Dictionnaire
"Bounds":Bounds, # Liste de paires de Real ou de None
- "MaximumNumberOfSteps":100, # Int >= 0
+ "MaximumNumberOfIterations":100, # Int >= 0
"CostDecrementTolerance":1.e-7, # Real > 0
"StoreSupplementaryCalculations":[# Liste de mots-clés réservés
"CostFunctionJAtCurrentOptimum",
AlgorithmParameters = {
"SetSeed" : 1000,
"Minimizer" : "LBFGSB",
- "MaximumNumberOfSteps" : 15,
+ "MaximumNumberOfIterations" : 15,
}