A heuristic programming approach to the employee scheduling problem and some thoughts on “managerial robots”
Authors: Glover Fred , McMillan Claude , Glover Randy 
Published: October 2002

AbstractWe describe a system for the automatic scheduling of employees in the particular setting in which: the number of employees wanted on duty throughout the week fluctuates; the availabilities of the employees varies and changes from week to week; and a new schedule must be produced each week, by virtue of the changing demand for service.The problem which we address appears in a variety of settings, including: airline reservation offices; telephone offices; supermarkets; fast food restaurants; banks and hotels.Previous approaches to the problem have relied chiefly on formal methods, generally involving one or another variation of linear or integer, mathematical programming. We suggest that except in cases involving very small problems (only a handful of employees) that those approaches have not proven promising, especially where union rules and management requirements impose complex constraints on the problem, and that a heuristic approach has proven to be substantially superior.We set forth the general features of our heuristic approach, which we see as an application of artificial intelligence; we show how, in contrast to other approaches, which design shifts as if employees were always available and try to fit those shifts to employees who are not always available, our system design shifts with deference to the employees' limited availabilities; we suggest that, for a given service level, our system produces schedules with a better “fit”—number of employees actually on duty comparing more favorably with the number wanted; and we state that while, for a given service level, a ‘manual scheduler’ may take up to 8 hours each week to prepare a good schedule, our system, on most micro computers, routinely produces better schedules involving up to 100 employees in about 20 minutes.The scheduling of employees is generally considered to be a managerial function, in the setting of the problem we address. When a craft employee is replaced on an assembly line by a machine which performs the same function, we speak of the replacing mechanism as an industrial robot.We suggest that systems like that which we describe deserve a name, to distinguish them from comparable, computer based systems which do not replace, but rather supplement a manager, and we suggest the name ‘managerial robot’ for such systems.We set forth the characteristics which we feel would justify applying the term ‘managerial robot’ to a computer based system, and suggest that classification is basic to understanding and communication and that just as terms such as decision support systems and expert systems prove useful in our increasingly advanced, technological society, so also the term managerial robot has a place in our scheme of things.Decision support systems do not qualify as managerial robots for the reason that managerial robots don't simply support the decision making process, but rather replace the manager in his performance of a function which, when performed by a human being, is considered a managerial function.Nor do we consider managerial robots to qualify as expert systems. While our scheduling system contains an inference mechanism, and could be enhanced to improve the quality of its schedules thru ‘experience’ (and thus to ‘learn’?), that—lacking a knowledge base in the sense of expert systems‐and most of all in replacing rather than supporting the decision maker, the managerial robot needs a term of its own.We elaborate, in this paper, a specific application of our system, and show how the design of shifts, and the placement of breaks, serve to yield a fit whose quality no human scheduler can duplicate.