Classes | Typedefs | Enumerations | Functions | Variables
operations_research Namespace Reference

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. More...

Classes

class  ArgumentHolder
 Argument Holder: useful when visiting a model. More...
 
class  ArrayWithOffset
 --— Utility Class for Callbacks --— More...
 
class  Assignment
 --— Assignment --— More...
 
class  AssignmentContainer
 --— Assignment element container --— More...
 
class  AssignmentElement
 ------— Assignments -------------------------— More...
 
class  BaseIntExpr
 This is the base class for all expressions that are not variables. More...
 
class  BaseLns
 --— Base Large Neighborhood Search operator class -— More...
 
class  BaseObject
 Useful Search and Modeling Objects. More...
 
class  BooleanVar
 --— Boolean Variable --— More...
 
class  CallMethod0
 Demon proxy to a method on the constraint with no arguments. More...
 
class  CallMethod1
 Demon proxy to a method on the constraint with one argument. More...
 
class  CallMethod2
 Demon proxy to a method on the constraint with two arguments. More...
 
class  CallMethod3
 Demon proxy to a method on the constraint with three arguments. More...
 
class  CastConstraint
 Cast constraints are special channeling constraints designed to keep a variable in sync with an expression. More...
 
class  ChangeValue
 --— ChangeValue Operators --— More...
 
class  Constraint
 A constraint is the main modeling object. More...
 
class  Decision
 A Decision represents a choice point in the search tree. More...
 
class  DecisionBuilder
 A DecisionBuilder is responsible for creating the search tree. More...
 
class  DecisionVisitor
 A DecisionVisitor is used to inspect a decision. More...
 
struct  DefaultPhaseParameters
 This struct holds all parameters for the default search. More...
 
class  DelayedCallMethod0
 Low-priority demon proxy to a method on the constraint with no arguments. More...
 
class  DelayedCallMethod1
 Low-priority demon proxy to a method on the constraint with one argument. More...
 
class  DelayedCallMethod2
 Low-priority demon proxy to a method on the constraint with two arguments. More...
 
class  Demon
 A Demon is the base element of a propagation queue. More...
 
class  DimensionCumulOptimizerCore
 Classes to solve dimension cumul placement (aka scheduling) problems using linear programming. More...
 
class  DisjunctiveConstraint
 --— Disjunctive Constraint --— More...
 
class  ExchangeSubtrip
 
class  FirstSolutionStrategy
 
class  GlobalDimensionCumulOptimizer
 
class  IndexPairSwapActiveOperator
 Operator which inserts inactive nodes into a path and makes a pair of active nodes inactive. More...
 
class  InitAndGetValues
 Utility class to encapsulate an IntVarIterator and use it in a range-based loop. More...
 
class  IntervalVar
 -------— Interval Var -------— More...
 
class  IntervalVarElement
 --— IntervalVarElement --— More...
 
class  IntExpr
 The class IntExpr is the base of all integer expressions in constraint programming. More...
 
class  IntVar
 The class IntVar is a subset of IntExpr. More...
 
class  IntVarElement
 --— IntVarElement --— More...
 
class  IntVarIterator
 The class Iterator has two direct subclasses. More...
 
class  IntVarLocalSearchFilter
 --— IntVarLocalSearchFilter --— More...
 
class  IntVarLocalSearchHandler
 --— Base operator class for operators manipulating IntVars --— More...
 
class  IntVarLocalSearchOperator
 Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator. More...
 
class  LightPairRelocateOperator
 
class  LocalDimensionCumulOptimizer
 Class used to compute optimal values for dimension cumuls of routes, minimizing cumul soft lower and upper bound costs, and vehicle span costs of a route. More...
 
class  LocalSearchFilter
 --— Local Search Filters ---— 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  LocalSearchMetaheuristic
 
class  LocalSearchMonitor
 -------— LocalSearchMonitor -------— More...
 
class  LocalSearchOperator
 -------— Local search operators -------— More...
 
class  MakePairActiveOperator
 Pair-based neighborhood operators, designed to move nodes by pairs (pairs are static and given). More...
 
class  MakePairInactiveOperator
 Operator which makes pairs of active nodes inactive. More...
 
class  MakeRelocateNeighborsOperator
 Relocate neighborhood which moves chains of neighbors. More...
 
class  ModelCache
 Implements a complete cache for model elements: expressions and constraints. More...
 
class  ModelParser
 Model Parser. More...
 
class  ModelVisitor
 Model visitor. More...
 
class  NumericalRev
 Subclass of Rev<T> which adds numerical operations. More...
 
class  NumericalRevArray
 Subclass of RevArray<T> which adds numerical operations. More...
 
