Salome HOME
Documentation review corrections V9_12_0a1 V9_12_0a2
authorJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 16 Oct 2023 11:03:31 +0000 (13:03 +0200)
committerJean-Philippe ARGAUD <jean-philippe.argaud@edf.fr>
Mon, 16 Oct 2023 11:03:31 +0000 (13:03 +0200)
doc/en/snippets/ModuleCompatibility.rst
doc/fr/ref_algorithm_ParticleSwarmOptimization.rst
doc/fr/snippets/ModuleCompatibility.rst
src/daComposant/daAlgorithms/InterpolationByReducedModelTest.py
src/daComposant/daAlgorithms/ParticleSwarmOptimization.py
src/daComposant/daAlgorithms/TangentTest.py

index 517c3c7f79428b9640d3053501992546ee21dfad..c77a27f1ed47938f72fdb5d74a3d2dc545bcecb8 100644 (file)
@@ -14,7 +14,7 @@ versions within the range described below.
    :header: "Tool", "Minimal version", "Reached version"
    :widths: 20, 10, 10
 
-   Python,     3.6.5,    3.11.5
+   Python,     3.6.5,    3.11.6
    Numpy,      1.14.3,    1.26.0
    Scipy,      0.19.1,    1.11.3
    MatplotLib, 2.2.2,    3.8.0
index 1cf554162b5d6cc6c217ebd88dcc08e2c6339d09..831b7b94944e702095a0dbe0798574a005a7af58 100644 (file)
@@ -65,21 +65,31 @@ 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 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. Cet algorithme est parfois appelé ":math:`\omega`-PSO" ou
-  "Inertia PSO" car il intègre une contribution dite d'inertie, ou encore
-  appelé "AIS" (pour "Asynchronous Iteration Strategy") ou "APSO" (pour
-  "Advanced Particle Swarm Optimisation") car il intègre la mise à jour
-  évolutive des meilleurs éléments, conduisant à une convergence
+- "SPSO-2011" ou "SPSO-2011-AIS" (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. Cet algorithme est parfois appelé
+  ":math:`\omega`-PSO" ou "Inertia PSO" car il intègre une contribution dite
+  d'inertie, ou encore appelé "AIS" (pour "Asynchronous Iteration Strategy") ou
+  "APSO" (pour "Advanced Particle Swarm Optimisation") car il intègre la mise à
+  jour évolutive des meilleurs éléments, conduisant à une convergence
   intrinsèquement améliorée de l'algorithme.
+- "SPSO-2011-SIS" (Standard Particle Swarm Optimisation 2011 with Synchronous
+  Iteration Strategy), très similaire à l'algorithme de référence 2011 et avec
+  une mise à jour synchrone, appelée "SIS", des particules.
+- "SPSO-2011-PSIS" (Standard Particle Swarm Optimisation 2011 with Parallel
+  Synchronous Iteration Strategy), similaire à l'algorithme "SPSO-2011-SIS"
+  avec mise à jour synchrone et parallélisation, appelée "PSIS", des
+  particules.
 
 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.
+  l'algorithme "CanonicalPSO" reste par défaut le plus robuste. Dans le cas où
+  l'évaluation de l'état peut être réalisé en parallèle, on peut utiliser
+  l'algorithme "SPSO-2011-PSIS" même si sa convergence est parfois un peu moins
+  performante.
 - 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. En général, les meilleurs performances sont obtenues pour
index ff9fd394dd1ce290e112a8c6647889d90f7a1a24..78b9942369c672247c959f5a3da2ba25286e0464 100644 (file)
@@ -15,7 +15,7 @@ l'étendue décrite ci-dessous.
    :header: "Outil", "Version minimale", "Version atteinte"
    :widths: 20, 10, 10
 
-   Python,     3.6.5,    3.11.5
+   Python,     3.6.5,    3.11.6
    Numpy,      1.14.3,    1.26.0
    Scipy,      0.19.1,    1.11.3
    MatplotLib, 2.2.2,    3.8.0
index f764d0180d2a58c85e91fbcdfeb9a033f852c9ed..b366d0f4eb517ec19b3e7176e0d915cdc915fc58 100644 (file)
@@ -128,7 +128,6 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
         msgs += (__marge + "Warning:  in order to be coherent, this test has to use the same norm\n")
         msgs += (__marge + "than the one used to build the reduced basis. The user chosen norm in\n")
         msgs += (__marge + "this test is presently \"%s\". Check the RB building one.\n"%(self._parameters["ErrorNorm"],))
-        msgs += (__marge + "\n")
         msgs += ("\n")
         msgs += (__flech + "Information before launching:\n")
         msgs += (__marge + "-----------------------------\n")
index 1a9c8f5de6ef19435a21f4ffebda3f1631aa0d97..261110015fa74184ac1e16b194a55818e521cad4 100644 (file)
@@ -37,11 +37,11 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
                 "CanonicalPSO",
                 "OGCR",
                 "SPSO-2011",
-                ],
-            listadv  = [
                 "SPSO-2011-AIS",
                 "SPSO-2011-SIS",
                 "SPSO-2011-PSIS",
+                ],
+            listadv  = [
                 "PSO",
                 ],
             )
@@ -197,6 +197,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
         elif self._parameters["Variant"] in ["OGCR"]:
             ecwopso.ecwopso(self, Xb, Y, HO, R, B)
         #
+        # Default SPSO-2011 = SPSO-2011-AIS
         elif self._parameters["Variant"] in ["SPSO-2011", "SPSO-2011-AIS"]:
             ecwapso.ecwapso(self, Xb, Y, HO, R, B)
         #
index a61c55e9479ecd65efe51da75e9bf0b318358700..e653bed6aee29951efac9bb171f8092c8a457bcd 100644 (file)
@@ -159,7 +159,7 @@ class ElementaryAlgorithm(BasicObjects.Algorithm):
             msgs += ("\n")
             msgs += (__marge + "When |R-1|/Alpha is less than or equal to a stable value when Alpha varies,\n")
             msgs += (__marge + "the tangent is valid, until the accuracy of the calculation is reached.\n")
-            msgs += (__marge + "\n")
+            msgs += ("\n")
             msgs += (__marge + "If |R-1|/Alpha is very small, the code F is likely linear or quasi-linear,\n")
             msgs += (__marge + "and the tangent is valid until computational accuracy is reached.\n")
             #