Reference documentation and code samples for the Cloud Optimization V1 API class Google::Cloud::Optimization::V1::TimeWindow.
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.
Inherits
- Object
Extended By
- Google::Protobuf::MessageExts::ClassMethods
Includes
- Google::Protobuf::MessageExts
Methods
#cost_per_hour_after_soft_end_time
def cost_per_hour_after_soft_end_time() -> ::Float-
(::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_timehas been set.
#cost_per_hour_after_soft_end_time=
def cost_per_hour_after_soft_end_time=(value) -> ::Float-
value (::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_timehas been set.
-
(::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_timehas been set.
#cost_per_hour_before_soft_start_time
def cost_per_hour_before_soft_start_time() -> ::Float-
(::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.
#cost_per_hour_before_soft_start_time=
def cost_per_hour_before_soft_start_time=(value) -> ::Float-
value (::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.
-
(::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.
#end_time
def end_time() -> ::Google::Protobuf::Timestamp-
(::Google::Protobuf::Timestamp) — The hard time window end time. If unspecified it will be set to
ShipmentModel.global_end_time.
#end_time=
def end_time=(value) -> ::Google::Protobuf::Timestamp-
value (::Google::Protobuf::Timestamp) — The hard time window end time. If unspecified it will be set to
ShipmentModel.global_end_time.
-
(::Google::Protobuf::Timestamp) — The hard time window end time. If unspecified it will be set to
ShipmentModel.global_end_time.
#soft_end_time
def soft_end_time() -> ::Google::Protobuf::Timestamp- (::Google::Protobuf::Timestamp) — The soft end time of the time window.
#soft_end_time=
def soft_end_time=(value) -> ::Google::Protobuf::Timestamp- value (::Google::Protobuf::Timestamp) — The soft end time of the time window.
- (::Google::Protobuf::Timestamp) — The soft end time of the time window.
#soft_start_time
def soft_start_time() -> ::Google::Protobuf::Timestamp- (::Google::Protobuf::Timestamp) — The soft start time of the time window.
#soft_start_time=
def soft_start_time=(value) -> ::Google::Protobuf::Timestamp- value (::Google::Protobuf::Timestamp) — The soft start time of the time window.
- (::Google::Protobuf::Timestamp) — The soft start time of the time window.
#start_time
def start_time() -> ::Google::Protobuf::Timestamp-
(::Google::Protobuf::Timestamp) — The hard time window start time. If unspecified it will be set to
ShipmentModel.global_start_time.
#start_time=
def start_time=(value) -> ::Google::Protobuf::Timestamp-
value (::Google::Protobuf::Timestamp) — The hard time window start time. If unspecified it will be set to
ShipmentModel.global_start_time.
-
(::Google::Protobuf::Timestamp) — The hard time window start time. If unspecified it will be set to
ShipmentModel.global_start_time.