TimeWindow(mapping=None, *, ignore_unknown_fields=False, **kwargs)
Time windows constrain the time of an event, such as the arrival time at a visit, or the start and end time of a vehicle.
Hard time window bounds, start_time
and end_time
, enforce
the earliest and latest time of the event, such that
start_time <= event_time <= end_time
. The soft time window lower
bound, soft_start_time
, expresses a preference for the event to
happen at or after soft_start_time
by incurring a cost
proportional to how long before soft_start_time the event occurs.
The soft time window upper bound, soft_end_time
, expresses a
preference for the event to happen at or before soft_end_time
by
incurring a cost proportional to how long after soft_end_time
the event occurs. start_time
, end_time
, soft_start_time
and soft_end_time
should be within the global time limits (see
ShipmentModel.global_start_time
and
ShipmentModel.global_end_time)
and should respect:
::
0 <= `start_time` <= `soft_start_time` <= `end_time` and
0 <= `start_time` <= `soft_end_time` <= `end_time`.
.. _oneof: https://proto-plus-python.readthedocs.io/en/stable/fields.html#oneofs-mutually-exclusive-fields
Attributes |
|
---|---|
Name | Description |
start_time |
google.protobuf.timestamp_pb2.Timestamp
The hard time window start time. If unspecified it will be set to ShipmentModel.global_start_time .
|
end_time |
google.protobuf.timestamp_pb2.Timestamp
The hard time window end time. If unspecified it will be set to ShipmentModel.global_end_time .
|
soft_start_time |
google.protobuf.timestamp_pb2.Timestamp
The soft start time of the time window. |
soft_end_time |
google.protobuf.timestamp_pb2.Timestamp
The soft end time of the time window. |
cost_per_hour_before_soft_start_time |
float
A cost per hour added to other costs in the model if the event occurs before soft_start_time, computed as: :: max(0, soft_start_time - t.seconds) * cost_per_hour_before_soft_start_time / 3600, t being the time of the event. This cost must be positive, and the field can only be set if soft_start_time has been set. This field is a member of oneof _ _cost_per_hour_before_soft_start_time .
|
cost_per_hour_after_soft_end_time |
float
A cost per hour added to other costs in the model if the event occurs after soft_end_time , computed as:
::
max(0, t.seconds - soft_end_time.seconds)
* cost_per_hour_after_soft_end_time / 3600,
t being the time of the event.
This cost must be positive, and the field can only be set if
soft_end_time has been set.
This field is a member of oneof _ _cost_per_hour_after_soft_end_time .
|