Skip to main content
Log in

The cafeteria problem: order sequencing and picker routing in on-the-line picking systems

  • Regular Article
  • Published:
OR Spectrum Aims and scope Submit manuscript

Abstract

This paper is dedicated to the cafeteria problem: given a single waiter operating multiple counters for different dishes arranged along a line and a set of customers with given subsets of dishes they desire, find a sequence of customers, which may not overtake each other, and a service schedule for the waiter, such that the makespan is minimized. This generic problem is shown to have different real-world applications in order picking with blocking restrictions. We present different heuristic and exact solution procedures for both problem parts, i.e., customer sequencing and waiter scheduling, and systematically compare these approaches. Our computational results reveal that the largest performance gains are enabled by not strictly processing order after order. Instead, the waiter should be allowed to flexibly swap between customers waiting along the line. Such a flexible service policy considerably reduces the makespan and the total walking distance of the waiter.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

References

  • Agnetis A, Flamini M, Nicosia G, Pacifici A (2011) A job-shop problem with one additional resource type. J Sched 14:225–237

    Article  Google Scholar 

  • Agnetis A, Murgia G, Sbrilli S (2014) A job shop scheduling problem with human operators in handicraft production. Int J Prod Res 52:3820–3831

    Article  Google Scholar 

  • Ascheuer N, Escudero LF, Grötschel M, Stoer M (1993) A cutting plane approach to the sequential ordering problem (with applications to job scheduling in manufacturing). SIAM J Optim 3:25–42

    Article  Google Scholar 

  • Boysen N, Briskorn D, Meisel F (2017) A generalized classification scheme for crane scheduling with interference. Eur J Oper Res 258:343–357

    Article  Google Scholar 

  • Bierwirth C, Meisel F (2010) A survey of berth allocation and quay crane scheduling problems in container terminals. Eur J Oper Res 202:615–627

    Article  Google Scholar 

  • Bierwirth C, Meisel F (2015) A follow-up survey of berth allocation and quay crane scheduling problems in container terminals. Eur J Oper Res 244:675–689

    Article  Google Scholar 

  • Brucker P, Dhaenens-Flipo C, Knust S, Kravchenko SA, Werner F (2002) Complexity results for parallel machine problems with a single server. J Sched 5:429–457

    Article  Google Scholar 

  • Brucker P, Knust S, Wang G (2005) Complexity results for flow-shop problems with a single server. Eur J Oper Res 165:398–407

    Article  Google Scholar 

  • Burkard RE, Deineko VG, van Dal R, van der Veen JA, Woeginger GJ (1998) Well-solvable special cases of the traveling salesman problem: a survey. SIAM Rev 40:496–546

    Article  Google Scholar 

  • Ciro CG, Dugardin F, Yalaoui F, Kelly R (2016) Open shop scheduling problem with a multi-skills resource constraint: a genetic algorithm and an ant colony optimisation approach. Int J Prod Res 54:4854–4881

    Article  Google Scholar 

  • Chen F, Wang H, Qi C, Xie Y (2013) An ant colony optimization routing algorithm for two order pickers with congestion consideration. Comput Ind Eng 66:77–85

    Article  Google Scholar 

  • Cheng TCE, Wang G, Sriskandarajah C (1999) One-operator-two-machine flowshop scheduling with setup and dismounting times. Comput Oper Res 26:715–730

    Article  Google Scholar 

  • Daganzo CF (1989) The crane scheduling problem. Transp Res B 23:159–175

    Article  Google Scholar 

  • Füßler D, Boysen N (2017) Efficient order processing in an inverse order picking system. Comput Oper Res 88:150–160

    Article  Google Scholar 

  • Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, New York

    Google Scholar 

  • Garey MR, Johnson DS, Sethi R (1976) The complexity of flowshop and jobshop scheduling. Math Oper Res 1:117–129

    Article  Google Scholar 

  • Gilmore PC, Gomory RE (1964) Sequencing a one state-variable machine: a solvable case of the traveling salesman problem. Oper Res 12:655–679

    Article  Google Scholar 

  • Glass CA, Shafransky YM, Strusevich VA (2000) Scheduling for parallel dedicated machines with a single server. Naval Res Logist 47:304–328

    Article  Google Scholar 

  • Graham RL, Lawler EL, Lenstra JK, Rinnooy Kan AHG (1979) Optimization and approximation in deterministic sequencing and scheduling: a survey. Ann Discrete Math 5:287–326

    Article  Google Scholar 

  • Gue KR, Meller RD, Skufca JD (2006) The effects of pick density on order picking areas with narrow aisles. IIE Trans 38:859–868

    Article  Google Scholar 

  • Hall N, Potts C, Sriskandarajah C (2000) Parallel machine scheduling with a common server. Discrete Appl Math 102:223–243

    Article  Google Scholar 

  • Hefetz N, Adiri I (1982) A note on the influence of missing operations on scheduling problems. Naval Res Logist 29:535–539

    Article  Google Scholar 

  • Held M, Karp RM (1970) The traveling-salesman problem and minimum spanning trees. Oper Res 18:1138–1162

    Article  Google Scholar 

  • Hong S, Johnson AL, Peters BA (2012) Batch picking in narrow-aisle order picking systems with consideration for picker blocking. Eur J Oper Res 221:557–570

    Article  Google Scholar 

  • Kirkpatrick S, Gelatt CD, Vecchi MP (1983) Optimization by simulated annealing. Science 220(4598):671–680

    Article  Google Scholar 

  • Liu B, Wang L, Jin YH (2008) An effective hybrid PSO-based algorithm for flow shop scheduling with limited buffers. Comput Oper Res 35:2791–2806

    Article  Google Scholar 

  • Mencia C, Sierra MR, Varela R (2013) An efficient hybrid search algorithm for job shop scheduling with operators. Int J Prod Res 51:5221–5237

    Article  Google Scholar 

  • Ribas I, Companys R, Tort-Martorell X (2011) An iterated greedy algorithm for the flowshop scheduling problem with blocking. Omega 39:293–301

    Article  Google Scholar 

  • Ruiz RM, Maroto C (2005) A comprehensive review and evaluation of permutation flowshop heuristics. Eur J Oper Res 165:479–494

    Article  Google Scholar 

  • Sawik TJ (1995) Scheduling flexible flow lines with no in-process buffers. Int J Prod Res 33:1357–1367

    Article  Google Scholar 

  • Swisslog (2017) CaddyPick: picking made easy. https://www.swisslog.com/de-de/kontakt/downloads?mediaItem=5551B202AE7541FA9662BDC8A95B7041. Accessed Dec 2018

  • Tang L, Luh PB, Liu J, Fang L (2002) Steel-making process scheduling using Lagrangian relaxation. Int J Prod Res 40:55–70

    Article  Google Scholar 

  • Wang G, Cheng TCE (2001) An approximation algorithm for parallel machine scheduling with a common server. J Oper Res Soc 52:234–237

    Article  Google Scholar 

  • Weber RR, Weiss G (1994) The cafeteria process—Tandem queues with 0–1 dependent service times and the bowl shape phenomenon. Oper Res 42:895–912

    Article  Google Scholar 

  • Xuan H, Tang L (2007) Scheduling a hybrid flowshop with batch production at the last stage. Comput Oper Res 34:2718–2733

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Nils Boysen.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendices

