C++ Reference

C++ Reference: Routing

constraint_solveri.h File Reference

Go to the source code of this file.

Classes

class  BaseIntExpr
 This is the base class for all expressions that are not variables. More...
 
class  SimpleRevFIFO< T >
 This class represent a reversible FIFO structure. More...
 
class  SimpleRevFIFO< T >::Iterator
 This iterator is not stable with respect to deletion. More...
 
class  RevImmutableMultiMap< K, V >
 Reversible Immutable MultiMap class. More...
 
class  RevSwitch
 A reversible switch that can switch once from false to true. More...
 
class  SmallRevBitSet
 This class represents a small reversible bitset (size <= 64). More...
 
class  RevBitSet
 This class represents a reversible bitset. More...
 
class  RevBitMatrix
 Matrix version of the RevBitSet class. More...
 
class  CallMethod0< T >
 Demon proxy to a method on the constraint with no arguments. More...
 
class  CallMethod1< T, P >
 Demon proxy to a method on the constraint with one argument. More...
 
class  CallMethod2< T, P, Q >
 Demon proxy to a method on the constraint with two arguments. More...
 
class  CallMethod3< T, P, Q, R >
 Demon proxy to a method on the constraint with three arguments. More...
 
class  DelayedCallMethod0< T >
 Low-priority demon proxy to a method on the constraint with no arguments. More...
 
class  DelayedCallMethod1< T, P >
 Low-priority demon proxy to a method on the constraint with one argument. More...
 
class  DelayedCallMethod2< T, P, Q >
 Low-priority demon proxy to a method on the constraint with two arguments. More...
 
class  LocalSearchOperator
 The base class for all local search operators. More...
 
class  VarLocalSearchOperator< V, Val, Handler >
 Base operator class for operators manipulating variables. More...
 
class  IntVarLocalSearchHandler
 
class  IntVarLocalSearchOperator
 Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator. More...
 
class  SequenceVarLocalSearchHandler
 
class  SequenceVarLocalSearchOperator
 
class  BaseLns
 This is the base class for building an Lns operator. More...
 
class  ChangeValue
 Defines operators which change the value of variables; each neighbor corresponds to one modified variable. More...
 
class  PathOperator
 Base class of the local search operators dedicated to path modifications (a path is a set of nodes linked together by arcs). More...
 
class  LocalSearchState
 
class  LocalSearchVariable
 
class  LocalSearchFilter
 Local Search Filters are used for fast neighbor pruning. More...
 
class  LocalSearchFilterManager
 Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost. More...
 
class  IntVarLocalSearchFilter
 
class  PropagationMonitor
 
class  LocalSearchMonitor
 
class  BooleanVar
 
class  SymmetryBreaker
 A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. More...
 
class  SearchLog
 The base class of all search logs that periodically outputs information when the search is running. More...
 
class  ModelCache
 Implements a complete cache for model elements: expressions and constraints. More...
 
class  ArgumentHolder
 Argument Holder: useful when visiting a model. More...
 
class  ModelParser
 Model Parser. More...
 
class  ArrayWithOffset< T >
 
class  RevGrowingArray< T, C >
 This class is a reversible growing array. More...
 
class  RevIntSet< T >
 This is a special class to represent a 'residual' set of T. More...
 
class  RevPartialSequence
 --— RevPartialSequence --— More...
 
class  UnsortedNullableRevBitset
 This class represents a reversible bitset. More...
 
class  PathState
 
class  PathState::Chain
 
class  PathState::Chain::Iterator
 
class  PathState::ChainRange
 
class  PathState::ChainRange::Iterator
 
class  PathState::NodeRange
 
class  PathState::NodeRange::Iterator
 
class  UnaryDimensionChecker
 
struct  UnaryDimensionChecker::Interval
 

Namespaces

 operations_research
 The vehicle routing library lets one model and solve generic vehicle routing problems ranging from the Traveling Salesman Problem to more complex problems such as the Capacitated Vehicle Routing Problem with Time Windows.
 

Typedefs

typedef VarLocalSearchOperator< SequenceVar, std::vector< int >, SequenceVarLocalSearchHandler > SequenceVarLocalSearchOperatorTemplate
 

Enumerations

