Scheduling problems are commonly found in servicing and manufacturing industries. In order to maximize the utilization of the supporting hardware and machines, machine operators usually are required to work on shift so that machines remain running continuously without stopping. The construction of the shift duty assignment, usually called roster, is a nontrivial task since many factors need to be considered, such as the maximum number of hours an operator can work continuously and the minimum rest time between two consecutive duties. Since the construction of roster requires nontrivial intellectual activities, it is difficult to computerize roster scheduling using conventional data processing techniques. On the other hand, such roster plann...