Helpers perform actions related to some specific aspects of the search and have to be partially implemented by the user.
More...
|
class | EasyLocal::Core::CostComponent< Input, State, CFtype > |
| The class CostComponent manages one single component of the cost, either hard or soft. More...
|
|
class | EasyLocal::Core::DeltaCostComponent< Input, State, Move, CFtype > |
|
class | EasyLocal::Core::DeltaCostComponentAdapter< Input, State, Move, CFtype > |
|
class | EasyLocal::Core::NeighborhoodExplorer< Input, State, Move, CFtype > |
|
class | EasyLocal::Core::OutputManager< Input, Output, State, CFtype > |
|
class | EasyLocal::Core::StateManager< Input, State, CFtype > |
| This component is responsible for all operations on the state which are independent of the neighborhood definition, such as generating a random state or computing the cost of a state. More...
|
|
Helpers perform actions related to some specific aspects of the search and have to be partially implemented by the user.
EasyLocalpp defines a number of helper classes that are not related hierarchically, but they are linked to Runners, Solvers, Testers and to each other through references. The helpers are the following ones:
- StateManager: is responsible for all operations on the state that are independent of the neighborhood definition (i.e., from the Moves).
- CostComponent: is responsible for computing a component of the cost function on a given State. The class is able to handle both hard and soft cost components.
- OutputManager: is responsible for translating between elements of the search space and output solutions. It also delivers other output information of the search, and stores and retrieves solutions from files. This is the only helper that deals with the Output class. All other helpers work only on the State class, which represents the elements of the search space used by the algorithms.
- NeighborhoodExplorer: handles all the features concerning neighborhood exploration in an iterator fashion.
- DeltaCostComponent: is responsible for computing the difference of the cost function due to the application of a Move on a given State.
- ShiftingPenaltyManager: is responsible for the adaptive modification of the weights of the cost function, according to the shifting penalty mechanism. For each component of the cost function, it maintains an independent weight, which varies depending on the number of violations and according to a customizable scheme.