NDD Vehicle Cost ClassVehicle Cost Class
Overview
A vehicle cost class defines the cost coefficients applied to each dimension for a group of vehicles. This separates the physical behaviour of a vehicle (defined by its vehicle class) from its pricing, allowing different cost structures to be applied to vehicles that behave identically on the road network.
Applicable models
- NDD
ndd-cmibu6krtqja
VehicleCostClass
Schema definition
message VehicleCostClass {
required string id = 1;
required float fixedCost = 2;
repeated Attribute attributes = 3;
}Fields
- id
- A unique identifier for this vehicle cost class.
- fixedCost
- A fixed cost incurred when this vehicle is used (i.e. performs at least one task). This is applied once regardless of the number of tasks or distance travelled.
- attributes
- A list of cost class attributes defining the cost coefficients for each dimension.
Examples
id: "standard-cost"
fixedCost: 500
attributes {
dimensionId: "time"
transitCostCoef: 0.1
taskCostCoef: 0.1
slackCostCoef: 0
tardyCostCoef: 1.0
}
attributes {
dimensionId: "distance"
transitCostCoef: 1.0
}Vehicle Cost Class Attribute
A cost class attribute defines the monetary cost coefficients for a specific dimension.
Schema definition
message Attribute {
required string dimensionId = 1;
optional float transitCostCoef = 2;
optional float taskCostCoef = 3;
optional float locationCostCoef = 4;
optional float slackCostCoef = 5;
optional float tardyCostCoef = 6;
}Fields
- dimensionId
- The dimension to which this cost attribute applies.
- transitCostCoef
- The cost per unit of transit on this dimension. For a distance dimension measured in kilometres, this represents the cost per km.
- taskCostCoef
- The cost per unit of task quantity on this dimension. For a time dimension, this represents the cost per unit of service time.
- locationCostCoef
- The cost per unit of location quantity on this dimension.
- slackCostCoef
- The cost per unit of slack on this dimension. Slack represents waiting time or added quantity used to satisfy window constraints.
- tardyCostCoef
- The cost per unit of tardiness on this dimension. Tardiness represents exceeding a window end constraint.
Notes
- Cost coefficients are multiplicative with the dimensional quantities. A
transitCostCoefof 1.0 on a distance dimension measured in kilometres means a cost of 1 monetary unit per km. - Setting
slackCostCoefandtardyCostCoefto non-zero values allows fine-grained control over the penalty for early or late arrivals.