Towards a practical engineering tool for rostering

Edward Tsang, John Ford, Patrick Mills, Richard Bradwell, Richard Williams, Paul Scott
2007 Annals of Operations Research  
The profitability and morale of many organizations (such as factories, hospitals and airlines) are affected by their ability to schedule their personnel properly. Sophisticated and powerful constraint solvers such as ILOG, CHIP, ECLiPSe, etc. have been demonstrated to be extremely effective on scheduling. Unfortunately, they require non-trivial expertise to use. This paper describes ZDC-Rostering, a constraintbased tool for personnel scheduling that addresses the software crisis and fills a
more » ... in the space of solvers. ZDC-Rostering is easier to use than the above constraint-based solvers and more effective than Microsoft's Excel Solver. ZDC-Rostering is based on an open-source computer-aided constraint programming package called ZDC, which decouples problem formulation (or modelling) from solution generation in constraint satisfaction. ZDC is equipped with a set of constraint algorithms, including Extended Guided Local Search, whose efficiency and effectiveness have been demonstrated in a wide range of applications. Our experiments show that ZDC-Rostering is capable of solving realistic-sized and very tightly-constrained problems efficiently. ZDC-Rostering demonstrates the feasibility of applying constraint satisfaction techniques to solving rostering problems, without having to acquire deep knowledge in constraint technology. Commercial products such as ILOG, Charme, Cosytec CHIP, ECLiPSe and many more have been demonstrated to be very effective in scheduling problems. One of the major obstacles that developers face is cost: these products are not cheap to purchase. Besides, developers without knowledge of constraint technology may find the learning curve rather steep. The number of expert users in these products is limited. Therefore, the cost of developing software could be very high. These all contribute to the software crisis in constraint programming: the power of the technology is limited by the complexity of using it. Within the constraint satisfaction/optimization research community, a large amount of effort has been invested in engineering stronger algorithms, studying problem difficulty and (more recently) studying the implications of using different problem formulations. As a result, individual researchers, and the research community as a whole, have accumulated a large amount of implicit and explicit domain knowledge regarding how best to solve problems. However, it is difficult to transfer the technology to an application, such as nurse rostering, without requiring an expert in the field, when one bears in mind the knowledge required to apply constraint technology effectively. This effectively includes: Knowing how to formulate a given problem as a CSP/COP Knowing how to incorporate domain knowledge into the solver Knowing how to choose a good formulation for a given problem Knowing which solver to apply to a given problem Knowing how to engineer a solver. Various industrial strength packages, such as OPL++ (which builds a layer on top of ILOG Solver), have been implemented with the explicit aim of making access to constraint technology easier (http://www.ilog.fr) [Michel & Van Hentenryck 2001] . Unfortunately, even these packages require a significant amount of expertise to use because they usually come in the form of a constraint library that can be linked to a standard application, written in the desired 3 rd Generation Language. Knowledge of the target language and the constraint library is still required. Generally these packages concentrate only on the issue of solving. They are written to relieve the user of the burden of writing their own solvers, but deep knowledge in constraint solving is still required in order to use these packages effectively. The Computer-aided Constraint Programming (CACP) project attempts to provide a system that encompasses the core process of applying constraint technology [60]. The ZDC system developed in the project is designed to bring end-users and solution providers together. The design philosophy is that problem solvers should not be required to gain deep knowledge of constraint technology before being able to use it, and algorithm designers should develop reusable software for helping end-users. The rostering system presented in this paper serves to demonstrate the usability of the ZDC system.
doi:10.1007/s10479-007-0217-x fatcat:m35ufd56z5fjvgnyge655u6e4y