class  OptimizeVar
 -------— Objective Management -------— More...
 
class  Pack
 -------— Pack Constraint -------— More...
 
class  PairExchangeOperator
 Operator which exchanges the position of two pairs; for both pairs the first node of the pair must be before the second node on the same path. More...
 
class  PairExchangeRelocateOperator
 Operator which exchanges the paths of two pairs (path have to be different). More...
 
class  PairNodeSwapActiveOperator
 Operator which inserts pairs of inactive nodes into a path and makes an active node inactive. More...
 
class  PairRelocateOperator
 Operator which moves a pair of nodes to another position where the first node of the pair must be before the second node on the same path. More...
 
class  PathOperator
 --— Path-based Operators --— More...
 
class  PathWithPreviousNodesOperator
 Simple PathOperator wrapper that also stores the current previous nodes, and is thus able to provide the "Prev" and "IsPathStart" functions. More...
 
class  PropagationBaseObject
 The PropagationBaseObject is a subclass of BaseObject that is also friend to the Solver class. More...
 
class  PropagationMonitor
 -------— PropagationMonitor -------— More...
 
class  RegularLimit
 --— Regular Limit --— More...
 
class  RelocateExpensiveChain
 --— RelocateExpensiveChain --— Operator which relocates the most expensive subchains (given a cost callback) in a path to a different position. More...
 
class  RelocateSubtrip
 Tries to move subtrips after an insertion node. More...
 
class  Rev
 This class adds reversibility to a POD type. More...
 
class  RevArray
 Reversible array of POD types. More...
 
class  RevBitMatrix
 Matrix version of the RevBitSet class. More...
 
class  RevBitSet
 This class represents a reversible bitset. More...
 
class  RevGrowingArray
 This class is a reversible growing array. More...
 
class  RevImmutableMultiMap
 --— Immutable Multi Map --— More...
 
class  RevIntSet
 --— RevIntSet --— More...
 
class  RevPartialSequence
 --— RevPartialSequence --— More...
 
class  RevSwitch
 A reversible switch that can switch once from false to true. More...
 
class  RoutingModelParameters
 
class  RoutingSearchParameters
 
class  RoutingSearchParameters_LocalSearchNeighborhoodOperators
 
class  SearchLimit
 -------— Search Limits -------— More...
 
class  SearchLog
 -------— Search Log ------— More...
 
class  SearchMonitor
 A search monitor is a simple set of callbacks to monitor all search events. More...
 
class  SequenceVar
 --— SequenceVar --— More...
 
class  SequenceVarElement
 --— SequenceVarElement --— More...
 
class  SequenceVarLocalSearchHandler
 
class  SequenceVarLocalSearchOperator
 
class  SimpleRevFIFO
 --— utility classes --— More...
 
class  SmallRevBitSet
 This class represents a small reversible bitset (size <= 64). More...
 
class  SolutionCollector
 -------— Solution Collectors -------— More...
 
class  SolutionPool
 --— SolutionPool --— More...
 
class  Solver
 Solver Class. More...
 
class  SwapIndexPairOperator
 Operator which iterates through each alternative of a set of pairs. More...
 
class  SymmetryBreaker
 A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return. More...
 
class  UnsortedNullableRevBitset
 This class represents a reversible bitset. More...
 
class  VarLocalSearchOperator
 --— Base operator class for operators manipulating variables --— More...
 

Typedefs

typedef VarLocalSearchOperator< SequenceVar, std::vector< int >, SequenceVarLocalSearchHandlerSequenceVarLocalSearchOperatorTemplate
 
typedef std::function< int64(int64)> RoutingTransitCallback1
 
typedef std::function< int64(int64, int64)> RoutingTransitCallback2
 
typedef std::pair< std::vector< int64 >, std::vector< int64 > > RoutingIndexPair
 NOTE(user): keep the "> >" for SWIG. More...
 
typedef std::vector< RoutingIndexPairRoutingIndexPairs
 

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...
 
