Shop scheduling problems with pliable jobs
 129 Downloads
Abstract
In this paper, we study a new type of flow shop and open shop models, which handle socalled “pliable” jobs: their total processing times are given, but individual processing times of operations which make up these jobs are flexible and need to be determined. Our analysis demonstrates that many versions of flow shop and open shop problems with pliable jobs appear to be computationally easier than their traditional counterparts, unless the jobs have jobdependent restrictions imposed on minimum and maximum operation lengths. In the latter case, most problems with pliability become NPhard even in the case of two machines.
Keywords
Scheduling Flow shop Open shop Identical parallel machines Preemption1 Introduction
In traditional flow shop and open shop models, n jobs of the set \({\mathcal {J}}=\left\{ 1,2,\ldots ,n\right\} \) are processed by m machines \(M_{i}\), \(1\le i\le m\). Each job j, \(1\le j\le n\), consists of m operations \(O_{ij}\), one operation on each machine \(M_{i}\), with processing times \(p_{ij}\), \(1\le i\le m\). A job cannot be processed by two machines at the same time and a machine cannot process two jobs simultaneously. In the flow shop model, all jobs have the same machine order, while in the open shop model the machine order is not fixed and can be chosen arbitrarily for each job. The goal is to select an order of operations on each machine and for open shops additionally the order of operations for each job, so that a given objective function f depending on job completion times is minimized.
Both models, flow shop and open shop, have a long history of study, see, e.g., Brucker (2007), Pinedo (2016). Over the last 60 years, the classical versions were extended to handle additional features of practical importance. The main extensions relevant for our study are processing with preemption and processing with lot splitting or lot streaming. In preemptive models, an operation can be cut into an arbitrary number of pieces which are then processed independently. In the models with lot splitting or lot streaming, operations can be divided into sublots, which can then be treated as new operations (cf. Kropp and Smunt 1990; Trietsch and Baker 1993; Chang and Chiu 2005). In the preemptive case, pieces of the same job processed by two machines cannot overlap in time, while in the case of lot splitting or lot streaming overlapping may happen if the pieces belong to different sublots.
Other concepts related to operation splitting and relocation, which have appeared more recently, deal with flexible operations and operation redistribution (cf. Gupta et al. 2004; Burdett and Kozan 2001, respectively). In the first model, jobs typically consist of more than m operations, some of which are fixed and have to be processed by dedicated machines while others are flexible and need to be assigned to one of the appropriate machines. In the second model, operation parts can be moved to neighboring machines if those machines are equipped to handle them.
1.1 Pliability
 (i)Unrestricted pliability means that we only have to fulfill$$\begin{aligned} 0\le x_{ij}\le p_{j},\quad 1\le i\le m,~~1\le j\le n. \end{aligned}$$
 (ii)Restricted pliability with a common lower bound means that the jobs need to be split complying with the restriction on a minimum length \(\underline{p}\) of any operation:Note that for a feasible instance we must have \(p_{j}\ge m\underline{p}\) for each job \(1\le j\le n\).$$\begin{aligned} \underline{p}\le x_{ij}\le p_{j},\quad 1\le i\le m,~~1\le j\le n. \end{aligned}$$
 (iii)Restricted pliability means that the jobs need to be split complying with individual lower and upper bounds \(\underline{p}_{ij}\), \(\overline{p}_{ij}\) given for all operations:Again, to assure feasibility we must have$$\begin{aligned} \underline{p}_{ij}\le x_{ij}\le \overline{p}_{ij},\quad 1\le i\le m,~~1\le j\le n. \end{aligned}$$$$\begin{aligned} \sum _{i=1}^{m}\underline{p}_{ij}\le p_{j}\le \sum _{i=1}^{m}\overline{p} _{ij}~~\mathrm {for~all~}j=1,\ldots ,n. \end{aligned}$$
