Configuration overrides
Contains weights of soft constraint and additional constraint parameters, influencing whether these constraints trigger and how much they impact the solution’s score.
Id | Format | Description | Example |
---|---|---|---|
number |
A weight of the Balance technicians' workloads constraint. |
|
|
double |
A default technician rating that should be used for the Maximize technician rating (soft) constraint.
If no default is given and no technician rating is provided, the default value of |
|
|
number |
A weight of the Maximize technician rating (soft) constraint. It is set to 0 by default. |
|
|
number |
A weight of the Max last visit departure time (soft) constraint. |
|
|
number |
A weight of the Max shift end time (soft) constraint. |
|
|
number |
A weight of the Minimize vehicle shift cost constraint. |
|
|
number |
A weight of the Minimize travel distance constraint. |
|
|
number |
A weight of the Minimize travel time constraint. |
|
|
number |
A weight of the Max shift travel time (soft) constraint. |
|
|
number |
A weight of the Minimize scheduling vehicles with unnecessary skill levels constraint. |
|
|
number |
A weight of the Minimize the visit completion risk constraint. |
|
|
number |
A weight of the Prefer scheduling optional visits constraint. |
|
|
number |
A weight of the Prefer visits scheduled to the earliest day constraint. |
|
|
number |
A weight of the Prefer scheduled vehicle matches preferred vehicle constraint. |
|
|
array of PriorityConfiguration objects |
An override for the priority weights. This allows for custom priorities to be set. When using this feature, no default exists, so every Visit must define a priority. |
|
|
travelTimeAdjustment |
object |
An optional Travel Time Adjustment to compensate for longer travel times due to high traffic (multiplier) or difficult parking (extra constant time). |
|
string |
A minimal priority of a visit to consider it for the risk evaluation. |
|
|
string (ISO 8601 duration) |
A length of the time window between the visit departure time and the vehicle shift end. If a visit ends in this time window, its completion is considered risky. |
|
1. Travel Time Adjustment
Travel time adjustment can be defined to implement a "buffer" allowing for unexpected traffic delays or long parking time when travelling.
The travel time adjustment is configured as a function for every route between any two locations as follows:
adjustedTravelTime = multiplier * mapTravelTime + extraTime
,
where:
-
mapTravelTime
is the travel time obtained from a map service, -
multiplier
andextraTime
are the travel time adjustment attributes described below.
Id | Required | Format | Description | Example |
---|---|---|---|---|
extraTime |
false |
string (ISO 8601 duration) |
The additional time to add to the original travel time obtained from a map service. Must be positive or zero duration. The default value is |
|
multiplier |
false |
float |
The coefficient to multiply the original travel time obtained from a map service with. Must be greater than zero (typically will be greater than The default value is |
|
2. PriorityConfiguration
The priorityConfiguration objects require a "priority" (format: string) and a "weight" (format: int) to be set. The "priority" field will serve
as the name for the priority override and the "weight" field indicates the magnitude of impact it will have. A priorityConfiguration with "weight": 50
will have an impact 5 times the size than that of a priority with "weight": 10
. This means that the solver deems 1 unassigned visit with the higher priority weight equal to 5 unassigned visits with the lower priority weight.
[
{
"priority": "E",
"weight": 1
},
{
"priority": "D",
"weight": 10
},
{
"priority": "C",
"weight": 15
},
{
"priority": "B",
"weight": 50
},
{
"priority": "A",
"weight": 1000
}
]