public sealed class DurationLimit : IMessage<Vehicle.Types.DurationLimit>, IEquatable<Vehicle.Types.DurationLimit>, IDeepCloneable<Vehicle.Types.DurationLimit>, IBufferMessage, IMessage
A limit defining a maximum duration of the route of a vehicle. It can be either hard or soft.
When a soft limit field is defined, both the soft max threshold and its associated cost must be defined together.
Implements
IMessage<Vehicle.Types.DurationLimit>, IEquatable<Vehicle.Types.DurationLimit>, IDeepCloneable<Vehicle.Types.DurationLimit>, IBufferMessage, IMessageNamespace
Google.Cloud.Optimization.V1Assembly
Google.Cloud.Optimization.V1.dll
Constructors
DurationLimit()
public DurationLimit()
DurationLimit(Vehicle.Types.DurationLimit)
public DurationLimit(Vehicle.Types.DurationLimit other)
Parameter | |
---|---|
Name | Description |
other | Vehicle.Types.DurationLimit |
Properties
CostPerHourAfterSoftMax
public double CostPerHourAfterSoftMax { get; set; }
Cost per hour incurred if the soft_max_duration
threshold is violated.
The additional cost is 0 if the duration is under the threshold,
otherwise the cost depends on the duration as follows:
cost_per_hour_after_soft_max * (duration - soft_max_duration)
The cost must be nonnegative.
Property Value | |
---|---|
Type | Description |
Double |
CostPerSquareHourAfterQuadraticSoftMax
public double CostPerSquareHourAfterQuadraticSoftMax { get; set; }
Cost per square hour incurred if the
quadratic_soft_max_duration
threshold is violated.
The additional cost is 0 if the duration is under the threshold, otherwise the cost depends on the duration as follows:
cost_per_square_hour_after_quadratic_soft_max *
(duration - quadratic_soft_max_duration)^2
The cost must be nonnegative.
Property Value | |
---|---|
Type | Description |
Double |
HasCostPerHourAfterSoftMax
public bool HasCostPerHourAfterSoftMax { get; }
Gets whether the "cost_per_hour_after_soft_max" field is set
Property Value | |
---|---|
Type | Description |
Boolean |
HasCostPerSquareHourAfterQuadraticSoftMax
public bool HasCostPerSquareHourAfterQuadraticSoftMax { get; }
Gets whether the "cost_per_square_hour_after_quadratic_soft_max" field is set
Property Value | |
---|---|
Type | Description |
Boolean |
MaxDuration
public Duration MaxDuration { get; set; }
A hard limit constraining the duration to be at most max_duration.
Property Value | |
---|---|
Type | Description |
Duration |
QuadraticSoftMaxDuration
public Duration QuadraticSoftMaxDuration { get; set; }
A soft limit not enforcing a maximum duration limit, but when violated makes the route incur a cost, quadratic in the duration. This cost adds up to other costs defined in the model, with the same unit.
If defined, quadratic_soft_max_duration
must be nonnegative. If
max_duration
is also defined, quadratic_soft_max_duration
must be
less than max_duration
, and the difference must be no larger than one
day:
max_duration - quadratic_soft_max_duration <= 86400 seconds
Property Value | |
---|---|
Type | Description |
Duration |
SoftMaxDuration
public Duration SoftMaxDuration { get; set; }
A soft limit not enforcing a maximum duration limit, but when violated makes the route incur a cost. This cost adds up to other costs defined in the model, with the same unit.
If defined, soft_max_duration
must be nonnegative. If max_duration is
also defined, soft_max_duration
must be less than max_duration.
Property Value | |
---|---|
Type | Description |
Duration |