Dynamic programming approach for solving the open shop problem


This paper deals with the open shop scheduling problem (OSP) with makespan minimization. An exact dynamic programming algorithm is proposed for solving the OSP to optimality. This approach is applied to the OSP for the first time. Computational results show that the proposed algorithm is able to solve moderate benchmark instances.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3


  1. Blum C (2005) Beam-acohybridizing ant colony optimization with beam search: an application to open shop scheduling. Comput Oper Res 32(6):1565–1591

    Article  Google Scholar 

  2. Brucker P, Hurink J, Jurisch B, Wöstmann B (1997) A branch and bound algorithm for the open-shop problem. Discrete Appl Math 76(1–3):43–59

    Article  Google Scholar 

  3. Colak S, Agarwal A (2005) Non-greedy heuristics and augmented neural networks for the open-shop scheduling problem. Nav Res Logist 52(7):631–644

    Article  Google Scholar 

  4. Dorndorf U, Pesch E, Phan-Huy T (2001) Solving the open shop scheduling problem. J Sched 4(3):157–174

    Article  Google Scholar 

  5. Gonzalez T, Sahni S (1976) Open shop scheduling to minimize finish time. J ACM 23(4):665–679

    Article  Google Scholar 

  6. Grimes D, Hebrard E, Malapert A (2009) Closing the open shop: contradicting conventional wisdom. In: Principles and Practice of Constraint Programming-CP, vol 2009, pp 400–408

  7. Gromicho J, Van Hoorn J, Saldanha-da Gama F, Timmer G (2012) Solving the job-shop scheduling problem optimally by dynamic programming. Comput Oper Res 39(12):2968–2977

    Article  Google Scholar 

  8. Guéret C, Prins C (1999) Forbidden intervals for open-shop problems. In: IFORS’99

  9. Guéret C, Jussien N, Prins C (2000) Using intelligent backtracking to improve branch-and-bound methods: an application to open-shop problems. Eur J Oper Res 127(2):344–354

    Article  Google Scholar 

  10. Harmanani HM, Ghosn SB (2016) An efficient method for the open-shop scheduling problem using simulated annealing. In: Information technology: New generations, Springer, pp 1183–1193

  11. Malapert A, Cambazard H, Guéret C, Jussien N, Langevin A, Rousseau LM (2012) An optimal constraint programming approach to the open-shop problem. INFORMS J Comput 24(2):228–244

    Article  Google Scholar 

  12. Ozolins A (2018) Bounded dynamic programming algorithm for the job shop problem with sequence dependent setup times. Oper Res pp 1–28

  13. Ozolins A (2019) Improved bounded dynamic programming algorithm for solving the blocking flow shop problem. Central Eur J Oper Res 27(1):15–38

    Article  Google Scholar 

  14. Pongchairerks P, Kachitvichyanukul V (2016) A two-level particle swarm optimisation algorithm for open-shop scheduling problem. Int J Comput Sci Math 7(6):575–585

    Article  Google Scholar 

  15. Prins C (2000) Competitive genetic algorithms for the open-shop scheduling problem. Math Methods Oper Res 52(3):389–411

    Article  Google Scholar 

  16. Sha D, Hsu CY (2008) A new particle swarm optimization for the open shop scheduling problem. Comput Oper Res 35(10):3243–3261

    Article  Google Scholar 

  17. Taillard E (1993) Benchmarks for basic scheduling problems. Eur J Oper Res 64(2):278–285

    Article  Google Scholar 

  18. Tamura N, Taga A, Kitagawa S, Banbara M (2009) Compiling finite linear CSP into SAT. Constraints 14(2):254–272

    Article  Google Scholar 

Download references

Author information



Corresponding author

Correspondence to Ansis Ozolins.

Additional information

Publisher's Note

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



Table 7 Processing times of benchmark instance tai4-1

We study an example, which explains how to create forbidden intervals. Similarly as by Guéret and Prins (1999), we investigate benchmark instance j3-per0-1, see Table 7. Also, we set \(bound=1174\).

The algorithm selects operation \(O_{2,2}\), which has the longest processing time \(p^*=511\). Due to a symmetry, \(O_{2,2}\) cannot start later than

$$\begin{aligned} \dfrac{bound-1-p^*}{2}=331. \end{aligned}$$

Thus, the forbidden interval of operation \(O_{2,2}\) is [332, 1174).

Due to the symmetry, operations \(O_{1,2},O_{2,1},O_{2,3},O_{3,2}\) cannot be completed in the interval \([332,p^*)\). Thus, we have For example, if \(O_{1,2}\) started at 23, then this operation would be completed at 332, which belongs to the forbidden interval.

Operations Forbidden intervals due to a symmetry
\(O_{1,2}\) [23, 511)
\(O_{2,1}\) [232, 511)
\(O_{2,2}\) [332, 1174)
\(O_{2,3}\) [0, 511)
\(O_{3,2}\) [152, 511)

The subset-sum values are:

Name Subset-sums
\(S_{M_1}\) 0 100 436 464 536 564 900 1000
\(S_{M_2}\) 0 180 309 489 511 691 820 1000
\(S_{M_3}\) 0 227 384 389 611 616 773 1000
\(S_{J_1}\) 0 227 309 464 536 691 773 1000
\(S_{J_2}\) 0 100 389 489 511 611 900 1000
\(S_{J_3}\) 0 180 384 436 564 616 820 1000

Subset-sum values in bold can be removed due to a symmetry.

Using algorithm proposed by Guéret and Prins (1999), we obtain forbidden intervals for both the starting and completion times. These intervals have directly been derived from the subset-sum values.

Table 8 Forbidden intervals derived from the subset-sum values

By joining all previously obtained forbidden intervals, we obtain the resulting forbidden intervals for the starting times of operations.

Table 9 Forbidden intervals of benchmark instance j3-per0-1

For example, the forbidden intervals are obtained for the starting time of operation \(O_{3,2}\) in the following way. The interval [152, 511) is forbidden due to a symmetry. From Table 8 it follows that

$$\begin{aligned}{}[174,180)\cup [483,511)\cup [685,691)\cup [994,1000) \end{aligned}$$


$$\begin{aligned}{}[174,180)\cup [354,384)\cup [790,820)\cup [994,1000) \end{aligned}$$

are also the forbidden intervals.

Since \(p_{3,2}=180\) and Table 8 also represents the forbidden intervals for the completion times, we have that intervals

$$\begin{aligned}{}[174,204)\cup [610,640)\cup [814,820) \end{aligned}$$


$$\begin{aligned}{}[303,331)\cup [505,511)\cup [814,820) \end{aligned}$$

are forbidden.

Finally, since operation \(O_{3,2}\) has to be completed before \(bound=1174\), we have that [994, 1174) is also forbidden. Thus, we have obtained the full forbidden intervals for operation \(O_{3,2}\), see Table 9.

See Table 10.

Table 10 Detailed results of the effectiveness of the dominance test

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Ozolins, A. Dynamic programming approach for solving the open shop problem. Cent Eur J Oper Res 29, 291–306 (2021). https://doi.org/10.1007/s10100-019-00630-3

Download citation


  • Open shop scheduling
  • Makespan
  • Dynamic programming