enum  FirstSolutionStrategy_Value {
  FirstSolutionStrategy_Value_UNSET = 0, FirstSolutionStrategy_Value_AUTOMATIC = 15, FirstSolutionStrategy_Value_PATH_CHEAPEST_ARC = 3, FirstSolutionStrategy_Value_PATH_MOST_CONSTRAINED_ARC = 4,
  FirstSolutionStrategy_Value_EVALUATOR_STRATEGY = 5, FirstSolutionStrategy_Value_SAVINGS = 10, FirstSolutionStrategy_Value_SWEEP = 11, FirstSolutionStrategy_Value_CHRISTOFIDES = 13,
  FirstSolutionStrategy_Value_ALL_UNPERFORMED = 6, FirstSolutionStrategy_Value_BEST_INSERTION = 7, FirstSolutionStrategy_Value_PARALLEL_CHEAPEST_INSERTION = 8, FirstSolutionStrategy_Value_SEQUENTIAL_CHEAPEST_INSERTION = 14,
  FirstSolutionStrategy_Value_LOCAL_CHEAPEST_INSERTION = 9, FirstSolutionStrategy_Value_GLOBAL_CHEAPEST_ARC = 1, FirstSolutionStrategy_Value_LOCAL_CHEAPEST_ARC = 2, FirstSolutionStrategy_Value_FIRST_UNBOUND_MIN_VALUE = 12,
  FirstSolutionStrategy_Value_FirstSolutionStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(), FirstSolutionStrategy_Value_FirstSolutionStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
}
 
enum  LocalSearchMetaheuristic_Value {
  LocalSearchMetaheuristic_Value_UNSET = 0, LocalSearchMetaheuristic_Value_AUTOMATIC = 6, LocalSearchMetaheuristic_Value_GREEDY_DESCENT = 1, LocalSearchMetaheuristic_Value_GUIDED_LOCAL_SEARCH = 2,
  LocalSearchMetaheuristic_Value_SIMULATED_ANNEALING = 3, LocalSearchMetaheuristic_Value_TABU_SEARCH = 4, LocalSearchMetaheuristic_Value_GENERIC_TABU_SEARCH = 5, LocalSearchMetaheuristic_Value_LocalSearchMetaheuristic_Value_INT_MIN_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::min(),
  LocalSearchMetaheuristic_Value_LocalSearchMetaheuristic_Value_INT_MAX_SENTINEL_DO_NOT_USE_ = std::numeric_limits<::google::protobuf::int32>::max()
}
 

Functions

std::ostream & operator<< (std::ostream &out, const Solver *const s)
 
int64 Zero ()
 -------— Misc -------— More...
 
int64 One ()
 This method returns 1. More...
 
std::ostream & operator<< (std::ostream &out, const BaseObject *o)
 
std::ostream & operator<< (std::ostream &out, const Assignment &assignment)
 
void SetAssignmentFromAssignment (Assignment *target_assignment, const std::vector< IntVar * > &target_vars, const Assignment *source_assignment, const std::vector< IntVar * > &source_vars)
 Given a "source_assignment", clears the "target_assignment" and adds all IntVars in "target_vars", with the values of the variables set according to the corresponding values of "source_vars" in "source_assignment". More...
 
uint64 Hash1 (uint64 value)
 -------— Reversible Hash Table -------— 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 >
LocalSearchOperatorMakeLocalSearchOperator (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)
 -------— Helpers -------— More...
 
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)
 --— On integer variable vector --— More...
 
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)
 --— Arithmetic operations --— More...
 
int64 PosIntDivDown (int64 e, int64 v)
 
std::vector< int64 > ToInt64Vector (const std::vector< int > &input)
 --— Vector of integer manipulations --— More...
 
RoutingModelParameters BuildModelParametersFromFlags ()
 Builds routing search parameters from flags. More...
 
RoutingSearchParameters BuildSearchParametersFromFlags ()
 Builds routing search parameters from flags. More...
 
*RoutingModel model (manager)
 
use manager NodeToIndex (node)' whenever 'model' requires a variable *index. */class RoutingIndexManager
 
RoutingModelParameters DefaultRoutingModelParameters ()
 
RoutingSearchParameters DefaultRoutingSearchParameters ()
 
std::string FindErrorInRoutingSearchParameters (const RoutingSearchParameters &search_parameters)
 Returns an empty std::string if the routing search parameters are valid, and a non-empty, human readable error description if they're not. More...
 
 DEFINE_INT_TYPE (RoutingNodeIndex, int)
 Defining common types used in the routing library outside the main RoutingModel class has several purposes: 1) It allows some small libraries to avoid a dependency on routing. More...
 
 DEFINE_INT_TYPE (RoutingCostClassIndex, int)
 
 DEFINE_INT_TYPE (RoutingDimensionIndex, int)
 
 DEFINE_INT_TYPE (RoutingDisjunctionIndex, int)
 
 DEFINE_INT_TYPE (RoutingVehicleClassIndex, int)
 
bool FirstSolutionStrategy_Value_IsValid (int value)
 
const ::google::protobuf::EnumDescriptor * FirstSolutionStrategy_Value_descriptor ()
 
const ::std::string & FirstSolutionStrategy_Value_Name (FirstSolutionStrategy_Value value)
 
