C++ Reference

C++ Reference: Routing

routing.h File Reference

Go to the source code of this file.

Classes

class  RoutingModel
 
struct  RoutingModel::StateDependentTransit
 What follows is relevant for models with time/state dependent transits. More...
 
struct  RoutingModel::CostClass
 
struct  RoutingModel::CostClass::DimensionCost
 SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so: More...
 
struct  RoutingModel::VehicleClass
 
class  RoutingModelVisitor
 Routing model visitor. More...
 
class  DisjunctivePropagator
 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. More...
 
struct  DisjunctivePropagator::Tasks
 A structure to hold tasks described by their features. More...
 
class  GlobalVehicleBreaksConstraint
 GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor. More...
 
class  TypeRegulationsChecker
 
struct  TypeRegulationsChecker::TypePolicyOccurrence
 
class  TypeIncompatibilityChecker
 Checker for type incompatibilities. More...
 
class  TypeRequirementChecker
 Checker for type requirements. More...
 
class  TypeRegulationsConstraint
 The following constraint ensures that incompatibilities and requirements between types are respected. More...
 
class  SimpleBoundCosts
 A structure meant to store soft bounds and associated violation constants. More...
 
struct  SimpleBoundCosts::BoundCost
 
class  RoutingDimension
 Dimensions represent quantities accumulated at nodes along the routes. More...
 
struct  RoutingDimension::NodePrecedence
 
class  SweepArranger
 Class to arrange indices by by their distance and their angles from the depot. More...
 
class  IntVarFilteredDecisionBuilder
 Decision builder building a solution using heuristics with local search filters to evaluate its feasibility. More...
 
class  IntVarFilteredHeuristic
 Generic filter-based heuristic applied to IntVars. More...
 
class  RoutingFilteredHeuristic
 Filter-based heuristic dedicated to routing. More...
 
class  CheapestInsertionFilteredHeuristic
 
struct  CheapestInsertionFilteredHeuristic::StartEndValue
 
class  GlobalCheapestInsertionFilteredHeuristic
 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. More...
 
struct  GlobalCheapestInsertionFilteredHeuristic::GlobalCheapestInsertionParameters
 
class  LocalCheapestInsertionFilteredHeuristic
 Filter-base decision builder which builds a solution by inserting nodes at their cheapest position. More...
 
class  CheapestAdditionFilteredHeuristic
 Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc. More...
 
class  EvaluatorCheapestAdditionFilteredHeuristic
 A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc evaluator. More...
 
class  ComparatorCheapestAdditionFilteredHeuristic
 A CheapestAdditionFilteredHeuristic where the notion of 'cheapest arc' comes from an arc comparator. More...
 
class  SavingsFilteredHeuristic
 Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic. More...
 
struct  SavingsFilteredHeuristic::SavingsParameters
 
class  SavingsFilteredHeuristic::SavingsContainer< S >
 
struct  SavingsFilteredHeuristic::VehicleClassEntry
 
class  SequentialSavingsFilteredHeuristic
 
class  ParallelSavingsFilteredHeuristic
 
class  ChristofidesFilteredHeuristic
 Christofides addition heuristic. More...
 
class  BasePathFilter
 Generic path-based filter class. More...
 
class  CPFeasibilityFilter
 This filter accepts deltas for which the assignment satisfies the constraints of the Solver. 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.
 

Functions

void AppendTasksFromPath (const std::vector< int64 > &path, const std::vector< int64 > &min_travels, const std::vector< int64 > &max_travels, const std::vector< int64 > &pre_travels, const std::vector< int64 > &post_travels, const RoutingDimension &dimension, DisjunctivePropagator::Tasks *tasks)
 
void AppendTasksFromIntervals (const std::vector< IntervalVar * > &intervals, DisjunctivePropagator::Tasks *tasks)
 
void FillPathEvaluation (const std::vector< int64 > &path, const RoutingModel::TransitCallback2 &evaluator, std::vector< int64 > *values)
 
DecisionBuilder * MakeSetValuesFromTargets (Solver *solver, std::vector< IntVar * > variables, std::vector< int64 > targets)
 A decision builder which tries to assign values to variables as close as possible to target values first. More...
 
bool SolveModelWithSat (const RoutingModel &model, const RoutingSearchParameters &search_parameters, const Assignment *initial_solution, Assignment *solution)
 Attempts to solve the model using the cp-sat solver. More...
 
IntVarLocalSearchFilter * MakeNodeDisjunctionFilter (const RoutingModel &routing_model)
 
IntVarLocalSearchFilter * MakeVehicleAmortizedCostFilter (const RoutingModel &routing_model)
 
IntVarLocalSearchFilter * MakeTypeRegulationsFilter (const RoutingModel &routing_model)
 
void AppendDimensionCumulFilters (const std::vector< RoutingDimension * > &dimensions, const RoutingSearchParameters &parameters, bool filter_objective_cost, std::vector< LocalSearchFilter * > *filters)
 
IntVarLocalSearchFilter * MakePathCumulFilter (const RoutingDimension &dimension, const RoutingSearchParameters &parameters, bool propagate_own_objective_value, bool filter_objective_cost)
 
IntVarLocalSearchFilter * MakeCumulBoundsPropagatorFilter (const RoutingDimension &dimension)
 
IntVarLocalSearchFilter * MakeGlobalLPCumulFilter (GlobalDimensionCumulOptimizer *optimizer, bool filter_objective_cost)
 
IntVarLocalSearchFilter * MakePickupDeliveryFilter (const RoutingModel &routing_model, const RoutingModel::IndexPairs &pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > &vehicle_policies)
 
IntVarLocalSearchFilter * MakeVehicleVarFilter (const RoutingModel &routing_model)
 
IntVarLocalSearchFilter * MakeVehicleBreaksFilter (const RoutingModel &routing_model, const RoutingDimension &dimension)
 
IntVarLocalSearchFilter * MakeCPFeasibilityFilter (const RoutingModel *routing_model)