Appendix A: Complexity of CWSP

This appendix shows that our CWSP, i.e., the scheduling of the waiter once the customer sequence is given, is strongly NP-hard. The reduction is from the 3-Partition problem, which is well known to be NP-complete in the strong sense (Garey and Johnson 1979).

3-Partition Given an integer \(B \in {\mathbb {Z}}^+\) and a set A (with \(|A|=3q\)) containing integers \(B/4<a_j<B/2\), \(\forall j=1,\ldots ,3q\). The problem is to find a partition of set A into q disjoint subsets \(\lbrace A_1, A_2, \ldots , A_q \rbrace \), such that \(\sum _{j \in A_i} a_j= B\) for each \(i=1,\ldots ,q\) or to prove that no such partition exists.

Proof

Our pseudo-polynomial transformation scheme for deriving an instance \(I'\) of CWSP from an instance I of 3-Partition is as follows: We introduce \(n=3q+1\) customers. For each integer value of I, we introduce one customer demanding just a single dish. These customers build the counterparts to the integer values and are, thus, called the counterpart customers. The single additional customer interrupts the waiter again and again when serving the counterpart customers, so that we call her the stop customer. All customers move with a velocity of \(v^\mathrm{cust}=\frac{12q}{B}\) along the counters, which all have a normalized length of one distance unit. The line consists of \(m=12q^2+3q+2\) counters, and our single waiter moves with infinite velocity. Note that it is easily possible to give the waiter a finite velocity in this proof, which, however, makes the calculations a bit more complicated. The first 3q customers, which enter the line according to the given customer sequence, are the counterpart customers. They each demand a single dish served at the end of the line. i.e., at the last 3q counters before the final one. The first counterpart customer, thus, demands the dish served at the second to last counter, the second customer the third seen from the end of the line and so on. Servicing each dish demanded by a counterpart customer requires the waiter a processing time that equals the corresponding integer value, so that we have \(\tau _{j,1}=a_j\) for all \(j=1,\ldots ,3q\). The stop customer is the last to enter the line. She demands \(q+2\) dishes. Her first dish is served at the very first counter and lasts until all counterpart customers have passed the line and reached their successive counters at the end of the line. We call this dish request the wait dish, which takes the waiter a processing time of \(\tau _{3q+1,1}=qB\). Her next q dishes are the so-called stop dishes, which, starting at counter \(12q+1\), are served at counters having \(12q-1\) unused counters between them. The processing times at these stop counters are \(\tau _{3q+1,i}=1\) for all \(i=2,\ldots ,q+1\), and it takes the stop customer exactly B time units to move from stop counter to stop counter. Finally, the stop customer is serviced at the very last counter with what we call the final dish. Servicing the final dish takes the waiter a processing time of one time unit. Figure 6 schematically depicts the setup of the resulting cafeteria. The question we ask is whether there is a solution to \(I'\) with makespan \(Z\le \frac{B}{2}+\frac{B}{6q}+2qB+q+1\).

