C++ Reference

C++ Reference: Routing

LocalSearchFilterManager

Detailed Description

Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost.

This class schedules filter execution and composes costs as a sum.

Definition at line 1764 of file constraint_solveri.h.

Public Member Functions

 LocalSearchFilterManager (Solver *const solver, const std::vector< LocalSearchFilter * > &filters)
 
std::string DebugString () const override
 
void Relax (const Assignment *delta, const Assignment *deltadelta) override
 Lets the filter know what delta and deltadelta will be passed in the next Accept(). More...
 
void Revert () override
 Cancels the changes made by the last Relax()/Accept() calls. More...
 
bool Accept (const Assignment *delta, const Assignment *deltadelta, int64 objective_min, int64 objective_max) override
 Returns true iff all filters return true, and the sum of their accepted objectives is between objective_min and objective_max. More...
 
void Synchronize (const Assignment *assignment, const Assignment *delta) override
 Synchronizes all filters to assignment. More...
 
bool IsIncremental () const override
 
int64 GetSynchronizedObjectiveValue () const override
 Objective value from last time Synchronize() was called. More...
 
int64 GetAcceptedObjectiveValue () const override
 Objective value from the last time Accept() was called and returned true. More...
 

Constructor & Destructor Documentation

◆ LocalSearchFilterManager()

LocalSearchFilterManager ( Solver *const  solver,
const std::vector< LocalSearchFilter * > &  filters 
)

Member Function Documentation

◆ Accept()

bool Accept ( const Assignment *  delta,
const Assignment *  deltadelta,
int64  objective_min,
int64  objective_max 
)
overridevirtual

Returns true iff all filters return true, and the sum of their accepted objectives is between objective_min and objective_max.

Implements LocalSearchFilter.

◆ DebugString()

std::string DebugString ( ) const
inlineoverride

Definition at line 1768 of file constraint_solveri.h.

◆ GetAcceptedObjectiveValue()

int64 GetAcceptedObjectiveValue ( ) const
inlineoverridevirtual

Objective value from the last time Accept() was called and returned true.

Reimplemented from LocalSearchFilter.

Definition at line 1784 of file constraint_solveri.h.

◆ GetSynchronizedObjectiveValue()

int64 GetSynchronizedObjectiveValue ( ) const
inlineoverridevirtual

Objective value from last time Synchronize() was called.

Reimplemented from LocalSearchFilter.

Definition at line 1781 of file constraint_solveri.h.

◆ IsIncremental()

bool IsIncremental ( ) const
inlineoverridevirtual

Reimplemented from LocalSearchFilter.

Definition at line 1780 of file constraint_solveri.h.

◆ Relax()

void Relax ( const Assignment *  delta,
const Assignment *  deltadelta 
)
overridevirtual

Lets the filter know what delta and deltadelta will be passed in the next Accept().

Reimplemented from LocalSearchFilter.

◆ Revert()

void Revert ( )
overridevirtual

Cancels the changes made by the last Relax()/Accept() calls.

Reimplemented from LocalSearchFilter.

◆ Synchronize()

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

Synchronizes all filters to assignment.

Implements LocalSearchFilter.


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