C++ Reference
C++ Reference: Routing
Detailed Description
This class encapsulates an objective.
It requires the direction (minimize or maximize), the variable to optimize, and the improvement step.
Definition at line 4156 of file constraint_solver.h.
Public Member Functions | |
| OptimizeVar (Solver *const s, bool maximize, IntVar *const a, int64 step) | |
| ~OptimizeVar () override | |
| int64 | best () const |
| Returns the best value found during search. More... | |
| IntVar * | Var () const |
| Returns the variable that is optimized. More... | |
| bool | AcceptDelta (Assignment *delta, Assignment *deltadelta) override |
| Internal methods. More... | |
| void | EnterSearch () override |
| Beginning of the search. More... | |
| void | BeginNextDecision (DecisionBuilder *const db) override |
| Before calling DecisionBuilder::Next. More... | |
| void | RefuteDecision (Decision *const d) override |
| Before refuting the decision. More... | |
| bool | AtSolution () override |
| This method is called when a valid solution is found. More... | |
| bool | AcceptSolution () override |
| This method is called when a solution is found. More... | |
| virtual std::string | Print () const |
| std::string | DebugString () const override |
| void | Accept (ModelVisitor *const visitor) const override |
| Accepts the given model visitor. More... | |
| void | ApplyBound () |
| virtual void | RestartSearch () |
| Restart the search. More... | |
| virtual void | ExitSearch () |
| End of the search. More... | |
| virtual void | EndNextDecision (DecisionBuilder *const b, Decision *const d) |
| After calling DecisionBuilder::Next, along with the returned decision. More... | |
| virtual void | ApplyDecision (Decision *const d) |
| Before applying the 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 | BeginFail () |
| Just when the failure occurs. More... | |
| virtual void | EndFail () |
| After completing the backtrack. More... | |
| virtual void | BeginInitialPropagation () |
| Before the initial propagation. More... | |
| virtual void | EndInitialPropagation () |
| After the initial propagation. More... | |
| virtual void | NoMoreSolutions () |
| When the search tree is finished. More... | |
| virtual bool | LocalOptimum () |
| When a local optimum is reached. More... | |
| virtual void | AcceptNeighbor () |
| After accepting a neighbor during local search. More... | |
| virtual void | AcceptUncheckedNeighbor () |
| After accepting an unchecked 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 | Install () |
| Registers itself on the solver such that it gets notified of the search and propagation events. More... | |
Static Public Attributes | |
| static const int | kNoProgress = -1 |
Protected Attributes | |
| IntVar *const | var_ |
| int64 | step_ |
| int64 | best_ |
| bool | maximize_ |
| bool | found_initial_solution_ |
Constructor & Destructor Documentation
◆ OptimizeVar()
| OptimizeVar | ( | Solver *const | s, |
| bool | maximize, | ||
| IntVar *const | a, | ||
| int64 | step | ||
| ) |
◆ ~OptimizeVar()
|
override |
Member Function Documentation
◆ Accept()
|
overridevirtual |
Accepts the given model visitor.
Reimplemented from SearchMonitor.
◆ AcceptDelta()
|
overridevirtual |
Internal methods.
Reimplemented from SearchMonitor.
◆ AcceptNeighbor()
|
virtualinherited |
After accepting a neighbor during local search.
◆ AcceptSolution()
|
overridevirtual |
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 from SearchMonitor.
◆ AcceptUncheckedNeighbor()
|
virtualinherited |
After accepting an unchecked neighbor during local search.
Reimplemented in SearchLog.
◆ 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.
◆ ApplyBound()
| void ApplyBound | ( | ) |
◆ ApplyDecision()
|
virtualinherited |
Before applying the decision.
Reimplemented in SearchLog.
◆ 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()
|
virtualinherited |
Just when the failure occurs.
Reimplemented in SearchLog.
◆ BeginInitialPropagation()
|
virtualinherited |
Before the initial propagation.
Reimplemented in SearchLog.
◆ BeginNextDecision()
|
overridevirtual |
Before calling DecisionBuilder::Next.
Reimplemented from SearchMonitor.
◆ best()
|
inline |
Returns the best value found during search.
Definition at line 4162 of file constraint_solver.h.
◆ DebugString()
|
overridevirtual |
Reimplemented from BaseObject.
◆ EndFail()
|
virtualinherited |
After completing the backtrack.
◆ EndInitialPropagation()
|
virtualinherited |
After the initial propagation.
Reimplemented in SearchLog.
◆ EndNextDecision()
|
virtualinherited |
After calling DecisionBuilder::Next, along with the returned decision.
◆ EnterSearch()
|
overridevirtual |
Beginning of the search.
Reimplemented from SearchMonitor.
◆ ExitSearch()
|
virtualinherited |
End of the search.
Reimplemented in RegularLimit, and SearchLog.
◆ 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 3658 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.
◆ NoMoreSolutions()
|
virtualinherited |
When the search tree is finished.
Reimplemented in SearchLog.
◆ PeriodicCheck()
|
virtualinherited |
Periodic call to check limits in long running methods.
Reimplemented in SearchLimit.
◆ Print()
|
virtual |
◆ ProgressPercent()
|
inlinevirtualinherited |
Returns a percentage representing the propress of the search before reaching limits.
Reimplemented in RegularLimit.
Definition at line 3667 of file constraint_solver.h.
◆ RefuteDecision()
|
overridevirtual |
Before refuting the decision.
Reimplemented from SearchMonitor.
◆ RestartSearch()
|
virtualinherited |
Restart the search.
◆ solver()
|
inlineinherited |
Definition at line 3660 of file constraint_solver.h.
◆ Var()
|
inline |
Returns the variable that is optimized.
Definition at line 4165 of file constraint_solver.h.
Member Data Documentation
◆ best_
|
protected |
Definition at line 4182 of file constraint_solver.h.
◆ found_initial_solution_
|
protected |
Definition at line 4184 of file constraint_solver.h.
◆ kNoProgress
|
staticinherited |
Definition at line 3589 of file constraint_solver.h.
◆ maximize_
|
protected |
Definition at line 4183 of file constraint_solver.h.
◆ step_
|
protected |
Definition at line 4181 of file constraint_solver.h.
◆ var_
|
protected |
Definition at line 4180 of file constraint_solver.h.
The documentation for this class was generated from the following file: