Skip to main content
Log in

Depth-first heuristic search for the job shop scheduling problem

  • Published:
Annals of Operations Research Aims and scope Submit manuscript

Abstract

We evaluate two variants of depth-first search algorithms and consider the classic job shop scheduling problem as a test bed. The first one is the well-known branch-and-bound algorithm proposed by P. Brucker et al. which uses a single chronological backtracking strategy. The second is a variant that uses partially informed depth-first search strategy instead. Both algorithms use the same heuristic estimation; in the first case, it is only used for pruning states that cannot improve the incumbent solution, whereas in the second it is also used to sort the successors of an expanded state. We also propose and analyze a new heuristic estimation which is more informed and more time consuming than that used by Brucker’s algorithm. We conducted an experimental study over well-known instances showing that the proposed partially informed depth-first search algorithm outperforms the original Brucker’s algorithm.

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
Algorithm 1
Fig. 3
Algorithm 2
Algorithm 3
Algorithm 4
Fig. 4
Fig. 5
Fig. 6
Fig. 7

Similar content being viewed by others

Notes

  1. Without loss of generality, we consider minimization problems in this section.

  2. We mean exact method from a practical point of view, i.e., an algorithm capable of efficiently finding and proving optimal solutions to the problem, at least for medium-size instances.

  3. The immediate selection procedure was the first of the so-called edge-finding methods.

