## 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.

### Similar content being viewed by others

## References

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

## Author information

### Authors and Affiliations

### Corresponding author

## Additional information

### Publisher's Note

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

## Appendix

### Appendix

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.

subject to

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 *k*th 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 *k*th 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.

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,

To minimize the maximum weighted lateness,

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

## Rights and permissions

## About this article

### 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

Received:

Accepted:

Published:

Issue Date:

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