Class: Google::Cloud::Optimization::V1::TimeWindow

Inherits:
Object
  • Object
show all
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

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.

Returns:

  • (::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.



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.

Returns:

  • (::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.



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.

Returns:



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.

Returns:



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.

Returns:



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.

Returns:



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