Journal of Scheduling

, Volume 19, Issue 3, pp 309–334 | Cite as

Exact algorithms for single-machine scheduling with time windows and precedence constraints

  • Morteza Davari
  • Erik Demeulemeester
  • Roel Leus
  • Fabrice Talla Nobibon


We study a single-machine scheduling problem that is a generalization of a number of problems for which computational procedures have already been published. Each job has a processing time, a release date, a due date, a deadline, and a weight representing the penalty per unit-time delay beyond the due date. The goal is to schedule all jobs such that the total weighted tardiness penalty is minimized and both the precedence constraints as well as the time windows (implied by the release dates and the deadlines) are respected. We develop a branch-and-bound algorithm that solves the problem to optimality. Computational results show that our approach is effective in solving medium-sized instances, and that it compares favorably with existing methods for special cases of the problem.


Single-machine scheduling Branch and bound Mixed-integer programming 



We are very grateful to professor Shunji Tanaka from Kyoto University for providing us with the benchmark instances and the code of the SSDP algorithm that were used in Sect. 8.5.1, and to professor Yunpeng Pan from South Dakota State University for sending us the instances examined in Sect. 8.5.2.


  1. Abdul-Razaq, T. S., & Potts, C. N. (1988). Dynamic programming state-space relaxation for single-machine scheduling. Journal of the Operational Research Society, 39(2), 141–152.CrossRefGoogle Scholar
  2. Abdul-Razaq, T. S., Potts, C. N., & Van Wassenhove, L. N. (1990). A survey of algorithms for the single machine total weighted tardiness scheduling problem. Discrete Applied Mathematics, 26, 235–253.CrossRefGoogle Scholar
  3. Akturk, M. S., & Ozdemir, D. (2000). An exact approach to minimizing total weighted tardiness with release dates. IIE Transactions, 32, 1091–1101.CrossRefGoogle Scholar
  4. Akturk, M. S., & Ozdemir, D. (2001). A new dominance rule to minimize total weighted tardiness with unequal release dates. European Journal of Operational Research, 135(2), 394–412.CrossRefGoogle Scholar
  5. Artigues, C., Demassey, S., & Neron, E. (2007). Resource-constrained project scheduling: Models, algorithms, extensions and applications. London: ISTE.Google Scholar
  6. Bein, W., Kamburowski, J., & Stallmann, M. (1992). Optimal reduction of two-terminal directed acyclic graphs. SIAM Journal on Computing, 21(6), 1112–1129.CrossRefGoogle Scholar
  7. Belouadah, H., Posner, M. E., & Potts, C. N. (1992). Scheduling with release dates on a single machine to minimize total weighted completion time. Discrete Applied Mathematics, 36(3), 213–231.CrossRefGoogle Scholar
  8. Calinescu, G., Fernandes, C., Kaul, H., & Zelikovsky, A. (2012). Maximum series-parallel subgraph. Algorithmica, 63(1–2), 137–157.CrossRefGoogle Scholar
  9. Christofides, N., Alvarez-Valdes, R., & Tamarit, J. M. (1987). Project scheduling with resource constraints: A branch and bound approach. European Journal of Operational Research, 29, 262–273.CrossRefGoogle Scholar
  10. Conway, R. W., Maxwell, W. C., & Miller, L. W. (1967). Theory of Scheduling. Reading, MA: Addison Wesley.Google Scholar
  11. Debels, D., & Vanhoucke, M. (2007). A decomposition-based genetic algorithm for the resource-constrained project-scheduling problem. Operations Research, 55(3), 457–469.CrossRefGoogle Scholar
  12. Demeulemeester, E., Vanhoucke, M., & Herroelen Rangen, W. (2003). A random network generator for activity-on-the-node networks. Journal of Scheduling, 6, 13–34.CrossRefGoogle Scholar
  13. Dyer, M. E., & Wolsey, L. A. (1990). Formulating the single machine sequencing problem with release dates as a mixed integer program. Discrete Applied Mathematics, 26(23), 255–270.CrossRefGoogle Scholar
  14. Fisher, M. L. (1981). The Lagrangian relaxation method for solving integer programming problems. Management Science, 27(1), 1–18.CrossRefGoogle Scholar
  15. Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. New York: W. H. Freeman.Google Scholar
  16. Gordon, V., Potapneva, E., & Werner, F. (1997). Single machine scheduling with deadlines, release and due dates. Optimization, 42(3), 219–244.CrossRefGoogle Scholar
  17. Graham, R. L., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1979). Optimization and approximation in deterministic sequencing and scheduling: A survey. Annals of Discrete Mathematics, 5, 287–326.CrossRefGoogle Scholar
  18. Hariri, A. M. A., & Potts, C. N. (1983). An algorithm for single machine sequencing with release dates to minimize total weighted completion time. Discrete Applied Mathematics, 5(1), 99–109.CrossRefGoogle Scholar
  19. Held, M., & Karp, R. M. (1962). A dynamic programming approach to sequencing problems. Journal of the Society for Industrial and Applied Mathematics, 10(1), 196–210.CrossRefGoogle Scholar
  20. Hoogeveen, J. A., & van de Velde, S. L. (1995). Stronger Lagrangian bounds by use of slack variables: Applications to machine scheduling problems. Mathematical Programming, 70, 173–190.Google Scholar
  21. Ibaraki, T., & Nakamura, Y. (1994). A dynamic programming method for single machine scheduling. European Journal of Operational Research, 76(1), 72–82.CrossRefGoogle Scholar
  22. Jouglet, A., Baptiste, P., & Carlier, J. (2004). Handbook of scheduling: Algorithms, models and performance analysis, chap. 13., Branch and bound algorithms for total weighted tardiness Boca Raton, FL: CRC Press.Google Scholar
  23. Keha, A. B., Khowala, K., & Fowler, J. W. (2009). Mixed integer programming formulations for single machine scheduling problems. Computers & Industrial Engineering, 56, 357–367.CrossRefGoogle Scholar
  24. Kinable, J., Wauters, T., & Vanden Berghe, G. (2014). The concrete delivery problem. Computers & Operations Research, 48, 53–68.CrossRefGoogle Scholar
  25. Lawler, E. L. (1973). Optimal sequencing of a single machine subject to precedence constraints. Management Science, 19(5), 544–546.CrossRefGoogle Scholar
  26. Lawler, E. L. (1977). A pseudopolynomial algorithm for sequencing jobs to minimize total tardiness. Annals of Discrete Mathematics, 1, 331–342.CrossRefGoogle Scholar
  27. Lawler, E. L. (1978). Sequencing jobs to minimize total weighted completion time subject to precedence constraints. Algorithmic Aspects of Combinatorics, 2, 75–90.CrossRefGoogle Scholar
  28. Lenstra, J. K., Rinnooy Kan, A. H. G., & Brucker, P. (1977). Studies in integer programming (Vol. 1, pp. 343–362)., Complexity of machine scheduling problems. Annals of discrete mathematics Amsterdam: Elsevier.CrossRefGoogle Scholar
  29. McMahon, G. B., & Lim, C. J. (1993). The two-machine flow shop problem with arbitrary precedence relations. European Journal of Operational Research, 64(2), 249–257.CrossRefGoogle Scholar
  30. Nemeth, G., Lovrek, I., & Sinkovic, V. (1997). Scheduling problems in parallel systems for telecommunications. Computing, 58, 199–223.CrossRefGoogle Scholar
  31. Nessah, R., & Kacem, I. (2012). Branch-and-bound method for minimizing the weighted completion time scheduling problem on a single machine with release dates. Computers & Operations Research, 39(3), 471–478.CrossRefGoogle Scholar
  32. Pan, Y. (2003). An improved branch and bound algorithm for single machine scheduling with deadlines to minimize total weighted completion time. Operations Research Letters, 31(6), 492–496.CrossRefGoogle Scholar
  33. Pan, Y., & Shi, L. (2005). Dual constrained single machine sequencing to minimize total weighted completion time. IEEE Transactions on Automation Science and Engineering, 2(4), 344–357.CrossRefGoogle Scholar
  34. Pinedo, M. L. (2008). Scheduling: Theory, Algorithms, and Systems. Berlin: Springer.Google Scholar
  35. Posner, M. E. (1985). Minimizing weighted completion times with deadlines. Operations Research, 33, 562–574.CrossRefGoogle Scholar
  36. Potts, C. N. (1985). A lagrangean based branch and bound algorithm for single machine sequencing with precedence constraints to minimize total weighted completion time. Management Science, 31(10), 1300–1311.CrossRefGoogle Scholar
  37. Potts, C. N., & Van Wassenhove, L. N. (1983). An algorithm for single machine sequencing with deadlines to minimize total weighted completion time. European Journal of Operational Research, 12(4), 379–387.CrossRefGoogle Scholar
  38. Potts, C. N., & Van Wassenhove, L. N. (1985). A branch and bound algorithm for the total weighted tardiness problem. Operations Research, 33(2), 363–377.Google Scholar
  39. Shirazi, B. A., Kavi, K. M., & Hurson, A. R. (Eds.). (1995). Scheduling and load balancing in parallel and distributed systems. Los Alamitos: IEEE Computer Society Press.Google Scholar
  40. Sule, D. R. (2007). Production planning and industrial scheduling: Examples, case studies and applications. Boca Raton: CRC Press.Google Scholar
  41. Talla Nobibon, F., & Leus, R. (2011). Exact algorithms for a generalization of the order acceptance and scheduling problem in a single-machine environment. Computers & Operations Research, 38(1), 367–378.CrossRefGoogle Scholar
  42. Tanaka, S., & Fujikuma, S. (2012). A dynamic-programming-based exact algorithm for general single-machine scheduling with machine idle time. Journal of Scheduling, 15, 347–361.CrossRefGoogle Scholar
  43. Tanaka, S., Fujikuma, S., & Araki, M. (2009). An exact algorithm for single-machine scheduling without machine idle time. Journal of Scheduling, 12, 575–593.CrossRefGoogle Scholar
  44. Tanaka, S., & Sato, S. (2013). An exact algorithm for the precedence-constrained single-machine scheduling problem. European Journal of Operational Research, 229(2), 345–352.CrossRefGoogle Scholar
  45. Tang, L., Xuan, H., & Liu, J. (2007). Hybrid backward and forward dynamic programming based Lagrangian relaxation for single machine scheduling. Computers & Operations Research, 34(9), 2625–2636.CrossRefGoogle Scholar
  46. Valdes, J., Tarjan, R., & Lawler, E. (1982). The recognition of series parallel digraphs. SIAM Journal on Computing, 11(2), 298–313.CrossRefGoogle Scholar
  47. van de Velde, S. L. (1995). Dual decomposition of a single-machine scheduling problem. Mathematical Programming, 69(1–3), 413–428.Google Scholar
  48. van den Akker, J., Diepen, G., & Hoogeveen, J. (2010). Minimizing total weighted tardiness on a single machine with release dates and equal-length jobs. Journal of Scheduling, 13, 561–576.CrossRefGoogle Scholar
  49. Xu, J., & Parnas, D. (1990). Scheduling processes with release times, deadlines, precedence and exclusion relations. IEEE Transaction on Software Engineering, 16(3), 360–369.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2015

Authors and Affiliations

  • Morteza Davari
    • 1
  • Erik Demeulemeester
    • 1
  • Roel Leus
    • 2
  • Fabrice Talla Nobibon
    • 3
  1. 1.Research Center for Operations ManagementKU LeuvenLeuvenBelgium
  2. 2.ORSTATKU LeuvenLeuvenBelgium
  3. 3.FedEx Express EuropeBrusselsBelgium

Personalised recommendations