![]() |
vrpRouting
0.3
|
Extend Tw_node to evaluate the vehicle at node level. More...
#include "vehicle_node.h"
Public Member Functions | |
Vehicle_node ()=delete | |
Construction without information is not allowed. More... | |
Vehicle_node (const Tw_node &node) | |
Construction of a Vehicle node based on a time windows node. More... | |
Vehicle_node (const Vehicle_node &)=default | |
Copy constructor. More... | |
TTimestamp | arrival_j_closes_i (const Tw_node &I, Speed=1.0) const |
arrival time at This node, when arrived at I at closing time TODO refine description More... | |
TTimestamp | arrival_j_opens_i (const Tw_node &I, Speed=1.0) const |
arrival time at This node, when arrived at I at opening time TODO refine description More... | |
TTimestamp | arrival_time () const |
Vehicle's arrival_time to this node. More... | |
TTimestamp | closes () const |
Returns the closing time. More... | |
Amount | demand () const |
Returns the demand associated with this node. More... | |
TTimestamp | departure_time () const |
Vehicle's departure_time from this node. More... | |
void | evaluate (const Vehicle_node &pred, PAmount, Speed=1.0) |
void | evaluate (PAmount cargoLimit) |
evaluate this node More... | |
Solution_rt | get_postgres_result (int vid, int64_t v_id, int stop_seq) const |
bool | is_compatible_IJ (const Tw_node &I, Speed=1.0) const |
is possible to arrive to this after visiting other? More... | |
bool | is_delivery () const |
Is the node a valid order's delivery node. More... | |
bool | is_dump () const |
Is the node a valid vehicle's dumping node. More... | |
bool | is_early_arrival (TTimestamp arrival_time) const |
True when arrivalTime is before it opens. More... | |
bool | is_end () const |
Is the node a valid vehicle's ending node. More... | |
bool | is_late_arrival (TTimestamp arrival_time) const |
True when arrivalTime is after it closes. More... | |
bool | is_load () const |
Is the node a valid vehicle's loading node. More... | |
bool | is_on_time (TTimestamp arrival_time) const |
True when arrivalTime in the time window. More... | |
bool | is_partially_compatible_IJ (const Tw_node &I, Speed=1.0) const |
can arrive to this after visiting as late as possible I? TODO refine description More... | |
bool | is_partially_waitTime_compatible_IJ (const Tw_node &I, Speed=1.0) const |
can arrive to this after visiting as late as possible I? TODO refine description More... | |
bool | is_pickup () const |
Is the node a valid order's pickup node. More... | |
bool | is_start () const |
Is the node a valid vehicle's starting node. More... | |
bool | is_tight_compatible_IJ (const Tw_node &I, Speed=1.0) const |
can arrive to this after visiting as late as possible I? TODO refine description More... | |
bool | is_valid () const |
is the node valid? More... | |
bool | is_waitTime_compatible_IJ (const Tw_node &I, Speed=1.0) const |
can arrive to this after visiting as late as possible I? TODO refine description More... | |
double | objective () const |
the basic objective function for this node More... | |
TTimestamp | opens () const |
Returns the opening time. More... | |
bool | operator== (const Tw_node &rhs) const |
equality operator More... | |
int64_t | order () const |
Returns the order to which it belongs. More... | |
TInterval | service_time () const |
Returns the service time for this node. More... | |
TInterval | travel_time () const |
Vehicle's travel_time from previous node to this node. More... | |
TInterval | travel_time_to (const Tw_node &, TTimestamp, Speed=1.0) const |
travel time to other node. More... | |
auto | type () const |
Returns the type of this node. More... | |
std::string | type_str () const |
returns a string code of the kind of node More... | |
TInterval | wait_time () const |
Vehicle's wait_time at this node. More... | |
TInterval | window_length () const |
Returns the length of time between the opening and closing. More... | |
Static Public Attributes | |
static const Matrix * | m_time_matrix_ptr = nullptr |
Protected Member Functions | |
void | demand (Amount value) |
Sets the demand value to a new value. More... | |
evaluation | |
bool | has_twv () const |
does the node violates the time windows constraints? More... | |
bool | has_cv (PAmount cargoLimit) const |
does the node violates the capacity constraints? More... | |
TInterval | total_time () const |
TInterval | delta_time () const |
delta_time = departure_time(this) - departure_time(previous) More... | |
bool | deltaGeneratesTWV (TInterval delta_time) const |
True when arrival_time + delta_time generates TWV. More... | |
State | |
bool | feasible () const |
True when the total count for violations are 0. More... | |
bool | feasible (PAmount cargoLimit) const |
True doesn't have twc nor cv (including total counts) More... | |
Private Attributes | |
TTimestamp | m_closes |
closing time of the node More... | |
Amount | m_demand |
The demand for the Node. More... | |
int64_t | m_id |
size_t | m_idx |
TTimestamp | m_opens |
opening time of the node More... | |
int64_t | m_order { } |
order to which it belongs (idx) More... | |
TInterval | m_service_time |
time it takes to be served More... | |
NodeType | m_type |
The kind of Node. More... | |
Node evaluation | |
TInterval | m_travel_time |
Travel time from last node. More... | |
TTimestamp | m_arrival_time |
Arrival time at this node. More... | |
TInterval | m_wait_time |
Wait time at this node. More... | |
TTimestamp | m_departure_time |
Departure time from this node. More... | |
TInterval | m_delta_time |
Departure time - last nodes departure time. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &log, const Vehicle_node &v) |
Print the contents of a Vehicle_node object. More... | |
Accumulated evaluation | |
Amount | m_cargo |
Accumulated cargo. More... | |
int | m_twvTot |
Total count of TWV. More... | |
int | m_cvTot |
Total count of CV. More... | |
TInterval | m_tot_wait_time |
Accumulated wait time. More... | |
TInterval | m_tot_travel_time |
Accumulated travel time. More... | |
TInterval | m_tot_service_time |
Accumulated service time. More... | |
int | twvTot () const |
Vehicle's total times it has violated time windows. More... | |
int | cvTot () const |
Vehicle's total times it has violated cargo limits. More... | |
Amount | cargo () const |
Vehicle's total cargo after the node was served. More... | |
TInterval | total_travel_time () const |
_time spent moving between nodes by the truck More... | |
TInterval | total_wait_time () const |
_time spent by the truck waiting for nodes to open More... | |
TInterval | total_service_time () const |
_time spent by the truck servicing the nodes More... | |
Extend Tw_node to evaluate the vehicle at node level.
This class extends Twnode by adding attributes to store information and to set and get these attribute values.
Definition at line 49 of file vehicle_node.h.
|
delete |
Construction without information is not allowed.
|
default |
Copy constructor.
|
explicit |
Construction of a Vehicle node based on a time windows node.
Creates a disconnected vehicle node A node that is not served by any vehicle.
[in] | node | Time window node |
Definition at line 141 of file vehicle_node.cpp.
|
inherited |
arrival time at This node, when arrived at I at closing time TODO refine description
[in] | I | the previous node before this node |
[in] | speed | - speed used for calculation |
I -> this Value of TWC when arriving to this node after visiting node I at closing time
Definition at line 81 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::kStart, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::service_time(), and vrprouting::problem::Tw_node::travel_time_to().
Referenced by vrprouting::problem::Tw_node::is_partially_compatible_IJ(), and vrprouting::problem::Tw_node::is_tight_compatible_IJ().
|
inherited |
arrival time at This node, when arrived at I at opening time TODO refine description
[in] | I | the previous node before this node |
[in] | speed | - speed used for calculation |
I -> this Value of TWC when arriving to this node after visiting node I at opening time
Definition at line 66 of file tw_node.cpp.
References vrprouting::problem::kStart, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), vrprouting::problem::Tw_node::service_time(), and vrprouting::problem::Tw_node::travel_time_to().
Referenced by vrprouting::problem::Tw_node::is_compatible_IJ(), vrprouting::problem::Tw_node::is_partially_compatible_IJ(), vrprouting::problem::Tw_node::is_partially_waitTime_compatible_IJ(), vrprouting::problem::Tw_node::is_tight_compatible_IJ(), and vrprouting::problem::Tw_node::is_waitTime_compatible_IJ().
|
inline |
Vehicle's arrival_time to this node.
Definition at line 68 of file vehicle_node.h.
References m_arrival_time.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
|
inline |
Vehicle's total cargo after the node was served.
Definition at line 86 of file vehicle_node.h.
References m_cargo.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
|
inlineinherited |
Returns the closing time.
Definition at line 81 of file tw_node.h.
References vrprouting::problem::Tw_node::m_closes.
Referenced by vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Vehicle::is_ok(), vrprouting::problem::Tw_node::is_pickup(), and vrprouting::problem::Tw_node::is_start().
|
inline |
Vehicle's total times it has violated cargo limits.
Definition at line 83 of file vehicle_node.h.
References m_cvTot.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
|
inlineprotected |
delta_time = departure_time(this) - departure_time(previous)
Definition at line 120 of file vehicle_node.h.
References m_delta_time.
Referenced by deltaGeneratesTWV().
|
protected |
True when arrival_time + delta_time generates TWV.
Definition at line 158 of file vehicle_node.cpp.
References delta_time(), vrprouting::problem::Tw_node::is_late_arrival(), and m_arrival_time.
|
inlineinherited |
Returns the demand associated with this node.
Definition at line 163 of file tw_node.h.
References vrprouting::problem::Tw_node::m_demand.
Referenced by evaluate(), vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Tw_node::is_pickup(), and vrprouting::problem::Tw_node::is_start().
|
inlineprotectedinherited |
Sets the demand value to a new value.
Definition at line 170 of file tw_node.h.
References vrprouting::problem::Tw_node::m_demand.
|
inline |
Vehicle's departure_time from this node.
Definition at line 74 of file vehicle_node.h.
References m_departure_time.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
void vrprouting::problem::Vehicle_node::evaluate | ( | const Vehicle_node & | pred, |
PAmount | cargoLimit, | ||
Speed | speed = 1.0 |
||
) |
[in] | pred | The node preceding this node in the path. |
[in] | cargoLimit | of the vehicle. |
[in] | speed | value to use for calculations |
Definition at line 81 of file vehicle_node.cpp.
References arrival_time(), cargo(), cvTot(), vrprouting::problem::Tw_node::demand(), departure_time(), has_cv(), has_twv(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_early_arrival(), m_arrival_time, m_cargo, m_cvTot, m_delta_time, m_departure_time, m_tot_service_time, m_tot_travel_time, m_tot_wait_time, m_travel_time, m_twvTot, m_wait_time, vrprouting::problem::Tw_node::opens(), vrprouting::problem::Tw_node::service_time(), total_service_time(), total_travel_time(), total_wait_time(), travel_time(), vrprouting::problem::Tw_node::travel_time_to(), twvTot(), and wait_time().
void vrprouting::problem::Vehicle_node::evaluate | ( | PAmount | cargoLimit | ) |
evaluate this node
[in] | cargoLimit | of the vehicle |
Definition at line 52 of file vehicle_node.cpp.
References arrival_time(), vrprouting::problem::Tw_node::demand(), has_cv(), vrprouting::problem::Tw_node::is_start(), m_arrival_time, m_cargo, m_cvTot, m_delta_time, m_departure_time, m_tot_service_time, m_tot_travel_time, m_tot_wait_time, m_travel_time, m_twvTot, m_wait_time, vrprouting::problem::Tw_node::opens(), pgassert, and vrprouting::problem::Tw_node::service_time().
|
inlineprotected |
True when the total count for violations are 0.
Definition at line 128 of file vehicle_node.h.
References m_cvTot, and m_twvTot.
Referenced by feasible().
|
inlineprotected |
True doesn't have twc nor cv (including total counts)
Definition at line 131 of file vehicle_node.h.
References feasible(), has_cv(), and has_twv().
Solution_rt vrprouting::problem::Vehicle_node::get_postgres_result | ( | int | vid, |
int64_t | v_id, | ||
int | stop_seq | ||
) | const |
[in] | vid | it the vid-th vehicle in the solution |
[in] | v_id | it the vehicle identifier of the current node |
[in] | stop_seq | using this sequence value for the current node |
Definition at line 193 of file vehicle_node.cpp.
References arrival_time(), cargo(), cvTot(), departure_time(), vrprouting::Identifier::id(), vrprouting::problem::Tw_node::order(), vrprouting::problem::Tw_node::service_time(), travel_time(), twvTot(), vrprouting::problem::Tw_node::type(), and wait_time().
|
protected |
does the node violates the capacity constraints?
[in] | cargoLimit | of the vehicle |
A capacity violations happens when:
Definition at line 172 of file vehicle_node.cpp.
References vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_start(), and m_cargo.
Referenced by evaluate(), and feasible().
|
protected |
does the node violates the time windows constraints?
Definition at line 182 of file vehicle_node.cpp.
References vrprouting::problem::Tw_node::is_late_arrival(), and m_arrival_time.
Referenced by evaluate(), feasible(), and vrprouting::problem::operator<<().
|
inherited |
get the original id
Definition at line 42 of file identifier.cpp.
References vrprouting::Identifier::m_id.
Referenced by get_postgres_result(), vrprouting::problem::Vehicle_pickDeliver::hillClimb(), vrprouting::problem::Vehicle::is_phony(), vrprouting::operator<<(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Vehicle_pickDeliver::set_initial_solution(), vrprouting::problem::Vehicle_pickDeliver::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 vrprouting::problem::Vehicle_pickDeliver::erase(), vrprouting::problem::Vehicle::erase(), vrprouting::problem::Vehicle_pickDeliver::has_order(), vrprouting::problem::Vehicle_pickDeliver::hillClimb(), vrprouting::operator<<(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Vehicle_pickDeliver::push_back(), vrprouting::problem::Vehicle_pickDeliver::push_front(), vrprouting::problem::Vehicle_pickDeliver::semiLIFO(), vrprouting::problem::Order::set_compatibles(), and vrprouting::problem::Vehicle::tau().
|
inherited |
is possible to arrive to this after visiting other?
[in] | I | node visited before visiting this node |
[in] | speed | - speed used for calculation |
Definition at line 94 of file tw_node.cpp.
References vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_late_arrival(), vrprouting::problem::kEnd, vrprouting::problem::kStart, and vrprouting::problem::Tw_node::m_type.
Referenced by vrprouting::problem::Vehicle::getPosHighLimit(), vrprouting::problem::Tw_node::is_partially_compatible_IJ(), vrprouting::problem::Tw_node::is_partially_waitTime_compatible_IJ(), vrprouting::problem::Tw_node::is_tight_compatible_IJ(), vrprouting::problem::Order::is_valid(), vrprouting::problem::Tw_node::is_waitTime_compatible_IJ(), and vrprouting::problem::Order::isCompatibleIJ().
|
inherited |
Is the node a valid order's delivery node.
Definition at line 210 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kDelivery, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by vrprouting::problem::Order::is_valid(), and vrprouting::problem::Tw_node::is_valid().
|
inherited |
Is the node a valid vehicle's dumping node.
Definition at line 222 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kDump, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by evaluate(), and vrprouting::problem::Tw_node::is_valid().
|
inlineinherited |
True when arrivalTime is before it opens.
Definition at line 126 of file tw_node.h.
References vrprouting::problem::Tw_node::m_opens.
Referenced by evaluate(), vrprouting::problem::Tw_node::is_on_time(), vrprouting::problem::Tw_node::is_partially_compatible_IJ(), vrprouting::problem::Tw_node::is_partially_waitTime_compatible_IJ(), vrprouting::problem::Tw_node::is_tight_compatible_IJ(), and vrprouting::problem::Tw_node::is_waitTime_compatible_IJ().
|
inherited |
Is the node a valid vehicle's ending node.
Definition at line 245 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kEnd, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by vrprouting::problem::Fleet::add_vehicle(), vrprouting::problem::Vehicle::erase(), has_cv(), and vrprouting::problem::Tw_node::is_valid().
|
inlineinherited |
True when arrivalTime is after it closes.
Definition at line 121 of file tw_node.h.
References vrprouting::problem::Tw_node::m_closes.
Referenced by deltaGeneratesTWV(), has_twv(), vrprouting::problem::Tw_node::is_compatible_IJ(), vrprouting::problem::Tw_node::is_on_time(), vrprouting::problem::Tw_node::is_partially_compatible_IJ(), and vrprouting::problem::Tw_node::is_tight_compatible_IJ().
|
inherited |
Is the node a valid vehicle's loading node.
Definition at line 234 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kLoad, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by vrprouting::problem::Tw_node::is_valid().
|
inlineinherited |
True when arrivalTime in the time window.
Definition at line 131 of file tw_node.h.
References vrprouting::problem::Tw_node::is_early_arrival(), and vrprouting::problem::Tw_node::is_late_arrival().
|
inherited |
can arrive to this after visiting as late as possible I? TODO refine description
[in] | I | node visited before visiting this node |
[in] | speed | - speed used for calculation |
Definition at line 116 of file tw_node.cpp.
References vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_compatible_IJ(), vrprouting::problem::Tw_node::is_early_arrival(), and vrprouting::problem::Tw_node::is_late_arrival().
|
inherited |
can arrive to this after visiting as late as possible I? TODO refine description
[in] | I | node visited before visiting this node |
[in] | speed | - speed used for calculation |
Definition at line 146 of file tw_node.cpp.
References vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_compatible_IJ(), and vrprouting::problem::Tw_node::is_early_arrival().
|
inherited |
Is the node a valid order's pickup node.
Definition at line 199 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kPickup, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by vrprouting::problem::Order::is_valid(), and vrprouting::problem::Tw_node::is_valid().
|
inherited |
Is the node a valid vehicle's starting node.
Definition at line 187 of file tw_node.cpp.
References vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::demand(), vrprouting::problem::kStart, vrprouting::problem::Tw_node::m_type, vrprouting::problem::Tw_node::opens(), and vrprouting::problem::Tw_node::service_time().
Referenced by vrprouting::problem::Vehicle::erase(), evaluate(), has_cv(), and vrprouting::problem::Tw_node::is_valid().
|
inherited |
can arrive to this after visiting as late as possible I? TODO refine description
[in] | I | node visited before visiting this node |
[in] | speed | - speed used for calculation |
Definition at line 131 of file tw_node.cpp.
References vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_compatible_IJ(), vrprouting::problem::Tw_node::is_early_arrival(), and vrprouting::problem::Tw_node::is_late_arrival().
|
inherited |
is the node valid?
Definition at line 274 of file tw_node.cpp.
References vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Tw_node::is_pickup(), vrprouting::problem::Tw_node::is_start(), vrprouting::problem::kDelivery, vrprouting::problem::kDump, vrprouting::problem::kEnd, vrprouting::problem::kLoad, vrprouting::problem::kPickup, vrprouting::problem::kStart, and vrprouting::problem::Tw_node::type().
|
inherited |
can arrive to this after visiting as late as possible I? TODO refine description
[in] | I | node visited before visiting this node |
[in] | speed | - speed used for calculation |
Definition at line 162 of file tw_node.cpp.
References vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_compatible_IJ(), and vrprouting::problem::Tw_node::is_early_arrival().
double vrprouting::problem::Vehicle_node::objective | ( | ) | const |
the basic objective function for this node
Definition at line 39 of file vehicle_node.cpp.
References travel_time().
|
inlineinherited |
Returns the opening time.
Definition at line 78 of file tw_node.h.
References vrprouting::problem::Tw_node::m_opens.
Referenced by vrprouting::problem::Tw_node::arrival_j_opens_i(), evaluate(), vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Vehicle::is_ok(), vrprouting::problem::Tw_node::is_pickup(), and vrprouting::problem::Tw_node::is_start().
|
inherited |
equality operator
[in] | other |
Definition at line 258 of file tw_node.cpp.
References vrprouting::Identifier::id(), vrprouting::Identifier::idx(), vrprouting::problem::Tw_node::m_closes, vrprouting::problem::Tw_node::m_demand, vrprouting::problem::Tw_node::m_opens, vrprouting::problem::Tw_node::m_order, vrprouting::problem::Tw_node::m_service_time, and vrprouting::problem::Tw_node::m_type.
|
inlineinherited |
Returns the order to which it belongs.
Definition at line 75 of file tw_node.h.
References vrprouting::problem::Tw_node::m_order.
Referenced by get_postgres_result().
|
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().
|
inlineinherited |
Returns the service time for this node.
Definition at line 84 of file tw_node.h.
References vrprouting::problem::Tw_node::m_service_time.
Referenced by vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::arrival_j_opens_i(), evaluate(), get_postgres_result(), vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Tw_node::is_pickup(), vrprouting::problem::Tw_node::is_start(), and vrprouting::problem::operator<<().
|
inline |
_time spent by the truck servicing the nodes
Definition at line 95 of file vehicle_node.h.
References m_tot_service_time.
Referenced by evaluate().
|
inlineprotected |
|
inline |
_time spent moving between nodes by the truck
Definition at line 89 of file vehicle_node.h.
References m_tot_travel_time.
Referenced by evaluate().
|
inline |
_time spent by the truck waiting for nodes to open
Definition at line 92 of file vehicle_node.h.
References m_tot_wait_time.
Referenced by evaluate().
|
inline |
Vehicle's travel_time from previous node to this node.
Definition at line 65 of file vehicle_node.h.
References m_travel_time.
Referenced by evaluate(), get_postgres_result(), objective(), and vrprouting::problem::operator<<().
|
inherited |
travel time to other node.
[in] | other | - pointer to the other Tw_node |
[in] | time | - time of departure from previous node |
[in] | speed | - speed used for calculation |
Definition at line 51 of file tw_node.cpp.
References vrprouting::Identifier::id(), vrprouting::problem::Tw_node::m_time_matrix_ptr, pgassert, and vrprouting::problem::Matrix::travel_time().
Referenced by vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::arrival_j_opens_i(), and evaluate().
|
inline |
Vehicle's total times it has violated time windows.
Definition at line 80 of file vehicle_node.h.
References m_twvTot.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
|
inlineinherited |
Returns the type of this node.
Definition at line 87 of file tw_node.h.
References vrprouting::problem::Tw_node::m_type.
Referenced by get_postgres_result(), vrprouting::problem::Tw_node::is_valid(), and vrprouting::problem::Tw_node::type_str().
|
inherited |
returns a string code of the kind of node
Definition at line 171 of file tw_node.cpp.
References vrprouting::problem::kDelivery, vrprouting::problem::kDump, vrprouting::problem::kEnd, vrprouting::problem::kLoad, vrprouting::problem::kPickup, vrprouting::problem::kStart, and vrprouting::problem::Tw_node::type().
Referenced by vrprouting::problem::operator<<().
|
inline |
Vehicle's wait_time at this node.
Definition at line 71 of file vehicle_node.h.
References m_wait_time.
Referenced by evaluate(), get_postgres_result(), and vrprouting::problem::operator<<().
|
inlineinherited |
Returns the length of time between the opening and closing.
Definition at line 90 of file tw_node.h.
References vrprouting::problem::Tw_node::m_closes, and vrprouting::problem::Tw_node::m_opens.
|
friend |
Print the contents of a Vehicle_node object.
[in,out] | log | Place to store the printed status of the node |
[in] | v | Vehicle node to print |
Definition at line 119 of file vehicle_node.cpp.
|
private |
Arrival time at this node.
Definition at line 145 of file vehicle_node.h.
Referenced by arrival_time(), deltaGeneratesTWV(), evaluate(), has_twv(), and total_time().
|
private |
Accumulated cargo.
Definition at line 165 of file vehicle_node.h.
Referenced by cargo(), evaluate(), and has_cv().
|
privateinherited |
closing time of the node
Definition at line 180 of file tw_node.h.
Referenced by vrprouting::problem::Tw_node::closes(), vrprouting::problem::Tw_node::is_late_arrival(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Tw_node::Tw_node(), and vrprouting::problem::Tw_node::window_length().
|
private |
Total count of CV.
Definition at line 171 of file vehicle_node.h.
Referenced by cvTot(), evaluate(), and feasible().
|
private |
Departure time - last nodes departure time.
Definition at line 157 of file vehicle_node.h.
Referenced by delta_time(), and evaluate().
|
privateinherited |
The demand for the Node.
Definition at line 186 of file tw_node.h.
Referenced by vrprouting::problem::Tw_node::demand(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), and vrprouting::problem::Tw_node::Tw_node().
|
private |
Departure time from this node.
Definition at line 154 of file vehicle_node.h.
Referenced by departure_time(), evaluate(), and total_time().
|
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().
|
privateinherited |
opening time of the node
Definition at line 177 of file tw_node.h.
Referenced by vrprouting::problem::Tw_node::is_early_arrival(), vrprouting::problem::Tw_node::opens(), vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Tw_node::Tw_node(), and vrprouting::problem::Tw_node::window_length().
|
privateinherited |
order to which it belongs (idx)
Definition at line 174 of file tw_node.h.
Referenced by vrprouting::problem::Tw_node::operator==(), and vrprouting::problem::Tw_node::order().
|
privateinherited |
time it takes to be served
Definition at line 183 of file tw_node.h.
Referenced by vrprouting::problem::operator<<(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Tw_node::service_time(), and vrprouting::problem::Tw_node::Tw_node().
|
staticinherited |
Definition at line 139 of file tw_node.h.
Referenced by vrprouting::problem::Orders::Orders(), and vrprouting::problem::Tw_node::travel_time_to().
|
private |
Accumulated service time.
Definition at line 180 of file vehicle_node.h.
Referenced by evaluate(), and total_service_time().
|
private |
Accumulated travel time.
Definition at line 177 of file vehicle_node.h.
Referenced by evaluate(), and total_travel_time().
|
private |
Accumulated wait time.
Definition at line 174 of file vehicle_node.h.
Referenced by evaluate(), and total_wait_time().
|
private |
Travel time from last node.
Definition at line 142 of file vehicle_node.h.
Referenced by evaluate(), and travel_time().
|
private |
Total count of TWV.
Definition at line 168 of file vehicle_node.h.
Referenced by evaluate(), feasible(), and twvTot().
|
privateinherited |
The kind of Node.
Definition at line 189 of file tw_node.h.
Referenced by vrprouting::problem::Tw_node::arrival_j_closes_i(), vrprouting::problem::Tw_node::arrival_j_opens_i(), vrprouting::problem::Tw_node::is_compatible_IJ(), vrprouting::problem::Tw_node::is_delivery(), vrprouting::problem::Tw_node::is_dump(), vrprouting::problem::Tw_node::is_end(), vrprouting::problem::Tw_node::is_load(), vrprouting::problem::Tw_node::is_pickup(), vrprouting::problem::Tw_node::is_start(), vrprouting::problem::Tw_node::operator==(), vrprouting::problem::Tw_node::Tw_node(), and vrprouting::problem::Tw_node::type().
|
private |
Wait time at this node.
Definition at line 151 of file vehicle_node.h.
Referenced by evaluate(), and wait_time().