1 Introduction
1.1 Pliability
Problems | Traditional (non-pliability) models | Pliability models (this paper) | ||||||
---|---|---|---|---|---|---|---|---|
No pmtn | pmtn | Model (i): plbl | Model (ii): \(plbl(\underline{p})\) | Model (iii): \(plbl(\underline{p}_{ij},\overline{p}_{ij})\) | ||||
\(O2|\circ |C_{\max }\)
| O(n) | O(n) | O(n) | Theorem 5 | O(n) | Theorem 11 | O(n) | Theorem11 |
\(F2|\circ |C_{\max }\)
|
\(O(n\log n)\)
|
\(O(n\log n)\)
| O(n) | Theorem 5 | O(n) | Theorem 8 | NP-h\(^{\ddagger }\) | Theorem 10 |
\(Om|\circ |C_{\max }\)
| NP-h\(^{\ddagger }\) (\({\small m\ge 3}\)) |
\({O}(n^{2})\)
| O(n) | Theorem 5 | Open | NP-h\(^{\ddagger }\) (\({\small m\ge 3}\)) | Sect. 3.3 | |
\(Fm|\circ |C_{\max }\)
| sNP-h (\({\small m\ge 3}\)) | sNP-h (\({\small m\ge 3}\)) | O(n) | Theorem 5 | O(n) | Theorem 8 | sNP-h (\({\small m\ge 3}\)) | Sect. 3.3 |
\(O|\circ |C_{\max }\)
| sNP-h |
\({O}(n^{2}m^{2})\)
|
\({O}(n)^{*}\)
| Theorem 5 | Open | sNP-h | Sect. 3.3 | |
\(F|\circ |C_{\max }\)
| sNP-h (\({\small m\ge 3}\)) | sNP-h |
\({O}(n)^{*}\)
| Theorem 5 |
\({O}(n)^{*}\)
| Theorem 8 | sNP-h (\({\small m\ge 3}\)) | Sect. 3.3 |
\(O|\circ |L_{\max }\)
| sNP-h (\({\small m\ge 2}\)) | Linear programming |
\({O}(n\log n)^{*}\)
| Theorem 6 | Open | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 | |
\(F|\circ |L_{\max }\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) |
\({O}(n\log n+mn)\)
| Theorem 6 |
\({O}(n\log n+mn)\)
| Theorem 9 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
Problems | Traditional (non-pliability) models | Pliability models (this paper) | ||||||
---|---|---|---|---|---|---|---|---|
No pmtn | pmtn | Model (i): plbl | Model (ii): \(plbl(\underline{p})\) | Model (iii):\(plbl(\underline{p}_{ij},\overline{p}_{ij})\) | ||||
\(O|\circ |\sum C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | NP-h\(^{\ddagger }\) (\({\small m\ge 2}\)) |
\({O}(n\log n)^{*}\)
| Theorem 13 |
\({O}(n\log n)^{*}\)
| Theorem 15 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(F|\circ |\sum C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) |
\({O}(n\log n)^{*}\)
| Theorem 12 |
\({O}(n\log n)^{*}\)
| Theorem 14 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(Om|\circ |\sum w_{j}C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | NP-h\(^{\dagger }\) | Sect. 7.4 | NP-h\(^{\ddagger }\) | Sect. 7.4 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(Fm|\circ |\sum w_{j}C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | NP-h\(^{\dagger }\) | Sect. 7.4 | NP-h\(^{\ddagger }\) | Sect. 7.4 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(O|\circ |\sum w_{j}C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | sNP-h | Theorem 2 | sNP-h | Proposition 1 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(F|\circ |\sum w_{j}C_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | sNP-h | Theorem 2 | sNP-h | Proposition 1 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(Om|\circ |\sum U_{j}\)
| sNP-h (\({\small m\ge 2}\)) | NP-h (\({\small m\ge 2}\)) |
\(O\left( n^{3(m-1)}\right) \)
| Sect. 7.4 | open | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 | |
\(Fm|\circ |\sum U_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) |
\(O\left( n^{3(m-1)}\right) \)
| Sect. 7.4 |
\(O\left( n^{3(m-1)}\right) \)
| Sect. 7.4 | sNP-h (\({\small m\ge 2}\)) | Sect. 3.3 |
\(O|\circ |\sum U_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | NP-h\(^{\ddagger }\) | Theorem 2 | NP-h\(^{\ddagger }\) | Proposition 1 | sNP-h | Sect. 3.3 |
\(F|\circ |\sum U_{j}\)
| sNP-h (\({\small m\ge 2}\)) | sNP-h (\({\small m\ge 2}\)) | NP-h\(^{\ddagger }\) | Theorem 2 | NP-h\(^{\ddagger }\) | Proposition 1 | sNP-h | Sect. 3.3 |
1.2 Contributions
Problems | Complexity |
---|---|
\(O|plbl|f,O|plbl(\underline{p})|f\) for any regular objective f |
\(O(1)^{*}\)
|
\(F|plbl|C_{\max }\)
|
\(O(n)^{*}\)
|
F|plbl|f for any regular objective f |
\(O(n\log n)^{*}\)
|
\(F|plbl(\underline{p})|C_{\max }\)
|
\(O(n)^{*}\)
|
\(F|plbl(\underline{p})|L_{\max }\)
|
\(O(n\log n)^{*}\)
|
\(F|plbl(\underline{p})|\sum C_{j}\)
|
\(O(n\log n)^{*}\)
|
\(F|plbl(\underline{p})|\sum w_{j}C_{j}\)
|
\(O(n^{2})^{*}\)
|
\(F|plbl(\underline{p})|\sum U_{j}\)
|
\(O(n\log n)^{*}\)
|
\(F|plbl(\underline{p})|\sum T_{j}\)
|
\(O(n^{4} \sum p_{j})^{*}\)
|
2 Related work
-
In both models (a) and (b), it is usually assumed that machines operate in the flow shop manner. In comparison, the nature of the pliability model is rather general: it is relevant for any shop model, including flow shop and open shop, the two models considered in this paper. It can be also generalized for the job shop model, although this is beyond the scope of our paper.
-
All models, including the pliability one, deal with flexible allocation of operations or their parts. The level of flexibility is slightly different in the three models. In model (a), each flexible operation has to be allocated to one machine in full. In model (b), flexible operations can be split at any point of time (see Burdett and Kozan 2001). Still there is a limitation on the machine choice for the allocation: only an adjacent machine in the flow shop chain of machines can be selected. Additionally, for some operations on a given machine, it may only be allowed to share them with one of the two neighboring machines (either the previous or the next machine). In the pliability model, every machine must get at least the minimum workload associated with job j (namely, 0, \(\underline{p}\) or \(\underline{p}_{ij}\), depending on the model type), with full freedom for the distribution of the remaining workload.
-
In models (a) and (b), processing times \(p_{ij}\) are given for all operations; for the pliability model the total job lengths \(p_{j}\) are given and operations’ lower and upper bounds.
3 General properties and reductions
3.1 Unrestricted pliability
3.2 Restricted pliability with a common lower bound
3.2.1 The existence of an optimal permutation schedule for \(F|plbl(\underline{p})|f\)
3.2.2 A job disaggregation approach for problem \(F|plbl(\underline{p})|f\)
-
Instance \(I^e\) of type (ii) with processing times \(p_{j}^{e}=m\underline{p}\) for all jobs \(j\in J\) and with the same lower bound \(\underline{p}\) as in the original instance I,
-
Instance \(I^d\) of type (i) with processing times \(p_{j}^{d}=p_{j}-m\underline{p}\), for all jobs \(j \in J\), and zero lower bounds.
3.3 Restricted pliability with individual lower and upper bounds
4 Unrestricted pliability: Minmax objectives
4.1 Problems \(F|plbl|C_{\max }\) and \(O|plbl|C_{\max }\)
4.2 Problems \(F|plbl|L_{\max }\) and \(O|plbl|L_{\max }\)
5 Restricted pliability with a common lower bound: Minmax objectives
5.1 Problem \(F|plbl(\underline{p})|C_{\max }\)
5.2 Problem \(F|plbl(\underline{p})|L_{\max }\)
5.3 Problem \(O|plbl(\underline{p})|C_{\max }\)
Instance \(I_{1}\): \(m=3\), \(\underline{p}=2\) | |||||
---|---|---|---|---|---|
j
| 1 | 2 | 3 | 4 | 5 |
\(p_{j}\)
| 21 | 15 | 12 | 9 | 6 |
Instance \(I_{2}\): \(m=3\), \(\underline{p}=2\) | ||||||||
---|---|---|---|---|---|---|---|---|
j
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
\(p_{j}\)
| 21 | 6 | 6 | 6 | 6 | 6 | 6 | 6 |
Case | Conditions | Makespan |
---|---|---|
1 |
\(p_{1}+n\underline{p}\le \frac{p(\mathcal {J})}{m}+m\underline{p}\)
|
\(\frac{p(\mathcal {J})}{m}\)
|
2 |
\(m=2\)
|
\(\max \left\{ p_{1},\frac{p(\mathcal {J})}{m} \right\} \)
|
3 | \(m=3\),\(p_{1}=p_{2}\) |
\(\max \left\{ p_{1}, \frac{p(\mathcal {J})}{m}\right\} \)
|
4 | \(m=3\), \(p_{1}>p_{2}\) and \(p(\mathcal {J})\le 2p_{1}+p_{2}\) |
\(p_{1}\)
|
5 | \(m=3\), \(p_{1}>p_{2}\) and \(p(\mathcal {J})\ge 3p_{1}+p_{3}\) |
\(\frac{p(\mathcal {J})}{m}\)
|
6 Restricted pliability with individual lower and upper bounds: Makespan objective
6.1 Problem \(F2|{plbl(\underline{p}_{ij},\overline{p}_{ij} )}|C_{\max }\)
j
| 1 | 2 |
\(\cdots \)
|
n
|
\(n+1\)
|
---|---|---|---|---|---|
\(p_{j}\)
|
\(e_{1}\)
|
\(e_{2}\)
|
\(\cdots \)
|
\(e_{n}\)
| 2E |
\([\underline{a}_{j},\overline{a}_{j}]\)
|
\(\left[ 0,e_{1}\right] \)
|
\(\left[ 0,e_{2}\right] \)
|
\(\cdots \)
|
\(\left[ 0,e_{n}\right] \)
|
\(\left[ E,E\right] \)
|
\([\underline{b}_{j},\overline{b}_{j}]\)
|
\(\left[ 0,e_{1}\right] \)
|
\(\left[ 0,e_{2}\right] \)
|
\(\cdots \)
|
\(\left[ 0,e_{n}\right] \)
|
\(\left[ E,E\right] \)
|
6.2 Problem \(O2|{plbl(\underline{p}_{ij},\overline{p}_{ij})}|C_{\max }\)
Case | Conditions | Makespan |
---|---|---|
1 |
\(p_{1}\ge \frac{1}{2}p(\mathcal {J})\)
|
\(p_{1}\)
|
2 |
\(p_{1}\ge 4\underline{p}\)
|
\(\max \{p_{1},\frac{1}{2}p(\mathcal {J})\}\)
|
3 | \(p_{1}\ge 3\underline{p}\), \(p_{2}\ge 2\underline{p}\) |
\(\max \{p_{1} ,\frac{1}{2}p(\mathcal {J})\}\)
|
7 Unrestricted and restricted pliability: Minsum objectives
7.1 Problems \(F|plbl|\sum C_{j}\) and \(O|plbl|\sum C_{j}\)
7.2 Problem \(F|plbl(\underline{p})|\sum C_{j}\)
7.3 Problem \(O|plbl(\underline{p})|\sum C_{j}\)
\( \text {Job} j=qm+r\)
| Machine index for the k-th operation of job j | |||
---|---|---|---|---|
(even \({\small q}\)) |
\({\small k=1}\)
|
\({\small k=2}\)
|
\({\small \cdots }\)
|
\({\small k=m}\)
|
\({\small qm+0}\)
|
\({\small 1}\)
|
\({\small 2}\)
|
\({\small \cdots }\)
|
\({\small m}\)
|
\({\small qm+1}\)
|
\({\small m}\)
|
\({\small 1}\)
|
\({\small \cdots }\)
|
\({\small m-1}\)
|
\({\small qm+2}\)
|
\({\small m-1}\)
|
\({\small m}\)
|
\({\small \cdots }\)
|
\({\small m-2}\)
|
\({\small \vdots }\)
|
\({\small \vdots }\)
|
\({\small \vdots }\)
|
\({\small \ddots }\)
|
\({\small \vdots }\)
|
\({\small qm+(m-1)}\)
|
\({\small 2}\)
|
\({\small 3}\)
|
\({\small \cdots }\)
|
\({\small 1}\)
|
\(\text {Job} j=qm+r \)
| Machine index for the k-th operation of job j | |||
---|---|---|---|---|
(odd \({\small q}\)) |
\({\small k=1}\)
|
\({\small k=2}\)
|
\({\small \cdots }\)
|
\({\small k=m}\)
|
\({\small qm+0}\)
|
\({\small m}\)
|
\({\small m-1}\)
|
\({\small \cdots }\)
|
\({\small 1}\)
|
\({\small qm+1}\)
|
\({\small m-1}\)
|
\({\small m-2}\)
|
\({\small \cdots }\)
|
\({\small m}\)
|
\({\small qm+2}\)
|
\({\small m-2}\)
|
\({\small m-3}\)
|
\({\small \cdots }\)
|
\({\small m-1}\)
|
\({\small \vdots }\)
|
\({\small \vdots }\)
|
\({\small \vdots }\)
|
\({\small \ddots }\)
|
\({\small \vdots }\)
|
\({\small qm+(m-1)}\)
|
\({\small 1}\)
|
\({\small m}\)
|
\({\small \cdots }\)
|
\({\small 2}\)
|
7.4 Other minsum criteria
7.4.1 Weighted sum of completion times
7.4.2 The number of late jobs
7.4.3 Weighted number of late jobs, total tardiness and weighted total tardiness
8 Pliability problems with \(n<m\)
-
for \(f=C_{\max }\), any permutation provides the same value; namely \(C_{\max }=\max \{p_{j}|j\in \mathcal {J}\}+(n-1)\underline{p}\) for the pliability problem;
-
for \(f=\sum C_{j}\) the jobs can be sequenced in SPT order, so that for the pliability problem \(C_{j}=p_{j}+(j-1)\underline{p}\) for any \(j\in \mathcal {J}\);
-
for \(f=L_{\max }\), the jobs can be sequenced in EDD order; for the pliability problem this can be proved using adjacent swaps introduced in Lemma 1;
-
for \(f=\sum U_{j}\), Moore’s algorithm (1968) can be adjusted accordingly, without increasing its running time;
-
for \(f=\sum T_{j}\), the pseudopolynomial-time algorithm for \(1||\sum T_{j}\) can be adjusted as well, also without increasing its running time.