Skip to main content
Log in

The no-wait job shop with regular objective: a method based on optimal job insertion

  • Published:
Journal of Combinatorial Optimization Aims and scope Submit manuscript

Abstract

The no-wait job shop problem (NWJS-R) considered here is a version of the job shop scheduling problem where, for any two operations of a job, a fixed time lag between their starting times is prescribed. Also, sequence-dependent set-up times between consecutive operations on a machine can be present. The problem consists in finding a schedule that minimizes a general regular objective function. We study the so-called optimal job insertion problem in the NWJS-R and prove that this problem is solvable in polynomial time by a very efficient algorithm, generalizing a result we obtained in the case of a makespan objective. We then propose a large neighborhood local search method for the NWJS-R based on the optimal job insertion algorithm and present extensive numerical results that compare favorably with current benchmarks when available.

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
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

Download references

Acknowledgments

We gratefully acknowledge the constructive remarks of an anonymous referee which led to several improvements in the presentation. The first author also gratefully acknowledges the support of the Swiss National Science Foundation Grant P2FRP2_161720.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Reinhard Bürgy.

Appendix

Appendix

1.1 Implementation

A detailed implementation of the OJI-NWJS-R algorithm is given in Listing 1. The lines of the pseudo-code are numbered for reference in the following discussion.

figure a

Each iteration of the while loop (line 7) starts with the current insertion \(T=\{w_{K}^{p_{K}}:K\in \mathscr {J}^{-}\}\), of which in a first part (lines 8 to 19), the earliest starting times \(\alpha _{K}\), \(K\in \mathscr {J}\cup \tau \) and the objective value \(f(\alpha )\) are computed, and the best insertion \(T^{*}\) is possibly updated. Then, in a second part (lines 21 to 39), the insertion \(T^{\prime }\), maximal element of the lattice \(\mathscr {L}_{T}\) as defined in (16) is computed or \(\mathscr {L}_{T}=\emptyset \) is asserted (case opt=true). At completion of the iteration, \(T^{\prime }=\{w_{K}^{p_{K}^{\prime }}:K\in \mathscr {J}^{-}\}\).

We now prove Theorem 5 and determine the computational complexity of the implementation. We first remark on the calculation of the earliest starting times \(\alpha _{K}\), \(K\in \mathscr {J}\cup \tau \). For each \(K\in \mathscr {J}\cup \tau \), \(h_{K}\) is updated (and not recalculated according to (10) in each iteration), based on the observation that \(h_{K}\) is monotone non-decreasing in the sequence of the iterations (see Property (15)). Specifically, \(h_{K}\) in lines 12 and 14 is updated by considering its previous value and only those terms \(c_{JL}^{p_{L}}+l_{LK}\) that have (potentially) changed since the previous iteration, i.e. terms \(c_{JL}^{p_{L}}+l_{LK}\) for \(K\in \Delta \), where \(\Delta \) is computed in lines 41 to 45. It is then easy to show that the computational effort over all iterations is \(\mathscr {O}(n\cdot \sum q_{K})\) for calculating all \(\alpha _{K}\), \(K\in \mathscr {J}\cup \tau \), and \(\mathscr {O}(\eta \cdot \sum q_{K})\) for evaluating f. The overall complexity of the first part is then \(\mathscr {O}(\max \{n,\eta \}\cdot \sum q_{K})\).

The overall complexity \(\mathscr {O}(n\cdot \sum q_{K})\) of the second part is achieved by growing \(\Psi (Q_{T})\) with a scanning phase and maintaining \(T^{\prime }=\) \(\{w_{K}^{p_{K}^{\prime }}:K\in \mathscr {J}^{-}\}\) such that \(T^{\prime }\cap \Psi (Q_{T})=\emptyset \) and for each \(K\in \mathscr {J}^{-}\), \(w_{K}^{p_{K}^{\prime }}\in T\) or \(w_{K}^{p_{K}^{\prime }+1}\in \Psi (Q_{T})\). This part is very similar to the scanning phase implemented in Bürgy and Gröflin (2013) and we do not expand on its details for this reason. Also, its overall complexity of \(\mathscr {O}(n\cdot \sum _K q_{K})\) can be shown by replicating arguments used in Bürgy and Gröflin (2013).

Altogether, taking into account the all-pairs longest paths computations to determine the \(l_{KL}\) (line 2), \(K,L\in J^{+}\), the OJI-NWJS-R algorithm has \(O(n^{3},\max \{n,\eta \}\cdot \sum _K q_{K})\) running time.

1.2 Computational results

Detailed computational results are provided in Table 6 for OJIRLS1 with objectives (a) to (c), in Table 7 for OJIRLS2 with objectives (a) to (c), and in Table 8 for OJIRLS2 with objectives (d) to (g).

Table 6 Average results (over the 100 runs) of OJIRLS1 with objectives (a) to (c) and run time limits 60, 300, and 1800 s
Table 7 Average results (over the 100 runs) of OJIRLS2 with objectives (a) to (c) and run time limits 60, 300, and 1800 s
Table 8 Average results (over the 100 runs) of OJIRLS2 with objectives (d) to (g) and run time limits 60, 300, and 1800 s
Table 9 Average results of OJIRLS2 after 300 s (avg-300), and upper bounds (UB) and lower bound (LB) of the MIP approach for objectives (b), (c), and (e) to (g)

1.3 A mixed integer programming formulation

Based on the compact disjunctive graph formulation given in Sect. 2.3, the following mixed integer programming formulation can be derived.

Introduce for each job \(J\in \mathscr {J^+}\) variable \(\alpha _J\) indicating the starting time of job J, and let \(\alpha \) be the vector of these starting time variables. Let \(\mathscr {J}^{\text {pair}}\) be the set of all (unordered) pairs of distinct jobs \(\{J,K\}\in \mathscr {J}\times \mathscr {J}\). Then, for each pair \(\{J,K\}\in \mathscr {J}^{\text {pair}}\) and each \(p\in \{1,\ldots ,q_{JK}\}\) introduce a binary variable \(y^p_{JK}\) with the meaning that \(y^p_{JK}\) is 1 if J and K are positioned with respect to each other as specified in selection \(S^P_{[JK]}\), and 0 otherwise.

$$\begin{aligned} \text {Minimize }&f(\alpha ) \end{aligned}$$
(18)
$$\begin{aligned} \text {subject to}&\nonumber \\ \alpha _J - \alpha _{\sigma }&\ge c_{\sigma J} \text { for all } J\in \mathscr {J}, \end{aligned}$$
(19)
$$\begin{aligned} \alpha _{\tau } - \alpha _J&\ge c_{J\tau } \text { for all } J\in \mathscr {J},\end{aligned}$$
(20)
$$\begin{aligned} \alpha _{K} - \alpha _{J}&\ge \sum _{p=1}^{q_{JK}} c^p_{JK} * y^p_{JK} \text { and } \end{aligned}$$
(21)
$$\begin{aligned} \alpha _{J} - \alpha _{K}&\ge \sum _{p=1}^{q_{JK}} c^p_{KJ} * y^p_{JK} \text { for all } \{J,K\}\in \mathscr {J}^{\text {pair}}, \end{aligned}$$
(22)
$$\begin{aligned} \sum _{p=1}^{q_{JK}} y^p_{JK}&= 1 \text { for all } \{J,K\}\in \mathscr {J}^{\text {pair}},\end{aligned}$$
(23)
$$\begin{aligned} \alpha _{\sigma }&=0, \end{aligned}$$
(24)
$$\begin{aligned} y^p_{JK}&\in \{0,1\} \text { for all } \{J,K\}\in \mathscr {J}^{\text {pair}} \text { and } p\in \{1,\ldots ,q_{JK}\}. \end{aligned}$$
(25)

The parameters \(c_{\sigma J}\), \(c_{J\tau }\) and \(c^p_{JK} \) are specified in (2), (3), (4), and Proposition 1. For each pair of jobs, constraints (23) ensure that exactly one feasible way of positioning the two jobs with respect to each other is selected. Then, constraints (19) to (22) ensure that all precedence constraints corresponding to this selection are satisfied.

Table 9 provides detailed results on the application of this model to instances with objectives (b), (c) and (e) to (g), using the solver Gurobi 6.0.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bürgy, R., Gröflin, H. The no-wait job shop with regular objective: a method based on optimal job insertion. J Comb Optim 33, 977–1010 (2017). https://doi.org/10.1007/s10878-016-0020-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10878-016-0020-1

Keywords

Navigation