|
PGROUTING
3.2
|
Go to the documentation of this file.
46 size_t p_idx, int64_t p_id,
51 m_delivery(p_delivery) {
58 <<
"\tPickup: " << order.
pickup() <<
"\n"
59 <<
"\tDelivery: " << order.
delivery() <<
"\n\n"
62 log <<
"\nThere are | {I}| = "
64 <<
" -> order(" << order.
idx()
70 log <<
"} -> " << order.
idx() <<
" -> {";
112 if (J.
idx() ==
idx())
return;
153 return all_cases && (case1 || case2 || case3);
Identifiers< size_t > subsetI(const Identifiers< size_t > &I) const
bool is_valid(double speed) const
validate a pickup/delivery order
double travel_time_to(const Tw_node &other, double speed) const
time = distance / speed.
Identifiers< size_t > subsetJ(const Identifiers< size_t > &J) const
Get a subset of the orders that can be placed after this order.
Vehicle_node m_delivery
The delivery node identifier.
Identifiers< size_t > m_compatibleI
Stores all the orders that can be placed before this order.
void set_compatibles(const Order order, double speed)
Extend Tw_node to evaluate the vehicle at node level.
std::ostream & operator<<(std::ostream &log, const Swap_info &d)
bool is_compatible_IJ(const Tw_node &I, double speed) const
bool is_pickup() const
is_pickup
Vehicle_node m_pickup
The pick up node identifier.
bool is_delivery() const
is_delivery
const Vehicle_node & pickup() const
The delivery node identifier.
const Vehicle_node & delivery() const
The delivery node identifier.
Book keeping class for swapping orders between vehicles.
Identifiers< size_t > m_compatibleJ
Stores all the orders that can be placed after this order.
bool isCompatibleIJ(const Order &I, double speed) const
Can order I be placed before this order?
Order(size_t p_id, int64_t p_idx, const Vehicle_node &p_pickup, const Vehicle_node &p_deliver)