Package org.jacop.jasat.modules
Class SearchModule
java.lang.Object
org.jacop.jasat.modules.SearchModule
- All Implemented Interfaces:
SolverComponent,ExplanationListener,SolutionListener,StartStopListener
public final class SearchModule
extends Object
implements SolutionListener, ExplanationListener, StartStopListener
A basic searching component, which controls the solver to solve the problem
- Version:
- 4.10
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionsearch implementation, without timeout (search until solution is found) -
Method Summary
Modifier and TypeMethodDescriptionvoidinitialize(Core core) initializes the component with the given solver.private voidcreates a thread and runs itvoidcalled when the conflict clause is explainedvoidonSolution(boolean solution) a handler called when a solution is found.voidonStart()perform search on the given solver, without limit of time.voidonStop()stops searchprivate voidsearch()main search looptoString()
-
Field Details
-
TIME_MARGIN
private static final long TIME_MARGIN- See Also:
-
core
-
activity
-
assertionH
-
restartH
-
timeout
private long timeout -
mustStop
private boolean mustStop -
task
-
clauseToLearn
-
-
Constructor Details
-
SearchModule
public SearchModule()search implementation, without timeout (search until solution is found)
-
-
Method Details
-
onExplain
Description copied from interface:ExplanationListenercalled when the conflict clause is explained- Specified by:
onExplainin interfaceExplanationListener- Parameters:
explanation- the explanation clause
-
onSolution
public void onSolution(boolean solution) Description copied from interface:SolutionListenera handler called when a solution is found.- Specified by:
onSolutionin interfaceSolutionListener- Parameters:
solution- true when the solution is Satisfiable, false if it is Unsatisfiable.
-
onStart
public void onStart()perform search on the given solver, without limit of time. Must be called at most once after initialize() was called.- Specified by:
onStartin interfaceStartStopListener
-
onStop
public void onStop()stops search- Specified by:
onStopin interfaceStartStopListener
-
search
private void search()main search loop -
initializeTask
private void initializeTask()creates a thread and runs it -
toString
-
initialize
Description copied from interface:SolverComponentinitializes the component with the given solver. May be called only once. This method must register the component to the solver for the run.- Specified by:
initializein interfaceSolverComponent- Parameters:
core- core component to initialize
-