bool deltaGeneratesTWV(double delta_time) const
True when arrival_time + delta_time generates TWV.
bool has_cv(double cargoLimit) const
True when not violation.
Accumulated wait time.
double delta_time() const
delta_time = departure_time(this) - departure_time(previous)
bool is_end() const
bool has_twv() const
True when at this node does not violate time windows.
Accumulated travel time.
Extend Tw_node to evaluate the vehicle at node level.
Departure time - last nodes departure time.
double total_time() const
Truck's travel duration up to this node.
double arrival_time() const
Truck's arrival_time to this node.
static size_t pred(size_t i, size_t n)
double total_travel_time() const
_time spent moving between nodes by the truck
int cvTot() const
Truck's total times it has violated cargo limits.
PGDLLEXPORT Datum vrp(PG_FUNCTION_ARGS)
Arrival time at this node.
bool is_late_arrival(double arrival_time) const
True when arrivalTime is after it closes.
double total_wait_time() const
_time spent by the truck waiting for nodes to open
friend std::ostream & operator<<(std::ostream &log, const Vehicle_node &node)
double arrival_i_arrives_j(const Vehicle_node &other) const
bool is_start() const
double cargo() const
Truck's total cargo after the node was served.
Vehicle_node(const Vehicle_node &node)=default
Construct from parameters.
double wait_time() const
Truck's wait_time at this node.
Total count of TWV.
double departure_time() const
Truck's departure_time from this node.
Extends the Node class to create a Node with time window attributes.
double travel_time() const
double total_service_time() const
_time spent by the truck servicing the nodes
void evaluate(double cargoLimit)
bool feasible() const
bool feasible(double cargoLimit) const
True doesn't have twc nor cv (including total counts)
Wait time at this node when early arrival.
Total count of CV.