Fig. 6
figure 6

Schematic cafeteria layout of transformation

A feasible solution for an instance I of 3-Partition can be transformed to a feasible solution of the corresponding instance \(I'\) of CWSP by pursuing the following waiter schedule. At first, the waiter remains idle for \(\frac{B}{4}+\frac{B}{12q}\) time units until all counterpart customers have passed the first counter and the wait dish of the stop customer can be serviced. The latter requires qB time units. Once processing the wait dish ends, all counterpart customers have exactly reached their 3q counters of the end of the line where they aim to receive their respective dish. Afterward, the stop customer moves onwards and passes \(12q-1\) counters toward her first stop dish. At a velocity of \(v^\mathrm{cust}=\frac{12q}{B}\), the movement from wait dish to the first stop counter (and later on between two successive stop counters) takes her exactly B time units. During these B time units, the waiter is not occupied by the stop customer, but can rush (with infinite velocity) to the counterpart customers, where she can serve exactly the three dishes of the counterpart customers corresponding to an integer subset of 3-Partition. In this way, the waiter successively services all subsets of dishes corresponding to subsets of 3-Partition each time interrupted by one time unit servicing the stop customer once having reached the next stop dish after exactly B time units. Once the stop customer has received her last stop dish, it takes her \(\frac{B}{4}+\frac{B}{12q}\) time units to pass the last 3q counters and another single time unit to be served the final dish at the last counter. Thus, we have \(\frac{B}{4}+\frac{B}{12q}\) time units at the start until the wait dish can be serviced. This takes qB time units to be processed, and then, another \(qB+q\) time units are required to processes all counterpart customers (i.e., serviced in q subsets of duration B) interrupted by q stop dishes of the stop customer. Finally, it takes the stop customer another \(\frac{B}{4}+\frac{B}{12q}\) time units to pass the last 3q counters and an additional time unit at the last counter. Altogether, this leads to a makespan of \(Z=\frac{B}{2}+\frac{B}{6q}+2qB+q+1\) and a feasible schedule for \(I'\).

On the other hand, a feasible solution for an instance \(I'\) of CWSP is also a feasible solution for the corresponding 3-Partition instance I. A makespan of \(Z\le \frac{B}{2}+\frac{B}{6q}+2qB+q+1\) for \(I'\) can only be reached if the stop customer reaches the end of the line without any waiting at a counter. Thus, once the wait dish at the start is serviced, this leaves exactly B time units for servicing counterpart customers, before the stop customer reaches another stop counter. If these gaps of B time units are not exactly filled with three counterpart customers whose processing time of their respective dishes adds up to exactly B time units, then there remains at least one dish for a counterpart customer to be serviced after the stop customer has left her last stop counter toward the end of the line. Even if there is just one remaining dish and this final dish is the one with the shortest processing time among all counterpart customers and serviced at the second to last counter, then due to the restrictions of the integer values of 3-Partition, i.e., \(B/4<a_j<B/2\), this dish cannot be completed before the stop customer reaches this job (because the way from the last stop counter to the second last counterpart counter takes her just \(\frac{B}{4}-\frac{B}{12q}\) time units). She is blocked, and a makespan \(Z\le \frac{B}{2}+\frac{B}{6q}+2qB+q+1\) cannot be realized. Only if all counterpart customers are already serviced, once the stop customer leaves the final stop counter, no blocking occurs. This, however, is only possible if sets of three dishes dedicated to three counterpart customers are serviced in each of the q gaps of duration B. These three dishes directly correspond to a feasible subset of 3-Partition, which completes the proof. \(\square \)

