Class: Google::Cloud::Optimization::V1::TimeWindow
- Inherits:
-
Object
- Object
- Google::Cloud::Optimization::V1::TimeWindow
- Extended by:
- Protobuf::MessageExts::ClassMethods
- Includes:
- Protobuf::MessageExts
- Defined in:
- proto_docs/google/cloud/optimization/v1/fleet_routing.rb
Overview
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`.
Instance Attribute Summary collapse
-
#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:. -
#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:.
-
#end_time ⇒ ::Google::Protobuf::Timestamp
The hard time window end time.
-
#soft_end_time ⇒ ::Google::Protobuf::Timestamp
The soft end time of the time window.
-
#soft_start_time ⇒ ::Google::Protobuf::Timestamp
The soft start time of the time window.
-
#start_time ⇒ ::Google::Protobuf::Timestamp
The hard time window start time.
Instance Attribute Details
#cost_per_hour_after_soft_end_time ⇒ ::Float
Returns 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.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#cost_per_hour_before_soft_start_time ⇒ ::Float
Returns 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.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#end_time ⇒ ::Google::Protobuf::Timestamp
Returns The hard time window end time. If unspecified it will be set to
ShipmentModel.global_end_time
.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#soft_end_time ⇒ ::Google::Protobuf::Timestamp
Returns The soft end time of the time window.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#soft_start_time ⇒ ::Google::Protobuf::Timestamp
Returns The soft start time of the time window.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |
#start_time ⇒ ::Google::Protobuf::Timestamp
Returns The hard time window start time. If unspecified it will be set to
ShipmentModel.global_start_time
.
1596 1597 1598 1599 |
# File 'proto_docs/google/cloud/optimization/v1/fleet_routing.rb', line 1596 class TimeWindow include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end |