routing.h File Reference

Go to the source code of this file.

Classes

class  operations_research::RoutingModel
 
struct  operations_research::RoutingModel::StateDependentTransit
 What follows is relevant for models with time/state dependent transits. More...
 
struct  operations_research::RoutingModel::CostClass
 
struct  operations_research::RoutingModel::CostClass::DimensionCost
 SUBTLE: The vehicle's fixed cost is skipped on purpose here, because we can afford to do so: More...
 
struct  operations_research::RoutingModel::VehicleClass
 
class  operations_research::RoutingModelVisitor
 Routing model visitor. More...
 
class  operations_research::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  operations_research::DisjunctivePropagator::Tasks
 A structure to hold tasks described by their features. More...
 
class  operations_research::GlobalVehicleBreaksConstraint
 GlobalVehicleBreaksConstraint ensures breaks constraints are enforced on all vehicles in the dimension passed to its constructor. More...
 
class  operations_research::TypeRegulationsChecker
 
struct  operations_research::TypeRegulationsChecker::NodeCount
 
class  operations_research::TypeIncompatibilityChecker
 Checker for type incompatibilities. More...
 
class  operations_research::TypeRequirementChecker
 Checker for type requirements. More...
 
class  operations_research::TypeRegulationsConstraint
 The following constraint ensures that incompatibilities and requirements between types are respected. More...
 
class  operations_research::SimpleBoundCosts
 A structure meant to store soft bounds and associated violation constants. More...
 
struct  operations_research::SimpleBoundCosts::BoundCost
 
class  operations_research::RoutingDimension
 Dimensions represent quantities accumulated at nodes along the routes. More...
 
struct  operations_research::RoutingDimension::NodePrecedence
 
class  operations_research::SweepArranger
 Class to arrange indices by by their distance and their angles from the depot. More...
 
class  operations_research::IntVarFilteredDecisionBuilder
 Decision builders building a solution using local search filters to evaluate its feasibility. More...
 
class  operations_research::RoutingFilteredDecisionBuilder
 Filter-based decision builder dedicated to routing. More...
 
class  operations_research::CheapestInsertionFilteredDecisionBuilder
 
struct  operations_research::CheapestInsertionFilteredDecisionBuilder::StartEndValue
 
class  operations_research::GlobalCheapestInsertionFilteredDecisionBuilder
 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...
 
class  operations_research::LocalCheapestInsertionFilteredDecisionBuilder
 Filter-base decision builder which builds a solution by inserting nodes at their cheapest position. More...
 
class  operations_research::CheapestAdditionFilteredDecisionBuilder
 Filtered-base decision builder based on the addition heuristic, extending a path from its start node with the cheapest arc. More...
 
class  operations_research::EvaluatorCheapestAdditionFilteredDecisionBuilder
 A CheapestAdditionFilteredDecisionBuilder where the notion of 'cheapest arc' comes from an arc evaluator. More...
 
class  operations_research::ComparatorCheapestAdditionFilteredDecisionBuilder
 A CheapestAdditionFilteredDecisionBuilder where the notion of 'cheapest arc' comes from an arc comparator. More...
 
class  operations_research::SavingsFilteredDecisionBuilder
 Filter-based decision builder which builds a solution by using Clarke & Wright's Savings heuristic. More...
 
struct  operations_research::SavingsFilteredDecisionBuilder::SavingsParameters
 
class  operations_research::SavingsFilteredDecisionBuilder::SavingsContainer< S >
 
struct  operations_research::SavingsFilteredDecisionBuilder::VehicleClassEntry
 
class  operations_research::SequentialSavingsFilteredDecisionBuilder
 
class  operations_research::ParallelSavingsFilteredDecisionBuilder
 
class  operations_research::ChristofidesFilteredDecisionBuilder
 Christofides addition heuristic. More...
 
class  operations_research::BasePathFilter
 Generic path-based filter class. More...
 
class  operations_research::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 operations_research::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 operations_research::AppendTasksFromIntervals (const std::vector< IntervalVar * > &intervals, DisjunctivePropagator::Tasks *tasks)
 
void operations_research::FillPathEvaluation (const std::vector< int64 > &path, const RoutingModel::TransitCallback2 &evaluator, std::vector< int64 > *values)
 
DecisionBuilder * operations_research::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 operations_research::SolveModelWithSat (const RoutingModel &model, const Assignment *initial_solution, Assignment *solution)
 Attempts to solve the model using the cp-sat solver. More...
 
IntVarLocalSearchFilter * operations_research::MakeNodeDisjunctionFilter (const RoutingModel &routing_model, std::function< void(int64)> objective_callback)
 
IntVarLocalSearchFilter * operations_research::MakeVehicleAmortizedCostFilter (const RoutingModel &routing_model, Solver::ObjectiveWatcher objective_callback)
 
IntVarLocalSearchFilter * operations_research::MakeTypeRegulationsFilter (const RoutingModel &routing_model)
 
std::vector< IntVarLocalSearchFilter * > operations_research::MakeCumulFilters (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool filter_objective_cost)
 
IntVarLocalSearchFilter * operations_research::MakePathCumulFilter (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool propagate_own_objective_value, bool filter_objective_cost)
 
IntVarLocalSearchFilter * operations_research::MakeGlobalLPCumulFilter (const RoutingDimension &dimension, Solver::ObjectiveWatcher objective_callback, bool filter_objective_cost)
 
IntVarLocalSearchFilter * operations_research::MakePickupDeliveryFilter (const RoutingModel &routing_model, const RoutingModel::IndexPairs &pairs, const std::vector< RoutingModel::PickupAndDeliveryPolicy > &vehicle_policies)
 
IntVarLocalSearchFilter * operations_research::MakeVehicleVarFilter (const RoutingModel &routing_model)
 
IntVarLocalSearchFilter * operations_research::MakeVehicleBreaksFilter (const RoutingModel &routing_model, const RoutingDimension &dimension)
 
IntVarLocalSearchFilter * operations_research::MakeCPFeasibilityFilter (const RoutingModel *routing_model)