Skip to main content
Log in

Exact and heuristic algorithms for scheduling jobs with time windows on unrelated parallel machines

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

Abstract

This paper addresses scheduling a set of jobs with release dates and deadlines on a set of unrelated parallel machines to minimize some minmax objective. This family of problems has a number of applications, e.g., in discrete berth allocation and truck scheduling at cross docks. We present a novel exact algorithm based on logic-based Benders decomposition as well as a heuristic based on a set partitioning reformulation of the problem. We show how our approaches can be used to deal with additional constraints and various minmax objectives common to the above-mentioned applications, solving a broad class of parallel machine scheduling problems. In a series of computational tests both on instances from the literature and on newly generated ones, our exact method is shown to solve most problems within a few minutes to optimality, while our heuristic can solve particularly challenging instances with tight time windows well in acceptable time.

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

  • Benders JF (1962) Partitioning procedures for solving mixed-variables programming problems. Numer Math 4(1):238–252

    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(3):615–627

    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(3):675–689

    Google Scholar 

  • Blazewicz J, Cheng TE, Machowiak M, Oguz C (2011) Berth and quay crane allocation: a moldable task scheduling model. J Oper Res Soc 62(7):1189–1197

    Google Scholar 

  • Boysen N (2010) Truck scheduling at zero-inventory cross docking terminals. Comput Oper Res 37(1):32–41

    Google Scholar 

  • Boysen N, Fedtke S, Weidinger F (2017) Truck scheduling in the postal service industry. Transp Sci 51(2):723–736

    Google Scholar 

  • Boysen N, Fliedner M (2010) Cross dock scheduling: classification, literature review and research agenda. Omega 38(6):413–422

    Google Scholar 

  • Buhrkal K, Zuglian S, Ropke S, Larsen J, Lusby R (2011) Models for the discrete berth allocation problem: a computational comparison. Transp Res Part E Logist Transp Rev 47(4):461–473

    Google Scholar 

  • Carlier J (1982) The one-machine sequencing problem. Eur J Oper Res 11(1):42–47 Third EURO IV Special Issue

    Google Scholar 

  • Chen JH, Lee D-H, Cao JX (2012) A combinatorial benders–cuts algorithm for the quayside operation problem at container terminals. Transp Res Part E Logist Transp Rev 48(1):266–275

    Google Scholar 

  • Codato G, Fischetti M (2006) Combinatorial benders’ cuts for mixed-integer linear programming. Oper Res 54(4):756–766

    Google Scholar 

  • Cordeau J-F, Laporte G, Legato P, Moccia L (2005) Models and tabu search heuristics for the berth-allocation problem. Transp Sci 39(4):526–538

    Google Scholar 

  • Ebenlendr T, Krčál M, Sgall J (2014) Graph balancing: a special case of scheduling unrelated parallel machines. Algorithmica 68(1):62–80

    Google Scholar 

  • Emde S (2017) Optimally scheduling interfering and non-interfering cranes. Naval Res Logist (NRL) 64(6):476–489

    Google Scholar 

  • Emde S, Boysen N, Briskorn D (2014) The berth allocation problem with mobile quay walls: problem definition, solution procedures, and extensions. J Sched 17(3):289–303

    Google Scholar 

  • Fanjul-Peyro L, Ruiz R (2010) Iterated greedy local search methods for unrelated parallel machine scheduling. Eur J Oper Res 207(1):55–69

    Google Scholar 

  • Fanjul-Peyro L, Ruiz R (2011) Size-reduction heuristics for the unrelated parallel machines scheduling problem. Comput Oper Res 38(1):301–309

    Google Scholar 

  • Garey MR, Johnson DS (1979) Computers and intractability: a guide to NP-completeness. WH Freeman and Company, San Francisco

    Google Scholar 

  • Gedik R, Rainwater C, Nachtmann HH, Pohl EA (2016) Analysis of a parallel machine scheduling problem with sequence dependent setup times and job availability intervals. Eur J Oper Res 251(2):640–650

    Google Scholar 

  • Gharbi A, Haouari M (2002) Minimizing makespan on parallel machines subject to release dates and delivery times. J Sched 5(4):329–355

    Google Scholar 

  • Ghirardi M, Potts C (2005) Makespan minimization for scheduling unrelated parallel machines: a recovering beam search approach. Eur J Oper Res 165(2):457–467

    Google Scholar 

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

    Google Scholar 

  • Hall NG, Posner ME (2001) Generating experimental data for computational testing with machine scheduling applications. Oper Res 49(6):854–865

    Google Scholar 

  • Held M, Karp RM (1962) A dynamic programming approach to sequencing problems. J Soc Ind Appl Math 10(1):196–210

    Google Scholar 

  • Hooker J (2011) Logic-based methods for optimization: combining optimization and constraint satisfaction, vol 2. Wiley, Hoboken

    Google Scholar 

  • Hooker JN (2007) Planning and scheduling by logic-based benders decomposition. Oper Res 55(3):588–602

    Google Scholar 

  • Imai A, Nishimura E, Papadimitriou S (2001) The dynamic berth allocation problem for a container port. Transp Res Part B Methodol 35(4):401–417

    Google Scholar 

  • Jain V, Grossmann IE (2001) Algorithms for hybrid milp/cp models for a class of optimization problems. INFORMS J Comput 13(4):258–276

    Google Scholar 

  • Knop D, Koutecky M (2017) Scheduling meets n-fold integer programming. In: Proceedings of the 13th workshop on models and algorithms for planning and scheduling problems (MAPSP)

    Google Scholar 

  • Konur D, Golias MM (2017) Loading time flexibility in cross-docking systems. Procedia Comput Sci 114:491–498

    Google Scholar 

  • Lalla-Ruiz E, Expósito-Izquierdo C, Melián-Batista B, Moreno-Vega JM (2016) A set-partitioning-based model for the berth allocation problem under time-dependent limitations. Eur J Oper Res 250(3):1001–1012

    Google Scholar 

  • Lancia G (2000) Scheduling jobs with release dates and tails on two unrelated parallel machines to minimize the makespan. Eur J Oper Res 120(2):277–288

    Google Scholar 

  • Lawler EL (1973) Optimal sequencing of a single machine subject to precedence constraints. Manag Sci 19(5):544–546

    Google Scholar 

  • Lee D-H, Qiu Wang H (2010) Integrated discrete berth allocation and quay crane scheduling in port container terminals. Eng Optim 42(8):747–761

    Google Scholar 

  • Lenstra J, Rinnooy Kan A, Brucker P (1977) Complexity of machine scheduling problems. Ann Discrete Math 1:343–362

    Google Scholar 

  • Lenstra JK, Shmoys DB, Tardos É (1990) Approximation algorithms for scheduling unrelated parallel machines. Math Program 46(1–3):259–271

    Google Scholar 

  • Leung JY (2004) Handbook of scheduling: algorithms, models, and performance analysis. CRC Press, Boca Raton

    Google Scholar 

  • Leung JY-T, Li C-L (2008) Scheduling with processing set restrictions: a survey. Int J Prod Econ 116(2):251–262

    Google Scholar 

  • Li C-L, Cai X, Lee C-Y (1998) Scheduling with multiple-job-on-one-processor pattern. IIE Trans 30(5):433–445

    Google Scholar 

  • Lin Y-K, Pfund ME, Fowler JW (2011) Heuristics for minimizing regular performance measures in unrelated parallel machine scheduling problems. Comput Oper Res 38(6):901–916

    Google Scholar 

  • Liu J, Wan Y-W, Wang L (2006) Quay crane scheduling at container terminals to minimize the maximum relative tardiness of vessel departures. Naval Res Logist (NRL) 53(1):60–74

    Google Scholar 

  • Mokotoff E, Chrétienne P (2002) A cutting plane algorithm for the unrelated parallel machine scheduling problem. Eur J Oper Res 141(3):515–525

    Google Scholar 

  • Monaco MF, Sammarra M (2007) The berth allocation problem: a strong formulation solved by a lagrangean approach. Transp Sci 41(2):265–280

    Google Scholar 

  • Pinedo M (2016) Scheduling: theory, algorithms, and systems, 5th edn. Springer, Berlin

    Google Scholar 

  • Rahmaniani R, Crainic TG, Gendreau M, Rei W (2017) The benders decomposition algorithm: a literature review. Eur J Oper Res 259(3):801–817

    Google Scholar 

  • Sanlaville E, Schmidt G (1998) Machine scheduling with availability constraints. Acta Inform 35(9):795–811

    Google Scholar 

  • Sels V, Coelho J, Dias AM, Vanhoucke M (2015) Hybrid tabu search and a truncated branch-and-bound for the unrelated parallel machine scheduling problem. Comput Oper Res 53:107–117

    Google Scholar 

  • Shchepin EV, Vakhania N (2005) An optimal rounding gives a better approximation for scheduling unrelated machines. Oper Res Lett 33(2):127–133

    Google Scholar 

  • Steenken D, Voß S, Stahlbock R (2004) Container terminal operation and operations research-a classification and literature review. OR Spectr 26(1):3–49

    Google Scholar 

  • Tadumadze G, Boysen N, Emde S, Weidinger F (2019) Integrated truck and workforce scheduling to accelerate the unloading of trucks. Eur J Oper Res 278(1):343–362

    Google Scholar 

  • Tong CJ, Lau HC, Lim A (1999) Ant colony optimization for the ship berthing problem. In: Annual Asian computing science conference, Springer, pp 359–370

  • Tran TT, Araujo A, Beck JC (2016) Decomposition methods for the parallel machine scheduling problem with setups. INFORMS J Comput 28(1):83–95

    Google Scholar 

  • UNCTAD (2016) Review of maritime transport 2016. Technical report, United Nations Conference on Trade and Development

  • Vacca I, Bierlaire M, Salani M (2007) Optimization at container terminals: status, trends and perspectives. In: 7th Swiss transport research conference

  • Xu D, Li C-L, Leung JY-T (2012) Berth allocation with time-dependent physical limitations on vessels. Eur J Oper Res 216(1):47–56

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Simon Emde.

