Open CASCADE Technology
6.8.0
|
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". More...
#include <math_PSO.hxx>
Public Member Functions | |
math_PSO (math_MultipleVarFunction *theFunc, const math_Vector &theLowBorder, const math_Vector &theUppBorder, const math_Vector &theSteps, const Standard_Integer theNbParticles=32, const Standard_Integer theNbIter=100) | |
void | Perform (const math_Vector &theSteps, Standard_Real &theValue, math_Vector &theOutPnt, const Standard_Integer theNbIter=100) |
Perform computations, particles array is constructed inside of this function. More... | |
void | Perform (math_PSOParticlesPool &theParticles, Standard_Integer theNbParticles, Standard_Real &theValue, math_Vector &theOutPnt, const Standard_Integer theNbIter=100) |
Perform computations with given particles array. More... | |
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".
math_PSO::math_PSO | ( | math_MultipleVarFunction * | theFunc, |
const math_Vector & | theLowBorder, | ||
const math_Vector & | theUppBorder, | ||
const math_Vector & | theSteps, | ||
const Standard_Integer | theNbParticles = 32 , |
||
const Standard_Integer | theNbIter = 100 |
||
) |
Constructor.
theFunc | defines the objective function. It should exist during all lifetime of class instance. |
theLowBorder | defines lower border of search space. |
theUppBorder | defines upper border of search space. |
theSteps | defines steps of regular grid, used for particle generation. This parameter used to define stop condition (TerminalVelocity). |
theNbParticles | defines number of particles. |
theNbIter | defines maximum number of iterations. |
void math_PSO::Perform | ( | const math_Vector & | theSteps, |
Standard_Real & | theValue, | ||
math_Vector & | theOutPnt, | ||
const Standard_Integer | theNbIter = 100 |
||
) |
Perform computations, particles array is constructed inside of this function.
void math_PSO::Perform | ( | math_PSOParticlesPool & | theParticles, |
Standard_Integer | theNbParticles, | ||
Standard_Real & | theValue, | ||
math_Vector & | theOutPnt, | ||
const Standard_Integer | theNbIter = 100 |
||
) |
Perform computations with given particles array.