java.lang.Object
org.maxicp.search.blackbox.RunnableSearch
org.maxicp.search.blackbox.RestartRunnableSearch
Feasibility search phase based on repeated DFS restarts.
The class repeatedly launches a depth-first search on the same model, but stops each restart after a bounded number of failures. The failure budget grows according to the Luby sequence, which gives a robust restart policy for hard search spaces: many short runs are tried first, then progressively longer runs are allowed when the search still has not found a solution.
When a solution is found, it is copied out of the current model state and
stored in the enclosing BlackBoxSearch. This phase does not optimize
anything; it only tries to determine whether the model is feasible and, if so,
record one feasible assignment.
-
Field Summary
Fields inherited from class org.maxicp.search.blackbox.RunnableSearch
blackBoxSearch -
Constructor Summary
ConstructorsConstructorDescriptionRestartRunnableSearch(BlackBoxSearch blackBoxSearch, ModelDispatcher model, List<IntExpression> vars, int baseFailureLimit, double randomSwapProbability, long randomSeed) -
Method Summary
Methods inherited from class org.maxicp.search.blackbox.RunnableSearch
hasFeasibleSolution
-
Constructor Details
-
RestartRunnableSearch
public RestartRunnableSearch(BlackBoxSearch blackBoxSearch, ModelDispatcher model, List<IntExpression> vars, int baseFailureLimit, double randomSwapProbability, long randomSeed)
-
-
Method Details
-
run
-