IVR Compartment SetCompartment Set
Overview
A compartment set describes a collection of compartments which constitute the total packing space of a single vehicle. A compartment set definition may be reused across different vehicles or assigned to a vehicle class.
Applicable models
- IVR8
ivr8-yni1c9k2swof
Compartment Set
Schema definition
message CompartmentSet {
required string id = 1;
repeated string compartmentIds = 2;
repeated GroupLimit groupLimits = 3;
}
Fields
- id
- A unique identifier for the compartment set. If duplicate ids are provided across compartment set definitions, the payload will be rejected.
- compartmentIds
- A list of compartment objects which make up the collection.
- groupLimits
- A list of group limits which apply across the compartments in this collection. This is commonly used to model axel-load constraints where the weight differential between certain compartments may not exceed a certain amount. Multiple limits may be applied to approximate the constraints that apply.
Examples
This sample defines a compartment set with no group limits. There are 4 defined compartments in the collection, each with their own dimensional constraints. This set indicates that in order for a task to be feasibly assigned to a vehicle which employs this compartment set, each task much be assigned to one of the 4 allowable compartments. A task may additionally have compartment restrictions which further restrict the allowable compartments for a particular task.
id: "cset-1"
compartmentIds: "lower-1"
compartmentIds: "lower-2"
compartmentIds: "upper-1"
compartmentIds: "upper-2"
Group Limit
Schema definition
message GroupLimit {
repeated string compartmentIds = 1;
repeated float coefficients = 2;
required string dimensionId = 3;
required float limit = 4;
}
Fields
- compartmentIds
- The compartments that participate in the current group limit object. The compartment ids must be in the parent compartment collection.
- coefficients
- The coefficients applied to the dimensional quantities assigned to the corresponding compartment. If the coefficients are omitted, coefficients are assumed to be 1.0 for each corresponding compartment.
- dimensionId
- The dimension for which the current group limit applies. This determines the dimensional quantities extracted for each compartment.
- limit
- The upper bound of the scalar product of compartment quantities and coefficients. I.e. the sum of quantities assigned to compartments in this group limit multiplied by their corresponding coefficients must be less than or equal to the limit specified for an assignment to be feasible.
Examples
This example demonstrates a constraint that applies to the upper deck of a vehicle packing region. The maximum weight (measured in kilograms) which may be assigned to the upper deck of this compartment set is 3 tonnes.
groupLimits {
compartmentIds: "upper-1"
compartmentIds: "upper-2"
coefficients: 1
coefficients: 1
dimensionId: "weight"
limit: 3000
}