constraint_solveri.h File Reference

Go to the source code of this file.

Classes

class  operations_research::BaseIntExpr
 This is the base class for all expressions that are not variables. More...
 
class  operations_research::SimpleRevFIFO< T >
 This class represent a reversible FIFO structure. More...
 
class  operations_research::SimpleRevFIFO< T >::Iterator
 This iterator is not stable with respect to deletion. More...
 
class  operations_research::RevImmutableMultiMap< K, V >
 Reversible Immutable MultiMap class. More...
 
class  operations_research::RevSwitch
 A reversible switch that can switch once from false to true. More...
 
class  operations_research::SmallRevBitSet
 This class represents a small reversible bitset (size <= 64). More...
 
class  operations_research::RevBitSet
 This class represents a reversible bitset. More...
 
class  operations_research::RevBitMatrix
 Matrix version of the RevBitSet class. More...
 
class  operations_research::CallMethod0< T >
 Demon proxy to a method on the constraint with no arguments. More...
 
class  operations_research::CallMethod1< T, P >
 Demon proxy to a method on the constraint with one argument. More...
 
class  operations_research::CallMethod2< T, P, Q >
 Demon proxy to a method on the constraint with two arguments. More...
 
class  operations_research::CallMethod3< T, P, Q, R >
 Demon proxy to a method on the constraint with three arguments. More...
 
class  operations_research::DelayedCallMethod0< T >
 Low-priority demon proxy to a method on the constraint with no arguments. More...
 
class  operations_research::DelayedCallMethod1< T, P >
 Low-priority demon proxy to a method on the constraint with one argument. More...
 
class  operations_research::DelayedCallMethod2< T, P, Q >
 Low-priority demon proxy to a method on the constraint with two arguments. More...
 
class  operations_research::LocalSearchOperator
 The base class for all local search operators. More...
 
class  operations_research::VarLocalSearchOperator< V, Val, Handler >
 Base operator class for operators manipulating variables. More...
 
class  operations_research::IntVarLocalSearchHandler
 Base operator class for operators manipulating IntVars. More...
 
class  operations_research::IntVarLocalSearchOperator
 Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator. More...
 
class  operations_research::SequenceVarLocalSearchHandler
 
class  operations_research::SequenceVarLocalSearchOperator
 
class  operations_research::BaseLns
 This is the base class for building an Lns operator. More...
 
class  operations_research::ChangeValue
 Defines operators which change the value of variables; each neighbor corresponds to one modified variable. More...
 
class  operations_research::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  operations_research::PathWithPreviousNodesOperator
 Simple PathOperator wrapper that also stores the current previous nodes, and is thus able to provide the "Prev" and "IsPathStart" functions. More...
 
class  operations_research::LocalSearchFilter
 Local Search Filters are used for fast neighbor pruning. More...
 
class  operations_research::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  operations_research::IntVarLocalSearchFilter
 
class  operations_research::PropagationMonitor
 
class  operations_research::LocalSearchMonitor
 
class  operations_research::BooleanVar
 
class  operations_research::SymmetryBreaker
 A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. More...
 
class  operations_research::SearchLog
 The base class of all search logs that periodically outputs information when the search is running. More...
 
class  operations_research::ModelCache
 Implements a complete cache for model elements: expressions and constraints. More...
 
class  operations_research::ArgumentHolder
 Argument Holder: useful when visiting a model. More...
 
class  operations_research::ModelParser
 Model Parser. More...
 
class  operations_research::ArrayWithOffset< T >
 
class  operations_research::RevGrowingArray< T, C >
 This class is a reversible growing array. More...
 
class  operations_research::RevIntSet< T >
 This is a special class to represent a 'residual' set of T. More...
 
class  operations_research::RevPartialSequence
 --— RevPartialSequence --— More...
 
class  operations_research::UnsortedNullableRevBitset
 This class represents a reversible bitset. More...
 

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 > operations_research::SequenceVarLocalSearchOperatorTemplate
 

Enumerations

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

Functions

uint64 operations_research::Hash1 (uint64 value)
 Hash functions. More...
 
uint64 operations_research::Hash1 (uint32 value)
 
uint64 operations_research::Hash1 (int64 value)
 
uint64 operations_research::Hash1 (int value)
 
uint64 operations_research::Hash1 (void *const ptr)
 
template<class T >
uint64 operations_research::Hash1 (const std::vector< T * > &ptrs)
 
uint64 operations_research::Hash1 (const std::vector< int64 > &ptrs)
 
template<class T >
LocalSearchOperator * operations_research::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 operations_research::IsArrayConstant (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::IsArrayBoolean (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllOnes (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllNull (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllGreaterOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::AreAllLessOrEqual (const std::vector< T > &values, const T &value)
 
template<class T >
bool operations_research::AreAllPositive (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllNegative (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllStrictlyPositive (const std::vector< T > &values)
 
template<class T >
bool operations_research::AreAllStrictlyNegative (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsIncreasingContiguous (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsIncreasing (const std::vector< T > &values)
 
template<class T >
bool operations_research::IsArrayInRange (const std::vector< IntVar * > &vars, T range_min, T range_max)
 
bool operations_research::AreAllBound (const std::vector< IntVar * > &vars)
 
bool operations_research::AreAllBooleans (const std::vector< IntVar * > &vars)
 
template<class T >
bool operations_research::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 operations_research::AreAllBoundTo (const std::vector< IntVar * > &vars, int64 value)
 Returns true if all variables are assigned to 'value'. More...
 
int64 operations_research::MaxVarArray (const std::vector< IntVar * > &vars)
 
int64 operations_research::MinVarArray (const std::vector< IntVar * > &vars)
 
void operations_research::FillValues (const std::vector< IntVar * > &vars, std::vector< int64 > *const values)
 
int64 operations_research::PosIntDivUp (int64 e, int64 v)
 
int64 operations_research::PosIntDivDown (int64 e, int64 v)
 
std::vector< int64 > operations_research::ToInt64Vector (const std::vector< int > &input)
 
template<class T >
Demon * operations_research::MakeConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class P >
std::string operations_research::ParameterDebugString (P param)
 
template<class P >
std::string operations_research::ParameterDebugString (P *param)
 Support limited to pointers to classes which define DebugString(). More...
 
template<class T , class P >
Demon * operations_research::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 * operations_research::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 * operations_research::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 * operations_research::MakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
Demon * operations_research::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 * operations_research::MakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)