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 4204 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 constexpr 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 4210 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 PropagationMonitor, and LocalSearchMonitor.
◆ 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.
◆ 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 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.
◆ Var()
|
inline |
Returns the variable that is optimized.
Definition at line 4213 of file constraint_solver.h.
Member Data Documentation
◆ best_
|
protected |
Definition at line 4230 of file constraint_solver.h.
◆ found_initial_solution_
|
protected |
Definition at line 4232 of file constraint_solver.h.
◆ kNoProgress
|
staticconstexprinherited |
Definition at line 3637 of file constraint_solver.h.
◆ maximize_
|
protected |
Definition at line 4231 of file constraint_solver.h.
◆ step_
|
protected |
Definition at line 4229 of file constraint_solver.h.
◆ var_
|
protected |
Definition at line 4228 of file constraint_solver.h.
The documentation for this class was generated from the following file: