]> SALOME platform Git repositories - modules/adao.git/commitdiff
Salome HOME
Documentation review and update V9_11_0b1
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 10 May 2023 10:25:18 +0000 (12:25 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Wed, 10 May 2023 10:25:18 +0000 (12:25 +0200)
doc/en/ref_algorithm_DerivativeFreeOptimization.rst
doc/en/ref_algorithm_DifferentialEvolution.rst
doc/en/ref_algorithm_ParticleSwarmOptimization.rst
doc/en/ref_algorithm_TabuSearch.rst
doc/fr/ref_algorithm_DerivativeFreeOptimization.rst
doc/fr/ref_algorithm_DifferentialEvolution.rst
doc/fr/ref_algorithm_ParticleSwarmOptimization.rst
doc/fr/ref_algorithm_TabuSearch.rst

index 753a32d3720d61bd3caf1549c69c5ee7fa35042f..b737c8b6d1c08c1fe61bcfd46e68dea88e657d6c 100644 (file)
@@ -22,7 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: DerivativeFreeOptimization
-.. index:: single: Global optimization
 .. _section_ref_algorithm_DerivativeFreeOptimization:
 
 Calculation algorithm "*DerivativeFreeOptimization*"
index 49d0aae36dd7b540260d1ae12565bdefb1eeaa40..4ada6fb0e1870967e6576746328a372d68333d6d 100644 (file)
@@ -22,7 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: DifferentialEvolution
-.. index:: single: Global optimization
 .. _section_ref_algorithm_DifferentialEvolution:
 
 Calculation algorithm "*DifferentialEvolution*"
index cc19b23a84c8699558f9ad03831beb443442f6f4..189c01395988988602a6a26de5bc1c15e988a532 100644 (file)
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: ParticleSwarmOptimization
-.. index:: single: Global optimization
+.. index:: single: Particle Swarm (Optimization)
 .. _section_ref_algorithm_ParticleSwarmOptimization:
 
 Calculation algorithm "*ParticleSwarmOptimization*"
 ---------------------------------------------------
 
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo00.rst
+
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo01.rst
 
@@ -59,7 +62,48 @@ robust formulations are proposed here:
 - "OGCR" (Simple Particule Swarm Optimisation), simplified algorithm of particle swarm with no bounds on insects or velocities, not recommanded because less robust, but sometimes a lot more efficient,
 - "SPSO-2011" (Standard Standard Particle Swarm Optimisation 2011, voir [ZambranoBigiarini13]_), 2011 reference algorithm of particule swarm, robust, efficient and defined as a reference for particle swarm algorithms.
 
-. ------------------------------------ ..
+The following are a few practical suggestions for the effective use of these
+algorithms:
+
+- The recommended variant of this algorithm is the "SPSO-2011" even if the
+  "CanonicalPSO" algorithm remains by default the more robust of the two.
+- The number of particles or insects usually recommended varies between 40 and
+  100 depending on the algorithm, more or less independently of the dimension
+  of the state space.
+- The recommended number of generations for population evolution is often
+  around 50, but it can easily vary between 25 and 500.
+- The maximum number of evaluations of the simulation function should usually
+  be limited to between a few thousand and a few tens of thousands of times the
+  dimension of the state space.
+- The error functional usually decreases by levels (thus with a zero
+  progression of the value of the functional at each generation when we stay in
+  the level), making it not recommended to stop on the criterion of decrease of
+  the cost function. It is normally wiser to adapt the number of iterations or
+  generations to accelerate the convergence of the algorithms.
+- If the problem is constrained, it is necessary to define the bounds of the
+  variables (by the variable "*Bounds*"). If the problem is totally
+  unconstrained, it is essential to define increment bounds (by the variable
+  "*BoxBounds*") to delimit the optimal search in a useful way. Similarly, if
+  the problem is partially constrained, it is recommended (but not required) to
+  define increment bounds. In case these increment bounds are not defined, the
+  variable bounds will be used as increment bounds.
+
+These suggestions are to be used as experimental indications, not as
+requirements, because they are to be appreciated or adapted according to the
+physics of each problem that is treated.
+
+The count of the number of evaluations of the function to be simulated during
+this algorithm is deterministic, namely the "*number of iterations or
+generations*" multiplied by the "*number of individuals in the population*".
+With the default values, it takes between `40x50=2000` and `100*50=5000`
+evaluations. It is for this reason that this algorithm is usually interesting
+when the dimension of the state space is large, or when the non-linearities of
+the simulation make the evaluation of the gradient of the functional by
+numerical approximation complicated or invalid. But it is also necessary that
+the calculation of the function to be simulated is not too costly to avoid a
+prohibitive optimization time.
+
+.. ------------------------------------ ..
 .. include:: snippets/Header2Algo02.rst
 
 .. include:: snippets/Background.rst
index 079d7bdca154d6d5c9806ec283dc792aaf6c5ea7..23d206ef2497e8130586b6369350b54da5dd9463 100644 (file)
@@ -22,7 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: TabuSearch
-.. index:: single: Global optimization
 .. _section_ref_algorithm_TabuSearch:
 
 Calculation algorithm "*TabuSearch*"
index 60898015ee7c21ca32c43801700fab1793eb46fc..bb2b905c325bc147ab360e45d6669d7ffd9b7948 100644 (file)
@@ -22,8 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: DerivativeFreeOptimization
-.. index:: single: Optimisation globale
-.. index:: single: Globale (optimisation)
 .. _section_ref_algorithm_DerivativeFreeOptimization:
 
 Algorithme de calcul "*DerivativeFreeOptimization*"
index 83692a1d9895c3a1c86ca4a3bc1f0927fb5b8070..a542bbc38cdfa0546af251e18dd77044da332d0a 100644 (file)
@@ -22,8 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: DifferentialEvolution
-.. index:: single: Optimisation globale
-.. index:: single: Globale (optimisation)
 .. _section_ref_algorithm_DifferentialEvolution:
 
 Algorithme de calcul "*DifferentialEvolution*"
index 6af2b0dba01b5ef502dee1928cd09f98b61d3d19..760dff29805683e643b463c8bd41359c499ed145 100644 (file)
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: ParticleSwarmOptimization
-.. index:: single: Optimisation globale
-.. index:: single: Globale (optimisation)
+.. index:: single: Essaim particulaire (Optimisation par)
 .. _section_ref_algorithm_ParticleSwarmOptimization:
 
 Algorithme de calcul "*ParticleSwarmOptimization*"
 --------------------------------------------------
 
+.. ------------------------------------ ..
+.. include:: snippets/Header2Algo00.rst
+
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo01.rst
 
@@ -61,6 +63,49 @@ stables et robustes suivantes :
 - "OGCR" (Simple Particule Swarm Optimisation), algorithme simplifié d'essaim particulaire sans bornes sur les insectes ou les vitesses, déconseillé car peu robuste, mais parfois beaucoup plus rapide,
 - "SPSO-2011" (Standard Standard Particle Swarm Optimisation 2011, voir [ZambranoBigiarini13]_), algorithme de référence 2011 d'essaim particulaire, robuste, performant et défini comme une référence des algorithmes d'essaims particulaires.
 
+Voici quelques suggestions pratiques pour une utilisation efficace de ces
+algorithmes :
+
+- La variante recommandée de cet algorithme est le "SPSO-2011" même si
+  l'algorithme "CanonicalPSO" reste par défaut le plus robuste des deux.
+- Le nombre de particules ou d'insectes usuellement recommandé varie entre 40
+  et 100 selon l'algorithme, à peu près indépendamment de la dimension de
+  l'espace des états.
+- Le nombre recommandé de générations, lors de l'évolution de la population,
+  est souvent de l'ordre de 50, mais il peut facilement varier entre 25 et 500.
+- Le nombre maximal d'évaluation de la fonction de simulation doit usuellement
+  être limité entre quelques milliers et quelques dizaines de milliers de fois
+  la dimension de l'espace des états.
+- La fonctionnelle d'erreur décroît usuellement par pallier (donc avec une
+  progression nulle de la valeur de fonctionnelle à chaque génération lorsque
+  l'on reste dans le palier), rendant non recommandé un arrêt sur critère de
+  décroissance de la fonction-coût. Il est normalement plus judicieux d'adapter
+  le nombre d'itérations ou de générations pour accélérer la convergence des
+  algorithmes.
+- Si le problème est contraint, il faut définir les bornes des variables (par
+  la variable "*Bounds*"). Si le problème est totalement non contraint, il est
+  indispensable de définir des bornes d'incrément (par la variable
+  "*BoxBounds*") pour circonscrire la recherche optimale de manière utile. De
+  manière similaire, si le problème est partiellement contraint, il est
+  recommandé (mais pas indispensable) de définir des bornes d'incrément. Dans
+  le cas où ces bornes d'incréments ne sont pas définies, ce sont les bornes
+  des variables qui seront utilisées comme bornes d'incréments.
+
+Ces conseils sont à utiliser comme des indications expérimentales, et pas comme
+des prescriptions, car ils sont à apprécier ou à adapter selon la physique de
+chaque problème que l'on traite.
+
+Le décompte du nombre d'évaluations de la fonction à simuler lors de cet
+algorithme est déterministe, à savoir le "*nombre d'itérations ou de
+générations*" multiplié par le "*nombre d'individus de la population*". Avec
+les valeurs par défaut, il faut entre `40x50=2000` et `100*50=5000` évaluations
+par défaut. C'est pour cette raison que cet algorithme est usuellement
+intéressant lorsque la dimension de l'espace des états est grande, ou que les
+non-linéarités de la simulation rendent compliqué, ou invalide, l'évaluation du
+gradient de la fonctionnelle par approximation numérique. Mais il est aussi
+nécessaire que le calcul de la fonction à simuler ne soit pas trop coûteuse
+pour éviter une temps d'optimisation rédhibitoire.
+
 .. ------------------------------------ ..
 .. include:: snippets/Header2Algo02.rst
 
index e8a2bb9466abe16c1234216605376da5a9114179..9a2035f19e38ab15471d33e04b92dc164418efef 100644 (file)
@@ -22,8 +22,6 @@
    Author: Jean-Philippe Argaud, jean-philippe.argaud@edf.fr, EDF R&D
 
 .. index:: single: TabuSearch
-.. index:: single: Optimisation globale
-.. index:: single: Globale (optimisation)
 .. _section_ref_algorithm_TabuSearch:
 
 Algorithme de calcul "*TabuSearch*"