java.lang.Object
org.maxicp.search.AbstractSearchMethod<SymbolicModel>
org.maxicp.search.AbstractConcurrentSearchMethod
org.maxicp.search.ConcurrentDFSearch
- 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.AbstractConcurrentSearchMethod
onNodeVisit, statisticsFields inherited from class org.maxicp.search.AbstractSearchMethod
branching, failureListeners, sm, solutionListeners -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected booleandone()protected SymbolicModelRemove a model from the "list of open models" and returns it.protected voidCalled when the current search is finishedprotected voidCalled when a new search is startedprotected voidprocess the next step of the search procedure.Methods inherited from class org.maxicp.search.AbstractConcurrentSearchMethod
startSolve, steal, stopMethods 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
-
ConcurrentDFSearch
-
-
Method Details
-
initSolve
protected void initSolve()Description copied from class:AbstractConcurrentSearchMethodCalled when a new search is started- Specified by:
initSolvein classAbstractConcurrentSearchMethod
-
done
protected boolean done()- Specified by:
donein classAbstractConcurrentSearchMethod- Returns:
- true if there are no more nodes to visit
-
processNextStep
protected void processNextStep()Description copied from class:AbstractConcurrentSearchMethodprocess the next step of the search procedure. done() must be false to call this function.- Specified by:
processNextStepin classAbstractConcurrentSearchMethod
-
finishSolve
protected void finishSolve()Description copied from class:AbstractConcurrentSearchMethodCalled when the current search is finished- Specified by:
finishSolvein classAbstractConcurrentSearchMethod
-
extractModel
Description copied from class:AbstractConcurrentSearchMethodRemove a model from the "list of open models" and returns it. This function will be called on the same thread as startSolve if it's running, and is not needed to be thread-safe. The function is allowed to return null if and only if there is no Model left to visit.- Specified by:
extractModelin classAbstractConcurrentSearchMethod
-