References

  • Agnetis, A., Flamini, M., Nicosia, G., & Pacifici, A. (2011). A job-shop problem with one additional resource type. Journal of Scheduling, 14(3), 225–237.

    Article  Google Scholar 

  • Applegate, D., & Cook, W. (1991). A computational study of the job-shop scheduling problem. ORSA Journal on Computing, 3, 149–156.

    Article  Google Scholar 

  • Artigues, C., & Feillet, D. (2008). A branch and bound method for the job-shop problem with sequence-dependent setup times. Annals of Operations Research, 159(1), 135–159.

    Article  Google Scholar 

  • Balas, E., Simonetti, N., & Vazacopoulos, A. (2008). Job shop scheduling with setup times, deadlines and precedence constraints. Journal of Scheduling, 11, 253–262.

    Article  Google Scholar 

  • Baptiste, P., Le Pape, C., & Nuijten, W. (2001). Constraint-based scheduling. Norwell: Kluwer Academic.

    Book  Google Scholar 

  • Beasley, J. E. (1990). Or-library: distributing test problems by electronic mail. Journal of the Operational Research Society, 41(11), 1069–1072. http://www.jstor.org/stable/2582903.

    Google Scholar 

  • Beck, J. C. (2007). Solution-guided multi-point constructive search for job shop scheduling. The Journal of Artificial Intelligence Research, 29, 49–77.

    Google Scholar 

  • Beck, J. C., & Fox, M. S. (2000). Dynamic problem structure analysis as a basis for constraint-directed scheduling heuristics. Artificial Intelligence, 117(1), 31–81.

    Article  Google Scholar 

  • Blazewicz, J., Domschke, W., & Pesch, E. (1996). The job shop scheduling problem: conventional and new solution techniques. European Journal of Operational Research, 93(1), 1–33.

    Article  Google Scholar 

  • Blazewicz, J., Pesch, E., & Sterna, M. (2000). The disjunctive graph machine representation of the job shop scheduling problem. European Journal of Operational Research, 127(2), 317–331.

    Article  Google Scholar 

  • Brinkkötter, W., & Brucker, P. (2001). Solving open benchmark instances for the job-shop problem by parallel heads and tails adjustments. Journal of Scheduling, 4(1), 53–64.

    Article  Google Scholar 

  • Brucker, P. (2004). Scheduling algorithms (4th ed.). Berlin: Springer.

    Book  Google Scholar 

  • Brucker, P., & Thiele, O. (1996). A branch and bound method for the general-job shop problem with sequence-dependent setup times. OR Spektrum, 18, 145–161.

    Article  Google Scholar 

  • Brucker, P., Jurisch, B., & Sievers, B. (1994a). A branch and bound algorithm for the job-shop scheduling problem. Discrete Applied Mathematics, 49, 107–127.

    Article  Google Scholar 

  • Brucker, P., Jurisch, B., & Sievers, B. (1994b). Source code of a branch & bound algorithm for the job shop scheduling problem. ftp://www.mathematik.uni-kl.de/pub/Math/ORSEP/BRUCKER2.ZIP.

  • Carlier, J. (1982). The one-machine sequencing problem. European Journal of Operational Research, 11, 42–47.

    Article  Google Scholar 

  • Carlier, J., & Pinson, E. (1989). An algorithm for solving the job-shop problem. Management Science, 35(2), 164–176.

    Article  Google Scholar 

  • Carlier, J., & Pinson, E. (1990). A practical use of Jackson’s preemptive schedule for solving the job shop problem. Annals of Operations Research, 26, 269–287.

    Google Scholar 

  • Dell’Amico, M., & Trubian, M. (1993). Applying tabu search to the job-shop scheduling problem. Annals of Operations Research, 41, 231–252.

    Article  Google Scholar 

  • Dorndorf, U., Pesch, E., & Phan-Huy, T. (2000). Constraint propagation techniques for the disjunctive scheduling problem. Artificial Intelligence, 122, 189–240.

    Article  Google Scholar 

  • Dorndorf, U., Pesch, E., & Phan-Huy, T. (2002). Constraint propagation and problem decomposition: a preprocessing procedure for the job shop problem. Annals of Operations Research, 115, 125–145.

    Article  Google Scholar 

  • Garcia, S., Fernández, A., Luengo, J., & Herrera, F. (2010). Advanced nonparametric tests for multiple comparisons in the design of experiments in computational intelligence and data mining: experimental analysis of power. Information Sciences, 180, 2044–2064.

    Article  Google Scholar 

  • Garey, M., & Johnson, D. (1979). Computers and intractability. New York: Freeman.

    Google Scholar 

  • Gharbi, A., & Labidi, M. (2010). Extending the single machine-based relaxation scheme for the job shop scheduling problem. Electronic Notes in Discrete Mathematics, 36, 1057–1064.

    Article  Google Scholar 

  • Giffler, B., & Thompson, G. L. (1960). Algorithms for solving production scheduling problems. Operations Research, 8, 487–503.

    Article  Google Scholar 

  • González, M. A., Vela, C. R., González-Rodríguez, I., & Varela, R. (2012). Lateness minimization with tabu search for job shop scheduling problem with sequence dependent setup times. Journal of Intelligent Manufacturing. doi:10.1007/s10845-011-0622-5.

    Google Scholar 

  • González-Rodríguez, I., Puente, J., Vela, C. R., & Varela, R. (2008). Semantics of schedules for the fuzzy job shop problem. IEEE Transactions on Systems, Man and Cybernetics. Part A. Systems and Humans, 38(3), 655–666.

    Article  Google Scholar 

  • González-Rodríguez, I., Vela, C. R., Puente, J., & Hernández-Arauzo, A. (2009). Improved local search for job shop scheduling with uncertain durations. In Proceedings of ICAPS 2009.

    Google Scholar 

  • Graham, R., Lawler, E., Lenstra, J., & Kan, A. (1979). Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5, 287–326.

    Article  Google Scholar 

  • Guyon, O., Lemaire, P., Pinson, E., & Rivreau, D. (2012). Solving an integrated job-shop problem with human resource constraints. Annals of Operations Research. doi:10.1007/s10479-012-1132-3. 1–25.

    Google Scholar 

  • Hart, P., Nilsson, N., & Raphael, B. (1968). A formal basis for the heuristic determination of minimum cost paths. IEEE Transactions on Systems Science and Cybernetics, 4(2), 100–107.

    Article  Google Scholar 

  • Harvey, W. D., & Ginsberg, M. L. (1995). Limited discrepancy search. In Proceedings of IJCAI 1995 (Vol. 1, pp. 607–615).

    Google Scholar 

  • Korf, R. E. (1985). Depth-first iterative-deepening: an optimal admissible tree search. Artificial Intelligence, 27, 97–109.

    Article  Google Scholar 

  • Laborie, P. (2003). Algorithms for propagating resource constraints in AI planning and scheduling: existing approaches and new results. Artificial Intelligence, 143(2), 151–188.

    Article  Google Scholar 

  • Martin, P., & Shmoys, D. B. (1996). A new approach to computing optimal schedules for the job-shop scheduling problem. In Proceedings of IPCO 1996 (pp. 389–403).

    Google Scholar 

  • Meeran, S., & Morshed, M. S. (2011). A hybrid genetic tabu search algorithm for solving job shop scheduling problems: a case study. Journal of Intelligent Manufacturing. doi:10.1007/s10845-011-0520-x.

    Google Scholar 

  • Mencía, C., Sierra, M. R., & Varela, R. (2010). Partially informed depth-first search for the job shop problem. In Proceedings of ICAPS 2010 (pp. 113–120).

    Google Scholar 

  • Mencía, R., Sierra, M. R., Mencía, C., & Varela, R. (2011). Genetic algorithm for job-shop scheduling with operators. In LNCS: Vol. 6687. New challenges on bioinspired applications (pp. 305–314).

    Chapter  Google Scholar 

  • Meseguer, P. (2012). Towards 40 years of constraint reasoning. Progress in Artificial Intelligence, 1(1), 25–43. doi:10.1007/s13748-011-0006-2. url:http://dx.doi.org/10.1007/s13748-011-0006-2.

    Article  Google Scholar 

  • Nilsson, N. (1980). Principles of artificial intelligence. Palo Alto: Tioga.

    Google Scholar 

  • Nowicki, E., & Smutnicki, C. (2005). An advanced tabu search algorithm for the job shop problem. Journal of Scheduling, 8(2), 145–159.

    Article  Google Scholar 

  • Pearl, J. (1984). Heuristics: intelligent search strategies for computer problem solving. Reading: Addison-Wesley.

    Google Scholar 

  • Petrovic, S., Fayad, C., Petrovic, D., Burke, E., & Kendall, G. (2008). Fuzzy job shop scheduling with lot-sizing. Annals of Operations Research, 159, 275–292.

    Article  Google Scholar 

  • Pinedo, M. (2008). Scheduling: theory, algorithms and systems (3rd ed.). Berlin: Springer.

    Google Scholar 

  • Roy, B., & Sussman, B. (1964). Les problemes d’ordonnancements avec contraintes disjonctives (Tech. Rep.). Notes DS No. 9 bis, SEMA, Paris.

  • Sierra, M. R., Mencía, C., & Varela, R. (2011). Optimally scheduling a job-shop with operators and total flow time minimization. In LNCS: Vol7023. Advances in artificial intelligence (pp. 193–202).

    Chapter  Google Scholar 

  • Smith, S. F., & Cheng, C. C. (1993). Slack-based heuristics for constraint satisfaction scheduling. In Proceedings of AAAI 1993 (pp. 139–144).

    Google Scholar 

  • Streeter, M. J., & Smith, S. F. (2006). Exploiting the power of local search in a branch and bound algorithm for job shop scheduling. In Proceedings of ICAPS 2006 (pp. 324–333).

    Google Scholar 

  • Streeter, M. J., & Smith, S. F. (2007). Using decision procedures efficiently for optimization. In Proceedings of ICAPS 2007 (pp. 312–319).

    Google Scholar 

  • Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64(2), 278–285.

    Article  Google Scholar 

  • Van Laarhoven, P., Aarts, E., & Lenstra, K. (1992). Job shop scheduling by simulated annealing. Operations Research, 40, 113–125.

    Article  Google Scholar 

  • Vela, C. R., Varela, R., & González, M. A. (2010). Local search and genetic algorithm for the job shop scheduling problem with sequence dependent setup times. Journal of Heuristics, 16(2), 139–165.

    Article  Google Scholar 

  • Watson, J. P., & Beck, J. C. (2008). A hybrid constraint programming/local search approach to the job-shop scheduling problem. In Proceedings of CPAIOR 2008 (pp. 263–277).

    Google Scholar 

  • Wu, T., Shi, L., & Duffie, N. (2010). An HNP-MP approach for the capacitated multi-item lot sizing problem with setup times. IEEE Transactions on Automation Science and Engineering, 7(3), 500–511. doi:10.1109/TASE.2009.2039134.

    Article  Google Scholar 

  • Wu, T., Shi, L., Geunes, J., & AkartunalI, K. (2011). An optimization framework for solving capacitated multi-level lot-sizing problems with backlogging. European Journal of Operational Research, 214(2), 428–441.

    Article  Google Scholar 

  • Yau, H., & Shi, L. (2009). Nested partitions for the large-scale extended job shop scheduling problem. Annals of Operations Research, 168(1), 23–39.

    Article  Google Scholar 

  • Zhang, C. Y., Li, P., Rao, Y., & Guan, Z. (2008). A very fast TS/SA algorithm for the job shop scheduling problem. Computers & Operations Research, 35, 282–294.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ramiro Varela.

