OptiPy
Loading...
Searching...
No Matches
ParticleSwarm Class Reference

Implements the Particle Swarm Optimization algorithm. More...

#include <ParticleSwarm.h>

Inheritance diagram for ParticleSwarm:
Optimizer

Public Member Functions

 ParticleSwarm (const ExperimentConfig &config, double c1, double c2, int popSize)
std::vector< double > optimize () override
 Executes the Differential Evolution optimization process.
Public Member Functions inherited from Optimizer
 Optimizer (std::shared_ptr< SolutionBuilder > solutionBuilder, std::shared_ptr< Problem > problem, int maxIterations)
 Constructs an Optimizer.
virtual ~Optimizer ()=default
 Virtual destructor for safe polymorphic deletion.
double getBestFitness ()
std::vector< double > & getBestSolution ()
std::vector< double > & getBestFitnesses ()
std::vector< std::vector< double > > & getSolutions ()
int getMaxIterations ()
std::shared_ptr< ProblemgetProblem ()
std::shared_ptr< SolutionBuildergetSolutionBuilder ()

Additional Inherited Members

Protected Attributes inherited from Optimizer
std::shared_ptr< Problemproblem
 Optimization problem definition.
std::shared_ptr< SolutionBuildersolutionBuilder
 Solution generation utility.
int maxIterations
 Maximum number of iterations.
std::vector< double > bestSolution
 Best solution found.
std::vector< double > bestFitnesses
 Best fitness value so far per iteration.
std::vector< std::vector< double > > solutions
 All generated solutions.

Detailed Description

Implements the Particle Swarm Optimization algorithm.

This optimizer simulates a swarm of particles moving in the search space, updating velocities and positions based on personal and global bests.

Member Function Documentation

◆ optimize()

std::vector< double > ParticleSwarm::optimize ( )
overridevirtual

Executes the Differential Evolution optimization process.

Returns
The functions execution time.

Implements Optimizer.


The documentation for this class was generated from the following files:
  • src/opti_py/cpp/include/opti_py/Optimizer/ParticleSwarm.h
  • src/opti_py/cpp/src/Optimizer/ParticleSwarm.cpp