![]() |
vrpRouting
0.3
|
Functions | |
std::vector< Short_vehicle > | get_initial_stops (Vehicle_t *vehicles_arr, size_t total_vehicles) |
get the original stops More... | |
std::vector< Short_vehicle > | one_processing (PickDeliveryOrders_t *shipments_arr, size_t total_shipments, Vehicle_t *vehicles_arr, size_t total_vehicles, std::vector< Short_vehicle > new_stops, const vrprouting::problem::Matrix &time_matrix, int max_cycles, int64_t execution_date) |
Executes an optimization with the input data. More... | |
Identifiers< TTimestamp > | processing_times_by_shipment (PickDeliveryOrders_t *shipments_arr, size_t total_shipments) |
: extract the times where the shipments opens or closes More... | |
Identifiers< TTimestamp > | processing_times_by_vehicle (Vehicle_t *vehicles_arr, size_t total_vehicles) |
: extract the times where the vehicle opens or closes More... | |
std::vector< Short_vehicle > | subdivide_processing (PickDeliveryOrders_t *shipments_arr, size_t total_shipments, Vehicle_t *vehicles_arr, size_t total_vehicles, const vrprouting::problem::Matrix &time_matrix, int max_cycles, int64_t execution_date, bool subdivide_by_vehicle, std::ostringstream &log) |
Executes an optimization by subdivision of data. More... | |
void | update_stops (std::vector< Short_vehicle > &the_stops, const std::vector< Short_vehicle > new_values) |
Update the vehicle stops to the new values. More... | |
std::vector<Short_vehicle> anonymous_namespace{optimize_driver.cpp}::get_initial_stops | ( | Vehicle_t * | vehicles_arr, |
size_t | total_vehicles | ||
) |
get the original stops
[in] | vehicles_arr | A C Array of vehicles |
[in] | total_vehicles | size of the vehicles_arr |
Definition at line 165 of file optimize_driver.cpp.
References Vehicle_t::id, and Vehicle_t::stops_size.
Referenced by subdivide_processing().
std::vector<Short_vehicle> anonymous_namespace{optimize_driver.cpp}::one_processing | ( | PickDeliveryOrders_t * | shipments_arr, |
size_t | total_shipments, | ||
Vehicle_t * | vehicles_arr, | ||
size_t | total_vehicles, | ||
std::vector< Short_vehicle > | new_stops, | ||
const vrprouting::problem::Matrix & | time_matrix, | ||
int | max_cycles, | ||
int64_t | execution_date | ||
) |
Executes an optimization with the input data.
[in] | shipments_arr | A C Array of pickup and dropoff shipments |
[in] | total_shipments | size of the shipments_arr |
[in] | vehicles_arr | A C Array of vehicles |
[in] | total_vehicles | size of the vehicles_arr |
[in] | new_stops | stops that override the original stops. |
[in] | time_matrix | The unique time matrix |
[in] | max_cycles | number of cycles to perform during the optimization phase |
[in] | execution_date | Value used for not moving shipments that are before this date |
Definition at line 69 of file optimize_driver.cpp.
References vrprouting::Pgr_messages::get_error(), vrprouting::Pgr_messages::get_log(), and vrprouting::problem::PickDeliver::msg.
Referenced by do_optimize(), and subdivide_processing().
Identifiers<TTimestamp> anonymous_namespace{optimize_driver.cpp}::processing_times_by_shipment | ( | PickDeliveryOrders_t * | shipments_arr, |
size_t | total_shipments | ||
) |
: extract the times where the shipments opens or closes
[in] | shipments_arr | A C Array of pickup and dropoff shipments |
[in] | total_shipments | size of the shipments_arr |
Definition at line 123 of file optimize_driver.cpp.
References PickDeliveryOrders_t::deliver_close_t, PickDeliveryOrders_t::deliver_open_t, PickDeliveryOrders_t::pick_close_t, and PickDeliveryOrders_t::pick_open_t.
Referenced by subdivide_processing().
Identifiers<TTimestamp> anonymous_namespace{optimize_driver.cpp}::processing_times_by_vehicle | ( | Vehicle_t * | vehicles_arr, |
size_t | total_vehicles | ||
) |
: extract the times where the vehicle opens or closes
[in] | vehicles_arr | A C Array of vehicles |
[in] | total_vehicles | size of the vehicles_arr |
Definition at line 144 of file optimize_driver.cpp.
References Vehicle_t::end_close_t, Vehicle_t::end_open_t, Vehicle_t::start_close_t, and Vehicle_t::start_open_t.
Referenced by subdivide_processing().
std::vector<Short_vehicle> anonymous_namespace{optimize_driver.cpp}::subdivide_processing | ( | PickDeliveryOrders_t * | shipments_arr, |
size_t | total_shipments, | ||
Vehicle_t * | vehicles_arr, | ||
size_t | total_vehicles, | ||
const vrprouting::problem::Matrix & | time_matrix, | ||
int | max_cycles, | ||
int64_t | execution_date, | ||
bool | subdivide_by_vehicle, | ||
std::ostringstream & | log | ||
) |
Executes an optimization by subdivision of data.
[in] | shipments_arr | A C Array of pickup and dropoff shipments |
[in] | total_shipments | size of the shipments_arr |
[in] | vehicles_arr | A C Array of vehicles |
[in] | total_vehicles | size of the vehicles_arr |
[in] | new_stops | stops that override the original stops. |
[in] | time_matrix | The unique time matrix |
[in] | max_cycles | number of cycles to perform during the optimization phase |
[in] | execution_date | Value used for not moving shipments that are before this date |
Definition at line 213 of file optimize_driver.cpp.
References CHECK_FOR_INTERRUPTS, Vehicle_t::end_close_t, get_initial_stops(), Identifiers< T >::has(), Vehicle_t::id, PickDeliveryOrders_t::id, one_processing(), pgassert, processing_times_by_shipment(), processing_times_by_vehicle(), Identifiers< T >::size(), Vehicle_t::start_open_t, and update_stops().
Referenced by do_optimize().
void anonymous_namespace{optimize_driver.cpp}::update_stops | ( | std::vector< Short_vehicle > & | the_stops, |
const std::vector< Short_vehicle > | new_values | ||
) |
Update the vehicle stops to the new values.
[in,out] | the_stops | set of stops that are to be updated |
[in] | new_values | subset of stops that are to be used for the update |
Definition at line 187 of file optimize_driver.cpp.
References pgassert, and Short_vehicle::stops.
Referenced by subdivide_processing().