enum  VarTypes {
  UNSPECIFIED, DOMAIN_INT_VAR, BOOLEAN_VAR, CONST_VAR,
  VAR_ADD_CST, VAR_TIMES_CST, CST_SUB_VAR, OPP_VAR,
  TRACE_VAR
}
 This enum is used internally to do dynamic typing on subclasses of integer variables. More...
 

Functions

uint64 Hash1 (uint64 value)
 Hash functions. More...
 
uint64 Hash1 (uint32 value)
 
uint64 Hash1 (int64 value)
 
uint64 Hash1 (int value)
 
uint64 Hash1 (void *const ptr)
 
template<class T >
uint64 Hash1 (const std::vector< T * > &ptrs)
 
uint64 Hash1 (const std::vector< int64 > &ptrs)
 
template<class T >
LocalSearchOperator * MakeLocalSearchOperator (Solver *solver, const std::vector< IntVar * > &vars, const std::vector< IntVar * > &secondary_vars, std::function< int(int64)> start_empty_path_class)
 Operator Factories. More...
 
template<class T >
bool IsArrayConstant (const std::vector< T > &values, const T &value)
 
template<class T >
bool IsArrayBoolean (const std::vector< T > &values)
 
template<class T >
bool AreAllOnes (const std::vector< T > &values)
 
template<class T >
bool AreAllNull (const std::vector< T > &values)
 
template<class T >
bool AreAllGreaterOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool AreAllLessOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool AreAllPositive (const std::vector< T > &values)
 
template<class T >
bool AreAllNegative (const std::vector< T > &values)
 
template<class T >
bool AreAllStrictlyPositive (const std::vector< T > &values)
 
template<class T >
bool AreAllStrictlyNegative (const std::vector< T > &values)
 
template<class T >
bool IsIncreasingContiguous (const std::vector< T > &values)
 
template<class T >
bool IsIncreasing (const std::vector< T > &values)
 
template<class T >
bool IsArrayInRange (const std::vector< IntVar * > &vars, T range_min, T range_max)
 
bool AreAllBound (const std::vector< IntVar * > &vars)
 
bool AreAllBooleans (const std::vector< IntVar * > &vars)
 
template<class T >
bool AreAllBoundOrNull (const std::vector< IntVar * > &vars, const std::vector< T > &values)
 Returns true if all the variables are assigned to a single value, or if their corresponding value is null. More...
 
bool AreAllBoundTo (const std::vector< IntVar * > &vars, int64 value)
 Returns true if all variables are assigned to 'value'. More...
 
int64 MaxVarArray (const std::vector< IntVar * > &vars)
 
int64 MinVarArray (const std::vector< IntVar * > &vars)
 
void FillValues (const std::vector< IntVar * > &vars, std::vector< int64 > *const values)
 
int64 PosIntDivUp (int64 e, int64 v)
 
int64 PosIntDivDown (int64 e, int64 v)
 
std::vector< int64 > ToInt64Vector (const std::vector< int > &input)
 
LocalSearchFilter * MakePathStateFilter (Solver *solver, std::unique_ptr< PathState > path_state, const std::vector< IntVar * > &nexts)
 
LocalSearchFilter * MakeUnaryDimensionFilter (Solver *solver, std::unique_ptr< UnaryDimensionChecker > checker)
 
template<class T >
Demon * MakeConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class P >
std::string ParameterDebugString (P param)
 
template<class P >
std::string ParameterDebugString (P *param)
 Support limited to pointers to classes which define DebugString(). More...
 
template<class T , class P >
Demon * MakeConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demon * MakeConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 
template<class T , class P , class Q , class R >
Demon * MakeConstraintDemon3 (Solver *const s, T *const ct, void(T::*method)(P, Q, R), const std::string &name, P param1, Q param2, R param3)
 
template<class T >
Demon * MakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
Demon * MakeDelayedConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demon * MakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 
template<class T >
Demon * MakeConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class P >
std::string ParameterDebugString (P param)
 
template<class P >
std::string ParameterDebugString (P *param)
 Support limited to pointers to classes which define DebugString(). More...
 
template<class T , class P >
Demon * MakeConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demon * MakeConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 
template<class T , class P , class Q , class R >
Demon * MakeConstraintDemon3 (Solver *const s, T *const ct, void(T::*method)(P, Q, R), const std::string &name, P param1, Q param2, R param3)
 
template<class T >
Demon * MakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
Demon * MakeDelayedConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
Demon * MakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)