ISR ConfigurationConfiguration
Overview
The configuration for a Icepack Street Routing (ISR) model is designed to encapsulate the high-level features that are present in street-level routing problems. Often such street routing problems hinge on multiple collections along the same street segment (defined by the section of a road between two other roads). It would be unusual to split up such collections along a street and are rather required to make decisions between streets that are visited.
Applicable models
- ISR
isr-z4foi53qznrv
Configuration
The configuration object provides a mechanism to specify the shape of the ISR model being solved.
Schema definition
message Configuration {
required eMeasurementUnit timeUnit = 1 [default = MINUTES];
required float timeCoef = 2 [default = 1.0];
required float timeCostCoef = 3 [default = 1.0];
required eMeasurementUnit distanceUnit = 4 [default = KILOMETRES];
required float distanceCostCoef = 5 [default = 1.0];
required eDrivingSide drivingSide = 6;
required eCollectionSide collectionSide = 7;
} Fields
- timeUnit
- The units in which the time dimension is being populated. This should be consistent with other quantities or windows specified in the model (such as visit times or windows).
- timeCoef
- The coefficient (or multiplier) that should be applied to the durations provided by the road network. A value of 1.0 will use road network time quantities “as is”. A coefficient greater than 1.0 will increase the transit quantities proportionately between different activity locations, and a value less than 1.0 will similarly decrease the transit times between different locations. Valid coefficient values should be greater than or equal to zero.
- timeCostCoef
- The monetary unit of cost per unit of time (i.e. cost per minute). A value of 1.0 indicates a cost of one unit per unit (specified in
timeUnit) of time. - distanceUnit
- The units in which the distance dimension is being measured.
- distanceCostCoef
- The monetary unit of cost per unit of distance (i.e. cost per km/mile).
- drivingSide
- The side of the road which is being driven along. This ensures the output orientation of sub-routes (within terminal road segments) is correct.
- collectionSide
- This parameter describes whether collections may be performed from either side of the road or whether they should be performed exclusively on the driving side. When the DRIVINGSIDE_ONLY parameter is used, orders that are on different sides of a road will require two visits to that particular road segment in opposing orientations. This is a safety requirement in some jurisdictions.
Examples
This example illustrates a common configuration used when street routing.
configuration {
timeUnit: SECONDS
timeCoef: 1.2
timeCostCoef: 0
distanceUnit: MILES
distanceCostCoef: 1
drivingSide: LEFT
collectionSide: BOTH
}Configuration.eMeasurementUnit
Defines a measurement unit used in a configuration definition.
Schema definition
enum eMeasurementUnit {
SECONDS = 0; // time
MINUTES = 1; // time
HOURS = 2; // time
DAYS = 3; // time
KILOMETRES = 4; // distance
MILES = 5; // distance
}Notes
- A time measurement unit may only be used with a time configuration. Similarly for the distance measurement units. A mismatch of units will result in an error condition being returned by the API.
Configuration.eDrivingSide
Defines a driving side used in a configuration definition.
Schema definition
enum eDrivingSide {
LEFT = 0;
RIGHT = 1;
}Notes
- Specifies the side of road on which the vehicle should travel. This is used to orientate sub-pathing routines for terminal road segments.
Configuration.eCollectionSide
Defines a collection policy used in a configuration definition.
Schema definition
enum eCollectionSide{
DRIVINGSIDE_ONLY = 0;
BOTH = 1;
}Notes
- Specifies whether collections may occur from both sides of the road simultaneously or whether collections may only occur on the driving side. If collections may only occur on the driving side and a road segment has collections on both sides of the road, a vehicle will be forced to visit such a road segment twice, once for each direction of travel.