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

Implements a local search optimization algorithm. More...

#include <LocalSearch.h>

Inheritance diagram for LocalSearch:
Optimizer

Public Member Functions

 LocalSearch (std::shared_ptr< SolutionBuilder > solutionBuilder, std::shared_ptr< Problem > problem, int maxIterations, double delta, int numNeighbors)
 Constructs a LocalSearch optimizer.
std::vector< double > optimize () override
 Executes the local search 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 a local search optimization algorithm.

The LocalSearch optimizer explores the neighborhood of the current solution by generating candidate neighbors within a fixed delta. The search continues until a local minimum is reached or the maximum number of iterations is exceeded.

This class supports both single-run local search and repeated local search depending on the iteration limit provided.

Constructor & Destructor Documentation

◆ LocalSearch()

LocalSearch::LocalSearch ( std::shared_ptr< SolutionBuilder > solutionBuilder,
std::shared_ptr< Problem > problem,
int maxIterations,
double delta,
int numNeighbors )
inline

Constructs a LocalSearch optimizer.

Parameters
solutionBuilderReference to the solution generator.
problemReference to the optimization problem.
maxIterationsMaximum number of local search iterations.
deltaNeighborhood radius for neighbor generation.
numNeighborsNumber of neighbors sampled per iteration.

Member Function Documentation

◆ optimize()

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

Executes the local search 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/LocalSearch.h
  • src/opti_py/cpp/src/Optimizer/LocalSearch.cpp