Model (ii) is characterized by a limited level of job granularity defined by a common parameter \(\underline{p}\) for all jobs, while the limitations in model (iii) can be different for distinct jobmachine pairs. Clearly, model (i) is a special case of model (ii) with \(\underline{p}=0\), and model (ii) is a special case of model (iii) with \(\underline{p}_{ij}=\underline{p}\), \(\overline{p}_{ij}=p_{j}\). The classical flow shop and open shop problems are special cases of model (iii) with \(\underline{p}_{ij}=\overline{p}_{ij}=p_{ij}\) for all \(1\le i\le m\), \(1\le j\le n\).
Extending the \(\alpha \beta \gamma \)notation, we denote flow shop and open shop problems with unrestricted pliability of type (i) by \(Fplbl\gamma \) and \(Oplbl\gamma \). In the presence of additional restrictions of models (ii)–(iii), the given bounds are indicated in the second field as \(plbl(\underline{p})\) and \(plbl(\underline{p}_{ij},\overline{p}_{ij})\), respectively.
Open shop and flow shop problems with pliable jobs and minmax objectives, \(n \ge m\)
Problems  Traditional (nonpliability) 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  NPh\(^{\ddagger }\)  Theorem 10 
\(Om\circ C_{\max }\)  NPh\(^{\ddagger }\) (\({\small m\ge 3}\))  \({O}(n^{2})\)  O(n)  Theorem 5  Open  NPh\(^{\ddagger }\) (\({\small m\ge 3}\))  Sect. 3.3  
\(Fm\circ C_{\max }\)  sNPh (\({\small m\ge 3}\))  sNPh (\({\small m\ge 3}\))  O(n)  Theorem 5  O(n)  Theorem 8  sNPh (\({\small m\ge 3}\))  Sect. 3.3 
\(O\circ C_{\max }\)  sNPh  \({O}(n^{2}m^{2})\)  \({O}(n)^{*}\)  Theorem 5  Open  sNPh  Sect. 3.3  
\(F\circ C_{\max }\)  sNPh (\({\small m\ge 3}\))  sNPh  \({O}(n)^{*}\)  Theorem 5  \({O}(n)^{*}\)  Theorem 8  sNPh (\({\small m\ge 3}\))  Sect. 3.3 
\(O\circ L_{\max }\)  sNPh (\({\small m\ge 2}\))  Linear programming  \({O}(n\log n)^{*}\)  Theorem 6  Open  sNPh (\({\small m\ge 2}\))  Sect. 3.3  
\(F\circ L_{\max }\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  \({O}(n\log n+mn)\)  Theorem 6  \({O}(n\log n+mn)\)  Theorem 9  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
Open shop and flow shop problems with pliable jobs and minsum objectives, \(n \ge m\)
Problems  Traditional (nonpliability) 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}\)  sNPh (\({\small m\ge 2}\))  NPh\(^{\ddagger }\) (\({\small m\ge 2}\))  \({O}(n\log n)^{*}\)  Theorem 13  \({O}(n\log n)^{*}\)  Theorem 15  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(F\circ \sum C_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  \({O}(n\log n)^{*}\)  Theorem 12  \({O}(n\log n)^{*}\)  Theorem 14  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(Om\circ \sum w_{j}C_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  NPh\(^{\dagger }\)  Sect. 7.4  NPh\(^{\ddagger }\)  Sect. 7.4  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(Fm\circ \sum w_{j}C_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  NPh\(^{\dagger }\)  Sect. 7.4  NPh\(^{\ddagger }\)  Sect. 7.4  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(O\circ \sum w_{j}C_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  sNPh  Theorem 2  sNPh  Proposition 1  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(F\circ \sum w_{j}C_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  sNPh  Theorem 2  sNPh  Proposition 1  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(Om\circ \sum U_{j}\)  sNPh (\({\small m\ge 2}\))  NPh (\({\small m\ge 2}\))  \(O\left( n^{3(m1)}\right) \)  Sect. 7.4  open  sNPh (\({\small m\ge 2}\))  Sect. 3.3  
\(Fm\circ \sum U_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  \(O\left( n^{3(m1)}\right) \)  Sect. 7.4  \(O\left( n^{3(m1)}\right) \)  Sect. 7.4  sNPh (\({\small m\ge 2}\))  Sect. 3.3 
\(O\circ \sum U_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  NPh\(^{\ddagger }\)  Theorem 2  NPh\(^{\ddagger }\)  Proposition 1  sNPh  Sect. 3.3 
\(F\circ \sum U_{j}\)  sNPh (\({\small m\ge 2}\))  sNPh (\({\small m\ge 2}\))  NPh\(^{\ddagger }\)  Theorem 2  NPh\(^{\ddagger }\)  Proposition 1  sNPh  Sect. 3.3 
1.2 Contributions
Our main results include a study of general properties of pliability models, formulating a general methodology for handling them and using it to perform a thorough complexity classification of the models. Note that all results are derived under the assumption that the jobs are available simultaneously, at zero release times.
Open shop and flow shop problems with pliable jobs, \(n<m\) (results from Sect. 8)
Problems  Complexity 

\(Oplblf,Oplbl(\underline{p})f\) for any regular objective f  \(O(1)^{*}\) 
\(FplblC_{\max }\)  \(O(n)^{*}\) 
Fplblf for any regular objective f  \(O(n\log n)^{*}\) 
\(Fplbl(\underline{p})C_{\max }\)  \(O(n)^{*}\) 
\(Fplbl(\underline{p})L_{\max }\)  \(O(n\log n)^{*}\) 
\(Fplbl(\underline{p})\sum C_{j}\)  \(O(n\log n)^{*}\) 
\(Fplbl(\underline{p})\sum w_{j}C_{j}\)  \(O(n^{2})^{*}\) 
\(Fplbl(\underline{p})\sum U_{j}\)  \(O(n\log n)^{*}\) 
\(Fplbl(\underline{p})\sum T_{j}\)  \(O(n^{4} \sum p_{j})^{*}\) 
Note that the input for problems with pliability of type (i) and (ii) consists of O(n) entries, while the output consists of O(nm) entries if it is needed to produce a full characterization of a schedule, specifying starting/completion times of all operations. Whenever an optimal schedule has a special structure and it is possible to derive formulae for computing starting/completion times of individual operations, we list reduced time complexities in Tables 1, 2, 3, associated with finding characteristics of a single operation and for required auxiliary preprocessing. An additional term O(nm) has to be added if an optimal solution should be specified in full (see the entries in the table marked by an asterisk).
The remainder of the paper is organized as follows. In Sect. 2 we provide an overview of related models studied in the literature. General properties of flow shop and open shop models with pliability are discussed in Sect. 3. Our main focus is on the case where the number of jobs is not smaller than the number of machines, \(n\ge m\): pliability models with minmax objectives are discussed in Sects. 4, 5, and 6; results for models with minsum objectives are presented in Sect. 7. The situation \(n<m\) is discussed in Sect. 8. Concluding remarks are summarized in Sect. 9.
2 Related work
The study of shop scheduling models with pliability is motivated by scenarios where jobs are processed by machines of different types in a flow shop or open shop manner, and transition from one machine to another requires intermediate actions, which can be performed by either of two consecutive machines. Those actions may be related to quality control, preprocessing, postprocessing, or setup operations. Alternatively, operators specializing on serving particular machines may be able to perform not only the main operations they are trained for, but also additional operations on adjacent machines, thus reducing possible delays and idle times in the system. In manufacturing applications, not only the operators can be flexible, but machines as well if they are designed to perform operations of different types. Various examples of flexible machines, such as CNC machines and machines producing printed circuit boards, are reviewed by Crama and Gultekin (2010), and examples of flexible operations are presented in the context of assembly line scheduling, see, e.g., Ostolaza et al. (1990), McLain et al. (1992), Anuar and Bukchin (2006) and Askin and Chen (2006). Note that the nature of processing in assembly lines and in flow shops and open shops is quite different.
For the shop models we consider, the most relevant results are known in the area of flow shop scheduling, for (a) models with flexible operations and (b) models with operation redistribution. In the models of type (a), there are fixed operations processed by dedicated machines and flexible ones which can be processed (without preemption) by one of the two adjacent machines. In the models of type (b), any flexible operation can be preempted and parts of it can be relocated to an adjacent machine.

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.
The traditional, unsplittable flow shop problem (a) with flexible operations is NPhard for the makespan objective even in its simplest setting with \(m=2\) machines, see Gupta et al. (2004). It remains NPhard even if the job sequence is fixed (cf. Lin et al. 2016). Therefore, the study of models with flexible operations focuses on approximability results (Gupta et al. 2004), pseudopolynomialtime algorithms (Lin et al. 2016 ), construction heuristics and local search methods (RuizTorres et al. 2010, 2011). The models often incorporate special features such as limitations on the buffer capacities used for handling jobs inbetween the machines, requirements to optimize workstation utilization or throughput rate, etc. The main special case of the flexible model, for which efficient algorithms have been developed, is the one with identical jobs, see Crama and Gultekin (2010), Gultekin (2012).
Flow shop problems with redistribution are less studied (compared to the model with flexible operations), especially in terms of a complexity analysis. Burdett and Kozan (2001) consider several scenarios where adjacent machines can perform the same tasks and parts of an operation may be shifted to the upstream or downstream machine. Besides proposing a MILP formulation, heuristics are described and empirically evaluated. In Bultmann et al. (2018a), a very general framework for flexibility is introduced. Similar to the model with pliable jobs, the processing times of the operations are not fixed in advance, but lower and upper bounds on the processing times are specified for consecutive machines. A decomposition algorithm is proposed, using a local search procedure on the set of all permutations where optimal corresponding processing times are efficiently computed in a second step. In Bultmann et al. (2018b), a similar approach can be found for a synchronous flow shop environment with pliable jobs.
Our study continues the line of research on flow shop models with flexibility and relocation, and extends it also to open shop counterparts.
3 General properties and reductions
In this section, we explore the links between the pliability models and classical scheduling models: flow shop, open shop and singlestage scheduling with parallel machines. Furthermore, we establish some key properties of the pliability models and discuss their implications.
3.1 Unrestricted pliability
In order to address type (i) problems Oplblf and Fplblf, it is often useful to relax the requirement of dedicated machines typical for open shops and flow shops and to consider identical parallel machines instead. The pliability condition, that allows to determine the actual processing times of the operations, can then be interpreted as processing with preemption. The resulting problem is denoted by Ppmtnf, where P denotes “identical parallel machines” and pmtn denotes preemption. In this problem, jobs may be split into multiple parts and these job parts can be processed on different machines.
Clearly, if in a feasible schedule for problem Ppmtnf every machine processes exactly n job parts, one for each job, then that schedule also represents a feasible open shop schedule. Alternatively, if every machine processes each job at most once, then the schedule can be converted into a feasible open shop schedule by introducing zerolength operations for missing operations at the beginning of a schedule. We will call a schedule for problem Ppmtnf with exactly nm job parts, some of which may be of zero length, an “open shop type” schedule, or an Otype schedule for short.
In a “flow shop type” schedule, or an Ftype schedule for short, each machine processes exactly one part of each job, as in an Otype schedule; additionally jobs visit the machines in a flow shop manner, moving from machine \(M_{i}\) to \(M_{i+1}\), \(1\le i\le m1\). As for an Otype schedule, some of the nm operations may be of zero length. However, in Ftype schedules, those zerolength operations might appear in the middle of the schedule and zerolength operations which appear on a machine \(M_{i}\) with \(2\le i\le m\) cannot usually be moved to the beginning of the schedule instead. Therefore, as opposed to the open shop case, for Ftype schedules such zerolength operations may create idle times on upstream or downstream machines and have an impact on the completion time of the job they belong to.
In the case of permutation schedules, with all machines processing the jobs in the same order, the notion of an Ftype schedule coincides with the notion of a “Permutation Flow Shoplike schedule”, introduced by Prot et al. (2013).
Theorem 1
(Prot et al. 2013) For problem Ppmtnf with any nondecreasing objective function \(f\in \{ f_{\max },f_{\Sigma }\}\), there exists an optimal Ftype schedule.
Clearly, due to the inclosed structure of solution regions (3), an optimal schedule for problem Ppmtnf, which is of Ftype, is also an optimal schedule for problems Fplblf and Oplblf with pliable jobs. It follows that for problems Ppmtnf, Oplblf and Fplblf there exists a common optimal schedule and it is of Ftype. Thus the optimal objective values for these three problems are the same, and the following corollary holds.
Corollary 1
Any optimal schedule for problem Ppmtnf which is of Ftype is also optimal for problems Fplblf and Oplblf. Any optimal schedule for problem Fplblf or Oplblf is also optimal for problem Ppmtnf.
We use Corollary 1 in order to transfer complexity results from scheduling problems with parallel machines to shop scheduling with pliability.
Consider first the case when a particular version of problem Ppmtnf is NPhard. Then, the corresponding versions of Fplblf and Oplblf are also NPhard since otherwise, due to the second part of Corollary 1, a polynomialtime algorithm for Fplblf or Oplblf would also solve problem Ppmtnf in polynomial time. We combine this observation with the known NPhardness results for Ppmtnf (see Brucker 2007; Lawler et al. 1993).
Theorem 2
Problems F2plblf and O2plblf with \(f\in \{\sum w_{j}C_{j},\sum T_{j},\sum w_{j}U_{j}\}\) are NPhard in the ordinary sense, and they are NPhard in the strong sense if \(f=\sum w_{j}T_{j}\).
Problems Fplblf and Oplblf with \(f=\sum U_{j}\) are NPhard in the ordinary sense and they are NPhard in the strong sense if \(f=\sum w_{j}C_{j}\).
3.2 Restricted pliability with a common lower bound
In this section, we establish two important properties for the type (ii) flow shop model \(Fplbl(\underline{p})f\) with a common lower bound \(\underline{p}\) on operation lengths. Unfortunately these properties cannot be easily generalized to the open shop version of the problem, \(Oplbl(\underline{p} )f\). They also do not hold for the most general model of type (iii), where job splitting has to respect individual lower and upper bounds on operation lengths.
In Sect. 3.2.1, we prove that for problem \(Fplbl(\underline{p})f\) with an arbitrary (not necessarily nondecreasing) objective function f, there exists an optimal permutation schedule. Note that in Prot et al. (2013) Theorem 1 was proved for a more restricted type (i) problem (\(\underline{p}=0\)) with a nondecreasing objective function. Their technique cannot be reused for our proof, as it involves cutting jobs into arbitrarily small pieces.
In Sect. 3.2.2, we present the common methodology for solving problem \(Fplbl(\underline{p})f\) with \(f\in \{C_{\max },L_{\max },\sum C_{j}\}\) based on job disaggregation and decomposing the problem into two subproblems. The implementation details of that methodology are then elaborated in Sects. 5.1, 5.2 and 7.2.
3.2.1 The existence of an optimal permutation schedule for \(Fplbl(\underline{p})f\)
We start with an auxiliary property based on adjacent swaps. By that property, the order of any two adjacent jobs u and v in a permutation schedule can be reversed without making changes to the rest of the schedule. To achieve this, the operation lengths of jobs u and v may be redistributed, if necessary.
Lemma 1
Lemma 1 is illustrated in Fig. 1 and proved in Appendix 1. Note that the proof uses the property that there is a common lower bound \(\underline{p}_{ij}=\underline{p}\) for the operation lengths and that the remaining processing time \(p_{j}  m \underline{p}\) of a job j can be distributed among the operations without restrictions. This does not work for problem \(Fplbl(\underline{p}_{ij},\overline{p}_{ij})f\).
Theorem 3
Given an arbitrary schedule S for problem \(Fplbl(\underline{p})f\), there exists a permutation schedule \(S^{\prime }\) in which every job has the same completion time on machine \(M_{m}\) as in S.
Proof
The proof is done by induction on the number of machines m. For \(m=1\) the statement is obvious. Consider \(m\ge 2\), assuming that the statement of the theorem holds for \(m1\) machines.
Let S be a nonpermutation schedule on m machines. We split S into two subschedules \(S\left( M_{1},\ldots ,M_{m1}\right) \) and \(S\left( M_{m}\right) \) defined over the corresponding machine sets. For the instance of the problem defined by \(S\left( M_{1},\ldots ,M_{m1}\right) \), the induction hypothesis holds: there exists a permutation schedule \(S^{\prime }\left( M_{1},\ldots ,M_{m1}\right) \) such that each job has the same completion time on machine \(M_{m1}\) as in \(S\left( M_{1},\ldots ,M_{m1}\right) \).
Let \(\hat{S}\ \)be a complete schedule defined as a combination of \(S^{\prime }\left( M_{1},\ldots ,M_{m1}\right) \) with the final part \(S\left( M_{m}\right) \) of the original schedule S. Schedule \(\hat{S}\) is feasible, since by the induction hypothesis each job completes on machine \(M_{m1}\) at the same time in both schedules, \(S\left( M_{1},\ldots ,M_{m1}\right) \) and \(S^{\prime }\left( M_{1},\ldots ,M_{m1}\right) \).
If \(\hat{S}\) is a permutation schedule, then no further action is needed. Otherwise consider \(S^{\prime }\left( M_{1},\ldots ,M_{m1}\right) \) and apply a sequence of adjacent swaps, described in the proof of Lemma 1. The swaps eventually result in the same job order as in \(S\left( M_{m}\right) \). We demonstrate that each swap on the first \(m1\) machines does not cause conflicts with operations in \(S\left( M_{m}\right) \).
Assume u is sequenced immediately before v in \(S^{\prime }\left( M_{1},\ldots ,M_{m1}\right) \), but somewhere after v in \(S(M_{m})\). Then, by Lemma 1, after swapping u and v on the first \(m1\) machines, the completion time of job v on machine \(M_{m1}\) is at most as large as before, and hence job v is not postponed on \(M_{m}\). By the same lemma, the completion time of job u on \(M_{m1}\) remains no larger than the completion time of job v before the swap. This means that u finishes on \(M_{m1}\) before v starts on \(M_{m}\), and therefore before u starts on \(M_{m}\).
Performing at most \({O}(n^{2})\) swaps in the part \(S^{\prime }\left( M_{1},\ldots ,\right. \left. M_{m1}\right) \), we get a permutation schedule on m machines without changing the completion times on machine \(M_{m}\). \(\square \)
It is worth noting that in the proof of Theorem 3, the schedule transformations keep the operations on the last machine unchanged. This implies that an optimal permutation schedule exists for any objective function depending on job completion times, monotone or nonmonotone. Note also that Theorem 3 does not hold for the more general problem \(Fplbl(\underline{p}_{ij},\overline{p}_{ij})f\) since for the special case \(FC_{\max }\) with more than three machines there exist instances for which only nonpermutation schedules are optimal (see, e.g., Potts et al. 1991).
3.2.2 A job disaggregation approach for problem \(Fplbl(\underline{p})f\)
In this section, we introduce the disaggregation approach, which serves as a common methodology for solving problem \(Fplbl(\underline{p})f\) with \(f\in \{C_{\max },L_{\max },\sum C_{j}\}\). It provides the tool for constructing optimal schedules and for justifying their optimality. Problemspecific details on how the methodology can be implemented are presented in Sects. 5.1, 5.2 and 7.2.
The main idea is to define for an instance I of problem \(Fplbl(\underline{p})f\) two auxiliary instances by disaggregating the jobs into two parts: instance \(I^{e}\) of type (ii) with equal processing times and instance \(I^{d}\) of type (i) with diminished processing times. Optimal solutions to the two instances are then found and combined, delivering a solution to the initial problem.
Definition 1

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.
 (D1)
\(S^{d}\) and \(S^{e}\) are permutation schedules with the same job sequence \(\left( 1,2,\ldots ,n\right) \).
 (D2)
\(S^{e}\) has a staircase structure, uniquely defined by completion times \(C_{ij}^{e}=\left( i+j1\right) \underline{p}\) of its operations \(O_{ij}\). In that schedule, machine \(M_{i}\) is idle in the time interval \(\left[ 0,\left( i1\right) \underline{p}\right] \).
 (D3)
In \(S^{d}\), every machine operates without idle times from time 0 until all assigned operations are completed; some operations in \(S^{d}\) may be of zero length.
Theorem 4
Conversely, if in a permutation schedule S for instance I with the job order \(\left( 1,2,\ldots ,n\right) \) there are no idle times except for time intervals \(\left[ 0,\left( i1\right) \underline{p}\right] \) (as in Condition (D2) for schedule \(S^{e}\)), then S can be decomposed into two schedules \(S^{e}\) and \(S^{d}\) such that conditions (D1)(D3) and relation (5) holds.
Proof
Consider schedules \(S^{d}\), \(S^{e}\) and their disjunctive graph representation shown in Fig. 3. In that graph, nodes (i, j) correspond to operations \(O_{ij}\), \(1\le i\le m\), \(1\le j\le n\). The nodes are associated with weights:\(\ p_{ij}^{d}\) for the graph representing \(S^{d}\) and \(p_{ij}^{e}=\underline{p}\) for the graph representing \(S^{e}\). The length of a path in the graph is defined as the sum of weights of the nodes on the path. The completion time of any operation \(O_{ij}\) is calculated as the length of a longest path from the source node (1, 1) to node (i, j). Combining \(S^{d}\) and \(S^{e}\) implies increasing the weights of all nodes in the graph for \(S^{d}\) by the same amount \(\underline{p}\). Since any path from (1, 1) to (i, j) includes exactly \(i+j1\) nodes, the structure of a longest path does not change, and its length increases by \((i+j1)\underline{p}\), so that (5) holds for the aggregate schedule.
Similar arguments justify the reverse statement on decomposing S into \(S^{e}\) and \(S^{d}\). \(\square \)
3.3 Restricted pliability with individual lower and upper bounds
The following proposition establishes basic reductions for type (iii) problems.
Proposition 1
Here \(A\propto B\) indicates that problem A polynomially reduces to problem B, see Garey et al. (1976).
Reduction (6) follows from the fact that the pliability problem \(\alpha plbl(\underline{p}_{ij},\overline{p}_{ij})f\) with \(\underline{p}_{ij}=\overline{p}_{ij}\), \(1\le i\le m\), \(1\le j\le n\), coincides with the traditional flow shop problem (if \(\alpha =F\)) or open shop problem (if \(\alpha =O\)). The chain of reductions (7) reflects the fact that pliability model (i) is a special case of model (ii), which in its turn is a special case of model (iii).
Using (6), we can transfer all NPhardness results known for Ff and Of to the corresponding pliability problems of type (iii), concluding that problem \(O3plbl(\underline{p}_{ij},\overline{p}_{ij} )C_{\max }\) is NPhard in the ordinary sense, while problems \(F3plbl(\underline{p}_{ij},\overline{p}_{ij})C_{\max }\), \(Oplbl(\underline{p}_{ij},\overline{p}_{ij})C_{\max }\) and \(\alpha 2plbl(\underline{p}_{ij},\overline{p}_{ij})f\) with \(\alpha \in \left\{ F,O\right\} \) and \(f\in \left\{ L_{\max },\sum C_{j}\right\} \) are NPhard in the strong sense.
Similarly, using (7), we transfer the NPhardness results for \(f\in \{\sum w_{j}C_{j},\)\(\sum T_{j},\)\(\sum w_{j}T_{j},\)\(\sum U_{j},\)\(\sum w_{j}U_{j}\}\), discussed in Sect. 3.1 in relation to type (i) problems \(\alpha plblf\) to the pliability problems of types (ii) and (iii). Note that for the problems of type (iii) these results are dominated by those obtained through reduction (6).
4 Unrestricted pliability: Minmax objectives
In this section, we apply the methodology from Sect. 3.1 to develop efficient algorithms for problems \(Fplblf_{\max }\) and \(Oplblf_{\max }\) with unrestricted pliability. To this end, we consider the relaxed problem Ppmtnf and construct optimal F and Otype schedules for it.
4.1 Problems \(FplblC_{\max }\) and \(OplblC_{\max }\)
Theorem 5
Problems \(FplblC_{\max }\) and \(OplblC_{\max }\) are solvable in O(n) time.
4.2 Problems \(FplblL_{\max }\) and \(OplblL_{\max }\)
Consider the open shop problem \(OplblL_{\max }\) and its relaxed counterpart \(PpmtnL_{\max }\). Our approach to find an optimal Otype schedule for the latter problem consists of two stages. First calculate an optimal value \(L_{*}\) of the objective using, for example, the closed form expression for \(L_{*}\) from Baptiste (2000). That calculation requires \({O}(n\log n)\) time due to the sorting of the jobs. In the second stage, adjust the due dates to \(\overline{d}_{j}=d_{j}+L_{*}\), treat them as deadlines, and find a feasible schedule for \(Ppmtn,C_{j}\le \overline{d}_{j}\). The fastest algorithm is due to Sahni (1979); its time complexity is \({O}(n\log (nm))\) or \(O(n\log n)\) under our assumption \(n\ge m\). It is a property of Sahni’s algorithm that the resulting parallel machine schedule has at most one preemption per job, and a preempted job is not restarted on the same machine. Therefore, the schedule is of Otype, if zerolength operations are added at the beginning of the schedule.
Theorem 6
Problem \(OplblL_{\max }\) is solvable in \({O}(n\log n)\) time.
Consider now the flow shop problem \(FplblL_{\max }\), using again its relaxed counterpart \(PpmtnL_{\max }\). The approach discussed above for constructing an Otype schedule is no longer applicable, since Sahni’s algorithm used at the second stage does not guarantee that the resulting schedule is of Ftype. An alternative approach for solving the second stage problem is to apply the \({O}(n\log n+mn)\)time algorithm by Baptiste (2000), which does find an optimal schedule of Ftype, thus providing a solution to problem \(FplblL_{\max }\).
Theorem 7
Problem \(FplblL_{\max }\) is solvable in \({O}(n\log n+mn)\) time.
Interestingly, the term mn in the complexity estimate cannot be reduced, since there are instances which require \(\Omega (nm)\) nonzero operations in an optimal schedule. One such instance is presented in Appendix 2. Recall that for problem \(FplblC_{\max }\) with the makespan objective, there exists an optimal schedule with the total number of nonzero operations bounded by \(n+m1\), see Sect. 4.1.
5 Restricted pliability with a common lower bound: Minmax objectives
In this section, we apply the methodology of Sect. 3.2 to problems \(Fplbl(\underline{p})f_{\max }\) by solving the flow shop problems \(Fplblf_{\max }\). Furthermore, we discuss difficulties encountered for problem \(Oplbl(\underline{p})C_{\max }\).
5.1 Problem \(Fplbl(\underline{p})C_{\max }\)
By Theorem 3 we limit our consideration to the class of permutation schedules and use the disaggregation technique from Sect. 3.2 to construct an optimal schedule and to justify its optimality. Given an instance I of problem \(FplblC_{\max }\), introduce instances \(I^{d}\) and \(I^{e}\) as in Definition 1.
Following the approach from Sect. 4.1, construct an optimal schedule \(S_{*}^{d}\) by McNaughton’s wraparound algorithm, using an arbitrary job permutation. Note that, by construction, schedule \(S_{*}^{d}\) is of permutation type. The illustrative example presented in Fig. 2 satisfies this requirement. Without loss of generality, we assume that the jobs are sequenced in the order of their numbering, and the same job order is used in an optimal solution \(S_{*}^{e}\) to \(I^{e}\).
Consider the aggregate schedule \(S_{*}\), obtained as a merger of \(S_{*}^{d}\) and \(S_{*}^{e}\). Due to (9), \(S_{*}\) is an optimal schedule among all permutation schedules, and by Theorem 3 it is globally optimal among all schedules.
The most timeconsuming step in the described approach is the merger of \(S_{*}^{d}\) and \(S_{*}^{e}\). Its time complexity is O(nm), and it defines the overall time complexity for constructing a complete optimal schedule for \(Fplbl(\underline{p})C_{\max }\).
Following the ideas of a compact encoding of an optimal solution, known in the context of highmultiplicity scheduling problems (see, e.g., Brauner et al. 2005), we specify formulae for starting times of all operations, each of which can be computed in \(O(1)\ \)time, provided a special O(n) preprocessing is done.
At the preprocessing stage, the diminished instance \(I^{d}\) is analyzed and the calculations related to McNaughton’s wraparound algorithm are performed. The optimal schedule \(S_{*}^{d}\) can be specified by \(m1\) split jobs, which define three types of operations in \(S_{*}^{d}\): zerolength initial operations \(\mathcal {I}\), zerolength final operations \(\mathcal {F}\), and the remaining nonzero middle operations \(\mathcal {M}\) characterized by starting times \(t_{ij}(S_{*}^{d})\) and processing times \(p_{ij}(S_{*}^{d})\) for operations \(O_{ij}\).
Theorem 8
5.2 Problem \(Fplbl(\underline{p})L_{\max }\)
Now, we consider problem \(Fplbl(\underline{p})L_{\max }\). By Theorem 3, it is sufficient to consider permutation schedules. The following lemma justifies that we can fix the job sequence in accordance with the earliest due date order (EDD).
Lemma 2
For problem \(Fplbl(\underline{p})L_{\max }\), there exists an optimal permutation schedule with the jobs sequenced in the EDD order.
The lemma can be proved using pairwise interchange arguments by swapping adjacent jobs violating the EDD order and verifying that the \(L_{\max }\)value does not increase. Note that the swapping of adjacent jobs is always feasible, as established in Lemma 1.
An optimal Ftype schedule \(S^{d}\) with the EDD job sequence \(\left( 1,2,\ldots ,n\right) \) can be constructed by the algorithm from Baptiste (2000); see Sect. 4.2. Combining \(S^{d}\) (with the smallest possible value of \(L_{\max }\)) and \(S^{e}\) (with the same job sequence) delivers an optimal schedule S for the original instance I. The most timeconsuming step is the algorithm from Baptiste (2000), which takes \({O}(n\log n+mn)\) time, dominating the time needed to renumber the jobs in the EDD order and the time for combining the two schedules.
Theorem 9
Problem \(Fplbl(\underline{p})L_{\max }\) is solvable in \({O}(n\log n+mn)\) time.
Note that as opposed to Sect. 5.1, we cannot eliminate the term mn from the complexity estimate by introducing compact encoding. Indeed, even the easier problem \(FplblL_{\max }\) with unrestricted pliability, which needs to be solved as a subproblem, already requires \(O(n\log n + mn)\) time; see Sect. 4.2.
5.3 Problem \(Oplbl(\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 
Solvable cases of problem \(Oplbl(\underline{p})C_{\max }\)
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}\) 
Case 2 follows immediately from the more general result for problem \(O2plbl(\underline{p}_{ij},\overline{p}_{ij})C_{\max }\), which we present in Sect. 6.2.
The longest processing time order, assumed in Koulamas and Kyparisis (2015) for the whole set of jobs \(\mathcal {J}\), is not needed once the three longest jobs \(\left\{ 1,2,3\right\} \) are identified, so that the optimal schedules in Cases 35 can be found in O(n) time.
It is likely that the permutationlike property holds for the general case of problem \(Oplbl(\underline{p})C_{\max }\). An optimal job splitting may violate the equalsize property, with possibly unequal splitting of a job into m operations, as illustrated by the top schedule of Fig. 5. However, a proportionate open shop schedule, where jobs are split into equalsize operations, can be a good starting point for identifying the boundary jobs, processed at the beginning and at the end on each machine. The optimal operation lengths can then be found via linear programming. Unfortunately, we were unable to prove the correctness of the outlined approach and leave it for future research.
6 Restricted pliability with individual lower and upper bounds: Makespan objective
6.1 Problem \(F2{plbl(\underline{p}_{ij},\overline{p}_{ij} )}C_{\max }\)
We demonstrate that problem \(F2plbl(\underline{p}_{ij},\overline{p} _{ij})C_{\max }\) is NPhard and its special case with a fixed job order can be solved via linear programming. Interestingly, the counterpart of the problem with flexible operations is NPhard in both cases; see Gupta et al. (2004) and Lin et al. (2016).
Theorem 10
Problem \(F2{plbl(\underline{p}_{ij},\overline{p} _{ij})}C_{\max }\) is NPhard.
Proof
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] \) 
Notice that job \(n+1\) has a fixed splitting, with two operations of length E, and for any permutation schedule it partitions the remaining jobs into two subsets, jobs \(\mathcal {J}_{1}\) preceding \(n+1\) and jobs \(\mathcal {J}_{2}\) which follow it.
It is easy to verify that PARTITION has a solution if and only if a flow shop schedule of makespan \(C_{\max }=2E\) exists; see Fig. 6 for an illustration, where Aoperations of jobs \(\mathcal {J}_{1}\) and Boperations of jobs \(\mathcal {J}_{2}\) have 0 length. \(\square \)
The problem becomes solvable via linear programming if a job sequence is fixed, even in the case of more than two machines and for more general objective functions. For this, we need to extend the LP formulation (4) by Prot et al. (2013), adding box inequalities \(\underline{p} _{ij}\le x_{ij}\le \overline{p}_{ij}\) for all variables \(x_{ij}\).
6.2 Problem \(O2{plbl(\underline{p}_{ij},\overline{p}_{ij})}C_{\max }\)
Problem LP(B) is formulated similarly for the class of schedules with \(C_{\max }=\sum _{j\in \mathcal {J}}b_{j}\); it is also solvable in O(n) time.
 1.
Compute \(a_{*}=\sum _{j\in \mathcal {J}}\ell _{j}\), the smallest value of \(\sum _{j\in \mathcal {J}}a_{j}\).
 2.
If \(a_{*}\) satisfies both main conditions, i.e., \(p(\mathcal {J})p_{q}\le a_{*}\le p_{q}\), then stop: a feasible solution is found.
 3.
If \(a_{*}>p_{q}\), then stop: problem \(LP^{\prime }(q)\) is infeasible.
 4.If \(a_{*}<p(\mathcal {J})p_{q}\), then solve the LP problemand verify whether for the found solution the required condition \(\sum _{j\in \mathcal {J}}a_{j}\ge p(\mathcal {J})p_{q}\) is satisfied. Problem (20) is again the knapsack problem with continuous variables \(a_{j}\), \(j\in \mathcal {J}\), solvable in O(n) time.$$\begin{aligned} \begin{array} [c]{lll} \max &{} \sum \limits _{j\in \mathcal {J}}a_{j} &{} \\ \text {{s.t.}} &{} \sum \limits _{j\in \mathcal {J}}a_{j}\le p_{q}, &{} \\ &{} \ell _{j}\le a_{j}\le u_{j}, &{} j\in \mathcal {J}, \end{array} \end{aligned}$$(20)
Theorem 11
Problem \(O2{plbl(\underline{p}_{ij},\overline{p}_{ij} )}C_{\max }\) is solvable in O(n) time.
We conclude this section by reviewing the results for another related problem, namely the parallel machine problem with restricted preemption and the makespan objective studied by Ecker and Hirschberg (1993), Baranski (2011), and Pienkosz and Prus (2015). In that problem, job preemption may happen several times, but each job part has to be at least \(\underline{p}\) time units long, for some lower bound \(\underline{p}\). Notice that unlike the pliability problem \(Oplbl(\underline{p})C_{\max }\), it is not required that every job is split exactly into m pieces, one per machine.
Solvable cases of the parallel machine problem with \(m=2\) and restricted preemption
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
In this section, we consider pliability problems with minsum objectives, focusing on problems with unrestricted pliability and restricted pliability with a common lower bound p. The restricted problems of type (iii) are strongly NPhard since by Proposition 1 they are not easier than the related classical problems F2f and O2f, which are known to be strongly NPhard for all traditional minsum objectives \(f_{\Sigma }\); see Brucker (2007).
7.1 Problems \(Fplbl\sum C_{j}\) and \(Oplbl\sum C_{j}\)
As observed in Sect. 3.1, problem \(Fplbl\sum C_{j}\) can be solved in polynomial time via linear programming, considering a fixed sequence of job completion times corresponding to the shortest processing time (SPT) order; the optimality of that order for \(Ppmtn\sum C_{j}\) is stated, e.g., in Conway et al. (1967).
A faster algorithm is based on the approach which constructs an optimal Ftype schedule for problem \(Ppmtn\sum C_{j}\), formulated by Bruno and Gonzalez (1976) and Labetoulle et al. (1984) for the more general problem \(Qpmtn\sum C_{j}\), where machines have different processing speeds. The algorithm can be described as follows.
 1.
Construct an SPT schedule by assigning a shortest job to the earliest available machine, breaking ties arbitrarily.
 2.
Consider time intervals \(\mathcal {I}_{u}=\left[ C_{u1},C_{u}\right] \), \(1\le u\le n\), defined by the completion times \(C_{u}\) of the jobs; for completeness set \(C_{0}=0\). In each interval \(\mathcal {I}_{u}\), reallocate the job parts so that any machine \(M_{i}\), \(1\le i\le m\), processes the job with the index \(u+mi\) in that interval, if \(u+mi\le n\), and no job otherwise; see the bottom schedule in Fig. 7.
Theorem 12
An optimal schedule for problem \(Fplbl\sum C_j\) can be constructed in \({O}(n\log n+mn)\) time. It can be specified by formula (21), computable in O(1) time for each machineinterval pair (i, u), provided the \(O(n\log n)\) preprocessing is done and n intervals \(\mathcal {I}_{u}\), \(1\le u\le n\), are found using Step 1 of Algorithm FSum.
Consider now problem \(Oplbl\sum C_{j}\). The task of constructing an Otype schedule optimal for problem \(Ppmtn\sum C_{j}\) is a simpler task than constructing an Ftype schedule. It is sufficient to adjust an SPT schedule produced by Step 1 of Algorithm FSum by adding zerolength operations in the beginning of the schedule, so that every job has an operation on every machine.
Theorem 13
Problem \(Oplbl\sum C_{j}\) is solvable in \({O}(n\log n)\) time.
7.2 Problem \(Fplbl(\underline{p})\sum C_{j}\)
In order to solve problem \(Fplbl(\underline{p})\sum C_{j}\), we use the disaggregation methodology from Sect. 3.2.2, which results in two simplified instances: one instance of problem \(Fplbl\sum C_j\) with unrestricted pliability, which can be solved by the approach from the previous section, and one instance with equal processing times. Let the two instances be \(I^{d}\) and \(I^{e}\), as in Definition 1, and the corresponding schedules be \(S^{d}\) and \(S^{e}\). We assume that \(S^{d}\) and \(S^{e}\) satisfy conditions (D1)(D3) required for Theorem 4. Note that if (D3) is not satisfied for \(S^{d}\), i.e., if there are idle times on some machines, then they can be eliminated, without increasing job completion times, by leftshifting operations or by moving processing load to downstream machines.
Theorem 14
An optimal schedule for problem \(Fplbl(\underline{p} )\sum C_j\) can be constructed in \({O}(n\log n+mn)\) time by defining the lengths of \(\left( m1\right) +n\) intervals and mn operations allocated to them. It can be specified by formula (22), computable in O(1) time for each machineinterval pair (i, v), provided the \(O(n\log n)\) preprocessing is done and n intervals \(\mathcal {I}_{u}\), \(1\le u\le n\), are found using Step 1 of Algorithm FSum.
7.3 Problem \(Oplbl(\underline{p})\sum C_{j}\)
We find an optimal schedule for problem \(Oplbl(\underline{p})\sum C_{j}\) by constructing a common optimal schedule for problems \(P\sum C_{j}\) and \(Ppmtn\sum C_{j}\) and reorganizing its structure in order to achieve a solution of Otype.
Construct an SPT schedule by assigning a shortest job to the earliest available machine; see the top schedule in Fig. 8. In what follows, we assume that the jobs are renumbered in SPT order, and the job numbering is from 0 up to \(n1\) (in order to improve readability of the formulae for an optimal schedule).
In order to produce a feasible Otype schedule with m operations per job, each of length no less than \(\underline{p}\), we adopt a twostage approach: first redistribute the jobs within every section q, \(0\le q\le Q1\); next redistribute the jobs inbetween the sections. Stage 1 ensures that every machine gets one operation of every job of length \(\underline{p}\); Stage 2 places a nonzero operation of a job from inbetween two sections next to the \(\underline{p}\)operation of the same job and combines them into one operation, see Fig. 8 for an illustration.
\( \text {Job} j=qm+r\)  Machine index for the kth 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 m1}\) 
\({\small qm+2}\)  \({\small m1}\)  \({\small m}\)  \({\small \cdots }\)  \({\small m2}\) 
\({\small \vdots }\)  \({\small \vdots }\)  \({\small \vdots }\)  \({\small \ddots }\)  \({\small \vdots }\) 
\({\small qm+(m1)}\)  \({\small 2}\)  \({\small 3}\)  \({\small \cdots }\)  \({\small 1}\) 
\(\text {Job} j=qm+r \)  Machine index for the kth operation of job j  

(odd \({\small q}\))  \({\small k=1}\)  \({\small k=2}\)  \({\small \cdots }\)  \({\small k=m}\) 
\({\small qm+0}\)  \({\small m}\)  \({\small m1}\)  \({\small \cdots }\)  \({\small 1}\) 
\({\small qm+1}\)  \({\small m1}\)  \({\small m2}\)  \({\small \cdots }\)  \({\small m}\) 
\({\small qm+2}\)  \({\small m2}\)  \({\small m3}\)  \({\small \cdots }\)  \({\small m1}\) 
\({\small \vdots }\)  \({\small \vdots }\)  \({\small \vdots }\)  \({\small \ddots }\)  \({\small \vdots }\) 
\({\small qm+(m1)}\)  \({\small 1}\)  \({\small m}\)  \({\small \cdots }\)  \({\small 2}\) 
After Stage 1, the following property holds for any pair of jobs \(j \in \mathcal {J}_{q}\) and \(j+m \in \mathcal {J}_{q+1}\), which were adjacent in the initial schedule: the last \(\underline{p}\)operation of j in section q and the first \(\underline{p}\)operation of \(j+m\) in the next section are assigned to the same machine (compare the last column of the top table with the first column of the bottom one). Due to this, at Stage 2 we can rearrange the job parts inbetween the sections while keeping j and \(j+m\) adjacent: the last part of job j is placed on the same machine as the last \(\underline{p}\)operation of that job in section q, and the two operations are merged; the first part of \(j+m\) is placed on the same machine as the first \(\underline{p}\)operation of that job in the section \(q+1\), and the two operations are also merged; see the bottom schedule in Fig. 8. Thus, we create a schedule with exactly m operations per job, the \(m2\) middle operations are of minimum length \(\underline{p}\) while the first and last operation of each job may be larger.
 (a)
all intermediate operations of any job j, corresponding to position \(2\le k\le m1\), have the common length \(\underline{p}\);
 (b)
all first operations of section \(q=0\) have the common length \(\underline{p}\);
 (c)
for any job \(j=qm+r\) processed in position \(k=1\) in section q, \(1\le q\le Q1\), its first operation is merged with the part of that job positioned just before section q; the combined length is \(C_{qm1} C_{jm}+\underline{p}\), where \(C_{qm1}\) is the starting point of section q and \(C_{jm}\) is the completion time of the job \(jm\) which precedes job j in the initial schedule;
 (d)
for any job \(j=qm+r\) processed in position \(k=m\) in section q, \(0\le q\le Q1\), its last operation is merged with the part of that job positioned just after section q; their combined length is \(C_{j}\left( C_{qm1}+m\underline{p}\right) +\underline{p}\), where \(C_{j}\) is the completion time of the last part of job j in the initial schedule and \(\left( C_{qm1}+m\underline{p}\right) \) is the end point of section q (assuming \(C_{1}=0\) for completeness).
The described approach finds an optimal open shop schedule, since the job completion times in it are the same as in an optimal schedule for problem \(Ppmtn\sum C_{j}\). If \(n\ne Qm\) and auxiliary jobs of maximum length have been added initially, we can assume without loss of generality that they are the last \(\Gamma \) jobs to finish processing, for some \(\Gamma <m\). Their removal from the final schedule keeps completion times of the remaining jobs equal to their competition times in an optimal schedule to \(Ppmtn\sum C_{j}\).
Theorem 15
An optimal schedule for problem \(Oplbl(\underline{p} )\sum C_{j}\) can be constructed in \({O}(n\log n+mn)\) time by constructing an SPT schedule for \(P\sum C_{j}\), splitting it into \(Q=\left\lceil n/m\right\rceil \) sections and rearranging nm operations. It can be specified by formula (23), which defines the machine number for the kth operation of job j, and rules (a)(d) for operation lengths, each computable in O(1) time, provided the \(O(n\log n)\) preprocessing related to SPT scheduling is done.
7.4 Other minsum criteria
In this section, we give a brief overview of other traditional minsum criteria \(f\in \left\{ \sum w_{j}C_{j},\sum U_{j},\sum w_{j}U_{j},\sum T_{j},\right. \left. \sum w_{j}T_{j}\right\} \).
7.4.1 Weighted sum of completion times
By Theorem 2, problems \(\alpha 2plbl\sum w_{j}C_{j}\), are NPhard and problems \(\alpha plbl\sum w_{j}C_{j}\) are strongly NPhard for \(\alpha \in \left\{ F,O\right\} \).
Problem \(Omplbl\sum w_{j}C_{j}\) can be solved in \({O}(mn\left( \sum p_{j}\right) ^{m1})\) time by adopting the algorithm due to Lawler et al. (1993) developed for \(Pm\sum w_{j}C_{j}\) and adding zerolength operations in the beginning of the schedule. Note that the same schedule is optimal for \(Pm\sum w_{j}C_{j}\) and \(Pmpmtn\sum w_{j}C_{j}\).
In the case of the open shop, the approach from Sect. 7.3 cannot be generalized since an optimal schedule for problem \(Pmpmtn\sum w_{j}C_{j}\) does not necessarily have time intervals of length \(m\underline{p} \) where exactly m jobs are scheduled.
7.4.2 The number of late jobs
By Theorem 2, problems \(Oplbl\sum U_{j}\) and \(Fplbl\sum U_{j}\) are NPhard. It is an open question whether these problems are solvable in pseudopolynomial time. Notice that this question is also open for \(Ppmtn\sum U_{j}\). In what follows we consider the versions of the above problems with a fixed number of machines.
Problem \(Omplbl\sum U_{j}\) can be solved in \({O}(n^{3(m1)})\) time by adopting the algorithm due to Lawler et al. (1993) developed for \(Pmpmtn\sum U_{j}\) and adding zerolength operations in the beginning of the schedule.
For problem \(Fmplbl\sum U_{j}\), by Theorem 1, an optimal solution can be found in the class of Ftype schedules for \(Pmpmtn\sum U_{j}\). For the latter problem, there exists an optimal schedule in which all ontime jobs are processed before the late jobs. Thus, we can use an optimal solution to \(Pmpmtn\sum U_{j}\) in order to define the largest set \(\mathcal {J}_{1}\subseteq \mathcal {J}\) of ontime jobs. For scheduling them in the flow shop manner, introduce an auxiliary problem \(FmplblL_{\max }\) defined on the set of jobs \(\mathcal {J}_{1}\). It can be solved in \(O(mn+n\log n)\) time, as discussed in Sect. 4.2. Adding the jobs \(\mathcal {J}\setminus \mathcal {J}_{1}\) at the end of the schedule provides a solution to the original problem \(Fmplbl\sum U_{j}\). Combining \({O}(n^{3(m1)})\) and \(O(mn+n\log n)\), we conclude that the overall time complexity is \({O}(n^{3(m1)})\), assuming \(m\ge 2\) and \(n\ge m\).
Next we consider the pliability problem \(Fmplbl(\underline{p})\sum U_{j}\). Note that the open shop problem \(Omplbl(\underline{p})\sum U_{j}\) is left open since it causes difficulties similar to the easier problem \(Omplbl(\underline{p})C_{\max }\) with the makespan objective. Our approach is based on the following two properties, which hold even for the NPhard problem \(Fplbl(\underline{p})\sum U_j\) with an arbitrary number of machines.
Property 1
For problem \(Fplbl(\underline{p})\sum U_{j}\), there exists an optimal permutation schedule with ontime jobs scheduled in nondecreasing order of due dates, followed by all late jobs.
Property 2
Let I be an instance of problem \(Fplbl(\underline{p})\sum U_{j}\) and let \(I^{d}\) be the diminished instance as in Definition 1. Then, given a subset \(\mathcal {J}_{1} \subseteq \mathcal {J}\), there exists a schedule S for instance I in which all jobs of set \(\mathcal {J}_{1}\) are on time, if and only if there exists a schedule \(S^{d}\) for instance \(I^{d}\) in which all jobs of the set \(\mathcal {J}_{1}\) are on time.
Note that the first property can be proved by pairwise interchange arguments using adjacent swaps, as in Lemma 1. The second property can be proved by considering the \(L_{\max }\)equivalents of the two problems in question.
 1.
Construct the diminished instance \(I^{d}\) for problem \(Fmplbl(\underline{p})\sum U_{j}\) and find the largest set \(\mathcal {J} _{1}\subseteq \mathcal {J}\) of ontime jobs using the \({O}(n^{3(m1)})\)time approach described in the beginning of this section.
 2.
Solve problem \(Fmplbl(\underline{p})L_{\max }\) defined on the set of jobs \(\mathcal {J}_{1}\), using the \(O(mn+n\log n)\)time approach from Sect. 5.2. Adding the jobs \(\mathcal {J}\setminus \mathcal {J}_{1}\) at the end of the schedule provides a solution to the original problem \(Fmplbl(\underline{p})\sum U_{j}\).
7.4.3 Weighted number of late jobs, total tardiness and weighted total tardiness
By Theorem 2, problems \(\alpha 2plbl\sum T_{j}\) and \(\alpha 2plbl\sum w_{j}U_{j}\) are NPhard in the ordinary sense and problems \(\alpha 2plbl\sum w_{j}T_{j}\) are strongly NPhard for \(\alpha \in \{F,O\}\).
Problem \(Omplbl\sum w_{j}U_{j}\) can be solved in \(O\left( n^{3m5}\left( \sum w_{i}\right) ^{2}\right) \) time for \(m\ge 3\) and in \(O\left( n^{2}\left( \sum w_{i}\right) ^{{}}\right) \) time for \(m=2\) by adopting the algorithms due to Lawler and Martel (1989) and Lawler et al. (1993) developed for \(Pmpmtn\sum w_{j}U_{j}\) and adding zerolength operations in the beginning of the schedule.
For problems \(Fmplbl\sum w_{j}U_{j}\) and \(Fmplbl(\underline{p})\sum w_{j}U_{j}\) we can use the same idea as in the previous section: first solve the related parallel machine problem to find out an optimal set \(\mathcal {J} _{1}\) of ontime jobs (after creating the diminished instance in the case of problem \(Fmplbl(\underline{p})\sum w_{j}U_{j}\)), then solve problem \(FmplblL_{\max }\) or \(Fmplbl(\underline{p})L_{\max }\), respectively, for the job set \(\mathcal {J}_{1}\) to obtain a schedule in which all jobs of set \(\mathcal {J}_{1}\) are on time. Finally, add the late jobs at the end of the schedule. Thus, problems \(Fmplbl\sum w_{j}U_{j}\) and \(Fmplbl(\underline{p} )\sum w_{j}U_{j}\) are pseudopolynomially solvable with the same time complexity as problem \(Pmpmtn\sum w_{j}U_{j}\).
It is an open question whether problems \(O2plbl\sum T_{j}\) and \(F2plbl\sum T_{j}\) are solvable in pseudopolynomial time. Notice that this question is also open for \(P2pmtn\sum T_{j}\).
8 Pliability problems with \(n<m\)
If the number of jobs is smaller than the number of machines, \(n<m\), an optimal schedule for a pliability problem with unrestricted pliability or restricted pliability with a common lower bound exhibits a more regular structure than in the case \(n\ge m\). Note that for the flow shop problem Theorem 3 still holds, and we can limit our consideration to permutation schedules. If we limit our consideration to a specific permutation \(\pi \), we add that restriction in the second field of the problem notation.
Theorem 16
Proof

for \(f=C_{\max }\), any permutation provides the same value; namely \(C_{\max }=\max \{p_{j}j\in \mathcal {J}\}+(n1)\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}+(j1)\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 pseudopolynomialtime algorithm for \(1\sum T_{j}\) can be adjusted as well, also without increasing its running time.
Property 3
Given a schedule, we define concepts of a newmax job and a segment. A newmax job is a job with a processing time which exceeds the processing times of all its predecessors in the schedule. A segment starts with a newmax job and it includes all subsequent jobs, with processing times no larger than that of the newmax job.
Property 4
An optimal schedule for problem \(Fn<m,plbl(\underline{p} )\sum w_{j}C_{j}\) consists of segments, in which all jobs are sequenced in nonincreasing order of their \(w_{j}\)values.
The algorithm, which follows the ideas from Shakhlevich et al. (1998), is as follows.
 1.
Renumber the jobs so that \(w_{1}\ge w_{2}\ge \cdots \ge w_{n}\). Break ties in favor of a job with a smaller processing time.
 2.
Set the initial sequence consisting of job 1 as \(\sigma _{1}=\left( 1\right) \).
 3.For \(j=2\) to n
 (a)
Produce sequence \(\sigma _{j}\) consisting of jobs \(1,2,\ldots ,j\) as the best outcome of inserting j into \(\sigma _{j1}\). If there are several insertion possibilities with the same outcome, choose the one with the latest insertion position of j.
 (a)
9 Conclusions
In this paper, we studied general properties of pliability models and performed a thorough complexity classification of flow shop and open shop problems with pliable jobs.
Comparing open shop and flow shop models, we cannot draw a single conclusion: in many cases, the two counterparts have the same time complexity. For the unrestricted model with \(f=L_{\max }\), we have a faster algorithm for the open shop problem; for the models with a common lower bound and \(f\in \{C_{\max },L_{\max }\}\), the flow shop problems are polynomially solvable, but the complexity status of the open shop counterparts is left as an open question. For the restricted case and \(f=C_{\max }\), the flow shop problem with two machines is NPhard, while the open shop problem is solvable in O(n) time.
Under the assumption \(n<m\), several type (i) and type (ii) problems become tractable. For the open shop problem of type (i) and (ii), a common schedule is optimal for any regular criterion. The same is true for the flow shop problem of type (i). The flow shop problem of type (ii) reduces to finding an optimal job permutation and becomes similar to its singlemachine counterpart. Whenever a job permutation is found, the characteristics of an optimal schedule can be found by using O(1) formulae.
In the situation \(n\ge m\), the problems of type (i) and (ii) appear to be no harder than their flow shop and open shop counterparts, with or without preemption, and are often solvable by faster algorithms than the traditional problems. Exceptions are problems \(Oplbl(\underline{p})C_{\max }\) and \(Oplbl(\underline{p})L_{\max }\): the complexity status of both problems remains open. On the other hand, problems of type (iii) are no easier than their traditional counterparts. In particular, for \(F2\circ C_{\max }\), the pliability version is NPhard, while its classical counterpart is solvable in \({O}(n\log n)\) time (Johnson 1954).
Having studied basic models with pliability, we propose the following directions for further research. Type (ii) and type (iii) models handle scenarios with restrictions on operation lengths: there can be a common lower bound \(\underline{p}\) for all jobs, or the lower bounds \(\underline{p}_{ij}\) can be individual for all jobmachine pairs. The intermediate cases, lying inbetween type (ii) and type (iii) models, are jobdependent lower bounds \(\underline{p}_{ij}=\underline{p}_{j}\) or machinedependent lower bounds \(\underline{p}_{ij}=\underline{p}_{i}\). Our study already provides some initial results, in particular those presented in Sects. 5.1, 6.1, 6.2: the approach from Sect. 5.1 can be generalized for solving \(F2plbl(\underline{p}_{ij}=\underline{p}_{i})C_{\max }\), the NPhardness proof from Sect. 6.1 is applicable for problem \(F2plbl(\underline{p}_{ij}=\underline{p}_{j})C_{\max }\), and the algorithm from Sect. 6.2 solves efficiently the most general open shop problem of type (iii). Other versions require further analysis.
Another type of pliability can be defined in terms of the deviation from “ideal” operation lengths \(p_{ij}^{0}\). In such models actual processing times \(p_{ij}\) have to be selected from intervals \(\left[ p_{ij}^{0}\Delta ,~p_{ij}^{0}+\Delta \right] \) with some given parameter \(\Delta \). Whenever an actual processing time exceeds its ideal value, \(p_{ij}>p_{ij}^{0}\), a cost may be incurred associated with additional power or other resources for extrawork, allocated to the machine above the expected “ideal” load. Alternatively, performing a part of an operation on a “wrong” machine may increase the processing time of that part, since a “wrong” machine may operate at a slower rate processing the relocated operation part. The proposed model has similarities to models with controllable processing times where operation lengths can be reduced via the usage of additional resources. It will be interesting to explore links between the proposed “\(\Delta \)redistribution” model and the stream of research related to controllable processing times.
Notes
Acknowledgements
The authors thank the referee for suggestions aimed at improving the paper. This work was supported by the Deutsche Forschungsgemeinschaft, KN 512/71. The work of Stefan Waldherr was supported by the TUM Institute for Advanced Study through a Hans Fischer Senior Fellowship. The work of N.V. Shakhlevich was supported by the EPSRC Grant EP/K041274/1.
References
 Anuar, R., & Bukchin, Y. (2006). Design and operation of dynamic assembly lines using worksharing. International Journal of Production Research, 44, 4043–4065.CrossRefGoogle Scholar
 Askin, R. G., & Chen, J. (2006). Dynamic task assignment for throughput maximization with worksharing. European Journal of Operational Research, 168, 853–869.CrossRefGoogle Scholar
 Balas, E., & Zemel, E. (1980). An algorithm for large zeroone knapsack problems. Operations Research, 28, 1130–1154.CrossRefGoogle Scholar
 Baptiste, P. (2000). Preemptive scheduling of identical machines. UTC research report 2000/314, Univ. de Tech. de Compiègne, F60200 Compiègne, France.Google Scholar
 Baranski, T. (2011). Task scheduling with restricted preemptions. In Proceedings of the federated conference on computer science and information systems (pp. 231–238).Google Scholar
 Brauner, N., Crama, Y., Grigoriev, A., & van de Klundert, J. (2005). A framework for the complexity of highmultiplicity scheduling problems. Journal of Combinatorial Optimization, 9, 313–323.CrossRefGoogle Scholar
 Bruno, J., & Gonzalez, T. (1976). Scheduling independent tasks with release dates and due dates on parallel machines. Technical Report 213, Pennsylvania State University.Google Scholar
 Brucker, P. (2007). Scheduling algorithms (5th ed.). Heidelberg: Springer.Google Scholar
 Bultmann, M., Knust, S., & Waldherr, S. (2018). Flow shop scheduling with flexible processing times. OR Spectrum, 40, 809–829.CrossRefGoogle Scholar
 Bultmann, M., Knust, S., & Waldherr, S. (2018). Synchronous flow shop scheduling with pliable jobs. European Journal of Operational Research, 270, 943–956.CrossRefGoogle Scholar
 Burdett, R. L., & Kozan, E. (2001). Sequencing and scheduling in flowshops with task redistribution. Journal of the Operational Research Society, 52, 1379–1389.CrossRefGoogle Scholar
 Chang, J. H., & Chiu, H. N. (2005). A comprehensive review of lot streaming. International Journal of Production Research, 43, 1515–1536.CrossRefGoogle Scholar
 Conway, R. W., Maxwell, W. L., & Miller, L. W. (1967). Theory of scheduling (p. 1967). Reading, MA: AddisonWelsey.Google Scholar
 Crama, Y., & Gultekin, H. (2010). Throughput optimization in twomachine flowshops with flexible operations. Journal of Scheduling, 13, 227–243.CrossRefGoogle Scholar
 Ecker, K., & Hirschberg, R. (1993). Task scheduling with restricted preemptions. Lecture Notes in Computer Science, 694, 464–475.CrossRefGoogle Scholar
 Garey, M. R., Johnson, D. S., & Sethi, R. (1976). The complexity of flowshop and job shop scheduling. Mathematics of Operations Research, 1, 117–129.CrossRefGoogle Scholar
 Gonzalez, T., & Sahni, S. (1976). Open shop scheduling to minimize finish time. Journal of the ACM, 23, 665–679.CrossRefGoogle Scholar
 Gupta, J. N. D., Koulamas, C. P., Kyparisis, G. J., Potts, C. N., & Strusevich, V. A. (2004). Scheduling threeoperation jobs in a twomachine flow shop to minimize makespan. Annals of Operations Research, 129, 171–185.Google Scholar
 Gultekin, H. (2012). Scheduling in flow shops with flexible operations: Throughput optimization and benefits of flexibility. International Journal of Production Economics, 140, 900–911.CrossRefGoogle Scholar
 Hefetz, N., & Adiri, I. (1982). A note on the influence of missing operations on scheduling problems. Naval Research Logistics Quarterly, 29, 535–539.CrossRefGoogle Scholar
 Johnson, S. M. (1954). Optimal twoandthreestage production schedules with setup times included. Naval Research Logistics Quarterly, 1, 61–68.CrossRefGoogle Scholar
 Koulamas, C., & Kyparisis, G. J. (2015). The threemachine proportionate open shop and mixed shop minimum makespan problems. European Journal of Operational Research, 243(1), 70–74.CrossRefGoogle Scholar
 Kropp, D. H., & Smunt, T. L. (1990). Optimal and heuristic models for lot splitting in a flow shop. Decision Sciences, 21, 691–709.CrossRefGoogle Scholar
 Labetoulle, J., Lawler, E. L., Lenstra, J. K., & Rinnooy Kan, A. H. G. (1984). Preemptive scheduling of uniform machines subject to release dates. In H. R. Pulleybank (Ed.), Progress in combinatorial optimization (pp. 245–261). New York: Academic Press.CrossRefGoogle Scholar
 Lawler, E. L. (1983). Recent results in the theory of machine scheduling. In A. Bachem, M. Grötschel, & B. Korte (Eds.), Mathematical programming the state of the art (pp. 202–234). Berlin: Springer.CrossRefGoogle Scholar
 Lawler, E. L., Lenstra, J. K., Rinnooy Kan, A. H. G., & Shmoys, D. B. (1993) Sequencing and scheduling: algorithms and complexity. Handbook in Operations Research and Management Science (Vol. 4, 445–522). Amsterdam.Google Scholar
 Lawler, E. L., & Martel, C. U. (1989). Preemptive scheduling of two uniform machines to minimize the number of late jobs. Operations Research, 37, 314–318.CrossRefGoogle Scholar
 Lin, B. M. T., Hwang, F. J., & Gupta, J. N. D. (2016). Twomachine flowshop scheduling with threeoperation jobs subject to a fixed job sequence. Journal of Scheduling, 20, 293–302.CrossRefGoogle Scholar
 McLain, J. O., Thomas, L. J., & Sox, C. (1992). “Onthefly” line balancing with very little WIP. International Journal of Production Economics, 27, 283–289.CrossRefGoogle Scholar
 McNaughton, R. (1959). Scheduling with deadlines and loss functions. Management Science, 12, 1–12.CrossRefGoogle Scholar
 Moore, J. M. (1968). An n job, one machine sequencing algorithm for minimizing the number of late jobs. Management Science, 15, 102–109.CrossRefGoogle Scholar
 Ostolaza, J., McLain, J. O., & Sox, C. (1990). The use of dynamic (statedependent) assemblyline balancing to improve throughput. Journal of Manufacturing and Operations Management, 3, 105–133.Google Scholar
 Pienkosz, K., & Prus, A. (2015). Task scheduling with restricted preemptions on two parallel processors. International Conference on Methods and Models in Automation and Robotics, 2015, 58–61.Google Scholar
 Pinedo, M. (2016). Scheduling: Theory, algorithms, and systems (6th ed.). Berlin: Springer.CrossRefGoogle Scholar
 Potts, C. N., Shmoys, D. B., & Williamson, D. P. (1991). Permutation vs. nonpermutation flow shop schedules. Operations Research Letters, 10, 281–284.CrossRefGoogle Scholar
 Prot, D., BellenguezMorineau, O., & Lahlou, C. (2013). New complexity results for parallel identical machine scheduling. European Journal of Operational Research, 231, 282–287.CrossRefGoogle Scholar
 RuizTorres, A. J., AblanedoRosas, J. H., & Ho, J. C. (2010). Minimizing the number of tardy jobs in the flow shop problem with operation and resource flexibility. Computers and Operations Research, 37, 291–292.CrossRefGoogle Scholar
 RuizTorres, A. J., Ho, J. C., & AblanedoRosas, J. H. (2011). Makespan and workstation utilization minimization in a flowshop with operations flexibility. Omega, 39, 273–282.CrossRefGoogle Scholar
 Sahni, S. (1979). Preemptive scheduling with due dates. Operations Research, 27, 925–934.CrossRefGoogle Scholar
 Serafini, P. (1996). Scheduling jobs on several machines with the job splitting property. Operations Research, 44, 617–628.CrossRefGoogle Scholar
 Shakhlevich, N. V., Hoogeveen, H., & Pinedo, M. (1998). Minimizing total weighted completion time in a proportionate flow shop. Journal of Scheduling, 1, 157–168.CrossRefGoogle Scholar
 Trietsch, D., & Baker, K. R. (1993). Basic techniques for lot streaming. Operations Research, 41, 1065–1076.CrossRefGoogle Scholar
Copyright information
Open AccessThis article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.