16#ifndef OR_TOOLS_ROUTING_PARSERS_CVRPTW_LIB_H_
17#define OR_TOOLS_ROUTING_PARSERS_CVRPTW_LIB_H_
29typedef std::function<int64_t(RoutingNodeIndex, RoutingNodeIndex)>
33int32_t
GetSeed(
bool deterministic);
60 Location(int64_t
x, int64_t
y);
61 int64_t DistanceTo(
const Location& location)
const;
62 bool IsAtSameLocation(
const Location& location)
const;
65 static int64_t Abs(int64_t
value);
71 std::mt19937 randomizer_;
80 bool use_deterministic_seed);
86 std::unique_ptr<int64_t[]> demand_;
89 const bool use_deterministic_seed_;
96 int64_t time_per_demand_unit,
103 const int64_t time_per_demand_unit_;
118 const int64_t stop_time_;
128 const operations_research::RoutingModel& routing,
130 int64_t max_nodes_per_group, int64_t same_vehicle_cost,
131 const operations_research::RoutingDimension& capacity_dimension,
132 const operations_research::RoutingDimension& time_dimension);
int64_t ManhattanDistance(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
void AddRandomLocation(int64_t x_max, int64_t y_max)
int64_t ManhattanTime(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
bool SameLocation(RoutingIndexManager::NodeIndex node1, RoutingIndexManager::NodeIndex node2) const
void AddLocation(int64_t x, int64_t y)
LocationContainer(int64_t speed, bool use_deterministic_seed)
int64_t NegManhattanDistance(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
int64_t SameLocationFromIndex(int64_t node1, int64_t node2) const
int64_t Demand(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
RandomDemand(int size, RoutingIndexManager::NodeIndex depot, bool use_deterministic_seed)
RoutingNodeIndex NodeIndex
Service time (proportional to demand) + transition time callback.
ServiceTimePlusTransition(int64_t time_per_demand_unit, operations_research::RoutingNodeEvaluator2 demand, operations_research::RoutingNodeEvaluator2 transition_time)
int64_t Compute(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
Stop service time + transition time callback.
StopServiceTimePlusTransition(int64_t stop_time, const LocationContainer &location_container, operations_research::RoutingNodeEvaluator2 transition_time)
int64_t Compute(RoutingIndexManager::NodeIndex from, RoutingIndexManager::NodeIndex to) const
void push_back(const value_type &val)
In SWIG mode, we don't want anything besides these top-level includes.
int32_t GetSeed(bool deterministic)
Random seed generator.
std::function< int64_t(RoutingNodeIndex, RoutingNodeIndex)> RoutingNodeEvaluator2
void DisplayPlan(const RoutingIndexManager &manager, const RoutingModel &routing, const operations_research::Assignment &plan, bool use_same_vehicle_costs, int64_t max_nodes_per_group, int64_t same_vehicle_cost, const operations_research::RoutingDimension &capacity_dimension, const operations_research::RoutingDimension &time_dimension)
trees with all degrees equal to