A mixed integer programming approach to multi-skilled workforce scheduling