Class Vehicle.Types.DurationLimit (1.0.0-beta01)

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.

Inheritance

Object > Vehicle.Types.DurationLimit

Namespace

Google.Cloud.Optimization.V1

Assembly

Google.Cloud.Optimization.V1.dll

Constructors

DurationLimit()

public DurationLimit()

DurationLimit(Vehicle.Types.DurationLimit)

public DurationLimit(Vehicle.Types.DurationLimit other)
Parameter
NameDescription
otherVehicle.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
TypeDescription
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
TypeDescription
Double

HasCostPerHourAfterSoftMax

public bool HasCostPerHourAfterSoftMax { get; }

Gets whether the "cost_per_hour_after_soft_max" field is set

Property Value
TypeDescription
Boolean

HasCostPerSquareHourAfterQuadraticSoftMax

public bool HasCostPerSquareHourAfterQuadraticSoftMax { get; }

Gets whether the "cost_per_square_hour_after_quadratic_soft_max" field is set

Property Value
TypeDescription
Boolean

MaxDuration

public Duration MaxDuration { get; set; }

A hard limit constraining the duration to be at most max_duration.

Property Value
TypeDescription
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 &lt;= 86400 seconds

Property Value
TypeDescription
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
TypeDescription
Duration