![]() |
vrpRouting
0.3
|
#include "vehicle_pickDeliver.h"
Public Member Functions | |
Vehicle_pickDeliver ()=delete | |
Vehicle_pickDeliver (const Vehicle_pickDeliver &)=default | |
Vehicle_pickDeliver (Idx p_idx, Id p_id, const Vehicle_node &p_starting_site, const Vehicle_node &p_ending_site, const std::vector< int64_t > &p_stops, PAmount p_capacity, Speed p_speed, const Orders &p_orders) | |
PAmount | capacity () const |
returns the capacity of the vehicle More... | |
int | cvTot () const |
TInterval | duration () const |
duration of vehicle while not in a "depot" More... | |
bool | empty () const |
bool | empty () const |
const Vehicle_node & | end_site () const |
void | erase (const Order &order) |
erases the order from the vehicle More... | |
void | erase (const Vehicle_node &node) |
deletes a node if it exists More... | |
void | erase (size_t pos) |
void | evaluate () |
void | evaluate (size_t from) |
Identifiers< size_t > & | feasible_orders () |
returns the set of feasible orders for modification More... | |
const Identifiers< size_t > & | feasible_orders () const |
returns the set of feasible orders More... | |
Order | get_first_order () const |
std::vector< Solution_rt > | get_postgres_result (int vid) const |
std::vector< Id > | get_stops () const |
bool | has_cv () const |
bool | has_order (const Order &order) const |
does the vehicle has the order? More... | |
bool | has_twv () const |
bool | hillClimb (const Order &order) |
Inserts an order with hill Climb approach. More... | |
void | insert (size_t pos, const Vehicle_node &node) |
void | insert_node (size_t pos, const Vehicle_node &node) |
void | invariant () const |
void | invariant () const |
bool | is_feasible () const |
bool | is_feasible () const |
bool | is_ok () const |
bool | is_order_feasible (const Order &order) const |
bool | is_phony () const |
bool | is_real () const |
size_t | length () const |
Pgr_messages & | msg () |
double | objective () const |
Get the value of the objective function. More... | |
const Orders & | orders () const |
Identifiers< size_t > | orders_in_vehicle () const |
returns the number of orders in the vehicle More... | |
size_t | orders_size () const |
std::string | path_str () const |
size_t | pop_back () |
size_t | pop_front () |
void | push_back (const Order &order) |
puts an order at the end of the truck More... | |
void | push_front (const Order &order) |
Puts an order at the end front of the truck. More... | |
bool | semiLIFO (const Order &order) |
Inserts an order In semi-Lifo (almost last in first out) order. More... | |
void | set_initial_solution (const Orders &, Identifiers< size_t > &, Identifiers< size_t > &, TTimestamp, bool) |
sets the initial solution given by the user More... | |
void | set_unmovable (TTimestamp execution_date) |
sets as unmovable the orders that start before the execution date More... | |
Speed | speed () const |
the speed of the vehicle More... | |
const Vehicle_node & | start_site () const |
std::string | tau () const |
TInterval | total_service_time () const |
total time spent moving from one node to another More... | |
TInterval | total_travel_time () const |
total time spent moving from one node to another More... | |
TInterval | total_wait_time () const |
duration of vehicle while waiting for a node to open More... | |
int | twvTot () const |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Inherited functions from Identifier | |
int64_t | id () const |
get the original id More... | |
size_t | idx () const |
get the internal index More... | |
void | reset_id (int64_t) |
change the original id More... | |
Protected Member Functions | |
std::pair< size_t, size_t > | drop_position_limits (const Vehicle_node &node) const |
void | erase (const Vehicle_node &node) |
deletes a node if it exists More... | |
void | erase (size_t pos) |
void | erase_node (size_t pos) |
void | evaluate (size_t from) |
size_t | getDropPosLowLimit (const Vehicle_node &node) const |
size_t | getPosHighLimit (const Vehicle_node &node) const |
Get the highest position on the path where node can be placed. More... | |
size_t | getPosLowLimit (const Vehicle_node &node) const |
Get the lowest position on the path where node can be placed. More... | |
void | insert (size_t pos, const Vehicle_node &node) |
void | insert_node (size_t pos, const Vehicle_node &node) |
std::pair< size_t, size_t > | position_limits (const Vehicle_node &node) const |
Get the limits to insert the node. More... | |
void | push_back (const Vehicle_node &node) |
void | push_back_node (const Vehicle_node &node) |
void | push_front (const Vehicle_node &node) |
void | push_front_node (const Vehicle_node &node) |
void | swap (size_t i, size_t j) |
Protected Attributes | |
T | elements |
STL member. More... | |
double | m_cost |
Identifiers< size_t > | m_feasible_orders |
orders that fit in the truck More... | |
Pgr_messages | m_msg |
Orders | m_orders |
Identifiers< size_t > | m_orders_in_vehicle |
orders inserted in this vehicle More... | |
int | m_user_cv {0} |
Time window violations on solution. More... | |
int | m_user_twv {0} |
Time window violations on solution. More... | |
Private Attributes | |
PAmount | m_capacity |
int64_t | m_id |
size_t | m_idx |
Speed | m_speed = 1.0 |
std::vector< int64_t > | m_stops |
order ids of an initial solution given by the user [1,2,1,3,3,2] = P1 P2 D1 P3 D3 D2 More... | |
Friends | |
std::ostream & | operator<< (std::ostream &log, const Vehicle_pickDeliver &v) |
Definition at line 46 of file vehicle_pickDeliver.h.
|
delete |
|
default |
|
inline |
Definition at line 82 of file vehicle_pickDeliver.h.
|
inherited |
returns the capacity of the vehicle
Definition at line 66 of file vehicle.cpp.
References vrprouting::problem::Vehicle::m_capacity.
Referenced by vrprouting::problem::Vehicle::evaluate().
|
inherited |
Definition at line 94 of file vehicle.cpp.
Referenced by vrprouting::problem::Solution::cvTot(), vrprouting::problem::Vehicle::has_cv(), vrprouting::problem::operator<(), set_initial_solution(), and vrprouting::problem::Vehicle::tau().
|
protectedinherited |
Definition at line 426 of file vehicle.cpp.
References vrprouting::problem::Vehicle::getDropPosLowLimit(), and vrprouting::problem::Vehicle::getPosHighLimit().
Referenced by semiLIFO().
|
inherited |
duration of vehicle while not in a "depot"
Definition at line 72 of file vehicle.cpp.
References vrprouting::problem::Vehicle::is_phony().
Referenced by vrprouting::problem::Solution::duration(), vrprouting::problem::operator<(), and vrprouting::problem::Vehicle::tau().
bool vrprouting::problem::Vehicle::empty |
Definition at line 112 of file vehicle.cpp.
Referenced by vrprouting::optimizers::simple::Optimize::move_order(), and vrprouting::optimizers::tabu::Optimize::swap_between_routes().
|
inherited |
Definition at line 112 of file vehicle.cpp.
Referenced by get_first_order(), pop_back(), and pop_front().
|
inherited |
Definition at line 124 of file vehicle.cpp.
Referenced by vrprouting::problem::Vehicle::is_ok().
void vrprouting::problem::Vehicle_pickDeliver::erase | ( | const Order & | order | ) |
erases the order from the vehicle
[in] | order | order to be removed from the vehicle |
Definition at line 154 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Order::delivery(), has_order(), vrprouting::Identifier::idx(), m_orders_in_vehicle, pgassert, and vrprouting::problem::Order::pickup().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), hillClimb(), vrprouting::optimizers::simple::Optimize::move_order(), pop_back(), pop_front(), semiLIFO(), set_initial_solution(), and vrprouting::optimizers::simple::Optimize::swap_order().
void vrprouting::problem::Vehicle::erase |
deletes a node if it exists
[in] | node |
Definition at line 184 of file vehicle.cpp.
|
protectedinherited |
deletes a node if it exists
[in] | node |
Definition at line 184 of file vehicle.cpp.
References vrprouting::problem::Vehicle::erase(), vrprouting::problem::Vehicle::evaluate(), vrprouting::Identifier::idx(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_start(), and pgassert.
void vrprouting::problem::Vehicle::erase |
Definition at line 172 of file vehicle.cpp.
|
protectedinherited |
Definition at line 172 of file vehicle.cpp.
References vrprouting::problem::Vehicle::erase_node(), and vrprouting::problem::Vehicle::evaluate().
Referenced by vrprouting::problem::Vehicle::erase().
|
protectedinherited |
Definition at line 152 of file vehicle.cpp.
References pgassert.
Referenced by vrprouting::problem::Vehicle::erase(), hillClimb(), vrprouting::problem::Vehicle::pop_back(), and vrprouting::problem::Vehicle::pop_front().
void vrprouting::problem::Vehicle::evaluate |
Definition at line 126 of file vehicle.cpp.
void vrprouting::problem::Vehicle::evaluate |
[in] | from | The position in the path for evaluation to the end of the path. |
Definition at line 131 of file vehicle.cpp.
|
protectedinherited |
[in] | from | The position in the path for evaluation to the end of the path. |
Definition at line 131 of file vehicle.cpp.
References vrprouting::problem::Vehicle::capacity(), vrprouting::problem::Vehicle::invariant(), pgassert, and vrprouting::problem::Vehicle::speed().
|
inline |
returns the set of feasible orders for modification
Definition at line 100 of file vehicle_pickDeliver.h.
References m_feasible_orders.
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), vrprouting::problem::Fleet::feasible_orders(), and vrprouting::optimizers::tabu::Optimize::swap_between_routes().
|
inline |
returns the set of feasible orders
Definition at line 102 of file vehicle_pickDeliver.h.
References m_feasible_orders.
|
inline |
Definition at line 131 of file vehicle_pickDeliver.h.
References vrprouting::problem::Vehicle::empty(), orders(), and pgassert.
|
inherited |
[in] | vid | it is the vid-th vehicle in the solution |
Definition at line 292 of file vehicle.cpp.
|
inherited |
Definition at line 306 of file vehicle.cpp.
References vrprouting::problem::Vehicle::is_phony().
|
protectedinherited |
Definition at line 331 of file vehicle.cpp.
References vrprouting::problem::Vehicle::invariant(), and vrprouting::problem::Vehicle::speed().
Referenced by vrprouting::problem::Vehicle::drop_position_limits().
|
protectedinherited |
Get the highest position on the path where node can be placed.
Definition at line 397 of file vehicle.cpp.
References vrprouting::problem::Vehicle::invariant(), vrprouting::problem::Tw_node::is_compatible_IJ(), and vrprouting::problem::Vehicle::speed().
Referenced by vrprouting::problem::Vehicle::drop_position_limits(), and vrprouting::problem::Vehicle::position_limits().
|
protectedinherited |
Get the lowest position on the path where node can be placed.
[in] | nodeI | start searching from postition low = pos(E) |
S 1 2 3 4 5 6 7 ..... E node -> E node -> ... node -> 7 node -> 6 node -> 5 node /-> 4
return low_limit = 5
Definition at line 366 of file vehicle.cpp.
References vrprouting::problem::Vehicle::invariant().
Referenced by vrprouting::problem::Vehicle::position_limits().
|
inherited |
Definition at line 98 of file vehicle.cpp.
References vrprouting::problem::Vehicle::cvTot(), and vrprouting::problem::Vehicle::m_user_cv.
Referenced by vrprouting::problem::Vehicle::is_feasible(), and semiLIFO().
|
inline |
does the vehicle has the order?
Definition at line 108 of file vehicle_pickDeliver.h.
References Identifiers< T >::has(), vrprouting::Identifier::idx(), and m_orders_in_vehicle.
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), erase(), hillClimb(), vrprouting::optimizers::simple::Optimize::move_order(), push_back(), push_front(), semiLIFO(), vrprouting::optimizers::simple::Optimize::swap_order(), and vrprouting::optimizers::simple::Optimize::swap_worse().
|
inherited |
Definition at line 96 of file vehicle.cpp.
References vrprouting::problem::Vehicle::m_user_twv, and vrprouting::problem::Vehicle::twvTot().
Referenced by vrprouting::problem::Vehicle::is_feasible(), and semiLIFO().
bool vrprouting::problem::Vehicle_pickDeliver::hillClimb | ( | const Order & | order | ) |
Inserts an order with hill Climb approach.
[in] | order | to be inserted |
check pre conditions
Inserting the order
check post conditions
Definition at line 444 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Order::delivery(), erase(), vrprouting::problem::Vehicle::erase_node(), has_order(), vrprouting::Identifier::id(), vrprouting::Identifier::idx(), vrprouting::problem::Vehicle::insert(), vrprouting::problem::Vehicle::invariant(), vrprouting::problem::Vehicle::is_feasible(), m_orders_in_vehicle, objective(), pgassert, vrprouting::problem::Order::pickup(), vrprouting::problem::Vehicle::position_limits(), and vrprouting::problem::Vehicle::swap().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), vrprouting::optimizers::simple::Optimize::move_order(), and vrprouting::optimizers::simple::Optimize::swap_order().
|
inherited |
get the original id
Definition at line 42 of file identifier.cpp.
References vrprouting::Identifier::m_id.
Referenced by vrprouting::problem::Vehicle_node::get_postgres_result(), hillClimb(), vrprouting::problem::Vehicle::is_phony(), vrprouting::operator<<(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), set_initial_solution(), set_unmovable(), vrprouting::problem::Vehicle::tau(), and vrprouting::problem::Tw_node::travel_time_to().
|
inherited |
get the internal index
Definition at line 37 of file identifier.cpp.
References vrprouting::Identifier::m_idx.
Referenced by erase(), vrprouting::problem::Vehicle::erase(), has_order(), hillClimb(), vrprouting::operator<<(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), push_back(), push_front(), semiLIFO(), vrprouting::problem::Order::set_compatibles(), and vrprouting::problem::Vehicle::tau().
void vrprouting::problem::Vehicle::insert |
Definition at line 202 of file vehicle.cpp.
|
protectedinherited |
Definition at line 202 of file vehicle.cpp.
References vrprouting::problem::Vehicle::evaluate(), and vrprouting::problem::Vehicle::insert_node().
Referenced by hillClimb(), semiLIFO(), and set_initial_solution().
void vrprouting::problem::Vehicle::insert_node |
Definition at line 158 of file vehicle.cpp.
|
protectedinherited |
Definition at line 158 of file vehicle.cpp.
References pgassert.
Referenced by vrprouting::problem::Vehicle::insert(), push_back(), vrprouting::problem::Vehicle::push_back(), vrprouting::problem::Vehicle::push_back_node(), push_front(), vrprouting::problem::Vehicle::push_front(), and vrprouting::problem::Vehicle::push_front_node().
void vrprouting::problem::Vehicle::invariant |
Definition at line 100 of file vehicle.cpp.
|
inherited |
Definition at line 100 of file vehicle.cpp.
References pgassert.
Referenced by vrprouting::problem::Vehicle::evaluate(), vrprouting::problem::Vehicle::getDropPosLowLimit(), vrprouting::problem::Vehicle::getPosHighLimit(), vrprouting::problem::Vehicle::getPosLowLimit(), hillClimb(), pop_back(), pop_front(), semiLIFO(), and vrprouting::problem::Vehicle::tau().
bool vrprouting::problem::Vehicle::is_feasible |
Definition at line 120 of file vehicle.cpp.
Referenced by vrprouting::optimizers::simple::Optimize::swap_order().
|
inherited |
Definition at line 120 of file vehicle.cpp.
References vrprouting::problem::Vehicle::has_cv(), and vrprouting::problem::Vehicle::has_twv().
Referenced by hillClimb(), semiLIFO(), and set_initial_solution().
|
inherited |
Definition at line 106 of file vehicle.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Vehicle::end_site(), vrprouting::problem::Vehicle::m_capacity, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Vehicle::start_site().
bool vrprouting::problem::Vehicle_pickDeliver::is_order_feasible | ( | const Order & | order | ) | const |
[in] | order | to be tested |
Definition at line 334 of file vehicle_pickDeliver.cpp.
|
inherited |
Definition at line 116 of file vehicle.cpp.
References vrprouting::Identifier::id().
Referenced by vrprouting::problem::Vehicle::duration(), vrprouting::problem::Vehicle::get_stops(), vrprouting::problem::Vehicle::is_real(), vrprouting::optimizers::simple::Optimize::move_order(), objective(), vrprouting::optimizers::tabu::Optimize::swap_between_routes(), vrprouting::problem::Vehicle::total_service_time(), vrprouting::problem::Vehicle::total_travel_time(), and vrprouting::problem::Vehicle::total_wait_time().
|
inherited |
|
inherited |
Definition at line 114 of file vehicle.cpp.
|
inline |
Definition at line 150 of file vehicle_pickDeliver.h.
References m_msg.
Referenced by set_initial_solution(), and set_unmovable().
double vrprouting::problem::Vehicle_pickDeliver::objective | ( | ) | const |
Get the value of the objective function.
Definition at line 321 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Vehicle::is_phony(), and vrprouting::problem::Vehicle::total_travel_time().
Referenced by hillClimb(), and vrprouting::optimizers::tabu::Optimize::swap_between_routes().
|
inline |
Definition at line 148 of file vehicle_pickDeliver.h.
References m_orders, and pgassert.
Referenced by get_first_order(), pop_back(), pop_front(), set_initial_solution(), set_unmovable(), and vrprouting::optimizers::simple::Optimize::swap_worse().
|
inline |
returns the number of orders in the vehicle
Definition at line 105 of file vehicle_pickDeliver.h.
References m_orders_in_vehicle.
Referenced by vrprouting::optimizers::simple::Optimize::move_reduce_cost(), vrprouting::optimizers::tabu::Optimize::swap_between_routes(), and vrprouting::optimizers::simple::Optimize::swap_worse().
|
inline |
Definition at line 110 of file vehicle_pickDeliver.h.
References m_orders_in_vehicle, and Identifiers< T >::size().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible().
|
inherited |
Definition at line 272 of file vehicle.cpp.
size_t vrprouting::problem::Vehicle_pickDeliver::pop_back | ( | ) |
Definition at line 95 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Vehicle::empty(), erase(), vrprouting::problem::Vehicle::invariant(), orders(), and pgassert.
size_t vrprouting::problem::Vehicle_pickDeliver::pop_front | ( | ) |
Definition at line 121 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Vehicle::empty(), erase(), vrprouting::problem::Vehicle::invariant(), orders(), and pgassert.
|
protectedinherited |
Get the limits to insert the node.
[in] | node | to try to be tested |
Definition at line 419 of file vehicle.cpp.
References vrprouting::problem::Vehicle::getPosHighLimit(), and vrprouting::problem::Vehicle::getPosLowLimit().
Referenced by hillClimb().
void vrprouting::problem::Vehicle_pickDeliver::push_back | ( | const Order & | order | ) |
puts an order at the end of the truck
[in] | order | order to be pushed back |
Definition at line 57 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Order::delivery(), vrprouting::problem::Vehicle::evaluate(), has_order(), vrprouting::Identifier::idx(), vrprouting::problem::Vehicle::insert_node(), m_orders_in_vehicle, pgassert, and vrprouting::problem::Order::pickup().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), and vrprouting::initialsol::tabu::Initial_solution::process_unassigned().
|
protectedinherited |
Definition at line 208 of file vehicle.cpp.
References vrprouting::problem::Vehicle::evaluate(), and vrprouting::problem::Vehicle::insert_node().
|
protectedinherited |
Definition at line 164 of file vehicle.cpp.
References vrprouting::problem::Vehicle::insert_node().
void vrprouting::problem::Vehicle_pickDeliver::push_front | ( | const Order & | order | ) |
Puts an order at the end front of the truck.
Precondition: !has_order(order)
Postcondition: has_order(order) !has_cv();
Can generate time window violation No capacity violation
Definition at line 84 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Order::delivery(), vrprouting::problem::Vehicle::evaluate(), has_order(), vrprouting::Identifier::idx(), vrprouting::problem::Vehicle::insert_node(), m_orders_in_vehicle, pgassert, and vrprouting::problem::Order::pickup().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible().
|
protectedinherited |
Definition at line 213 of file vehicle.cpp.
References vrprouting::problem::Vehicle::evaluate(), and vrprouting::problem::Vehicle::insert_node().
|
protectedinherited |
Definition at line 168 of file vehicle.cpp.
References vrprouting::problem::Vehicle::insert_node().
|
inherited |
change the original id
Definition at line 47 of file identifier.cpp.
References vrprouting::Identifier::m_id.
Referenced by vrprouting::problem::Tw_node::Tw_node().
bool vrprouting::problem::Vehicle_pickDeliver::semiLIFO | ( | const Order & | order | ) |
Inserts an order In semi-Lifo (almost last in first out) order.
Precondition: !has_order(order)
Postcondition: has_order(order) !has_cv();
push_back is performed when
Can generate time window violation No capacity violation
Definition at line 361 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Order::delivery(), vrprouting::problem::Vehicle::drop_position_limits(), erase(), vrprouting::problem::Vehicle::has_cv(), has_order(), vrprouting::problem::Vehicle::has_twv(), vrprouting::Identifier::idx(), vrprouting::problem::Vehicle::insert(), vrprouting::problem::Vehicle::invariant(), vrprouting::problem::Vehicle::is_feasible(), m_orders_in_vehicle, pgassert, and vrprouting::problem::Order::pickup().
Referenced by vrprouting::initialsol::simple::Initial_solution::do_while_feasible(), vrprouting::optimizers::simple::Optimize::move_order(), and vrprouting::optimizers::simple::Optimize::swap_order().
void vrprouting::problem::Vehicle_pickDeliver::set_initial_solution | ( | const Orders & | orders, |
Identifiers< size_t > & | assigned, | ||
Identifiers< size_t > & | unassigned, | ||
TTimestamp | execution_date, | ||
bool | optimize | ||
) |
sets the initial solution given by the user
[in] | orders | from the problem |
[in] | assigned | set of orders ids already assigned |
[in] | unassigned | set of orders to be assigned |
[in] | execution_date | reference date to set orders unmovable |
[in] | optimize | flag to set up for optimization |
check pre conditions
no stops -> exit
Cycle the stops
Find the order
its a drop off
its a pickup
Can not ignore user error when giving an initial solution
Removing movable orders
check post conditions
Definition at line 171 of file vehicle_pickDeliver.cpp.
References vrprouting::problem::Vehicle::cvTot(), erase(), vrprouting::problem::Vehicle::evaluate(), Identifiers< T >::has(), vrprouting::Identifier::id(), vrprouting::problem::Vehicle::insert(), vrprouting::problem::Vehicle::is_feasible(), vrprouting::Pgr_messages::log, m_orders_in_vehicle, m_stops, vrprouting::problem::Vehicle::m_user_cv, vrprouting::problem::Vehicle::m_user_twv, msg(), orders(), pgassert, pgassertwm, set_unmovable(), vrprouting::problem::Vehicle::tau(), and vrprouting::problem::Vehicle::twvTot().
void vrprouting::problem::Vehicle_pickDeliver::set_unmovable | ( | TTimestamp | execution_date | ) |
sets as unmovable the orders that start before the execution date
When order's open < execution date.
[in] | execution_date | orders starting before this time are marked as unmovable |
For the optimizer is like the order does not exist
Definition at line 292 of file vehicle_pickDeliver.cpp.
References vrprouting::Identifier::id(), vrprouting::Pgr_messages::log, m_orders_in_vehicle, msg(), and orders().
Referenced by set_initial_solution().
|
inherited |
the speed of the vehicle
When the matrix is a time matrix: speed should be in t / t^2 When the matrix is a distance matrix: speed should be in d / t^2
where: d = distance units t = time units
The calculated value of the traveling time will become tt(a, b) = matrix(a,b) / speed;
Definition at line 63 of file vehicle.cpp.
References vrprouting::problem::Vehicle::m_speed.
Referenced by vrprouting::problem::Vehicle::evaluate(), vrprouting::problem::Vehicle::getDropPosLowLimit(), and vrprouting::problem::Vehicle::getPosHighLimit().
|
inherited |
Definition at line 122 of file vehicle.cpp.
Referenced by vrprouting::problem::Vehicle::is_ok().
|
protectedinherited |
Definition at line 228 of file vehicle.cpp.
References vrprouting::problem::Vehicle::evaluate(), and pgassert.
Referenced by hillClimb().
|
inherited |
Definition at line 251 of file vehicle.cpp.
References vrprouting::problem::Vehicle::cvTot(), vrprouting::problem::Vehicle::duration(), vrprouting::Identifier::id(), vrprouting::Identifier::idx(), vrprouting::problem::Vehicle::invariant(), vrprouting::problem::Vehicle::total_travel_time(), vrprouting::problem::Vehicle::total_wait_time(), and vrprouting::problem::Vehicle::twvTot().
Referenced by set_initial_solution().
|
inherited |
total time spent moving from one node to another
Definition at line 90 of file vehicle.cpp.
References vrprouting::problem::Vehicle::is_phony().
Referenced by vrprouting::problem::Solution::total_service_time().
|
inherited |
total time spent moving from one node to another
Definition at line 84 of file vehicle.cpp.
References vrprouting::problem::Vehicle::is_phony().
Referenced by objective(), vrprouting::problem::operator<(), vrprouting::problem::Vehicle::tau(), and vrprouting::problem::Solution::total_travel_time().
|
inherited |
duration of vehicle while waiting for a node to open
Definition at line 78 of file vehicle.cpp.
References vrprouting::problem::Vehicle::is_phony().
Referenced by vrprouting::problem::operator<(), vrprouting::problem::Vehicle::tau(), and vrprouting::problem::Solution::wait_time().
|
inherited |
Definition at line 92 of file vehicle.cpp.
Referenced by vrprouting::problem::Vehicle::has_twv(), vrprouting::problem::operator<(), set_initial_solution(), vrprouting::problem::Vehicle::tau(), and vrprouting::problem::Solution::twvTot().
|
friend |
[in,out] | log | place to store the vehicle's information |
[in] | v | the vehicle to work with |
Definition at line 64 of file vehicle_pickDeliver.h.
|
inherited |
STL member.
|
privateinherited |
Definition at line 182 of file vehicle.h.
Referenced by vrprouting::problem::Vehicle::capacity(), and vrprouting::problem::Vehicle::is_ok().
|
protected |
Definition at line 158 of file vehicle_pickDeliver.h.
|
protected |
orders that fit in the truck
Definition at line 164 of file vehicle_pickDeliver.h.
Referenced by feasible_orders().
|
privateinherited |
Definition at line 87 of file identifier.h.
Referenced by vrprouting::Identifier::id(), and vrprouting::Identifier::reset_id().
|
privateinherited |
Definition at line 86 of file identifier.h.
Referenced by vrprouting::Identifier::idx().
|
protected |
Definition at line 168 of file vehicle_pickDeliver.h.
Referenced by msg().
|
protected |
Definition at line 166 of file vehicle_pickDeliver.h.
Referenced by orders().
|
protected |
orders inserted in this vehicle
Definition at line 161 of file vehicle_pickDeliver.h.
Referenced by erase(), has_order(), hillClimb(), orders_in_vehicle(), orders_size(), push_back(), push_front(), semiLIFO(), set_initial_solution(), and set_unmovable().
|
privateinherited |
Definition at line 183 of file vehicle.h.
Referenced by vrprouting::problem::Vehicle::speed().
|
private |
order ids of an initial solution given by the user [1,2,1,3,3,2] = P1 P2 D1 P3 D3 D2
Definition at line 175 of file vehicle_pickDeliver.h.
Referenced by set_initial_solution().
|
protectedinherited |
Time window violations on solution.
The user can give a solution that has capacity violations
Definition at line 179 of file vehicle.h.
Referenced by vrprouting::problem::Vehicle::has_cv(), and set_initial_solution().
|
protectedinherited |
Time window violations on solution.
The user can give a solution that has time window violations
Definition at line 173 of file vehicle.h.
Referenced by vrprouting::problem::Vehicle::has_twv(), and set_initial_solution().