![]() |
Open CASCADE Technology Reference Manual 8.0.0
|
#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). | |