bool FirstSolutionStrategy_Value_Parse (const ::std::string &name, FirstSolutionStrategy_Value *value)
 
bool LocalSearchMetaheuristic_Value_IsValid (int value)
 
const ::google::protobuf::EnumDescriptor * LocalSearchMetaheuristic_Value_descriptor ()
 
const ::std::string & LocalSearchMetaheuristic_Value_Name (LocalSearchMetaheuristic_Value value)
 
bool LocalSearchMetaheuristic_Value_Parse (const ::std::string &name, LocalSearchMetaheuristic_Value *value)
 
template<class T >
DemonMakeConstraintDemon0 (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 >
DemonMakeConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
DemonMakeConstraintDemon2 (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 >
DemonMakeConstraintDemon3 (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 >
DemonMakeDelayedConstraintDemon0 (Solver *const s, T *const ct, void(T::*method)(), const std::string &name)
 
template<class T , class P >
DemonMakeDelayedConstraintDemon1 (Solver *const s, T *const ct, void(T::*method)(P), const std::string &name, P param1)
 
template<class T , class P , class Q >
DemonMakeDelayedConstraintDemon2 (Solver *const s, T *const ct, void(T::*method)(P, Q), const std::string &name, P param1, Q param2)
 

Variables

 starts_ends
 
** Then
 
FirstSolutionStrategyDefaultTypeInternal _FirstSolutionStrategy_default_instance_
 
LocalSearchMetaheuristicDefaultTypeInternal _LocalSearchMetaheuristic_default_instance_
 
const FirstSolutionStrategy_Value FirstSolutionStrategy_Value_Value_MIN = FirstSolutionStrategy_Value_UNSET
 
const FirstSolutionStrategy_Value FirstSolutionStrategy_Value_Value_MAX = FirstSolutionStrategy_Value_AUTOMATIC
 
const int FirstSolutionStrategy_Value_Value_ARRAYSIZE = FirstSolutionStrategy_Value_Value_MAX + 1
 
const LocalSearchMetaheuristic_Value LocalSearchMetaheuristic_Value_Value_MIN = LocalSearchMetaheuristic_Value_UNSET
 
const LocalSearchMetaheuristic_Value LocalSearchMetaheuristic_Value_Value_MAX = LocalSearchMetaheuristic_Value_AUTOMATIC
 
const int LocalSearchMetaheuristic_Value_Value_ARRAYSIZE = LocalSearchMetaheuristic_Value_Value_MAX + 1
 
RoutingModelParametersDefaultTypeInternal _RoutingModelParameters_default_instance_
 
RoutingSearchParametersDefaultTypeInternal _RoutingSearchParameters_default_instance_
 
RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_
 

Detailed Description

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.

You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Typedef Documentation

◆ RoutingIndexPair

typedef std::pair<std::vector<int64>, std::vector<int64> > operations_research::RoutingIndexPair

NOTE(user): keep the "> >" for SWIG.

Definition at line 44 of file routing_types.h.

◆ RoutingIndexPairs

Definition at line 45 of file routing_types.h.

◆ RoutingTransitCallback1

typedef std::function<int64(int64)> operations_research::RoutingTransitCallback1

Definition at line 41 of file routing_types.h.

◆ RoutingTransitCallback2

typedef std::function<int64(int64, int64)> operations_research::RoutingTransitCallback2

Definition at line 42 of file routing_types.h.

◆ SequenceVarLocalSearchOperatorTemplate

Definition at line 1107 of file constraint_solveri.h.

Enumeration Type Documentation

◆ FirstSolutionStrategy_Value

Enumerator
FirstSolutionStrategy_Value_UNSET 
FirstSolutionStrategy_Value_AUTOMATIC 
FirstSolutionStrategy_Value_PATH_CHEAPEST_ARC 
FirstSolutionStrategy_Value_PATH_MOST_CONSTRAINED_ARC 
FirstSolutionStrategy_Value_EVALUATOR_STRATEGY 
FirstSolutionStrategy_Value_SAVINGS 
FirstSolutionStrategy_Value_SWEEP 
FirstSolutionStrategy_Value_CHRISTOFIDES 
FirstSolutionStrategy_Value_ALL_UNPERFORMED 
FirstSolutionStrategy_Value_BEST_INSERTION 
FirstSolutionStrategy_Value_PARALLEL_CHEAPEST_INSERTION 
FirstSolutionStrategy_Value_SEQUENTIAL_CHEAPEST_INSERTION 
FirstSolutionStrategy_Value_LOCAL_CHEAPEST_INSERTION 
FirstSolutionStrategy_Value_GLOBAL_CHEAPEST_ARC 
FirstSolutionStrategy_Value_LOCAL_CHEAPEST_ARC 
FirstSolutionStrategy_Value_FIRST_UNBOUND_MIN_VALUE 
FirstSolutionStrategy_Value_FirstSolutionStrategy_Value_INT_MIN_SENTINEL_DO_NOT_USE_ 
FirstSolutionStrategy_Value_FirstSolutionStrategy_Value_INT_MAX_SENTINEL_DO_NOT_USE_ 

Definition at line 68 of file routing_enums.pb.h.

◆ LocalSearchMetaheuristic_Value

Enumerator
LocalSearchMetaheuristic_Value_UNSET 
LocalSearchMetaheuristic_Value_AUTOMATIC 
LocalSearchMetaheuristic_Value_GREEDY_DESCENT 
LocalSearchMetaheuristic_Value_GUIDED_LOCAL_SEARCH 
LocalSearchMetaheuristic_Value_SIMULATED_ANNEALING 
LocalSearchMetaheuristic_Value_TABU_SEARCH 
LocalSearchMetaheuristic_Value_GENERIC_TABU_SEARCH 
LocalSearchMetaheuristic_Value_LocalSearchMetaheuristic_Value_INT_MIN_SENTINEL_DO_NOT_USE_ 
LocalSearchMetaheuristic_Value_LocalSearchMetaheuristic_Value_INT_MAX_SENTINEL_DO_NOT_USE_ 

Definition at line 103 of file routing_enums.pb.h.

◆ VarTypes

This enum is used internally to do dynamic typing on subclasses of integer variables.

Enumerator
UNSPECIFIED 
DOMAIN_INT_VAR 
BOOLEAN_VAR 
CONST_VAR 
VAR_ADD_CST 
VAR_TIMES_CST 
CST_SUB_VAR 
OPP_VAR 
TRACE_VAR 

Definition at line 123 of file constraint_solveri.h.

Function Documentation

◆ AreAllBooleans()

bool operations_research::AreAllBooleans ( const std::vector< IntVar * > &  vars)
inline

Definition at line 2739 of file constraint_solveri.h.

◆ AreAllBound()

bool operations_research::AreAllBound ( const std::vector< IntVar * > &  vars)
inline

Definition at line 2730 of file constraint_solveri.h.

◆ AreAllBoundOrNull()

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.

Definition at line 2746 of file constraint_solveri.h.

◆ AreAllBoundTo()

bool operations_research::AreAllBoundTo ( const std::vector< IntVar * > &  vars,
int64  value 
)
inline

Returns true if all variables are assigned to 'value'.

Definition at line 2757 of file constraint_solveri.h.

◆ AreAllGreaterOrEqual()

template<class T >
bool operations_research::AreAllGreaterOrEqual ( const std::vector< T > &  values,
const T &  value 
)

Definition at line 2658 of file constraint_solveri.h.

◆ AreAllLessOrEqual()

template<class T >
bool operations_research::AreAllLessOrEqual ( const std::vector< T > &  values,
const T &  value 
)

Definition at line 2668 of file constraint_solveri.h.

◆ AreAllNegative()

template<class T >
bool operations_research::AreAllNegative ( const std::vector< T > &  values)

Definition at line 2683 of file constraint_solveri.h.

◆ AreAllNull()

template<class T >
bool operations_research::AreAllNull ( const std::vector< T > &  values)

Definition at line 2653 of file constraint_solveri.h.

◆ AreAllOnes()

template<class T >
bool operations_research::AreAllOnes ( const std::vector< T > &  values)

Definition at line 2648 of file constraint_solveri.h.

◆ AreAllPositive()

template<class T >
bool operations_research::AreAllPositive ( const std::vector< T > &  values)

Definition at line 2678 of file constraint_solveri.h.

◆ AreAllStrictlyNegative()

template<class T >
bool operations_research::AreAllStrictlyNegative ( const std::vector< T > &  values)

Definition at line 2693 of file constraint_solveri.h.

◆ AreAllStrictlyPositive()

template<class T >
bool operations_research::AreAllStrictlyPositive ( const std::vector< T > &  values)

Definition at line 2688 of file constraint_solveri.h.

◆ BuildModelParametersFromFlags()

RoutingModelParameters operations_research::BuildModelParametersFromFlags ( )

Builds routing search parameters from flags.

◆ BuildSearchParametersFromFlags()

RoutingSearchParameters operations_research::BuildSearchParametersFromFlags ( )

Builds routing search parameters from flags.

Todo:
(user): Make this return a StatusOr, verifying that the flags describe a valid set of routing search parameters.

◆ DefaultRoutingModelParameters()

RoutingModelParameters operations_research::DefaultRoutingModelParameters ( )

◆ DefaultRoutingSearchParameters()

RoutingSearchParameters operations_research::DefaultRoutingSearchParameters ( )

◆ DEFINE_INT_TYPE() [1/5]

operations_research::DEFINE_INT_TYPE ( RoutingNodeIndex  ,
int   
)

Defining common types used in the routing library outside the main RoutingModel class has several purposes: 1) It allows some small libraries to avoid a dependency on routing.

{h,cc}, eg. routing_neighborhoods.h. 2) It allows an easier wrapping via SWIG, which can have issues with intra-class types.

Users that depend on routing.{h,cc} should just use the RoutingModel:: equivalent, eg. RoutingModel::NodeIndex.

◆ DEFINE_INT_TYPE() [2/5]

operations_research::DEFINE_INT_TYPE ( RoutingCostClassIndex  ,
int   
)

◆ DEFINE_INT_TYPE() [3/5]

operations_research::DEFINE_INT_TYPE ( RoutingDimensionIndex  ,
int   
)

◆ DEFINE_INT_TYPE() [4/5]

operations_research::DEFINE_INT_TYPE ( RoutingDisjunctionIndex  ,
int   
)

◆ DEFINE_INT_TYPE() [5/5]

operations_research::DEFINE_INT_TYPE ( RoutingVehicleClassIndex  ,
int   
)

◆ FillValues()

void operations_research::FillValues ( const std::vector< IntVar * > &  vars,
std::vector< int64 > *const  values 
)
inline

Definition at line 2786 of file constraint_solveri.h.

◆ FindErrorInRoutingSearchParameters()

std::string operations_research::FindErrorInRoutingSearchParameters ( const RoutingSearchParameters search_parameters)

Returns an empty std::string if the routing search parameters are valid, and a non-empty, human readable error description if they're not.

◆ FirstSolutionStrategy_Value_descriptor()

const ::google::protobuf::EnumDescriptor* operations_research::FirstSolutionStrategy_Value_descriptor ( )

◆ FirstSolutionStrategy_Value_IsValid()

bool operations_research::FirstSolutionStrategy_Value_IsValid ( int  value)

◆ FirstSolutionStrategy_Value_Name()

const ::std::string& operations_research::FirstSolutionStrategy_Value_Name ( FirstSolutionStrategy_Value  value)
inline

Definition at line 94 of file routing_enums.pb.h.

◆ FirstSolutionStrategy_Value_Parse()

bool operations_research::FirstSolutionStrategy_Value_Parse ( const ::std::string &  name,
FirstSolutionStrategy_Value value 
)
inline

Definition at line 98 of file routing_enums.pb.h.

◆ Hash1() [1/7]

uint64 operations_research::Hash1 ( uint64  value)
inline

-------— Reversible Hash Table -------—

--— Hash functions --—

Todo:
(user): use murmurhash.

Definition at line 226 of file constraint_solveri.h.

◆ Hash1() [2/7]

uint64 operations_research::Hash1 ( uint32  value)
inline

Definition at line 237 of file constraint_solveri.h.

◆ Hash1() [3/7]

uint64 operations_research::Hash1 ( int64  value)
inline

Definition at line 248 of file constraint_solveri.h.

◆ Hash1() [4/7]

uint64 operations_research::Hash1 ( int  value)
inline

Definition at line 250 of file constraint_solveri.h.

◆ Hash1() [5/7]

uint64 operations_research::Hash1 ( void *const  ptr)
inline

Definition at line 252 of file constraint_solveri.h.

◆ Hash1() [6/7]

template<class T >
uint64 operations_research::Hash1 ( const std::vector< T * > &  ptrs)

Definition at line 261 of file constraint_solveri.h.

◆ Hash1() [7/7]

uint64 operations_research::Hash1 ( const std::vector< int64 > &  ptrs)
inline

Definition at line 275 of file constraint_solveri.h.

◆ IsArrayBoolean()

template<class T >
bool operations_research::IsArrayBoolean ( const std::vector< T > &  values)

Definition at line 2638 of file constraint_solveri.h.

◆ IsArrayConstant()

template<class T >
bool operations_research::IsArrayConstant ( const std::vector< T > &  values,
const T &  value 
)

-------— Helpers -------—

--— On integer vectors --—

Definition at line 2628 of file constraint_solveri.h.

◆ IsArrayInRange()

template<class T >
bool operations_research::IsArrayInRange ( const std::vector< IntVar * > &  vars,
range_min,
range_max 
)

--— On integer variable vector --—

Definition at line 2720 of file constraint_solveri.h.

◆ IsIncreasing()

template<class T >
bool operations_research::IsIncreasing ( const std::vector< T > &  values)

Definition at line 2708 of file constraint_solveri.h.

◆ IsIncreasingContiguous()

template<class T >
bool operations_research::IsIncreasingContiguous ( const std::vector< T > &  values)

Definition at line 2698 of file constraint_solveri.h.

◆ LocalSearchMetaheuristic_Value_descriptor()

const ::google::protobuf::EnumDescriptor* operations_research::LocalSearchMetaheuristic_Value_descriptor ( )

◆ LocalSearchMetaheuristic_Value_IsValid()

bool operations_research::LocalSearchMetaheuristic_Value_IsValid ( int  value)

◆ LocalSearchMetaheuristic_Value_Name()

const ::std::string& operations_research::LocalSearchMetaheuristic_Value_Name ( LocalSearchMetaheuristic_Value  value)
inline

Definition at line 120 of file routing_enums.pb.h.

◆ LocalSearchMetaheuristic_Value_Parse()

bool operations_research::LocalSearchMetaheuristic_Value_Parse ( const ::std::string &  name,
LocalSearchMetaheuristic_Value value 
)
inline

Definition at line 124 of file routing_enums.pb.h.

◆ MakeConstraintDemon0()

template<class T >
Demon* operations_research::MakeConstraintDemon0 ( Solver *const  s,
T *const  ct,
void(T::*)()  method,
const std::string &  name 
)

Definition at line 538 of file constraint_solveri.h.

◆ MakeConstraintDemon1()

template<class T , class P >
Demon* operations_research::MakeConstraintDemon1 ( Solver *const  s,
T *const  ct,
void(T::*)(P)  method,
const std::string &  name,
param1 
)

Definition at line 579 of file constraint_solveri.h.

◆ MakeConstraintDemon2()

template<class T , class P , class Q >
Demon* operations_research::MakeConstraintDemon2 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q)  method,
const std::string &  name,
param1,
param2 
)

