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... | |
struct | LocalSearchFilterManager::FilterEvent |
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) |