Additional information

We wish to thank the anonymous reviewers for their useful comments for improving this paper. This research has been supported by the Spanish Government under research project FEDER TIN2010-20976-C02-02 and by the Principality of Asturias under grant FICYT-BP09105.

Appendices

Appendix A: Details of the expansion mechanism

Let us consider a feasible schedule S being compatible with the disjunctive arcs fixed in state n. Of course, S might be a schedule calculated by Algorithm 2. The solution graph G S has a critical path with critical blocks B 1,…,B k . For block \(B_{j} = (u_{1}^{j}, \dots, u_{m_{j}}^{j})\) the sets of operations

$$E_{j}^B = B_j \setminus \bigl\{u_1^j\bigr\} \quad \mbox{and} \quad E_{j}^A = B_j \setminus\bigl\{u_{m_j}^j\bigr\} $$

are called before-candidates and after-candidates respectively. For each before-candidate (after-candidate) a successor s of n is generated by moving the candidate before (after) its corresponding block. An operation \(l \in E_{j}^{B}\) is moved before B j by fixing the arcs {li; iB j ∖{l}}. Similarly, \(l \in E_{j}^{A}\) is moved after B j by fixing the arcs {il; iB j ∖{l}}.

This expansion strategy is complete as it guarantees that at least one optimal solution is contained in the search graph. However, it can be improved by fixing additional arcs in order to define a complete search tree. Let us consider a permutation (E 1,…,E 2k ) of all the sets \(E_{j}^{B}\) and \(E_{j}^{A}\). This permutation defines an ordering for successors generation. When a successor is created from a candidate E t , we can assume that all the solutions reachable from n by fixing the arcs corresponding to the candidates E 1,…,E t−1 will be explored from the successors associated to these candidates. So, for the successor state s generated from E t the following sets of disjunctive arcs can be fixed: \(F_{j} = \{u_{1}^{j} \rightarrow i;\ i=u_{2}^{j}, \dots, u_{m_{j}}^{j}\}\), for each \(E_{j}^{B} < E_{t}\) and \(L_{j} = \{i \rightarrow u_{m_{j}}^{j};\ i=u_{1}^{j}, \dots, u_{m_{j}-1}^{j}\}\), for each \(E_{j}^{A} < E_{t}\) in the permutation above. So the successors of a search tree node n generated from the permutation (E 1,…,E 2k ) are defined as follows. For each operation \(l \in E_{j}^{B}\), j=1…k, generate a candidate successor s by fixing the arcs \(\mathit{FD}_{s} = \mathit{FD}_{n} \cup S_{l}^{B}\), where