Definition at line 618 of file constraint_solveri.h.

◆ MakeConstraintDemon3()

template<class T , class P , class Q , class R >
Demon* operations_research::MakeConstraintDemon3 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q, R)  method,
const std::string &  name,
param1,
param2,
param3 
)

Definition at line 661 of file constraint_solveri.h.

◆ MakeDelayedConstraintDemon0()

template<class T >
Demon* operations_research::MakeDelayedConstraintDemon0 ( Solver *const  s,
T *const  ct,
void(T::*)()  method,
const std::string &  name 
)

Definition at line 701 of file constraint_solveri.h.

◆ MakeDelayedConstraintDemon1()

template<class T , class P >
Demon* operations_research::MakeDelayedConstraintDemon1 ( Solver *const  s,
T *const  ct,
void(T::*)(P)  method,
const std::string &  name,
param1 
)

Definition at line 737 of file constraint_solveri.h.

◆ MakeDelayedConstraintDemon2()

template<class T , class P , class Q >
Demon* operations_research::MakeDelayedConstraintDemon2 ( Solver *const  s,
T *const  ct,
void(T::*)(P, Q)  method,
const std::string &  name,
param1,
param2 
)

Definition at line 781 of file constraint_solveri.h.

◆ MakeLocalSearchOperator()

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 ---—

