Fairness
Having balanced workloads across technicians can be an important requirement in field service routing.
Technicians like to know they are receiving a fair share of the workload, and that one technician isn’t unfairly being assigned more or less work than other technicians.
Determining how the balanced workload should be achieved can be a complex task in itself.
This guide describes how to specify the load balancing constraint for the field service routing model.
1. Time window for a balanced workload
Determining the time window, in which the workload should be balanced is the first step in achieving fair solutions. By default, the constraint considers the complete planning window. Usually, technicians already have a history of work that might need to be considered as well. Therefore, it is possible to include historical information for each technician so that the balancing constraint can consider the past as well.
It’s important to provide historical data for all employees to avoid skewing the results of the solution. When an employee has no historical data, for instance a new employee, you can provide an average from the other employees for the new employee to maintain the fairness of the solution. |
The historical information can be added to the vehicle:
{
"vehicles": [
{
"id": "Beth",
"shifts": [],
"historicalTimeUtilized": "PT2280M",
"historicalTimeCapacity": "PT2400M"
},
{
"id": "Carl",
"shifts": [],
"historicalTimeUtilized": "PT2160M",
"historicalTimeCapacity": "PT2400M"
}
]
}
The sample above shows that Beth and Carl both had an availability of 2400 min in the previous time window.
While Beth worked a total of 2280 min, Carl worked 2160 min.
The fields "historicalTimeUtilized"
and "historicalTimeCapacity"
are both optional.
When adding historicalTimeUtilized and historicalTimeCapacity , it’s important to use data from the same time period for all employees, otherwise the load balancing calculations will be incorrect.
If they are not provided with the input a default duration of 0 will be used for both fields.
|
2. Computing the fairness
The fairness of a solution for the field service routing model is based on the assigned workload to a technician, the availability of a technician and their historical data if it is provided. The assigned workload includes the time from when a technician leaves their starting location and arrives back at their end location. All travel times, service times, wait times, and break times are included.
The fairness computation itself makes use of the standard Timefold approach as described in the solver documentation.
3. Load balancing KPI
The load balancing KPI is a measure of how well the workload is balanced across all technicians.
It is represented as a percentage, where 100%
means the workload is perfectly balanced and 0%
means the workload is completely unbalanced.
Therefore, the higher the percentage, the better the workload is balanced across all technicians.