Uses of Class
com.google.ortools.constraintsolver.SearchMonitor
-
Packages that use SearchMonitor Package Description com.google.ortools.constraintsolver -
-
Uses of SearchMonitor in com.google.ortools.constraintsolver
Subclasses of SearchMonitor in com.google.ortools.constraintsolver Modifier and Type Class Description classImprovementSearchLimitclassLocalSearchMonitorclassObjectiveMonitorclassOptimizeVarThis class encapsulates an objective.classPropagationMonitorclassRegularLimitUsual limit based on wall_time, number of explored branches and
number of failures in the search treeclassSearchLimitBase class of all search limits.classSearchLogThe base class of all search logs that periodically outputs information when
the search is running.classSolutionCollectorThis class is the root class of all solution collectors.
It implements a basic query API to be used independently
of the collector used.Methods in com.google.ortools.constraintsolver that return SearchMonitor Modifier and Type Method Description SearchMonitorSolver. makeAtSolutionCallback(java.lang.Runnable callback)SearchMonitorSolver. makeConstantRestart(int frequency)This search monitor will restart the search periodically after 'frequency'
failures.SearchMonitorSolver. makeEnterSearchCallback(java.lang.Runnable callback)----- Callback-based search monitors -----SearchMonitorSolver. makeExitSearchCallback(java.lang.Runnable callback)SearchMonitorSolver. makeLubyRestart(int scale_factor)This search monitor will restart the search periodically.
At the iteration n, it will restart after scale_factor * Luby(n) failures
where Luby is the Luby Strategy (i.e.SearchMonitorSolver. makeSearchLog(int branch_period)The SearchMonitors below will display a periodic search log
on LOG(INFO) every branch_period branches explored.SearchMonitorSolver. makeSearchLog(int branch_period, IntVar var)At each solution, this monitor also display the var value.SearchMonitorSolver. makeSearchLog(int branch_period, IntVar[] vars, java.util.function.Supplier<java.lang.String> display_callback)At each solution, this monitor will display the 'vars' values and the
result ofdisplay_callback.SearchMonitorSolver. makeSearchLog(int branch_period, IntVar var, java.util.function.Supplier<java.lang.String> display_callback)At each solution, this monitor will display the 'var' value and the
result ofdisplay_callback.SearchMonitorSolver. makeSearchLog(int branch_period, OptimizeVar opt_var)OptimizeVar Search Logs
At each solution, this monitor will also display the 'opt_var' value.SearchMonitorSolver. makeSearchLog(int branch_period, OptimizeVar opt_var, java.util.function.Supplier<java.lang.String> display_callback)Creates a search monitor that will also print the result of the
display callback.SearchMonitorSolver. makeSearchLog(int branch_period, java.util.function.Supplier<java.lang.String> display_callback)At each solution, this monitor will also display result of
display_callback.SearchMonitorSolver. makeSearchTrace(java.lang.String prefix)Creates a search monitor that will trace precisely the behavior of the
search.SearchMonitorSolver. makeSymmetryManager(SymmetryBreaker v1)SearchMonitorSolver. makeSymmetryManager(SymmetryBreaker[] visitors)Symmetry Breaking.SearchMonitorSolver. makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2)SearchMonitorSolver. makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3)SearchMonitorSolver. makeSymmetryManager(SymmetryBreaker v1, SymmetryBreaker v2, SymmetryBreaker v3, SymmetryBreaker v4)Methods in com.google.ortools.constraintsolver with parameters of type SearchMonitor Modifier and Type Method Description voidRoutingModel. addSearchMonitor(SearchMonitor monitor)Adds a search monitor to the search used to solve the routing model.protected static longSearchMonitor. getCPtr(SearchMonitor obj)DecisionBuilderSolver. makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1)DecisionBuilderSolver. makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor[] monitors)DecisionBuilderSolver. makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2)DecisionBuilderSolver. makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)DecisionBuilderSolver. makeNestedOptimize(DecisionBuilder db, Assignment solution, boolean maximize, long step, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)DecisionBuilderSolver. makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1)DecisionBuilderSolver. makeSolveOnce(DecisionBuilder db, SearchMonitor[] monitors)DecisionBuilderSolver. makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2)DecisionBuilderSolver. makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3)DecisionBuilderSolver. makeSolveOnce(DecisionBuilder db, SearchMonitor monitor1, SearchMonitor monitor2, SearchMonitor monitor3, SearchMonitor monitor4)voidSolver. newSearch(DecisionBuilder db, SearchMonitor m1)voidSolver. newSearch(DecisionBuilder db, SearchMonitor[] monitors)
Decomposed search.
The code for a top level search should look like
solver->NewSearch(db);
while (solver->NextSolution()) {
..voidSolver. newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)voidSolver. newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)voidSolver. newSearch(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)static voidmainJNI. RoutingModel_addSearchMonitor(long jarg1, RoutingModel jarg1_, long jarg2, SearchMonitor jarg2_)static voidmainJNI. SearchMonitor_accept(long jarg1, SearchMonitor jarg1_, long jarg2, ModelVisitor jarg2_)static booleanmainJNI. SearchMonitor_acceptDelta(long jarg1, SearchMonitor jarg1_, long jarg2, Assignment jarg2_, long jarg3, Assignment jarg3_)static booleanmainJNI. SearchMonitor_acceptDeltaSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, Assignment jarg2_, long jarg3, Assignment jarg3_)static voidmainJNI. SearchMonitor_acceptNeighbor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_acceptNeighborSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_acceptSolution(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_acceptSolutionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_acceptSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, ModelVisitor jarg2_)static voidmainJNI. SearchMonitor_AcceptUncheckedNeighbor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_AcceptUncheckedNeighborSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_afterDecision(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_, boolean jarg3)static voidmainJNI. SearchMonitor_afterDecisionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_, boolean jarg3)static voidmainJNI. SearchMonitor_applyDecision(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_)static voidmainJNI. SearchMonitor_applyDecisionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_)static booleanmainJNI. SearchMonitor_atSolution(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_atSolutionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_beginFail(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_beginFailSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_beginInitialPropagation(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_beginInitialPropagationSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_beginNextDecision(long jarg1, SearchMonitor jarg1_, long jarg2, DecisionBuilder jarg2_)static voidmainJNI. SearchMonitor_beginNextDecisionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, DecisionBuilder jarg2_)static voidmainJNI. SearchMonitor_change_ownership(SearchMonitor obj, long cptr, boolean take_or_release)static voidmainJNI. SearchMonitor_director_connect(SearchMonitor obj, long cptr, boolean mem_own, boolean weak_global)static voidmainJNI. SearchMonitor_endFail(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_endFailSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_endInitialPropagation(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_endInitialPropagationSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_endNextDecision(long jarg1, SearchMonitor jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Decision jarg3_)static voidmainJNI. SearchMonitor_endNextDecisionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Decision jarg3_)static voidmainJNI. SearchMonitor_enterSearch(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_enterSearchSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_exitSearch(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_exitSearchSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_install(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_installSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_IsUncheckedSolutionLimitReached(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_IsUncheckedSolutionLimitReachedSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_localOptimum(long jarg1, SearchMonitor jarg1_)static booleanmainJNI. SearchMonitor_localOptimumSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_noMoreSolutions(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_noMoreSolutionsSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_periodicCheck(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_periodicCheckSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static intmainJNI. SearchMonitor_progressPercent(long jarg1, SearchMonitor jarg1_)static intmainJNI. SearchMonitor_progressPercentSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_refuteDecision(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_)static voidmainJNI. SearchMonitor_refuteDecisionSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_, long jarg2, Decision jarg2_)static voidmainJNI. SearchMonitor_restartSearch(long jarg1, SearchMonitor jarg1_)static voidmainJNI. SearchMonitor_restartSearchSwigExplicitSearchMonitor(long jarg1, SearchMonitor jarg1_)static longmainJNI. SearchMonitor_solver(long jarg1, SearchMonitor jarg1_)booleanSolver. solve(DecisionBuilder db, SearchMonitor m1)booleanSolver. solve(DecisionBuilder db, SearchMonitor[] monitors)
Solves the problem using the given DecisionBuilder and returns true if a
solution was found and accepted.
These methods are the ones most users should use to search for a solution.
Note that the definition of 'solution' is subtle.booleanSolver. solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)booleanSolver. solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)booleanSolver. solve(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3, SearchMonitor m4)booleanSolver. solveAndCommit(DecisionBuilder db, SearchMonitor m1)booleanSolver. solveAndCommit(DecisionBuilder db, SearchMonitor[] monitors)
SolveAndCommit using a decision builder and up to three
search monitors, usually one for the objective, one for the limits
and one to collect solutions.
The difference between a SolveAndCommit() and a Solve() method
call is the fact that SolveAndCommit will not backtrack all
modifications at the end of the search.booleanSolver. solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2)booleanSolver. solveAndCommit(DecisionBuilder db, SearchMonitor m1, SearchMonitor m2, SearchMonitor m3)static longmainJNI. Solver_makeNestedOptimize__SWIG_1(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Assignment jarg3_, boolean jarg4, long jarg5, long jarg6, SearchMonitor jarg6_)static longmainJNI. Solver_makeNestedOptimize__SWIG_2(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Assignment jarg3_, boolean jarg4, long jarg5, long jarg6, SearchMonitor jarg6_, long jarg7, SearchMonitor jarg7_)static longmainJNI. Solver_makeNestedOptimize__SWIG_3(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Assignment jarg3_, boolean jarg4, long jarg5, long jarg6, SearchMonitor jarg6_, long jarg7, SearchMonitor jarg7_, long jarg8, SearchMonitor jarg8_)static longmainJNI. Solver_makeNestedOptimize__SWIG_4(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Assignment jarg3_, boolean jarg4, long jarg5, long jarg6, SearchMonitor jarg6_, long jarg7, SearchMonitor jarg7_, long jarg8, SearchMonitor jarg8_, long jarg9, SearchMonitor jarg9_)static longmainJNI. Solver_makeNestedOptimize__SWIG_5(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, Assignment jarg3_, boolean jarg4, long jarg5, SearchMonitor[] jarg6)static longmainJNI. Solver_makeSolveOnce__SWIG_1(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_)static longmainJNI. Solver_makeSolveOnce__SWIG_2(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_)static longmainJNI. Solver_makeSolveOnce__SWIG_3(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_)static longmainJNI. Solver_makeSolveOnce__SWIG_4(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_, long jarg6, SearchMonitor jarg6_)static longmainJNI. Solver_makeSolveOnce__SWIG_5(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, SearchMonitor[] jarg3)static voidmainJNI. Solver_newSearch__SWIG_0(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, SearchMonitor[] jarg3)static voidmainJNI. Solver_newSearch__SWIG_2(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_)static voidmainJNI. Solver_newSearch__SWIG_3(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_)static voidmainJNI. Solver_newSearch__SWIG_4(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_)static voidmainJNI. Solver_newSearch__SWIG_5(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_, long jarg6, SearchMonitor jarg6_)static booleanmainJNI. Solver_solve__SWIG_0(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, SearchMonitor[] jarg3)static booleanmainJNI. Solver_solve__SWIG_2(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_)static booleanmainJNI. Solver_solve__SWIG_3(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_)static booleanmainJNI. Solver_solve__SWIG_4(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_)static booleanmainJNI. Solver_solve__SWIG_5(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_, long jarg6, SearchMonitor jarg6_)static booleanmainJNI. Solver_solveAndCommit__SWIG_0(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, SearchMonitor[] jarg3)static booleanmainJNI. Solver_solveAndCommit__SWIG_2(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_)static booleanmainJNI. Solver_solveAndCommit__SWIG_3(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_)static booleanmainJNI. Solver_solveAndCommit__SWIG_4(long jarg1, Solver jarg1_, long jarg2, DecisionBuilder jarg2_, long jarg3, SearchMonitor jarg3_, long jarg4, SearchMonitor jarg4_, long jarg5, SearchMonitor jarg5_)static voidmainJNI. SwigDirector_SearchMonitor_accept(SearchMonitor jself, long visitor)static booleanmainJNI. SwigDirector_SearchMonitor_acceptDelta(SearchMonitor jself, long delta, long deltadelta)static voidmainJNI. SwigDirector_SearchMonitor_acceptNeighbor(SearchMonitor jself)static booleanmainJNI. SwigDirector_SearchMonitor_acceptSolution(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_AcceptUncheckedNeighbor(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_afterDecision(SearchMonitor jself, long d, boolean apply)static voidmainJNI. SwigDirector_SearchMonitor_applyDecision(SearchMonitor jself, long d)static booleanmainJNI. SwigDirector_SearchMonitor_atSolution(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_beginFail(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_beginInitialPropagation(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_beginNextDecision(SearchMonitor jself, long b)static voidmainJNI. SwigDirector_SearchMonitor_endFail(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_endInitialPropagation(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_endNextDecision(SearchMonitor jself, long b, long d)static voidmainJNI. SwigDirector_SearchMonitor_enterSearch(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_exitSearch(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_install(SearchMonitor jself)static booleanmainJNI. SwigDirector_SearchMonitor_IsUncheckedSolutionLimitReached(SearchMonitor jself)static booleanmainJNI. SwigDirector_SearchMonitor_localOptimum(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_noMoreSolutions(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_periodicCheck(SearchMonitor jself)static intmainJNI. SwigDirector_SearchMonitor_progressPercent(SearchMonitor jself)static voidmainJNI. SwigDirector_SearchMonitor_refuteDecision(SearchMonitor jself, long d)static voidmainJNI. SwigDirector_SearchMonitor_restartSearch(SearchMonitor jself)static java.lang.StringmainJNI. SwigDirector_SearchMonitor_toString(SearchMonitor jself)protected static longSearchMonitor. swigRelease(SearchMonitor obj)
-