◆ MaxVarArray()

int64 operations_research::MaxVarArray ( const std::vector< IntVar * > &  vars)
inline

The std::max<int64> is needed for compilation on MSVC.

Definition at line 2766 of file constraint_solveri.h.

◆ MinVarArray()

int64 operations_research::MinVarArray ( const std::vector< IntVar * > &  vars)
inline

The std::min<int64> is needed for compilation on MSVC.

Definition at line 2776 of file constraint_solveri.h.

◆ model()

* RoutingModel operations_research::model ( manager  )

◆ NodeToIndex()

use manager operations_research::NodeToIndex ( node  )

Creates a NodeIndex to variable index mapping for a problem containing 'num_nodes', 'num_vehicles' and the given starts and ends for each vehicle. If used, any start/end arrays have to have exactly 'num_vehicles' elements.

Todo:
(user): Remove when removal of NodeIndex from RoutingModel is complete.

Definition at line 38 of file routing_index_manager.h.

◆ One()

int64 operations_research::One ( )
inline

This method returns 1.

Definition at line 3120 of file constraint_solver.h.

◆ operator<<() [1/3]

std::ostream& operations_research::operator<< ( std::ostream &  out,
const Solver *const  s 
)

◆ operator<<() [2/3]

std::ostream& operations_research::operator<< ( std::ostream &  out,
const BaseObject o 
)

