C++ Reference
C++ Reference: Routing
Detailed Description
The base class of all search logs that periodically outputs information when the search is running.
Definition at line 2023 of file constraint_solveri.h.
Public Member Functions | |
SearchLog (Solver *const s, OptimizeVar *const obj, IntVar *const var, double scaling_factor, double offset, std::function< std::string()> display_callback, bool display_on_new_solutions_only, int period) | |
~SearchLog () override | |
void | EnterSearch () override |
Beginning of the search. More... | |
void | ExitSearch () override |
End of the search. More... | |
bool | AtSolution () override |
This method is called when a valid solution is found. More... | |
void | BeginFail () override |
Just when the failure occurs. More... | |
void | NoMoreSolutions () override |
When the search tree is finished. More... | |
void | AcceptUncheckedNeighbor () override |
After accepting an unchecked neighbor during local search. More... | |
void | ApplyDecision (Decision *const decision) override |
Before applying the decision. More... | |
void | RefuteDecision (Decision *const decision) override |
Before refuting the decision. More... | |
void | OutputDecision () |
void | Maintain () |
void | BeginInitialPropagation () override |
Before the initial propagation. More... | |
void | EndInitialPropagation () override |
After the initial propagation. More... | |
std::string | DebugString () const override |
virtual void | RestartSearch () |
Restart the search. More... | |
virtual void | BeginNextDecision (DecisionBuilder *const b) |
Before calling DecisionBuilder::Next. More... | |
virtual void | EndNextDecision (DecisionBuilder *const b, Decision *const d) |
After calling DecisionBuilder::Next, along with the returned decision. More... | |
virtual void | AfterDecision (Decision *const d, bool apply) |
Just after refuting or applying the decision, apply is true after Apply. More... | |
virtual void | EndFail () |
After completing the backtrack. More... | |
virtual bool | AcceptSolution () |
This method is called when a solution is found. More... | |
virtual bool | LocalOptimum () |
When a local optimum is reached. More... | |
virtual bool | AcceptDelta (Assignment *delta, Assignment *deltadelta) |
virtual void | AcceptNeighbor () |
After accepting a neighbor during local search. More... | |
virtual bool | IsUncheckedSolutionLimitReached () |
Returns true if the limit of solutions has been reached including unchecked solutions. More... | |
Solver * | solver () const |
virtual void | PeriodicCheck () |
Periodic call to check limits in long running methods. More... | |
virtual int | ProgressPercent () |
Returns a percentage representing the propress of the search before reaching limits. More... | |
virtual void | Accept (ModelVisitor *const visitor) const |
Accepts the given model visitor. More... | |
virtual void | Install () |
Registers itself on the solver such that it gets notified of the search and propagation events. More... | |
Static Public Attributes | |
static constexpr int | kNoProgress = -1 |
Protected Member Functions | |
virtual void | OutputLine (const std::string &line) |
Constructor & Destructor Documentation
◆ SearchLog()
SearchLog | ( | Solver *const | s, |
OptimizeVar *const | obj, | ||
IntVar *const | var, | ||
double | scaling_factor, | ||
double | offset, | ||
std::function< std::string()> | display_callback, | ||
bool | display_on_new_solutions_only, | ||
int | period | ||
) |
◆ ~SearchLog()
|
override |
Member Function Documentation
◆ Accept()
|
virtualinherited |
Accepts the given model visitor.
Reimplemented in RegularLimit, and OptimizeVar.
◆ AcceptDelta()
|
virtualinherited |
Reimplemented in OptimizeVar.
◆ AcceptNeighbor()
|
virtualinherited |
After accepting a neighbor during local search.
◆ AcceptSolution()
|
virtualinherited |
This method is called when a solution is found.
It asserts whether the solution is valid. A value of false indicates that the solution should be discarded.
Reimplemented in OptimizeVar.
◆ AcceptUncheckedNeighbor()
|
overridevirtual |
After accepting an unchecked neighbor during local search.
Reimplemented from SearchMonitor.
◆ AfterDecision()
|
virtualinherited |
Just after refuting or applying the decision, apply is true after Apply.
This is called only if the Apply() or Refute() methods have not failed.
◆ ApplyDecision()
|
overridevirtual |
Before applying the decision.
Reimplemented from SearchMonitor.
◆ AtSolution()
|
overridevirtual |
This method is called when a valid solution is found.
If the return value is true, then search will resume after. If the result is false, then search will stop there.
Reimplemented from SearchMonitor.
◆ BeginFail()
|
overridevirtual |
Just when the failure occurs.
Reimplemented from SearchMonitor.
◆ BeginInitialPropagation()
|
overridevirtual |
Before the initial propagation.
Reimplemented from SearchMonitor.
◆ BeginNextDecision()
|
virtualinherited |
Before calling DecisionBuilder::Next.
Reimplemented in OptimizeVar, and SearchLimit.
◆ DebugString()
|
overridevirtual |
Reimplemented from BaseObject.
◆ EndFail()
|
virtualinherited |
After completing the backtrack.
◆ EndInitialPropagation()
|
overridevirtual |
After the initial propagation.
Reimplemented from SearchMonitor.
◆ EndNextDecision()
|
virtualinherited |
After calling DecisionBuilder::Next, along with the returned decision.
◆ EnterSearch()
|
overridevirtual |
Beginning of the search.
Reimplemented from SearchMonitor.
◆ ExitSearch()
|
overridevirtual |
End of the search.
Reimplemented from SearchMonitor.
◆ Install()
|
virtualinherited |
Registers itself on the solver such that it gets notified of the search and propagation events.
Reimplemented in LocalSearchMonitor, and PropagationMonitor.
◆ IsUncheckedSolutionLimitReached()
|
inlinevirtualinherited |
Returns true if the limit of solutions has been reached including unchecked solutions.
Reimplemented in RegularLimit.
Definition at line 3706 of file constraint_solver.h.
◆ LocalOptimum()
|
virtualinherited |
When a local optimum is reached.
If 'true' is returned, the last solution is discarded and the search proceeds with the next one.
◆ Maintain()
void Maintain | ( | ) |
◆ NoMoreSolutions()
|
overridevirtual |
When the search tree is finished.
Reimplemented from SearchMonitor.
◆ OutputDecision()
void OutputDecision | ( | ) |
◆ OutputLine()
|
protectedvirtual |
◆ PeriodicCheck()
|
virtualinherited |
Periodic call to check limits in long running methods.
Reimplemented in SearchLimit.
◆ ProgressPercent()
|
inlinevirtualinherited |
Returns a percentage representing the propress of the search before reaching limits.
Reimplemented in RegularLimit.
Definition at line 3715 of file constraint_solver.h.
◆ RefuteDecision()
|
overridevirtual |
Before refuting the decision.
Reimplemented from SearchMonitor.
◆ RestartSearch()
|
virtualinherited |
Restart the search.
◆ solver()
|
inlineinherited |
Definition at line 3708 of file constraint_solver.h.
Member Data Documentation
◆ kNoProgress
|
staticconstexprinherited |
Definition at line 3637 of file constraint_solver.h.
The documentation for this class was generated from the following file: