How to schedule technicians with skills and multiple dependencies between tasks?
In this tutorial we are going to show you how to model a vehicle routing
problem where tasks do not only have multiple dependencies, but also
require special skills. For example, let us assume we have two
technicians called Peter and Stefan. Peter cannot only read the warm
water meter, but he can also replace an old meter with a new one. Stefan
can just read the meter. To get new warm water meters there is this
water meter inventory. To open it one needs to pickup a key before (that
needs to be returned). Furthermore, the replacement of a meter requires
a special tool that needs to be picked up before as well. Both, Peter
and Stefan, can only ride by bike since – much to the joy of everyone
involved – their employer recently decided to replace all cars by bikes.
Given a number of customers and these requirements, your task is to
schedule Stefan and Peter such that the overall transportation costs are