Scheduling and resource allocation in a food service system
Authors: Guley Helen M. , Stinson Joel P. 
Published: October 2002

AbstractThe scheduling of food production is often accomplished informally based upon approximate time requirements stated in recipes and the judgment and experience of a food production manager, administrative dietician, or cook. Such schedules are seldom optimized to least overall duration and consequently contain periods of non‐productive time on the part of personnel and resources. In addition, these schedules often attempt to avoid resource conflicts through the early scheduled completion of work activity; this leads to many of the menu items being completed sufficiently in advance of serving time that undesirable changes in the nutritional, organoleptic and microbiological properties of the food can take place.In this paper, a branch and bound algorithm is presented as a solution procedure for the foodservice scheduling problem. The advantage of branch and bound in comparison to a heuristic based scheduling procedure is that it can produce schedules which are optimized to least overall duration from start to finish. The added computational cost of the branch and bound procedure is justified, because most foodservice systems cycle their menus. Consequently, each of a finite number of schedules is reused numerous times over an extended period resulting in long‐term productivity gains.Another advantage of the algorithm is that right‐shifted or late start schedules may be produced. This is in keeping with our objective of minimizing the delay time between the completion of the food and its being served to the consumer.The paper describes a method by which the process time for each of the various steps in a recipe may be computed as a function of the number of servings being prepared. Although these are normally considered to be linear relationships, the algorithm can easily be modified to accept other types of relationships as well.Perhaps the most important aspect of the this research is that the branch and bound algorithm has been implemented to perform branching operations over two classes of decisions. The first class of decisions involves the selection of which recipe steps or activities are to be scheduled at a certain time, and the second class of decisions involves the choice of which resource class to assign to the activities in those cases where alternative resources are allowed. This dual branching philosophy provides a great deal of flexibility to the decision maker for handling the type of scheduling problems commonly found in practice. The expense of this added flexibility, however, is a substantial increase in the size of the decision tree which must be developed and explored.In order to demonstrate the performance of the algorithm for practical purposes, the lunch menus of a short term, acute case, 300 bed hospital in Syracuse, New York were used to develop production schedules. These menus included a total of 89 different hot food items whose recipes were placed into a menu file in the computer along with the coefficients needed to develop process time estimates as a function of numbers of servings to be prepared. In total, fourteen lunch menus are cycled at the hospital; the number of items appearing on the menus ranges from 8 to 14 hot food items.In the first series of tests, resources were assumed not to be interchangeable. The branch and bound procedure was successful in producing optimal solutions for eleven of the fourteen schedules. The three menus which were not optimally solved were aborted, because the size of the solutions tree grew beyond that which could be stored in 500K bytes of common memory. In spite of this, however, the upper bound solutions given by the aborted problems were found to be very close to lower bound values and therefore may be considered as very good solutions.In the second series of tests, certain resources were allowed to be interchangeable for some of the activities. Specifically, we assumed two labor classes. The first of these are called special cooks who are more experienced personnel. Normally special cooks prepare entree items, but they may be called upon in some cases to perform any activity normally performed by the second labor class‐ the less experienced cooks—who normally prepare soups, sauces and vegetables. The cooks, on the other hand, are never allowed to prepare menu items which call for special cooks. These groundrules are identical to those currently in practice at the hospital from which the test problems were obtained. Ten of the fourteen menus were selected for this series of tests. In all of the ten cases, the algorithm successfully developed optimal solutions without exceeding the 500K byte common memory limitation. And, in spite of the vastly increased tree size resulting from the dual decision branches, the computation times for these tests were only modestly greater than those of the first set of tests where alternative resources were not considered. The success of the algorithm in solving the dual decision problems resulted in large part from its ability to develop strong upper bounds very early in solution process. In addition, the characteristics of food production scheduling problems are such that the lower bound pruning is very effective especially in the early stages of tree development.It is important to note that the use of an algorithm such as this in a practical setting affords a very friendly user interface. Once the foodservice system's menu items have been placed into a file, the user may easily select any set of these items to include in a given schedule. Only three lines of data input are required. The first line specifies the number of items as well as the zero‐hour or serving time. The second line identifies the item numbers of the hot‐food items to be scheduled. And the third line specifies the number of servings for each of those items which must be prepared. Kitchen personnel with limited experience can be trained to input the data in less than 15 minutes of instruction time.