Additional information

Publisher's Note

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

Appendix

Appendix

Table 10 Notation for the MILP model

This appendix contains a mixed-integer linear programming model for \([R|r_j, {\overline{d}_j}|C_{{\text {max}}}]\). The model is based on the original discrete berth allocation model proposed by Imai et al. (2001) and Monaco and Sammarra (2007), which is modified to account for minmax objectives. Table 10 summarizes the notation.

$$\begin{aligned} \text {[MIP-OP] Minimize } C(X, U) = \max _{i \in P} \left\{ \sum _{k \in K} \left( u_{ik} + \sum _{j \in J} p_{ij} \cdot x_{ijk}\right) \right\} \end{aligned}$$
(14)

subject to

$$\begin{aligned} \sum _{i \in P}\sum _{k \in K} x_{ijk}&= 1&\forall j \in J \end{aligned}$$
(15)
$$\begin{aligned} \sum _{j \in J} x_{ijk}&\le 1&\forall i \in P, k \in K \end{aligned}$$
(16)
$$\begin{aligned} \sum _{j \in J} r_j \cdot x_{ijk} - \sum _{\begin{array}{c} l \in K:\\ l < k \end{array}} \left( u_{il} + \sum _{j \in J} p_{ij} \cdot x_{ijl} \right)&\le u_{ik}&\forall i \in P, k \in K \end{aligned}$$
(17)
$$\begin{aligned} \sum _{\begin{array}{c} l \in K:\\ l \le k \end{array}} \left( u_{il} + \sum _{j' \in J} p_{ij'} \cdot x_{ij'l} \right)&\le {\overline{d}_j} + \mathcal {M} \cdot (1 - x_{ijk})&\forall i \in P, j \in J, k \in K \end{aligned}$$
(18)
$$\begin{aligned} u_{ik}&\ge 0&\forall i \in P, k \in K \end{aligned}$$
(19)
$$\begin{aligned} x_{ijk}&\in \{ 0; 1 \}&\forall j \in J, i \in P, k \in K \end{aligned}$$
(20)

Objective function (14) minimizes the makespan of the machine whose completion time after processing all jobs is highest. The makespan for each machine is derived by adding up the total processing time of the jobs and the total idle time between jobs. Constraints (15) ensure that every job is assigned to exactly one processor at exactly one service position. Constraints (16) make it impossible for multiple jobs to be assigned the same service position on the same machine. Inequalities (17) define the idle times between jobs: idle time \(u_{ik}\) (i.e., the amount of time that machine i stays idle before executing the kth job) must be no less than the duration between the completion time of the \((k-1)\)th job on machine i and the release date of the kth job on the same machine (i.e., the earliest possible processing start time of its successive job). Note that the summation on the left-hand side of constraints (17) and (18) indicates the completion time of the \((k-1)\)th job on machine i. Constraints (18) make sure that the deadlines are not violated. Finally, (19) and (20) define the domain of the variables.

To extend MIP-OP to account for machine availability restrictions, constraints (21) and (22) are added to the model.

$$\begin{aligned} u_{i1}&\ge s_i&\forall i \in P \end{aligned}$$
(21)
$$\begin{aligned} \sum _{k\in K}\left( u_{ik} + \sum _{j \in J} p_{ij}\cdot x_{ijk} \right)&\le e_i&\forall i \in P \end{aligned}$$
(22)

Constraints (21) guarantee that on each machine \(i \in P\), processing of its first job cannot be started before its availability time \(s_i\). Constraints (22) take care that on each machine i none of the jobs are completed after its availability time \(e_i\).

Finally, to consider objectives maximum weighted flow time and lateness, we consider the following models.

To minimize the maximum weighted flow time,

$$\begin{aligned} \text {minimize } F(X, U, F^{\text {flow}}) = F^{\text {flow}}, \end{aligned}$$

subject to (15)–(20) and

$$\begin{aligned} F^{\text {flow}} & \ge w_j \left( \sum _{\begin{array}{c} k' \in K:\\ k'\le k \end{array}} \left( u_{ik'} + \sum _{j' \in J} p_{ij'} \cdot x_{ij'k'}\right) - r_j \right) \\ & \quad - \mathcal {M} \cdot (1 - x_{ijk}), \forall i \in P, j \in J, k \in K. \end{aligned}$$

To minimize the maximum weighted lateness,

$$\begin{aligned} \text {minimize } L(X, U, F^{\text {late}}) = F^{\text {late}}, \end{aligned}$$

subject to (15)–(17), (19), (20), and

$$\begin{aligned} F^{\text {late}} &\ge w_j \left( \sum _{\begin{array}{c} k' \in K:\\ k'\le k \end{array}} \left( u_{ik'} + \sum _{j' \in J} p_{ij'} \cdot x_{ij'k'}\right) - d_j \right)\\&\quad - \mathcal {M} \cdot (1 - x_{ijk}), \forall i \in P, j \in J, k \in K \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Tadumadze, G., Emde, S. & Diefenbach, H. Exact and heuristic algorithms for scheduling jobs with time windows on unrelated parallel machines. OR Spectrum 42, 461–497 (2020). https://doi.org/10.1007/s00291-020-00586-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00291-020-00586-w

Keywords

Navigation