C++ Reference
C++ Reference: Routing
Detailed Description
This filter accepts deltas for which the assignment satisfies the constraints of the Solver.
This is verified by keeping an internal copy of the assignment with all Next vars and their updated values, and calling RestoreAssignment() on the assignment+delta. exception of Next Vars (woud fail on large instances). WARNING: In the case of mandatory nodes, when all vehicles are currently being used in the solution but uninserted nodes still remain, this filter will reject the solution, even if the node could be inserted on one of these routes, because all Next vars of vehicle starts are already instantiated.
Public Member Functions | |
| CPFeasibilityFilter (const RoutingModel *routing_model) | |
| ~CPFeasibilityFilter () override | |
| std::string | DebugString () const override |
| bool | Accept (const Assignment *delta, const Assignment *deltadelta, int64 objective_min, int64 objective_max) override |
| Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds the variables which have been modified and their new value. More... | |
| void | OnSynchronize (const Assignment *delta) override |
| void | Synchronize (const Assignment *assignment, const Assignment *delta) override |
| This method should not be overridden. More... | |
| bool | FindIndex (IntVar *const var, int64 *index) const |
| void | AddVars (const std::vector< IntVar * > &vars) |
| Add variables to "track" to the filter. More... | |
| int | Size () const |
| IntVar * | Var (int index) const |
| int64 | Value (int index) const |
| bool | IsVarSynced (int index) const |
| virtual void | Relax (const Assignment *delta, const Assignment *deltadelta) |
| Lets the filter know what delta and deltadelta will be passed in the next Accept(). More... | |
| virtual bool | IsIncremental () const |
| virtual void | Revert () |
| Cancels the changes made by the last Relax()/Accept() calls. More... | |
| virtual int64 | GetSynchronizedObjectiveValue () const |
| Objective value from last time Synchronize() was called. More... | |
| virtual int64 | GetAcceptedObjectiveValue () const |
| Objective value from the last time Accept() was called and returned true. More... | |
Protected Member Functions | |
| void | SynchronizeOnAssignment (const Assignment *assignment) |
Constructor & Destructor Documentation
◆ CPFeasibilityFilter()
|
explicit |
◆ ~CPFeasibilityFilter()
|
inlineoverride |
Member Function Documentation
◆ Accept()
|
overridevirtual |
Accepts a "delta" given the assignment with which the filter has been synchronized; the delta holds the variables which have been modified and their new value.
If the filter represents a part of the global objective, its contribution must be between objective_min and objective_max. Sample: supposing one wants to maintain a[0,1] + b[0,1] <= 1, for the assignment (a,1), (b,0), the delta (b,1) will be rejected but the delta (a,0) will be accepted. TODO(user): Remove arguments when there are no more need for those.
Implements LocalSearchFilter.
◆ AddVars()
|
inherited |
Add variables to "track" to the filter.
◆ DebugString()
◆ FindIndex()
|
inlineinherited |
Definition at line 1804 of file constraint_solveri.h.
◆ GetAcceptedObjectiveValue()
|
inlinevirtualinherited |
Objective value from the last time Accept() was called and returned true.
Reimplemented in LocalSearchFilterManager.
Definition at line 1757 of file constraint_solveri.h.
◆ GetSynchronizedObjectiveValue()
|
inlinevirtualinherited |
Objective value from last time Synchronize() was called.
Reimplemented in LocalSearchFilterManager.
Definition at line 1754 of file constraint_solveri.h.
◆ IsIncremental()
|
inlinevirtualinherited |
Reimplemented in LocalSearchFilterManager.
Definition at line 1741 of file constraint_solveri.h.
◆ IsVarSynced()
|
inlineinherited |
Definition at line 1821 of file constraint_solveri.h.
◆ OnSynchronize()
|
overridevirtual |
Reimplemented from IntVarLocalSearchFilter.
◆ Relax()
|
inlinevirtualinherited |
Lets the filter know what delta and deltadelta will be passed in the next Accept().
Reimplemented in LocalSearchFilterManager.
Definition at line 1728 of file constraint_solveri.h.
◆ Revert()
|
inlinevirtualinherited |
Cancels the changes made by the last Relax()/Accept() calls.
Reimplemented in LocalSearchFilterManager.
Definition at line 1751 of file constraint_solveri.h.
◆ Size()
|
inlineinherited |
Definition at line 1815 of file constraint_solveri.h.
◆ Synchronize()
|
overridevirtualinherited |
This method should not be overridden.
Override OnSynchronize() instead which is called before exiting this method.
Implements LocalSearchFilter.
◆ SynchronizeOnAssignment()
|
protectedinherited |
◆ Value()
|
inlineinherited |
Definition at line 1817 of file constraint_solveri.h.
◆ Var()
|
inlineinherited |
Definition at line 1816 of file constraint_solveri.h.
The documentation for this class was generated from the following file: