OR-Tools  8.2
IntVarLocalSearchFilterabstract

Detailed Description

Definition at line 1811 of file constraint_solveri.h.

Public Member Functions

 IntVarLocalSearchFilter (const std::vector< IntVar * > &vars)
 
 ~IntVarLocalSearchFilter () 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
 
IntVarVar (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 void Commit (const Assignment *delta, const Assignment *deltadelta)
 Dual of Relax(), lets the filter know that the delta was accepted. More...
 
virtual bool Accept (const Assignment *delta, const Assignment *deltadelta, int64 objective_min, int64 objective_max)=0
 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...
 
virtual bool IsIncremental () const
 
virtual void Revert ()
 Cancels the changes made by the last Relax()/Accept() calls. More...
 
virtual void Reset ()
 Sets the filter to empty solution. 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...
 
virtual std::string DebugString () const
 

Protected Member Functions

virtual void OnSynchronize (const Assignment *delta)
 
void SynchronizeOnAssignment (const Assignment *assignment)
 

Constructor & Destructor Documentation

◆ IntVarLocalSearchFilter()

IntVarLocalSearchFilter ( const std::vector< IntVar * > &  vars)
explicit

Definition at line 3241 of file local_search.cc.

◆ ~IntVarLocalSearchFilter()

~IntVarLocalSearchFilter ( )
override

Definition at line 3261 of file local_search.cc.

Member Function Documentation

◆ Accept()

virtual bool Accept ( const Assignment delta,
const Assignment deltadelta,
int64  objective_min,
int64  objective_max 
)
pure virtualinherited

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.

Implemented in CPFeasibilityFilter, and BasePathFilter.

◆ AddVars()

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

Add variables to "track" to the filter.

Definition at line 3246 of file local_search.cc.

◆ Commit()

virtual void Commit ( const Assignment delta,
const Assignment deltadelta 
)
inlinevirtualinherited

Dual of Relax(), lets the filter know that the delta was accepted.

Definition at line 1725 of file constraint_solveri.h.

◆ DebugString()

virtual std::string DebugString ( ) const
inlinevirtualinherited

Reimplemented in SymmetryManager, ExchangeSubtrip, RelocateSubtrip, PairNodeSwapActiveOperator< swap_first >, RelocateExpensiveChain, FilteredHeuristicCloseNodesLNSOperator, FilteredHeuristicExpensiveChainLNSOperator, RelocatePathAndHeuristicInsertUnperformedOperator, FilteredHeuristicPathLNSOperator, IndexPairSwapActiveOperator, SwapIndexPairOperator, PairExchangeRelocateOperator, PairExchangeOperator, LightPairRelocateOperator, PairRelocateOperator, MakePairInactiveOperator, MakePairActiveOperator, MakeRelocateNeighborsOperator, CPFeasibilityFilter, IntVarFilteredDecisionBuilder, GlobalVehicleBreaksConstraint, Dimension, LocalSearchPhaseParameters, FindOneNeighbor, LocalSearchProfiler, NeighborhoodLimit, PathLns, LinKernighan, TSPLns, TSPOpt, ExtendedSwapActiveOperator, SwapActiveOperator, MakeChainInactiveOperator, RelocateAndMakeInactiveOperator, MakeInactiveOperator, MakeActiveAndRelocate, RelocateAndMakeActiveOperator, MakeActiveOperator, Cross, Exchange, Relocate, TwoOpt, PiecewiseLinearExpr, IfThenElseCt, DemonProfiler, ArrayWithOffset< T >, SearchLog, BooleanVar, LocalSearchMonitor, PropagationMonitor, LocalSearchFilterManager, DelayedCallMethod2< T, P, Q >, DelayedCallMethod1< T, P >, DelayedCallMethod0< T >, CallMethod3< T, P, Q, R >, CallMethod2< T, P, Q >, CallMethod1< T, P >, CallMethod0< T >, Pack, Assignment, SequenceVar, RegularLimit, SearchLimit, OptimizeVar, SolutionCollector, IntVarIterator, Constraint, Demon, DecisionBuilder, Decision, PropagationBaseObject, LocalSearchMonitorMaster, and Trace.

Definition at line 3156 of file constraint_solver.h.

◆ FindIndex()

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

Definition at line 1820 of file constraint_solveri.h.

◆ GetAcceptedObjectiveValue()

virtual int64 GetAcceptedObjectiveValue ( ) const
inlinevirtualinherited

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

Definition at line 1757 of file constraint_solveri.h.

◆ GetSynchronizedObjectiveValue()

virtual int64 GetSynchronizedObjectiveValue ( ) const
inlinevirtualinherited

Objective value from last time Synchronize() was called.

Definition at line 1754 of file constraint_solveri.h.

◆ IsIncremental()

virtual bool IsIncremental ( ) const
inlinevirtualinherited

Definition at line 1738 of file constraint_solveri.h.

◆ IsVarSynced()

bool IsVarSynced ( int  index) const
inline

Definition at line 1837 of file constraint_solveri.h.

◆ OnSynchronize()

virtual void OnSynchronize ( const Assignment delta)
inlineprotectedvirtual

Reimplemented in CPFeasibilityFilter, and BasePathFilter.

Definition at line 1840 of file constraint_solveri.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().

Definition at line 1723 of file constraint_solveri.h.

◆ Reset()

virtual void Reset ( )
inlinevirtualinherited

Sets the filter to empty solution.

Definition at line 1751 of file constraint_solveri.h.

◆ Revert()

virtual void Revert ( )
inlinevirtualinherited

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

Definition at line 1748 of file constraint_solveri.h.

◆ Size()

int Size ( ) const
inline

Definition at line 1831 of file constraint_solveri.h.

◆ Synchronize()

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

This method should not be overridden.

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

Implements LocalSearchFilter.

Definition at line 3263 of file local_search.cc.

◆ SynchronizeOnAssignment()

void SynchronizeOnAssignment ( const Assignment assignment)
protected

Definition at line 3274 of file local_search.cc.

◆ Value()

int64 Value ( int  index) const
inline

Definition at line 1833 of file constraint_solveri.h.

◆ Var()

IntVar* Var ( int  index) const
inline

Definition at line 1832 of file constraint_solveri.h.


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