basics.algo
Class SearchStrategy
java.lang.Object
basics.algo.SearchStrategy
public class SearchStrategy
- extends java.lang.Object
| Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
SearchStrategy
public SearchStrategy(SolutionSelector solutionSelector,
SolutionAcceptor solutionAcceptor)
getName
public java.lang.String getName()
setName
public void setName(java.lang.String name)
getSearchStrategyModules
public java.util.Collection<SearchStrategyModule> getSearchStrategyModules()
getSolutionSelector
public SolutionSelector getSolutionSelector()
getSolutionAcceptor
public SolutionAcceptor getSolutionAcceptor()
toString
public java.lang.String toString()
- Overrides:
toString in class java.lang.Object
run
public SearchStrategy.DiscoveredSolution run(VehicleRoutingProblem vrp,
java.util.Collection<VehicleRoutingProblemSolution> solutions)
- Runs the search-strategy and its according modules, and returns DiscoveredSolution.
This involves three basic steps: 1) Selecting a solution from solutions (input parameter) according to SolutionSelector, 2) running the modules
(SearchStrategyModule) on the selectedSolution and 3) accepting the new solution according to SolutionAcceptor.
Note that after 1) the selected solution is copied, thus the original solution is not modified.
Note also that 3) modifies the input parameter solutions by adding, removing, replacing the existing solutions or whatever is defined in the solutionAcceptor.
- Parameters:
vrp - solutions - which will be modified
- Returns:
- discoveredSolutin
- See Also:
SolutionSelector, SearchStrategyModule, SolutionAcceptor
addModule
public void addModule(SearchStrategyModule module)
addModuleListener
public void addModuleListener(SearchStrategyModuleListener moduleListener)