Class TimeWindow (1.0.0-beta01)

public sealed class TimeWindow : IMessage<TimeWindow>, IEquatable<TimeWindow>, IDeepCloneable<TimeWindow>, IBufferMessage, IMessage

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 &lt;= event_time &lt;= 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][google.cloud.optimization.v1.ShipmentModel.global_start_time] and [ShipmentModel.global_end_time][google.cloud.optimization.v1.ShipmentModel.global_end_time]) and should respect:

0 &lt;= `start_time` &lt;= `soft_start_time` &lt;= `end_time` and
0 &lt;= `start_time` &lt;= `soft_end_time` &lt;= `end_time`.

Inheritance

Object > TimeWindow

Namespace

Google.Cloud.Optimization.V1

Assembly

Google.Cloud.Optimization.V1.dll

Constructors

TimeWindow()

public TimeWindow()

TimeWindow(TimeWindow)

public TimeWindow(TimeWindow other)
Parameter
NameDescription
otherTimeWindow

Properties

CostPerHourAfterSoftEndTime

public double CostPerHourAfterSoftEndTime { get; set; }

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.

Property Value
TypeDescription
Double

CostPerHourBeforeSoftStartTime

public double CostPerHourBeforeSoftStartTime { get; set; }

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.

Property Value
TypeDescription
Double

EndTime

public Timestamp EndTime { get; set; }

The hard time window end time. If unspecified it will be set to ShipmentModel.global_end_time.

Property Value
TypeDescription
Timestamp

HasCostPerHourAfterSoftEndTime

public bool HasCostPerHourAfterSoftEndTime { get; }

Gets whether the "cost_per_hour_after_soft_end_time" field is set

Property Value
TypeDescription
Boolean

HasCostPerHourBeforeSoftStartTime

public bool HasCostPerHourBeforeSoftStartTime { get; }

Gets whether the "cost_per_hour_before_soft_start_time" field is set

Property Value
TypeDescription
Boolean

SoftEndTime

public Timestamp SoftEndTime { get; set; }

The soft end time of the time window.

Property Value
TypeDescription
Timestamp

SoftStartTime

public Timestamp SoftStartTime { get; set; }

The soft start time of the time window.

Property Value
TypeDescription
Timestamp

StartTime

public Timestamp StartTime { get; set; }

The hard time window start time. If unspecified it will be set to ShipmentModel.global_start_time.

Property Value
TypeDescription
Timestamp