|
Monte Carlo Integration Library 1.0
High-performance Monte Carlo methods for numerical integration and optimization
|
Particle Swarm Optimization algorithm. More...
#include <PSO.hpp>
Classes | |
| struct | Particle |
| A single particle in the swarm. More... | |
Public Member Functions | |
| PSO (const PSOConfig &config=PSOConfig{}) | |
| Construct a PSO optimizer with the given configuration. | |
| void | setObjectiveFunction (ObjectiveFunction func) override |
| Set the objective function to optimize. | |
| void | setBounds (const Coordinates &lower, const Coordinates &upper) override |
| Set lower/upper bounds of the search hyper-rectangle. | |
| void | setMode (OptimizationMode mode) override |
| Set optimization mode (minimize or maximize). | |
| void | setCallback (StepCallback cb) override |
Register a callback invoked after each step(). | |
| Solution | optimize () override |
Execute the optimization loop for max_iterations. | |
| void | step () override |
| Perform one PSO iteration: update velocity/position, evaluate, update personal and global bests. | |
| Solution | getBestSolution () const override |
| Get the best solution found so far. | |
| const std::vector< Particle > & | getParticles () const |
| Access the current swarm state (particles). | |
Public Member Functions inherited from mc::optim::Optimizer | |
| virtual | ~Optimizer ()=default |
Additional Inherited Members | |
Public Types inherited from mc::optim::Optimizer | |
| using | StepCallback = std::function< void(const Solution ¤t_best, size_t iteration)> |
| Callback invoked after each step/generation. | |
Particle Swarm Optimization algorithm.
|
overridevirtual |
Get the best solution found so far.
Implements mc::optim::Optimizer.
|
inline |
|
overridevirtual |
Execute the optimization loop for max_iterations.
Implements mc::optim::Optimizer.
Definition at line 167 of file PSO.cpp.
|
overridevirtual |
Set lower/upper bounds of the search hyper-rectangle.
| std::invalid_argument | if dimensions mismatch. |
Implements mc::optim::Optimizer.
|
overridevirtual |
Register a callback invoked after each step().
| cb | Receives current global-best and iteration index. |
Implements mc::optim::Optimizer.
|
overridevirtual |
Set optimization mode (minimize or maximize).
Implements mc::optim::Optimizer.
Definition at line 41 of file PSO.cpp.
|
overridevirtual |
Set the objective function to optimize.
| func | Function mapping coordinates to scalar cost/fitness. |
Implements mc::optim::Optimizer.
|
overridevirtual |
Perform one PSO iteration: update velocity/position, evaluate, update personal and global bests.
Implements mc::optim::Optimizer.
Definition at line 93 of file PSO.cpp.