|
OptiPy
|
Implements a local search optimization algorithm. More...
#include <LocalSearch.h>
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< Problem > | getProblem () |
| std::shared_ptr< SolutionBuilder > | getSolutionBuilder () |
Additional Inherited Members | |
| Protected Attributes inherited from Optimizer | |
| std::shared_ptr< Problem > | problem |
| Optimization problem definition. | |
| std::shared_ptr< SolutionBuilder > | solutionBuilder |
| 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. | |
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.
|
inline |
Constructs a LocalSearch optimizer.
| solutionBuilder | Reference to the solution generator. |
| problem | Reference to the optimization problem. |
| maxIterations | Maximum number of local search iterations. |
| delta | Neighborhood radius for neighbor generation. |
| numNeighbors | Number of neighbors sampled per iteration. |
|
overridevirtual |
Executes the local search optimization process.
Implements Optimizer.