C++ Reference
C++ Reference: Routing
Namespace List
Here is a list of all namespaces with brief descriptions:
[detail level 1234]
►Noperations_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 |
►CSimpleRevFIFO | This class represent a reversible FIFO structure |
CIterator | This iterator is not stable with respect to deletion |
CDefaultPhaseParameters | This struct holds all parameters for the default search |
►CSolver | Solver Class |
CIntegerCastInfo | Holds semantic information stating that the 'expression' has been cast into 'variable' using the Var() method, and that 'maintainer' is responsible for maintaining the equality between 'variable' and 'expression' |
CSearchLogParameters | Creates a search monitor from logging parameters |
CBaseObject | A BaseObject is the root of all reversibly allocated objects |
CPropagationBaseObject | NOLINT |
CDecision | A Decision represents a choice point in the search tree |
CDecisionVisitor | A DecisionVisitor is used to inspect a decision |
CDecisionBuilder | A DecisionBuilder is responsible for creating the search tree |
CDemon | A Demon is the base element of a propagation queue |
CModelVisitor | Model visitor |
CConstraint | A constraint is the main modeling object |
CCastConstraint | Cast constraints are special channeling constraints designed to keep a variable in sync with an expression |
CSearchMonitor | A search monitor is a simple set of callbacks to monitor all search events |
CRev | This class adds reversibility to a POD type |
CNumericalRev | Subclass of Rev<T> which adds numerical operations |
CRevArray | Reversible array of POD types |
CNumericalRevArray | Subclass of RevArray<T> which adds numerical operations |
CIntExpr | The class IntExpr is the base of all integer expressions in constraint programming |
CIntVarIterator | The class Iterator has two direct subclasses |
►CInitAndGetValues | Utility class to encapsulate an IntVarIterator and use it in a range-based loop |
CIterator | |
CIntVar | The class IntVar is a subset of IntExpr |
►CSolutionCollector | This class is the root class of all solution collectors |
CSolutionData | |
COptimizeVar | This class encapsulates an objective |
CSearchLimit | Base class of all search limits |
CRegularLimit | Usual limit based on wall_time, number of explored branches and number of failures in the search tree |
CImprovementSearchLimit | |
CIntervalVar | Interval variables are often used in scheduling |
CSequenceVar | A sequence variable is a variable whose domain is a set of possible orderings of the interval variables |
CAssignmentElement | |
CIntVarElement | |
CIntervalVarElement | |
CSequenceVarElement | The SequenceVarElement stores a partial representation of ranked interval variables in the underlying sequence variable |
CAssignmentContainer | |
CAssignment | An Assignment is a variable -> domains mapping, used to report solutions to the user |
CPack | |
CDisjunctiveConstraint | |
CSolutionPool | This class is used to manage a pool of solutions |
CBaseIntExpr | This is the base class for all expressions that are not variables |
CRevImmutableMultiMap | Reversible Immutable MultiMap class |
CRevSwitch | A reversible switch that can switch once from false to true |
CSmallRevBitSet | This class represents a small reversible bitset (size <= 64) |
CRevBitSet | This class represents a reversible bitset |
CRevBitMatrix | Matrix version of the RevBitSet class |
CCallMethod0 | Demon proxy to a method on the constraint with no arguments |
CCallMethod1 | Demon proxy to a method on the constraint with one argument |
CCallMethod2 | Demon proxy to a method on the constraint with two arguments |
CCallMethod3 | Demon proxy to a method on the constraint with three arguments |
CDelayedCallMethod0 | Low-priority demon proxy to a method on the constraint with no arguments |
CDelayedCallMethod1 | Low-priority demon proxy to a method on the constraint with one argument |
CDelayedCallMethod2 | Low-priority demon proxy to a method on the constraint with two arguments |
CLocalSearchOperator | The base class for all local search operators |
CVarLocalSearchOperator | Base operator class for operators manipulating variables |
CIntVarLocalSearchHandler | |
CIntVarLocalSearchOperator | Specialization of LocalSearchOperator built from an array of IntVars which specifies the scope of the operator |
CSequenceVarLocalSearchHandler | |
CSequenceVarLocalSearchOperator | |
CBaseLns | This is the base class for building an Lns operator |
CChangeValue | Defines operators which change the value of variables; each neighbor corresponds to one modified variable |
CPathOperator | Base class of the local search operators dedicated to path modifications (a path is a set of nodes linked together by arcs) |
CLocalSearchState | |
CLocalSearchVariable | |
CLocalSearchFilter | Local Search Filters are used for fast neighbor pruning |
►CLocalSearchFilterManager | Filter manager: when a move is made, filters are executed to decide whether the solution is feasible and compute parts of the new cost |
CFilterEvent | |
CIntVarLocalSearchFilter | |
CPropagationMonitor | |
CLocalSearchMonitor | |
CBooleanVar | |
CSymmetryBreaker | A symmetry breaker is an object that will visit a decision and create the 'symmetrical' decision in return |
CSearchLog | The base class of all search logs that periodically outputs information when the search is running |
CModelCache | Implements a complete cache for model elements: expressions and constraints |
CArgumentHolder | Argument Holder: useful when visiting a model |
CModelParser | Model Parser |
CArrayWithOffset | |
CRevGrowingArray | This class is a reversible growing array |
CRevIntSet | This is a special class to represent a 'residual' set of T |
CRevPartialSequence | --— RevPartialSequence --— |
CUnsortedNullableRevBitset | This class represents a reversible bitset |
►CPathState | |
►CChain | |
CIterator | |
►CChainRange | |
CIterator | |
►CNodeRange | |
CIterator | |
►CUnaryDimensionChecker | |
CInterval | |
►CRoutingModel | |
►CCostClass | |
CDimensionCost | SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so: |
CStateDependentTransit | What follows is relevant for models with time/state dependent transits |
CVehicleClass | |
►CVehicleTypeContainer | Struct used to sort and store vehicles by their type |
CVehicleClassEntry | |
CRoutingModelVisitor | Routing model visitor |
►CDisjunctivePropagator | This class acts like a CP propagator: it takes a set of tasks given by their start/duration/end features, and reduces the range of possible values |
CTasks | A structure to hold tasks described by their features |
CTravelBounds | |
CGlobalVehicleBreaksConstraint | GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor |
►CTypeRegulationsChecker | |
CTypePolicyOccurrence | |
CTypeIncompatibilityChecker | Checker for type incompatibilities |
CTypeRequirementChecker | Checker for type requirements |
CTypeRegulationsConstraint | The following constraint ensures that incompatibilities and requirements between types are respected |
►CSimpleBoundCosts | A structure meant to store soft bounds and associated violation constants |
CBoundCost | |
►CRoutingDimension | Dimensions represent quantities accumulated at nodes along the routes |
CNodePrecedence | |
CSweepArranger | Class to arrange indices by by their distance and their angles from the depot |
CVehicleTypeCurator | Helper class that manages vehicles |
CIntVarFilteredDecisionBuilder | Decision builder building a solution using heuristics with local search filters to evaluate its feasibility |
CIntVarFilteredHeuristic | Generic filter-based heuristic applied to IntVars |
CRoutingFilteredHeuristic | Filter-based heuristic dedicated to routing |
►CCheapestInsertionFilteredHeuristic | |
CStartEndValue | |
►CGlobalCheapestInsertionFilteredHeuristic | Filter-based decision builder which builds a solution by inserting nodes at their cheapest position on any route; potentially several routes can be built in parallel |
CGlobalCheapestInsertionParameters | |
CLocalCheapestInsertionFilteredHeuristic | Filter-base decision builder which builds a solution by inserting nodes at their cheapest position |
CCheapestAdditionFilteredHeuristic | Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc |
CEvaluatorCheapestAdditionFilteredHeuristic | A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc evaluator |
CComparatorCheapestAdditionFilteredHeuristic | A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc comparator |
►CSavingsFilteredHeuristic | Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic |
CSavingsContainer | |
CSavingsParameters | |
CSequentialSavingsFilteredHeuristic | |
CParallelSavingsFilteredHeuristic | |
CChristofidesFilteredHeuristic | Christofides addition heuristic |
CBasePathFilter | Generic path-based filter class |
CCPFeasibilityFilter | This filter accepts deltas for which the assignment satisfies the constraints of the Solver |
CRoutingIndexManager | Manager for any NodeIndex <-> variable index conversion |
CCumulBoundsPropagator | |
CRoutingLinearSolverWrapper | |
CRoutingGlopWrapper | |
CRoutingCPSatWrapper | |
CDimensionCumulOptimizerCore | |
CLocalDimensionCumulOptimizer | |
CGlobalDimensionCumulOptimizer | |
CMakeRelocateNeighborsOperator | Relocate neighborhood which moves chains of neighbors |
CMakePairActiveOperator | Pair-based neighborhood operators, designed to move nodes by pairs (pairs are static and given) |
CMakePairInactiveOperator | Operator which makes pairs of active nodes inactive |
CPairRelocateOperator | 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 |
CLightPairRelocateOperator | |
CPairExchangeOperator | 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 |
CPairExchangeRelocateOperator | Operator which exchanges the paths of two pairs (path have to be different) |
CSwapIndexPairOperator | Operator which iterates through each alternative of a set of pairs |
CIndexPairSwapActiveOperator | Operator which inserts inactive nodes into a path and makes a pair of active nodes inactive |
CFilteredHeuristicLocalSearchOperator | Class of operators using a RoutingFilteredHeuristic to insert unperformed nodes after changes have been made to the current solution |
CFilteredHeuristicPathLNSOperator | LNS-like operator based on a filtered first solution heuristic to rebuild the solution, after the destruction phase consisting of removing one route |
CRelocatePathAndHeuristicInsertUnperformedOperator | Heuristic-based local search operator which relocates an entire route to an empty vehicle of different vehicle class and then tries to insert unperformed nodes using the heuristic |
CFilteredHeuristicExpensiveChainLNSOperator | Similar to the heuristic path LNS above, but instead of removing one route entirely, the destruction phase consists of removing all nodes on an "expensive" chain from a route |
CFilteredHeuristicCloseNodesLNSOperator | Filtered heuristic LNS operator, where the destruction phase consists of removing a node and the 'num_close_nodes' nodes closest to it, along with each of their corresponding sibling pickup/deliveries that are performed |
CRelocateExpensiveChain | RelocateExpensiveChain |
CPairNodeSwapActiveOperator | Operator which inserts pairs of inactive nodes into a path and makes an active node inactive |
CRelocateSubtrip | Tries to move subtrips after an insertion node |
CExchangeSubtrip |