 |
vrpRouting
0.3
|
Go to the documentation of this file.
28 #ifndef INCLUDE_PROBLEM_PICKDELIVER_H_
29 #define INCLUDE_PROBLEM_PICKDELIVER_H_
55 Vehicle_t* p_vehicles,
size_t p_vehicles_size,
56 const Matrix &p_cost_matrix) :
58 m_orders(p_orders, p_orders_size, this),
69 Vehicle_t* p_vehicles,
size_t p_vehicles_size,
70 std::vector<Short_vehicle> new_stops,
71 const Matrix &p_cost_matrix) :
73 m_orders(p_orders, p_orders_size, this),
85 std::vector<CompatibleVehicles_rt> result;
87 if (v.is_phony())
continue;
88 for (
const auto o : v.feasible_orders()) {
89 result.push_back({
m_orders[o].id(), v.id()});
138 #endif // INCLUDE_PROBLEM_PICKDELIVER_H_
Fleet m_trucks
the set of vehicles
virtual ~PickDeliver()=default
std::vector< CompatibleVehicles_rt > get_pg_compatibleVehicles() const
get the vehicles compatibility results as C++ container
PickDeliver(PickDeliveryOrders_t *p_orders, size_t p_orders_size, Vehicle_t *p_vehicles, size_t p_vehicles_size, const Matrix &p_cost_matrix)
General Constructor.
std::vector< Vehicle_node > m_nodes
set of vehicle nodes
void set_compatibles(Speed=1.0)
set the compatability between all orders
Pgr_messages msg
message controller for all classes
void set_compatibles(const Orders &orders)
sets the compatability of orders on the fleet
Extend Tw_node to evaluate the vehicle at node level.
std::string get_error() const
gets the contents of error message
const Matrix & time_matrix()
const Matrix & m_cost_matrix
the cost matrix
size_t m_node_id
used to keep track of the next index the node gets
Orders m_orders
the set of orders
void add_node(const Vehicle_node &node)
add a node to the set of nodes
void clean()
removes from fleet all invalid vehicles
PickDeliver(PickDeliveryOrders_t *p_orders, size_t p_orders_size, Vehicle_t *p_vehicles, size_t p_vehicles_size, std::vector< Short_vehicle > new_stops, const Matrix &p_cost_matrix)
Override stops constructor.