$$ S_l^B = \bigcup_{E_i^B < E_j^B}F_i \cup\bigcup_{E_i^A < E_j^B}L_i \cup \bigl \{l\rightarrow i: i \in B_j\backslash\{l\}\bigr\}. $$
(11)

And for each operation \(l \in E_{j}^{A}\) generate a search tree node s by fixing the arcs \(\mathit{FD}_{s} = \mathit{FD}_{n} \cup S_{l}^{A}\) with

$$ S_l^A = \bigcup_{E_i^B < E_j^A}F_i \cup\bigcup_{E_i^A < E_j^A}L_i \cup \bigl \{i\rightarrow l: i \in B_j\backslash\{l\}\bigr\}. $$
(12)

After fixing one of these sets of arcs to build a new successor n′ from a state n, heads and tails are calculated by the algorithm Computing new Heads and Tails as it is indicated in Sect. 4.1. To compute heads, the algorithm is applied from the start node following a topological ordering in G n (analogously for tails starting from node end backwards). If heads and tails get fixed for all operations, then n′ is a feasible search state, otherwise G n contains some cycle and so n′ is unfeasible.

For example, if we consider the search state of Fig. 2(a) the heuristic solution might be that of Fig. 1(b). Then, the first successor state would be that represented in Fig. 2(b).

