java.lang.Object
org.maxicp.search.AbstractSearchMethod<Runnable>
org.maxicp.search.RunnableSearchMethod
org.maxicp.search.BestFirstSearch<T>
- All Implemented Interfaces:
SearchMethod
-
Nested Class Summary
Nested classes/interfaces inherited from class org.maxicp.search.AbstractSearchMethod
AbstractSearchMethod.IntRef -
Field Summary
Fields inherited from class org.maxicp.search.AbstractSearchMethod
branching, failureListeners, sm, solutionListeners -
Constructor Summary
ConstructorsConstructorDescriptionBestFirstSearch(ModelProxy modelProxy, Supplier<Runnable[]> branching, Supplier<T> nodeEvaluator) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidstartSolve(SearchStatistics statistics, Predicate<SearchStatistics> limit, Runnable onNodeVisit) Start the solving process.Methods inherited from class org.maxicp.search.AbstractSearchMethod
allFixed, notifyFailure, notifySolution, onFailure, onSolution, optimize, optimize, optimize, optimize, optimizeSubjectTo, optimizeSubjectTo, replay, replaySubjectTo, replaySubjectTo, replaySubjectTo, solve, solve, solve, solve, solveSubjectToMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.maxicp.search.SearchMethod
onFailure, onSolution
-
Constructor Details
-
BestFirstSearch
public BestFirstSearch(ModelProxy modelProxy, Supplier<Runnable[]> branching, Supplier<T> nodeEvaluator)
-
-
Method Details
-
startSolve
protected void startSolve(SearchStatistics statistics, Predicate<SearchStatistics> limit, Runnable onNodeVisit) Description copied from class:AbstractSearchMethodStart the solving process.This method must be implemented by subclasses and do the heavy work. It must call notifySolution/notifyFailure when a solution is found or a failure occurs.
- Specified by:
startSolvein classAbstractSearchMethod<Runnable>- Parameters:
statistics-limit-onNodeVisit- a closure to execute at each node visit
-
getUnexploredModels
-