◆ operator<<() [3/3]

std::ostream& operations_research::operator<< ( std::ostream &  out,
const Assignment assignment 
)

◆ ParameterDebugString() [1/2]

template<class P >
std::string operations_research::ParameterDebugString ( param)

Definition at line 544 of file constraint_solveri.h.

◆ ParameterDebugString() [2/2]

template<class P >
std::string operations_research::ParameterDebugString ( P *  param)

Support limited to pointers to classes which define DebugString().

Definition at line 550 of file constraint_solveri.h.

◆ PosIntDivDown()

int64 operations_research::PosIntDivDown ( int64  e,
int64  v 
)
inline

Definition at line 2806 of file constraint_solveri.h.

◆ PosIntDivUp()

int64 operations_research::PosIntDivUp ( int64  e,
int64  v 
)
inline

--— Arithmetic operations --—

Definition at line 2797 of file constraint_solveri.h.

◆ SetAssignmentFromAssignment()

void operations_research::SetAssignmentFromAssignment ( Assignment target_assignment,
const std::vector< IntVar * > &  target_vars,
const Assignment source_assignment,
const std::vector< IntVar * > &  source_vars 
)

Given a "source_assignment", clears the "target_assignment" and adds all IntVars in "target_vars", with the values of the variables set according to the corresponding values of "source_vars" in "source_assignment".