Note that the same proof also holds for the case where the sequencing of customers is part of the problem. No other sequence than the one applied in the previous proof can reach the applied bound on the makespan. All other sequences lead to cases where customers block each other and the makespan bound is exceeded.

Appendix B: A multi-start simulated annealing algorithm

In this appendix, we introduce a straightforward multi-start simulated annealing approach for benchmarking our other (even more) basic approaches to determine customer sequences. We follow the basic simulated annealing scheme introduced by Kirkpatrick et al. (1983). First, we apply the priority rule-based approach (see Sect. 3.2) to find an initial customer sequence, which is evaluated under the order-swapping policy with beam search (see Sect. 2.4). Neighborhood solutions are determined by swapping the positions of two randomly selected customers within current customer sequence \(\epsilon \). This leads to a new solution \(\epsilon _\mathrm{new}\) whose objective value \(F(\epsilon _\mathrm{new})\) is determined by applying the beam search procedure for waiter scheduling. This new solution \(\epsilon _\mathrm{new}\) is accepted if a random number of interval [0,1] with uniform distribution is smaller than \(\exp ^{\frac{F(\epsilon _\mathrm{old})-F(\epsilon _\mathrm{new})}{\mathrm{TP}}}\) and refused otherwise. Temperature TP is controlled via the traditional cooling scheme of Kirkpatrick et al. (1983) with an initial temperature of 50, a stop temperature of 1, and a cooling factor of 0.99, which is multiplied with the current temperature in each iteration. When reaching the stop temperature, we restart the procedure with the best customer sequence found so far. If no improved solution is found in the next iteration, we draw a new customer sequence randomly and restart the procedure. The procedure ends after a total runtime of 2 h (7200 CPU seconds).

Appendix C: A dynamic program for CWSP minimizing the waiter’s total walking distance

In this appendix, we derive a DP scheme that can be applied to our CWSP when minimizing the waiter’s walking distance. This approach is a simple modification of the DP approach described in Sect. 2.3 which minimizes the makespan for a given customer sequence.

The DP consists of \(|T| + 1\) stages, each representing a service period. As we minimize the walking distance of the waiter, we can neglect the exact positions of the customers during the process. Note that customers are assumed to always be at the respective counter currently demanded, because potential waiting times of the waiter are not relevant. This leaves us with states \(Z = (J,w)\) defined by set J of finished dish requests and current waiter location w. The partial objective value of a state f(Z) or f(Jw) represents the total walking distance of the waiter after completing all dish requests in J. We have a transition from state \(Z=(J,w)\) to another state \(Z'=(J',w')\), if \(\exists \, (j,l) \in \Phi \) with \(\Lambda _{j,l} \setminus J = \emptyset \), \(J' \setminus J=\{(j,l)\}\), and \(w'=d_{j,l}\). The additional walking distance of such a transition amounts to

$$\begin{aligned} \Delta (Z,Z') = |w'-w|. \end{aligned}$$
(31)

Starting from initial state \(Z_0 = (\emptyset , 0)\) with \(f(Z_0)=0\), we can determine the partial objective value for a new state with the basic Bellman recursion

$$\begin{aligned} f(Z') = f(J',w') = \min _{\begin{array}{c} Z=(J,w):\\ |J' \setminus J| = 1 \end{array}} \{ f(Z) + \Delta (Z,Z') \}. \end{aligned}$$
(32)

After a forward recursion through all stages, we compare all final states in order to determine the optimal solution value

$$\begin{aligned} F = \min _{\begin{array}{c} Z=(J,w):\\ J=\Phi ^0 \end{array}} \left\{ f(Z) \right\} . \end{aligned}$$
(33)

Finally, an optimal order sequence can be extracted by a backward recursion. Analogously to the previous dynamic program for our CWSP when minimizing the makespan (see Sect. 2.3), we derive a heuristic beam search procedure from the DP scheme by applying the alterations defined in Sect. 2.4.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Füßler, D., Fedtke, S. & Boysen, N. The cafeteria problem: order sequencing and picker routing in on-the-line picking systems. OR Spectrum 41, 727–756 (2019). https://doi.org/10.1007/s00291-019-00553-0

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00291-019-00553-0

Keywords

Navigation