Appendix B: Improving heads and tails

The algorithms to improve heads and tails proposed in Brucker et al. (1994a) are based on the following ideas. If (J,c) is primal pair, the operation c cannot start at a time lower than

$$ r_J = \max_{J' \subseteq J} \biggl\{ \min_{j \in J'}r_j + \sum_{j \in J'}p_j \biggr\}. $$
(13)

So, if r c <r J , we can set r c =r J and then the procedure Select fixes all the primal arcs {jc; jJ}. Analogously, if (c,J) is dual pair, q c cannot be lower than

$$ q_J = \max_{J' \subseteq J} \biggl\{ \sum _{j \in J'}p_j + \min_{j \in J'}q_j \biggr\}. $$
(14)

So, if q c <q J , we can set q c =q J and then the procedure Select fixes all the dual arcs {cj; jJ}.

In Brucker et al. (1994a) and Brucker (2004) an algorithm is given that computes all primal and dual arcs in polynomial time (O(|I|2)). This algorithm is based on other two algorithms for improving heads and tails from the current upper bound UB and then fixing additional arcs with the procedure Select.

To improve the head of an operation c, the idea is to compute a lower bound, s c , of the completion time of c in any solution that improves UB, under the assumption that preemption is allowed. Clearly, s c is also a lower bound for the completion of c in a non preemptive schedule, so r c may be improved to \(r'_{c} = s_{c} - p_{c}\). The algorithm for improving the head of an operation c is given in Algorithm 5. Analogously for improving tails.

Algorithm 5
figure 12

Improving Heads (upper bound UB)

Figure 8 shows the schedule built by the Algorithm 5 to improve the head of operation c=4 with UB=52 for the same instance as in Fig. 3. As we can observe, the lower bound obtained for the completion time of operation 4 is s 4=39, so \(r'_{4} = s_{4} - p_{4} = 39 - 5 = 34\). Therefore, after improving heads, the arc (5→4) gets fixed by the procedure Select, due to \(r'_{4} + p_{4} + p_{5} + q_{5} = 60 \geq52\). However, before improving heads that arc would not be fixed as r 4+p 4+p 5+q 5=42<52.

Fig. 8
figure 13

Calculation of earliest completion times s c to c=4

In (Brucker 2004) the following results on Algorithm Improving Heads are given.

Theorem 7

  1. (i)

    The schedule S calculated by Algorithm Improving Heads is a feasible preemptive schedule.

  2. (ii)

    Algorithm Improving Heads provides a lower bound for the completion time of operation c in a preemptive schedule under the assumption that preemption at integer times is allowed.

Theorem 8

Procedure Select calculates all primal and dual arcs associated with I if we replace the original r j -values and q j -values by the modified values obtained with the algorithms for improving heads and improving tails respectively.

Appendix C: Proof of Lemma 1

Lemma 1

Let n 1 and n 2 be two states fulfilling conditions (6) and (7). If the procedure Improving Heads is applied to n 1 and n 2 with tentative upper bounds P 1 and P 2P 1 respectively, and then new arcs are fixed by the procedure Select, previous conditions (6) and (7) hold.

Proof

Let S(n 1,P 1,r c (n 1)) be the preemptive schedule built by the algorithm Improving Heads when applied to the set of operations I that require the same machine as operation c, considering heads and tails in state n 1 and tentative upper bound P 1 (analogously S(n 2,P 2,r c (n 2))). And let \(s_{c}^{11}\) and \(s_{c}^{22}\) be the completion times of operation c in S(n 1,P 1,r c (n 1)) and S(n 2,P 2,r c (n 2)) respectively.

First of all, we have to clarify that if S(n 2,P 2,r c (n 2)) is feasible, then S(n 1,P 1,r c (n 1)) is feasible as well. This is true as condition (6) guarantees that any feasible preemptive schedule for the operations in I with heads and tails as they are in n 2 and tentative upper bound P 2 is a feasible preemptive schedule for the set I with heads and tails as they are in n 1 and tentative upper bound P 1. If S(n 2,P 2,r c (n 2)) is not feasible, then \(s_{c}^{22} = \infty\).

From now on, we consider that both S(n 1,P 1,r c (n 1)) and S(n 2,P 2,r c (n 2)) are feasible. In order to prove that \(s_{c}^{11} \leq s_{c}^{22}\) we can do the following reasoning. Let us consider the preemptive schedule S(n 2,P 1,r c (n 1)), i.e., a schedule built by Algorithm Immediate Selection with heads and tails as they are in n 2 and P 1, but considering the head of operation c as it is in n 1. Let \(s_{c}^{21}\) be the completion time of operation c in S(n 2,P 1,r c (n 1)).

On one hand, due to r i (n 1)≤r i (n 2) and q i (n 1)≤q i (n 2) it is clear that S(n 2,P 1,r c (n 1)) is a feasible preemptive schedule for the set I considering P 1 and the heads and tails as they are in n 1. So, from Theorem 7 it follows that \(s_{c}^{11} \leq s_{c}^{21}\) due to the fact that \(s_{c}^{11}\) is a lower bound for the completion time of operation c in a preemptive schedule for I in that context.

At the same time, if we compare the preemptive schedules S(n 2,P 1,r c (n 1)) and S(n 2,P 2,r c (n 2)) we can observe that they are the same up to the time r c (n 1). So, the remaining time units for all the operations after r c (n 1) are the same in both schedules, even though each one of these unit intervals is scheduled at a different time in each preemptive schedule.

Now, in order to prove that \(s_{c}^{21} \leq s_{c}^{22}\) we can use the following arguments: let x be a unit time interval of an operation u scheduled after r c (n 1), and tx 1 and tx 2 the times at which this unit interval is scheduled in S(n 2,P 1,r c (n 1)) and S(n 2,P 2,r c (n 2)) respectively. It is clear that tx 2tx 1 if u is an operation other than c, but tx 2tx 1 if u is c. In particular, this holds for the last unit interval of c, so \(s_{c}^{21} \leq s_{c}^{22}\).

Then \(s_{c}^{11} \leq s_{c}^{22}\) and \(r'_{c}(n_{1}) = s_{c}^{11} - p_{c} \leq s_{c}^{22} - p_{c} = r'_{c}(n_{2})\). So, after replacing all heads by the improved values we have r i (n 1)≤r i (n 2) for all i. As tails remain unchanged, condition (6) holds after the procedure Improving Heads. Condition (7) trivially holds as none of the graphs is modified by this procedure.

Now it is easy to see that both conditions hold after Procedure Select. Let (ij) be a disjunctive arc fixed in n 1, then r j (n 1)+p j +p i +q i (n 1)≥P 1 and trivially r j (n 2)+p j +p i +q i (n 2)≥P 2 due to r j (n 1)≤r j (n 2), q i (n 1)≤q i (n 2) and P 2P 1, so the arc (ij) is fixed in n 2 as well. □

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mencía, C., Sierra, M.R. & Varela, R. Depth-first heuristic search for the job shop scheduling problem. Ann Oper Res 206, 265–296 (2013). https://doi.org/10.1007/s10479-012-1296-x

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10479-012-1296-x

Keywords

Navigation