“…Practical mathematical programming approaches have used heuristics to reduce the size of the problem [21], [30], and the combination has led to successful driver scheduling systems that solve large and complex problems [5], [8], [9], [11], [16], [25]. Most recently, constraint programming has been found useful in assisting mathematical programming to reduce the complexity of the scheduling problems [2], [15], [26]. A new type of heuristics, called meta-heuristics, has begun to show some promise to driver scheduling problems.…”