C++ Reference

C++ Reference: Routing

BasePathFilterabstract

Detailed Description

Generic path-based filter class.

Definition at line 3483 of file routing.h.

Public Member Functions

 BasePathFilter (const std::vector< IntVar * > &nexts, int next_domain_size)
 
 ~BasePathFilter () 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

int64 GetNext (int64 node) const
 
int NumPaths () const
 
int64 Start (int i) const
 
int GetPath (int64 node) const
 
int Rank (int64 node) const
 
bool IsDisabled () const
 
const std::vector< int64 > & GetTouchedPathStarts () const
 
const std::vector< int64 > & GetNewSynchronizedUnperformedNodes () const
 
void SynchronizeOnAssignment (const Assignment *assignment)
 

Static Protected Attributes

static const int64 kUnassigned
 

Constructor & Destructor Documentation

◆ BasePathFilter()

BasePathFilter ( const std::vector< IntVar * > &  nexts,
int  next_domain_size 
)

◆ ~BasePathFilter()

~BasePathFilter ( )
inlineoverride

Definition at line 3486 of file routing.h.

Member Function Documentation

◆ Accept()

bool Accept ( const Assignment *  delta,
const Assignment *  deltadelta,
int64  objective_min,
int64  objective_max 
)
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()

void AddVars ( const std::vector< IntVar * > &  vars)
inherited

Add variables to "track" to the filter.

◆ FindIndex()

bool FindIndex ( IntVar *const  var,
int64 *  index 
) const
inlineinherited

Definition at line 1804 of file constraint_solveri.h.

◆ GetAcceptedObjectiveValue()

virtual int64 GetAcceptedObjectiveValue ( ) const
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.

◆ GetNewSynchronizedUnperformedNodes()

const std::vector<int64>& GetNewSynchronizedUnperformedNodes ( ) const
inlineprotected

Definition at line 3507 of file routing.h.

◆ GetNext()

int64 GetNext ( int64  node) const
inlineprotected

Definition at line 3494 of file routing.h.

◆ GetPath()

int GetPath ( int64  node) const
inlineprotected

Definition at line 3501 of file routing.h.

◆ GetSynchronizedObjectiveValue()

virtual int64 GetSynchronizedObjectiveValue ( ) const
inlinevirtualinherited

Objective value from last time Synchronize() was called.

Reimplemented in LocalSearchFilterManager.

Definition at line 1754 of file constraint_solveri.h.

◆ GetTouchedPathStarts()

const std::vector<int64>& GetTouchedPathStarts ( ) const
inlineprotected

Definition at line 3504 of file routing.h.

◆ IsDisabled()

bool IsDisabled ( ) const
inlineprotected

Definition at line 3503 of file routing.h.

◆ IsIncremental()

virtual bool IsIncremental ( ) const
inlinevirtualinherited

Reimplemented in LocalSearchFilterManager.

Definition at line 1741 of file constraint_solveri.h.

◆ IsVarSynced()

bool IsVarSynced ( int  index) const
inlineinherited

Definition at line 1821 of file constraint_solveri.h.

◆ NumPaths()

int NumPaths ( ) const
inlineprotected

Definition at line 3499 of file routing.h.

◆ OnSynchronize()

void OnSynchronize ( const Assignment *  delta)
overridevirtual

Reimplemented from IntVarLocalSearchFilter.

◆ Rank()

int Rank ( int64  node) const
inlineprotected

Definition at line 3502 of file routing.h.

◆ Relax()

virtual void Relax ( const Assignment *  delta,
const Assignment *  deltadelta 
)
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()

virtual void 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()

int Size ( ) const
inlineinherited

Definition at line 1815 of file constraint_solveri.h.

◆ Start()

int64 Start ( int  i) const
inlineprotected

Definition at line 3500 of file routing.h.

◆ Synchronize()

void Synchronize ( const Assignment *  assignment,
const Assignment *  delta 
)
overridevirtualinherited

This method should not be overridden.

Override OnSynchronize() instead which is called before exiting this method.

Implements LocalSearchFilter.

◆ SynchronizeOnAssignment()

void SynchronizeOnAssignment ( const Assignment *  assignment)
protectedinherited

◆ Value()

int64 Value ( int  index) const
inlineinherited

Definition at line 1817 of file constraint_solveri.h.

◆ Var()

IntVar* Var ( int  index) const
inlineinherited

Definition at line 1816 of file constraint_solveri.h.

Member Data Documentation

◆ kUnassigned

const int64 kUnassigned
staticprotected

Definition at line 3492 of file routing.h.


The documentation for this class was generated from the following file: