Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Data Structures | Namespaces | Enumerations | Functions
MathOpt_PSO.hxx File Reference
#include <MathUtils_Types.hxx>
#include <MathUtils_Config.hxx>
#include <MathUtils_Core.hxx>
#include <MathUtils_LineSearch.hxx>
#include <MathUtils_Random.hxx>
#include <NCollection_DynamicArray.hxx>
#include <cmath>
#include <optional>

Data Structures

struct  MathOpt::PSOSeedParticle
 Seed particle for PSO initialization. More...
 
struct  MathOpt::PSOStats
 Statistics collected during PSO execution. More...
 
struct  MathOpt::PSOConfig
 Configuration for Particle Swarm Optimization. More...
 

Namespaces

namespace  MathOpt
 Optimization algorithms for scalar and vector functions.
 

Enumerations

enum class  MathOpt::PSOInitMode { MathOpt::RandomOnly , MathOpt::SeededOnly , MathOpt::SeededPlusRandom }
 Initialization mode for PSO particles. More...
 
enum class  MathOpt::PSOBoundaryMode { MathOpt::Clamp , MathOpt::Reflect , MathOpt::Wrap }
 Boundary handling mode for particles leaving the search space. More...
 
enum class  MathOpt::PSOInertiaSchedule { MathOpt::Constant , MathOpt::LinearDecay }
 Inertia weight schedule. More...
 

Functions

template<typename Function >
void MathOpt::PolishCoordinateWise (Function &theFunc, math_Vector &thePosition, double &theValue, const math_Vector &theLowerBounds, const math_Vector &theUpperBounds, double theTolerance, int theMaxPolishEvals, int &theEvalCount)
 Coordinate-wise polishing using Brent's 1D minimization. For each dimension, performs Brent's method directly on the single coordinate, modifying only one element of the position vector per evaluation (zero-allocation).
 
template<typename Function >
VectorResult MathOpt::PSO (Function &theFunc, const math_Vector &theLowerBounds, const math_Vector &theUpperBounds, const PSOConfig &theConfig, const NCollection_DynamicArray< PSOSeedParticle > *theSeeds, PSOStats *theStats=nullptr)
 Particle Swarm Optimization for global minimization.
 
template<typename Function >
VectorResult MathOpt::PSO (Function &theFunc, const math_Vector &theLowerBounds, const math_Vector &theUpperBounds, const PSOConfig &theConfig=PSOConfig())
 Particle Swarm Optimization for global minimization (basic overload).