Facing severe budgetary constraints, public transport companies are forced to efficiently manage staff, one of the most expensive resources. The driver rostering problem in a public transit company consists of defining rosters, that is, assigning daily crew duties to the company's drivers for a pre-defined time horizon, ensuring transport demand in a specific area, at low operating costs, while complying with legal restrictions and agreements between the company and the driver unions. The objective of this paper is the study of mathematical models and optimization techniques that lead to new computational tools able to solve the bus driver rostering problem with days-off patterns by producing solutions that increase efficiency and reduce operating costs, while improving or maintaining the service quality and balancing the drivers’ workload. Three mixed integer linear programming formulations are presented and compared from a theoretical point of view: an assignment/cover model, a multi-commodity flow model and a new multi-commodity flow/assignment model. Based on a hierarchy of the decisions made during the resolution of the problem, a new decompose-and-fix heuristic is developed by exploring the underlying structure of the multi-commodity flow models. The heuristic solves the sequence of sub-problems identified by the hierarchy, while fixing or bounding the value of some variables to incorporate previous decisions. Computational experiments were carried out with instances, derived from real world data and from benchmark data, characterized by a days-off pattern in use at two Portuguese public bus transport companies. Computational results confirm the good performance of the decompose-and-fix heuristic. 
A decompose-and-fix heuristic based on multi-commodity flow models for driver rostering with days-off pattern