source_vars and target_vars must have the same number of elements. The source and target assignments can belong to different Solvers.

◆ ToInt64Vector()

std::vector<int64> operations_research::ToInt64Vector ( const std::vector< int > &  input)

--— Vector of integer manipulations --—

◆ Zero()

int64 operations_research::Zero ( )
inline

-------— Misc -------—

This method returns 0. It is useful when 0 can be cast either as a pointer or as an integer value and thus lead to an ambiguous function call.

Definition at line 3118 of file constraint_solver.h.

Variable Documentation

◆ _FirstSolutionStrategy_default_instance_

FirstSolutionStrategyDefaultTypeInternal operations_research::_FirstSolutionStrategy_default_instance_

◆ _LocalSearchMetaheuristic_default_instance_

LocalSearchMetaheuristicDefaultTypeInternal operations_research::_LocalSearchMetaheuristic_default_instance_

◆ _RoutingModelParameters_default_instance_

RoutingModelParametersDefaultTypeInternal operations_research::_RoutingModelParameters_default_instance_

◆ _RoutingSearchParameters_default_instance_

RoutingSearchParametersDefaultTypeInternal operations_research::_RoutingSearchParameters_default_instance_

◆ _RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_

RoutingSearchParameters_LocalSearchNeighborhoodOperatorsDefaultTypeInternal operations_research::_RoutingSearchParameters_LocalSearchNeighborhoodOperators_default_instance_

◆ FirstSolutionStrategy_Value_Value_ARRAYSIZE

const int operations_research::FirstSolutionStrategy_Value_Value_ARRAYSIZE = FirstSolutionStrategy_Value_Value_MAX + 1

Definition at line 91 of file routing_enums.pb.h.

◆ FirstSolutionStrategy_Value_Value_MAX

const FirstSolutionStrategy_Value operations_research::FirstSolutionStrategy_Value_Value_MAX = FirstSolutionStrategy_Value_AUTOMATIC

Definition at line 90 of file routing_enums.pb.h.

◆ FirstSolutionStrategy_Value_Value_MIN

const FirstSolutionStrategy_Value operations_research::FirstSolutionStrategy_Value_Value_MIN = FirstSolutionStrategy_Value_UNSET

Definition at line 89 of file routing_enums.pb.h.

◆ LocalSearchMetaheuristic_Value_Value_ARRAYSIZE

const int operations_research::LocalSearchMetaheuristic_Value_Value_ARRAYSIZE = LocalSearchMetaheuristic_Value_Value_MAX + 1

Definition at line 117 of file routing_enums.pb.h.

◆ LocalSearchMetaheuristic_Value_Value_MAX

const LocalSearchMetaheuristic_Value operations_research::LocalSearchMetaheuristic_Value_Value_MAX = LocalSearchMetaheuristic_Value_AUTOMATIC

Definition at line 116 of file routing_enums.pb.h.

◆ LocalSearchMetaheuristic_Value_Value_MIN

const LocalSearchMetaheuristic_Value operations_research::LocalSearchMetaheuristic_Value_Value_MIN = LocalSearchMetaheuristic_Value_UNSET

Definition at line 115 of file routing_enums.pb.h.

◆ starts_ends

operations_research::starts_ends

Definition at line 35 of file routing_index_manager.h.

◆ Then

* * operations_research::Then

Definition at line 38 of file routing_index_manager.h.