0025663: Expand math_PSO class description
authoraml <aml@opencascade.com>
Fri, 26 Dec 2014 09:56:35 +0000 (12:56 +0300)
committerapv <apv@opencascade.com>
Fri, 16 Jan 2015 14:35:54 +0000 (17:35 +0300)
math_PSO class description extended.

src/math/math_PSO.hxx

index 308c70b..45554c0 100644 (file)
@@ -25,6 +25,33 @@ class math_PSOParticlesPool;
 //! In this class implemented variation of Particle Swarm Optimization (PSO) method.
 //! A. Ismael F. Vaz, L. N. Vicente 
 //! "A particle swarm pattern search method for bound constrained global optimization"
+//!
+//! Algorithm description:
+//! Init Section:
+//! At start of computation a number of \93particles\94 are placed in the search space.
+//! Each particle is assigned a random velocity.
+//!
+//! Computational loop:
+//! The particles are moved in cycle, simulating some \93social\94 behavior, so that new position of
+//! a particle on each step depends not only on its velocity and previous path, but also on the
+//! position of the best particle in the pool and best obtained position for current particle.
+//! The velocity of the particles is decreased on each step, so that convergence is guaranteed.
+//!
+//! Algorithm output:
+//! Best point in param space (position of the best particle) and value of objective function.
+//!
+//! Pros:
+//! One of the fastest algorithms.
+//! Work over functions with a lot local extremums.
+//! Does not require calculation of derivatives of the functional.
+//!
+//! Cons:
+//! Convergence to global minimum not proved, which is a typical drawback for all stochastic algorithms.
+//! The result depends on random number generator.
+//!
+//! Warning: PSO is effective to walk into optimum surrounding, not to get strict optimum.
+//! Run local optimization from pso output point.
+//! Warning: In PSO used fixed seed in RNG, so results are reproducible.
 class math_PSO
 {
 public: