Two-Machine Job-Shop Scheduling Problem to Minimize the Makespan with Uncertain Job Durations

: We study two-machine shop-scheduling problems provided that lower and upper bounds on durations of n jobs are given before scheduling. An exact value of the job duration remains unknown until completing the job. The objective is to minimize the makespan (schedule length). We address the issue of how to best execute a schedule if the job duration may take any real value from the given segment. Scheduling decisions may consist of two phases: an off-line phase and an on-line phase. Using information on the lower and upper bounds for each job duration available at the off-line phase, a scheduler can determine a minimal dominant set of schedules (DS) based on sufﬁcient conditions for schedule domination. The DS optimally covers all possible realizations (scenarios) of the uncertain job durations in the sense that, for each possible scenario, there exists at least one schedule in the DS which is optimal. The DS enables a scheduler to quickly make an on-line scheduling decision whenever additional information on completing jobs is available. A scheduler can choose a schedule which is optimal for the most possible scenarios. We developed algorithms for testing a set of conditions for a schedule dominance. These algorithms are polynomial in the number of jobs. Their time complexity does not exceed O ( n 2 ) . Computational experiments have shown the effectiveness of the developed algorithms. If there were no more than 600 jobs, then all 1000 instances in each tested series were solved in one second at most. An instance with 10,000 jobs was solved in 0.4 s on average. The most instances from nine tested classes were optimally solved. If the maximum relative error of the job duration was not greater than 20%, then more than 80% of the tested instances were optimally solved. If the maximum relative error was equal to 50%, then 45% of the tested instances from the nine classes were optimally solved.


Introduction
A lot of real-life scheduling problems involve different forms of uncertainties. For dealing with uncertain scheduling problems, several approaches have been developed in the literature. A stochastic approach assumes that durations of the jobs are random variables with specific probability distributions known before scheduling. There are two types of stochastic scheduling problems [1], where one is on stochastic jobs and another is on stochastic machines. In the stochastic job problem, each job duration is assumed to be a random variable following a certain probability distribution. With an objective of minimizing the expected makespan, the flow-shop problem was considered in References [2][3][4]. In the stochastic machine problem, each job duration is a constant, while each completion time of the job is a random variable due to the machine breakdown or nonavailability. In References [5][6][7], flow-shop problems to stochastically minimize the makespan or total completion time have been considered.
If there is no information to determine a probability distribution for each random duration of the job, other approaches have to be used [8][9][10]. In the approach of seeking a robust schedule [8,[11][12][13], a decision maker prefers a schedule that hedges against the worst-case scenario. A fuzzy approach [14][15][16] allows a scheduler to find best schedules with respect to fuzzy durations of the jobs. A stability approach [17][18][19][20] is based on the stability analysis of optimal schedules to possible variations of the durations. In this paper, we apply the stability approach to the two-machine job-shop scheduling problem with given segments of job durations. We have to emphasize that uncertainties of the job durations considered in this paper are due to external forces in contrast to scheduling problems with controllable durations [21][22][23], where the objective is to determine optimal durations (which are under the control of a decision maker) and to find an optimal schedule for the jobs with optimal durations.

Contributions and New Results
We study the two-machine job-shop scheduling problem with uncertain job durations and address the issue of how to best execute a schedule if each duration may take any value from the given segment. The main aim is to determine a minimal dominant set of schedules (DS) that would contain at least one optimal schedule for each feasible scenario of the distribution of durations of the jobs.
It is shown how an uncertain two-machine job-shop problem may be decomposed into two uncertain two-machine flow-shop problems. We prove several sufficient conditions for the existence of a small dominant set of schedules. In particular, the sufficient and necessary conditions are proven for the existence of a single pair of job permutations, which is optimal for the two-machine job-shop problem with any possible scenario. We investigated properties of the optimal pairs of job permutations for the uncertain two-machine job-shop problem.
In the stability approach, scheduling decisions may consist of two phases: an off-line phase and an on-line phase. Using information on the lower and upper bounds on each job duration available at the off-line phase, a scheduler can determine a small (or minimal) dominant set of schedules based on sufficient conditions for schedule dominance. The DS optimally covers all scenarios in the sense that, for each possible scenario, there exists at least one schedule in the DS that is optimal. The DS enables a scheduler to quickly make an on-line scheduling decision whenever additional information on completing some jobs becomes available. The stability approach enables a scheduler to choose a schedule, which is optimal for the most possible scenarios.
In this paper, we develop algorithms for testing a set of conditions for a schedule dominance. The developed algorithms are polynomial in the number of jobs. Their asymptotic complexities do not exceed O(n 2 ), where n is a number of the jobs. Computational experiments have shown effectiveness of the developed algorithms: if there were no more than 600 jobs, then all 1000 instances in each tested series were solved in no more than one second. For the tested series of instances with 10,000 jobs, all 1000 instances of a series were solved in 344 seconds at most (on average, 0.4 s per one instance).
The paper is organized as follows. In Section 3, we present settings of the uncertain scheduling problems. The related literature and closed results are discussed in Section 4. In Section 4.2, we describe in detail the results published for the uncertain two-machine flow-shop problem. These results are used in Section 5, where we investigate properties of the optimal job permutations used for processing a set of the given jobs. Some proofs of the claims are given in Appendix A. In Section 6, we develop algorithms for constructing optimal schedules if the proven dominance conditions hold. In Section 7, we report on the wide computational experiments for solving a lot of randomly generated instances. Tables with the obtained computational results are presented in Appendix B. The paper is concluded in Section 8, where several directions for further researches are outlined.

Problem Settings and Notations
Using the notation α|β|γ [24], the two-machine job-shop scheduling problem with minimizing the makespan is denoted as J2|n i ≤ 2|C max , where α = J2 denotes a job-shop system with two available machines, n i is the number of stages for processing a job, and γ = C max denotes the criterion of minimizing the makespan. In the problem J2|n i ≤ 2|C max , the set J = {J 1 , J 2 , ..., J n } of the given jobs have to be processed on machines from the set M = {M 1 , M 2 }. All jobs are available for processing from the initial time t = 0. Let O ij denote an operation of the job J i ∈ J processed on machine M j ∈ M. Each machine can process a job J i ∈ J no more than once provided that preemption of each operation O ij is not allowed. Each job J i ∈ J has its own processing order (machine route) on the machines in M.
Let J 1,2 denote a subset of the set J of the jobs with the same machine route (M 1 , M 2 ), i.e., each job J i ∈ J 1,2 has to be processed first on machine M 1 and then on machine M 2 . Let J 2,1 ⊆ J denote a subset of the jobs with the opposite machine route (M 2 , M 1 ). Let J k ⊆ J denote a set of the jobs, which has to be processed only on machine M k ∈ M. The partition J = J 1 J 2 J 1,2 J 2,1 holds. We denote m h = |J h |, where h ∈ {1; 2; 1,2; 2,1}.
We first assume that the duration p ij of each operation O ij is fixed before scheduling. The considered criterion C max is the minimization of the makespan (schedule length) as follows: where C i (s) denotes a completion time of the job J i ∈ J in the schedule s and S denotes a set of semi-active schedules existing for the problem J2|n i ≤ 2|C max . A schedule is called semi-active if no job (operation) can be processed earlier without changing the processing order or violating some given constraints [1,25,26].
Jackson [27] proved that the problem J2|n i ≤ 2|C max is polynomially solvable and that the optimal schedule for this problem may be determined as a pair (π , π ) of the job permutations (calling it a Jackson's pair of permutations) such that π = (π 1,2 , π 1 , π 2,1 ) is a sequence of all jobs from the set J 1 J 1,2 J 2,1 processed on machine M 1 and π = (π 2,1 , π 2 , π 1,2 ) is a sequence of all jobs from the set J 2 J 1,2 J 2,1 processed on machine M 2 . Job J j belongs to the permutation π h if J j ∈ J h .
In a Jackson's pair (π , π ) of the job permutations, the order for processing jobs from set J 1 (from set J 2 , respectively) may be arbitrary, while for the permutation π 1,2 , the following inequality holds for all indexes k and m, 1 ≤ k < m ≤ m 1,2 : (for the permutation π 2,1 , the following inequality holds for all indexes k and m, 1 ≤ k < m ≤ m 2,1 ) [28]: The aim of this paper is to investigate the uncertain two-machine job-shop scheduling problem. Therefore, we next assume that duration p ij of each operation O ij is unknown before scheduling; namely, in the realization of a schedule, a value of p ij may be equal to any real number no less than the given lower bound l ij and no greater than the given upper bound u ij . Furthermore, it is assumed that probability distributions of random durations of the jobs are unknown before scheduling. Such a job-shop scheduling problem is denoted as J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . The problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max is called an uncertain scheduling problem in contrast to the deterministic scheduling problem J2|n i ≤ 2|C max . Let a set of all possible vectors p = (p 1,1 , p 1,2 , . . . , p n1 , p n2 ) of the job durations be determined as follows: T = {p : l ij ≤ p ij ≤ u ij , J i ∈ J , M j ∈ M}. Such a vector p = (p 1,1 , p 1,2 , . . . , p n1 , p n2 ) ∈ T of the possible durations of the jobs is called a scenario.
It should be noted that the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max is mathematically incorrect. Indeed, in most cases, a single pair of job permutations which is optimal for all possible scenarios p ∈ T for the uncertain problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max does not exist. Therefore, in the general case, one cannot find an optimal solution for this uncertain scheduling problem.
For a fixed scenario p ∈ T, the uncertain problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max turns into the deterministic problem J2|n i ≤ 2|C max associated with scenario p. The latter deterministic problem is an individual one and we denote it as J2|p, n i ≤ 2|C max . For any fixed scenario p ∈ T, there exists a Jackson's pair of the job permutations that is optimal for the individual deterministic problem J2|p, n i ≤ 2|C max associated with scenario p.

Remark 1.
As an order for processing jobs from set J 1 (from set J 2 ) may be arbitrary in the Jackson's pair of job permutations (π , π ), in what follows, we fix both permutations π 1 and π 2 in the increasing order of the indexes of their jobs. Thus, both permutations π 1 and π 2 are now fixed, and so their upper indexes are omitted in each permutation from the pair (π , π ) = ((π i 1,2 , π 1 , π processing jobs J 1,2 on both machines may be the same in the optimal schedule [28]. Therefore, the above Definition 1 is supplemented by the following remark.

Remark 2.
For the problem F2|l ij ≤ p ij ≤ u ij |C max considered in this section, it is assumed that a J-solution S(T) is a minimal dominant set of Johnson's permutations of all jobs from the set J 1,2 , i.e., for each scenario p ∈ T, the set S(T) contains at least one optimal pair (π k , π k ) of identical Johnson's permutations π k such that the inequality in Equation (1) holds.
In Reference [36], it is shown how to delete redundant pairs of (identical) permutations from the set S for constructing a J-solution for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J = J 1,2 . The order of jobs J v ∈ J 1,2 and J w ∈ J 1,2 is fixed in the J-solution if there exists at least one Johnson's permutation of the form π k = (s 1 , J v , s 2 , J w , s 3 ) for any scenario p ∈ T. In Reference [29], the sufficient conditions are proven for fixing the order of two jobs from set J = J 1,2 . If one of the following conditions holds, then for each scenario p ∈ T, there exists a permutation π k = (s 1 , J v , s 2 , J w , s 3 ) that is a Johnson's one for the problem F2|p|C max associated with scenario p: u w2 ≤ l w1 and u w2 ≤ l v2 .
If at least one condition in Inequalities (3)-(5) holds, then there exists a J-solution S(T) for the problem F2|l ij ≤ p ij ≤ u ij |C max with fixed order J v → J w of jobs, i.e., job J v has to be located before job J w in any permutation π i , (π i , π i ) ∈ S(T). If both conditions in Inequalities (4) and (5) do not hold, then there is no J-solution S(T) with fixed order J v → J w in all permutations π i , (π i , π i ) ∈ S(T). If no analogous condition holds for the opposite order J w → J v , then at least one permutation with job J v located before job J w or that with job J w located before job J v have to be included in any J-solution S(T) for the problem F2|l ij ≤ p ij ≤ u ij |C max . Theorem 1 is proven in Reference [41].

Theorem 1.
There exists a J-solution S(T) for the problem F2|l ij ≤ p ij ≤ u ij |C max with fixed order J v → J w of the jobs J v and J w in all permutations π k , (π k , π k ) ∈ S(T) if and only if at least one condition of Inequalities (4) or (5) holds. Theorem 5. Let J = J * ∪ J 1 ∪ J 2 . For any scenario p ∈ T, the set Π(G) contains a Johnson's permutation for the problem F2|p|C max . Corollary 1. If J = J * ∪ J 1 ∪ J 2 , then there exists a J-solution S(T) for the problem F2|l ij ≤ p ij ≤ u ij |C max such that π ∈ Π(G) for all pairs of job permutations, {(π , π )} ∈ S(T).
In Reference [42], it was studied how to construct a minimal dominant set S(T) = {(π , π )}, π ∈ Π(G). Two types of redundant permutations were examined, and the following claim was proven.
, then π t is a redundant permutation either of type 1 or type 2.
Testing whether set Π(G) contains a redundant permutation of type 1 takes O(n 2 ) time, and testing whether permutation π g ∈ Π(G) is a redundant permutation of type 2 takes O(n) time. In Reference [42], it is shown how to delete all redundant permutations from the set Π(G). Let Π * (G) denote a set of permutations remaining in the set Π(G) after deleting all redundant permutations of type 1 and type 2. Theorem 6. Assume the following condition: If set J = J * ∪ J 1 ∪ J 2 does not contain a pair of jobs J i ∈ J k and J j ∈ J k , k ∈ {1, 2}, such that the above condition holds, then S(T) =< Π * (G), Π * (G) >.
To test conditions of Theorem 6 takes O(n) time. Due to Theorem 6 and Lemma 1, if there are no jobs such that condition (6) holds, then a J-solution can be constructed via deleting redundant permutations from set Π(G). Since the set Π * (G) is uniquely determined [42], we obtain Corollary 2. Corollary 2 ([42]). If set J = J * ∪ J 1 ∪ J 2 does not contain a pair of jobs J i and J j such that condition (6) holds, then the binary relation A ≺ determines a unique J-solution S(T) =< Π * (G), Π * (G) > for the problem The condition of Theorem 6 is sufficient for the uniqueness of a J-solution Π * (G) = S(T) for the problem F2|l ij ≤ p ij ≤ u ij |C max . Due to Theorem 1, one can construct a digraph G = (J , A ≺ ) in O(n 2 ) time. The digraph G = (J , A ≺ ) determines a set S(T) and may be considered a condensed form of a J-solution for the problem F2|l ij ≤ p ij ≤ u ij |C max . The results presented in this section are used in Section 5 for constructing precedence digraphs for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max .

Properties of the Optimal Pairs of Job Permutations
We consider the uncertain job-shop problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max and prove sufficient conditions for determining a small dominant set of schedules for this problem. In what follows, we use Definition 4 of the dominant set DS(T) ⊆ S along with Definition 1 of the J-solution S(T) ⊆ S.

Definition 4.
A set of the pairs of job permutations DS(T) ⊆ S is called a dominant set (of schedules) for the uncertain problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max if, for each scenario p ∈ T, the set DS(T) contains at least one optimal pair of job permutations for the individual deterministic problem J2|p, n i ≤ 2|C max with scenario p.
Every J-solution (Definition 1) is a dominant set for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . Before processing jobs of the set J (before the realization of a schedule s ∈ S), a scheduler does not know exact values of the job durations. Nevertheless, it is needed to choose a pair of permutations of the jobs J , i.e., it is needed to determine orders of jobs for processing them on machine M 1 and machine M 2 . When all jobs will be processed on machines M (a schedule will be realized) and the job durations will take on exact values p * ij , l ij ≤ p * ij ≤ u ij , and so a factual scenario p * ∈ T will be determined. A schedule s chosen for the realization should be optimal for the obtained factual scenario p * . In the stability approach, one can use two phases of scheduling for solving an uncertain scheduling problem: the off-line phase and the on-line phase. The off-line phase of scheduling is finished before starting the realization of a schedule. At this phase, a scheduler knows only given segments of the job durations and the aim is to find a pair of job permutations (π , π ) which is optimal for the most scenarios p ∈ T. After constructing a small dominant set of schedules DS(T), a scheduler can choose a pair of job permutations in the set DS(T), which dominates the most pairs of job permutations (π , π ) ∈ S for the given scenarios T. Note that making a decision at the off-line phase may be time-consuming since the realization of a schedule is not started.
The on-line phase of scheduling can begin once the earliest job in the schedule (π , π ) starts. At this phase, a scheduler can use additional on-line information on the job duration since, for each operation O ij , the exact value p * ij becomes known at the time of the completion of this operation. At the on-line phase, the selection of a next job for processing should be quick.
In Section 5.1, we investigate sufficient conditions for a pair of job permutations (π , π ) such that equality DS(T) = {(π , π )} holds. In Section 5.2, the sufficient conditions allowing to construct a single optimal schedule dominating all other schedules in the set S are proven. If a single-element dominant set DS(T) does not exist, then one should construct two partial strict orders A 1,2 ≺ and A 2,1 ≺ on the set J 1,2 and on the set J 2,1 of jobs as it is described in Section 4.2. These orders may be constructed in the form of the two precedence digraphs allowing a scheduler to reduce a size of the dominant set DS(T). Section 5.4 presents Algorithm 1 for constructing a semi-active schedule, which is optimal for the problem F2|l ij ≤ p ij ≤ u ij |C max for all possible scenarios T provided that such a schedule exists. Otherwise, Algorithm 1 constructs the precedence digraphs determining a minimal dominant set of schedules for the problem F2|l ij ≤ p ij ≤ u ij |C max .

Sufficient Conditions for an Optimal Pair of Job Permutations
In the proofs of several claims, we use a notion of the main machine, which is introduced within the proof of the following theorem. Theorem 7. Consider the following conditions in Inequalities (7) or (8): If one of the above conditions holds, then any pair of job permutations (π , π ) ∈ S is a single-element dominant set DS(T) = {(π , π )} for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 of the given jobs.
For schedule (π , π ) ∈ S, the following equality holds: Thus, the pair of permutations (π , π ) is optimal for scenario p ∈ T. Since scenario p was chosen arbitrarily in the set T, we conclude that the pair of job permutations (π , π ) is a singleton DS(T) = {(π , π )} for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 of the given jobs. As a pair of permutations (π , π ) is an arbitrary pair of job permutations in the set S, any pair of job permutations (π , π ) ∈ S is a singleton DS(T) = {(π , π )} for the problem The case when the condition in Inequalities (8) holds may be analyzed similarly via replacing machine M 1 by machine M 2 and vice versa.
If conditions of Theorem 7 hold, then in the optimal pair of job permutations (π , π ) existing for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max , the orders of jobs from sets J 1,2 ⊆ J and J 2,1 ⊆ J may be chosen arbitrarily. Theorem 7 implies the following two corollaries. Corollary 3. If the following inequality holds: then set < {π 1,2 }, S 2,1 >⊆ S, where π 1,2 is an arbitrary permutation in set S 1,2 , is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 of the given jobs.

Proof.
We consider an arbitrary vector p ∈ T of the job durations and an arbitrary permutation π 1,2 in the set S 1,2 . The set S 2,1 contains at least one Johnson's permutation π * 2,1 for the deterministic problem F2|p 2,1 |C max with job set J 2,1 and scenario p 2,1 (the components of vector p 2,1 are equal to the corresponding components of vector p). We consider a pair of job permutations (π , π ) = ((π 1,2 , π 1 , π * 2,1 ), (π * 2,1 , π 2 , π 1,2 )) ∈ < {π 1,2 }, S 2,1 >⊆ S and show that it is an optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with job set J and scenario p. Without loss of generality, both permutations π 1 and π 2 are ordered in increasing order of the indexes of their jobs.
Similar to the proof of Theorem 7, one can show that, if the condition in Inequalities (9) holds, then machine M 2 processes jobs without idle times and equality c 2 (π ) = ∑ J i ∈J 1,2 ∪J 2,1 ∪J 2 p i2 holds, where the value of c 2 (π ) cannot be reduced. If machine M 1 has no idle time, we obtain equalities C max (π , π ) = max{c 1 (π ), c 2 (π )} = max{ On the other hand, an idle time of machine M 1 is only possible if some job J j from set J 2,1 is processed on machine M 2 at the time moment t 2 when job J j could be processed on machine M 1 . In such a case, the value of c 1 (π ) is equal to the makespan C max (π * 2,1 ) for the problem F2|p 2,1 |C max with job set J 2,1 and scenario p 2,1 . As the permutation π * 2,1 is a Johnson's permutation, the value of C max (π * 2,1 ) cannot be reduced and we obtain the following equalities: Thus, the pair of job permutation (π , π ) = ((π 1,2 , π 1 , π * 2,1 ), (π * 2,1 , π 2 , π 1,2 )) ∈ < {π 1,2 }, S 2,1 >⊆ S is optimal for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T. The optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T belongs to the set <{π 1,2 }, S 2,1 >. As vector p is an arbitrary vector in the set T, the set < {π 1,2 }, S 2,1 > contains an optimal pair of job permutations for all scenarios from set T. Due to Definition 4, the set < {π 1,2 }, S 2,1 >⊆ S is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .
This claim may be proven similar to Corollary 3. If the conditions of Corollary 3 (Corollary 4) hold, then the order for processing jobs from set J 1,2 ⊆ J (set J 2,1 ⊆ J , respectively) in the optimal schedule (π , π ) = ((π 1,2 , π 1 , π 2,1 ), (π 2,1 , π 2 , π 1,2 )) for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max may be arbitrary. Since the orders of jobs from the sets J 1 and J 2 are fixed in the optimal schedule (Remark 1), we need to determine only orders for processing jobs from set J 2,1 (set J 1,2 , respectively). To do this, we will consider two uncertain problems F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 ⊆ J and with the machine route (M 1 , M 2 ) and that with job set J 2,1 ⊆ J and with the opposite machine route (M 2 , M 1 ). Lemma 2. If S 1,2 ⊆ S 1,2 is a set of permutations from the dominant set for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 , then < S 1,2 , S 2,1 >⊆ S is a dominant set for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 .
The proof of Lemma 2 and those for other statements in this section are given in Appendix A. Lemma 3. Let S 2,1 ⊆ S 2,1 be a set of permutations from the dominant set for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 2,1 , S 2,1 ⊆ S 2,1 . Then, < S 1,2 , S 2,1 > is a dominant set for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .
The proof of this claim is similar to that for Lemma 2 (see Appendix A). Theorem 8. Let S 1,2 ⊆ S 1,2 be a set of permutations from the dominant set for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 , and let S 2,1 ⊆ S 2,1 be a set of permutations from the dominant set for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 2,1 . Then, < S 1,2 , S 2,1 > ⊆ S is a dominant set for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 .

Corollary 5.
If the conditions of Theorem 9 hold, then there exists a single pair of job permutations, which is an optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with job set J and any scenario p ∈ T.
Theorem 9 implies also the following corollary proven in Appendix A.

Corollary 6.
If the conditions of Theorem 9 hold, then there exists a single pair of job permutations which is a J-solution for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 .
Note that the criterion for a single-element J-solution for the problem F2|l ij ≤ p ij ≤ u ij |C max is given in Theorem 2.

Definition 5.
Two jobs, J x ∈ J 1,2 and J y ∈ J 1,2 , x = y, are called conflict jobs if they are not in the relation Due to Definitions 2 and 3, for the conflict jobs J x ∈ J 1,2 and J y ∈ J 1,2 , x = y, Inequalities (4) and (5) do not hold either for the case v = x with w = y or for the case v = y with w = x. Definition 6. The subset J x ⊆ J 1,2 is called a conflict set of jobs if, for any job J y ∈ J 1,2 \ J x , either relation (J x , J y ) ∈ A 1,2 ≺ or relation (J y , J x ) ∈ A 1,2 ≺ holds for each job J x ∈ J x (provided that any proper subset of the set J x does not possess such a property).
From Definition 6, it follows that the conflict set J x is a minimal set (with respect to the inclusion). Obviously, there may exist several conflict sets in the set J 1,2 . (A conflict set of the jobs J x ⊆ J 2,1 can be determined similarly.) Let the strict order A 1,2 ≺ for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 be represented as follows: where all jobs between braces are conflict ones and each of these jobs is in relation A 1,2 ≺ with any job located outside the brackets in Relation (10). In such a case, an optimal order for processing jobs from the set {J 1 , J 2 , . . . , J k } is determined as follows: (J 1 , J 2 , . . . , J k ).

Proof.
We consider an arbitrary vector p ∈ T of the job durations and an arbitrary permutation π from the set Π(G 1,2 ). The set Π(G 2,1 ) contains at least one optimal Johnson's permutation π * 2,1 for the problem F2|p 2,1 |C max with job set J 2,1 and vector p 2,1 of the job durations (components of this vector are equal to the corresponding components of the vector p).
We consider a pair of job permutations (π , π ) = ((π, π 1 , π * 2,1 ), (π * 2,1 , π 2 , π)) ∈ S and show that it is an optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with set J of the jobs and scenario p. To this end, we show that the value of C max (π , π ) = max{c 1 (π ), c 2 (π )} cannot be reduced. Indeed, an idle time for machine M 1 is only possible if some job J j from the set J 2,1 is processed on machine M 2 at the same time when job J j could be processed on machine M 1 . In such a case, c 1 (π ) is equal to the makespan C max (π * 2,1 ) for the problem F2|p 2,1 |C max with job set J 2,1 and vector p 2,1 of the job durations. As permutation π * 2,1 is a Johnson's permutation, the value of In the beginning of the permutation π, the jobs of set {J 1 , J 2 , . . . , J k } are arranged in the Johnson's order. Thus, if machine M 2 has an idle time while processing these jobs, this idle time cannot be reduced. From Inequality (11), it follows that machine M 2 has no idle time while processing jobs from the conflict set.
In the end of the permutation π, jobs of set {J k+r+1 , . . . , J m 1,2 } are arranged in Johnson's order. Therefore, if machine M 2 has an idle time while processing these jobs, this idle time cannot be reduced. Thus, the value of c 2 (π ) cannot be reduced by changing the order of jobs in the conflict set.
If conditions of Theorem 11 hold, then machine M 2 processes jobs from the conflict set {J k+1 , J k+2 , . . . , J k+r } without idle times. At the initial time t = 0, machine M 1 begins to process jobs from the permutation π without idle times. Let a time moment t 1 be as follows: At the time moment t 1 , job J k+1 is ready for processing on machine M 2 .
On the other hand, at the time t = 0, machine M 2 begins to process jobs from the set J 2,1 ∪ J 2 without idle times and then jobs from the permutation (J 1 , J 2 , . . . , J k+1 ). Let t 2 denote the first time moment when machine M 2 is ready for processing job J k+1 . Obviously, the following inequality holds: . Therefore, the following relations hold: Machine M 2 processes job J k+1 without an idle time between job J k and job J k+1 . Analogously, using s ∈ {2, 3, . . . , r}, one can show that machine M 2 processes jobs from the conflict set {J k+1 , J k+2 , . . . , J k+r } without idle times between jobs J k+1 and J k+2 , between jobs J k+2 and J k+3 , and so on to between jobs J k+r−1 and J k+r . To end this proof, we have to show that the value of C max (π , π ) = max{c 1 (π ), c 2 (π )} cannot be reduced.
An idle time for machine M 1 is only possible between some jobs from the set J 2,1 . However, the permutation π * 2,1 is a Johnson's permutation of the jobs from the set J 2,1 for the vector p 2,1 of the job durations. Therefore, the value of c 1 (π ) cannot be reduced. On the other hand, in the permutation π, all jobs J 1 , J 2 , . . . , J k and all jobs J k+r+1 , . . . , J m 1,2 are arranged in Johnson's orders. Therefore, if machine M 2 has an idle time while processing these jobs, this idle time cannot be reduced. It is clear that machine M 2 has no idle time while processing jobs from the conflict set. Thus, the value of c 2 (π ) cannot be reduced by changing the order of jobs from the conflict set. We obtain the equalities It is shown that the pair of job permutations (π , π ) = ((π, π 1 , π * 2,1 ), (π * 2,1 , π 2 , π)) ∈ S is optimal for the problem J2|p, n i ≤ 2|C max with vector p ∈ T of job durations. As vector p is an arbitrary one in set T, the set S contains an optimal pair of job permutations for each scenario from set T. Due to Definition 4, the set S is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .
The proof of the following theorem is given in Appendix A.
hold for all indexes s ∈ {1, 2, . . . , r}, then the set Similarly, one can prove sufficient conditions for the existence of an optimal job permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 2,1 , when the partial strict order A 2,1 ≺ on the set J 2,1 = J * 2,1 ∪ J 1 2,1 ∪ J 2 2,1 has the following form: To apply Theorems 11 and 12, one can construct a job permutation that satisfies the strict order A 1,2 ≺ . Then, one can check the conditions of Theorems 11 and 12 for the constructed permutation. If the set of jobs {J 1 , J 2 , . . . , J k } is empty in the constructed permutation, one needs to check conditions of Theorem 12. If the set of jobs {J k+r+1 , . . . , J m 1,2 } is empty, one needs to check the conditions of Theorem 11. It is needed to construct only one permutation to check Theorem 11 and only one permutation to check Theorem 12.

Two Illustrative Examples
Example 1. We consider the uncertain job-shop scheduling problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with lower and upper bounds of the job durations given in Table 1. Table 1. Input data for Example 1.
Example 2. Let us now consider the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with numerical input data given in Table 1 with the following two exceptions: l 5,2 = 2 and u 5,2 = 3.
We check the condition in Inequalities (7) of Theorem 7 and obtain Thus, the condition of Inequalities (7) does not hold for Example 2. We check the condition of Inequalities (8) of Theorem 7 and obtain However, we see that the condition of Equation (8) does not hold: From Equation (14), it follows that the condition of Inequalities (9) of Corollary 3 does not hold. On the other hand, due to Equation (15), conditions of Corollary 4 hold. Thus, the order for processing jobs from set J 2,1 ⊆ J in the optimal schedule (π , π ) = ((π 1,2 , π 1 , π 2,1 ), (π 2,1 , π 2 , π 1,2 )) for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max may be arbitrary. One can fix permutation π 2,1 with the increasing order of the indexes of their jobs: π 2,1 = (J 6 , J 7 , J 8 ). Since the orders of jobs from the sets J 1 and J 2 are fixed in the optimal schedule (Remark 1), i.e., π 1 = (J 4 ) and π 2 = (J 5 ), we need to determine the order for processing jobs in set J 1,2 . To this end, we consider the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 . We see that conditions of Theorem 2 do not hold for the jobs in set J 1,2 since J 1 ∈ J * 1,2 , J 2 ∈ J 2 1,2 , and J 3 ∈ J 2 1,2 ; however the following inequalities hold: u 2,2 > l 3,2 and u 3,2 > l 2,2 .
We next construct the binary relation A 1,2 ≺ over set J 1,2 based on Definition 3 and Theorem 1. Due to checking Inequalities (4) and (5), we conclude that the inequality in Equation (5) holds for the pair of jobs J 1 and J 2 . We obtain the relation J 1 ≺ J 2 . Analogously, we obtain the relation J 1 ≺ J 3 . For the pair of jobs J 2 and J 3 , neither Inequality (4) nor Inequality (5) hold. Therefore, the partial strict order A 1,2 ≺ over set J 1,2 has the following form: Let us check whether the sufficient conditions given in Section 5.2 hold.
We check the conditions of Theorem 10 for the jobs from set J 1,2 . For k = 1 and r = 2, we obtain the following equalities: The condition of Theorem 10 does not hold since the following relations hold: For checking the conditions of Theorem 11, we need to check both permutations of the jobs from set J 1,2 , which satisfy the partial strict order A 1,2 We consider permutation π 1 1,2 . As in the previous case, L 2 = 11, k = 1, r = 2, and we must consider two inequalities in the condition in Equaiton (12) with s = 1 and s = 2. For s = 1, we obtain the following: However, for s = 2, we obtain Thus, the conditions of Theorem 11 do not hold for permutation π 1 1,2 . We consider permutation π 2 1,2 , where J k+1 = J 3 and J k+2 = J 2 . Again, we must test the two inequalities in Equation (12), where either s = 1 or s = 2. For s = 1, we obtain However, for s = 2, we obtain Thus, the conditions of Theorem 11 do not hold for permutation π 2 1,2 . Note that we do not check the conditions of Theorem 12 since the conflict set of jobs {J 2 , J 3 } is located at the end of the partial strict order A 1,2 ≺ . We conclude that none of the proven sufficient conditions are satisfied for a schedule optimality. Thus, there does not exist a pair of permutations of the jobs in set J = J 1,2 ∪ J 2,1 ∪ J 1 ∪ J 2 which is optimal for any scenario p ∈ T. The J-solution S(T) for Example 2 consists of the following two pairs of job permutations: {(π 1 , π 1 ), (π 2 , π 2 )} = S(T), where We next show that none of these two pairs of job permutations is optimal for all scenarios p ∈ T using the following two scenarios: p = (7, 6, 9, 5, 9, 6, 2, 0, 0, 2, 1, 3, 1, 3, 1, 3) ∈ T and p = (7, 6, 9, 6, 9, 5, 2, 0, 0, 2, 1, 3, 1, 3, 1, 3) ∈ T. For scenario p , only pair of permutations (π 2 , π 2 ) is optimal with C max (π 2 , π 2 ) = 30 since C max (π 1 , π 1 ) = 31 > 30. On the other hand, for scenario p , only the pair of permutations (π 1 , π 1 ) is optimal with C max (π 1 , π 1 ) = 30 since C max (π 2 , π 2 ) = 31 > 30.

An Algorithm for Checking Conditions for the Existence of a Single-Element Dominant Set
We describe Algorithm 1 for checking the existence of an optimal permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 if the partial strict order A 1,2 ≺ on the set J 1,2 has the following form: Algorithm 1 considers a set of conflict jobs and checks whether the sufficient conditions given in Section 5.2 hold. For a conflict set of jobs, it is needed to construct two permutations and to check the condition in Inequality (12) for the first permutation and the condition in Inequality (13) for the second one. If at least one of these conditions holds, Algorithm 1 constructs a permutation which is optimal for the problem F2|l ij ≤ p ij ≤ u ij |C max with any scenario p ∈ T.
Obviously, testing the conditions of Theorems 11 and 12 takes O(r), where the conflict set contains r jobs. The construction of the permutation of r jobs takes O(r log r). Therefore, the total complexity of Algorithm 1 is O(r log r).
Corollary 7. Algorithm 1 constructs a permutation π * either satisfying conditions of Theorem 11 or Theorem 12 (such permutation π * is optimal for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 and any scenario p ∈ T) or establishes that an optimal job permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with any scenario p ∈ T does not exist.
The set of jobs J 2,1 for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J = J 2,1 can be tested similarly to the set of jobs J 1,2 .

Algorithm 1:
Checking conditions for the existence of a single-element dominant set of schedules for the problem F2|l ij ≤ p ij ≤ u ij |C max

Input:
Segments [l ij , u ij ] for all jobs J i ∈ J and machines M j ∈ M, a partial strict order A 1,2 ≺ on the set J 1, Output: EITHER an optimal job permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 and any scenario p ∈ T, (see STOP 0) OR there no permutation π 1,2 of jobs from set J 1,2 , which is optimal for all scenarios p ∈ T, (see STOP 1).
Step 1: Set δ s = l k+s,2 − u k+s,1 for all s ∈ {1, 2, . . . , r} construct a partition of the set of conflicting jobs into two subsets X 1 and X 2 , where J k+s ∈ X 1 if δ s ≥ 0, and J k+s ∈ X 2 , otherwise.
Step 2: Construct a permutation π 1 = (J 1 , J 2 , . . . , J k , π 1 , π 2 , J k+r+1 , . . . , J m 1,2 ), where the permutation π 1 contains jobs from the set X 1 in the non-decreasing order of the values u k+i,1 and the permutation π 2 contains jobs from the set X 2 in the non-increasing order of the values l k+i,2 , renumber jobs in the permutations π 1 and π 2 based on their orders.
Step 3: IF for the permutation π 1 conditions of Theorem 11 hold THEN GOTO step 8.
Step 4: Set δ s = l k+s,1 − u k+s,2 for all s ∈ {1, 2, . . . , r} construct a partition of the set of conflicting jobs into two subsets Y 1 and Y 2 , where J k+s ∈ Y 1 if δ s ≥ 0, and J k+s ∈ Y 2 , otherwise.
Step 5: Construct a permutation π 2 = (J 1 , J 2 , . . . , J k , π 2 , π 1 , J k+r+1 , . . . , J m 1,2 ), where the permutation π 1 contains jobs from the set Y 1 in the non-increasing order of the values u k+i,2 , and the permutation π 2 contains jobs from the set Y 2 in the non-decreasing order of the values l k+i,1 , renumber jobs in the permutations π 1 and π 2 based on their orders.
Step 6: IF for the permutation π 2 conditions of Theorem 12 hold THEN GOTO step 9.
Step 7: ELSE there is no a single dominant permutation for problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 and any scenario p ∈ T STOP 1.
Step 8: RETURN permutation π 1 , which is a single dominant permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 STOP 0.
Step 9: RETURN permutation π 2 , which is a single dominant permutation for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 STOP 0.

Algorithms for Constructing a Small Dominant Set of Schedules for the Problem
In this section, we describe Algorithm 2 for constructing a small dominant set DS(T) of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . Algorithm 2 is developed for use at the off-line phase of scheduling (before processing any job from the set J ). Based on the initial data, Algorithm 2 checks the conditions of Theorem 7 for a single optimal pair of job permutations for the uncertain problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . If the sufficient conditions of Theorem 7 do not hold, Algorithm 2 proceeds to consider the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 and the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 2,1 . For each of these problems, the conditions of Theorem 2 are checked. If these conditions do not hold, then strict orders of the jobs J based on Inequalities (4) and (5) are constructed. In this general case, Algorithm 2 constructs a partial strict order A 1,2 ≺ of the jobs from set J 1,2 and a partial strict order A 2,1 ≺ of the jobs from set J 2,1 . Each of these partial orders may contain one or several conflict sets of jobs. For each such conflict set of jobs, Algorithm 2 checks whether the sufficient conditions given in Section 5.2 hold. Thus, if some sufficient conditions for a schedule optimality presented in Sections 4 and 5 are satisfied, then there exists a pair of permutations of jobs from set J which is optimal for any scenario p ∈ T. Algorithm 2 constructs such a pair of job permutations {(π , π )} = DS(T). Otherwise, the precedence digraphs determining a minimal dominant set DS(T) of schedules is constructed by Algorithm 2. The more job pairs are involved in the binary relations A 1,2 ≺ and A 2,1 ≺ , the more job permutations will be deleted from set S while constructing a J-solution S(T) ⊆ S for the problems F2|l ij ≤ p ij ≤ u ij |C max with job sets J 1,2 and J 2,1 .

Algorithm 2:
Construction of a small dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max
Step 1: Determine a partition J = J 1 ∪ J 2 ∪ J 1,2 ∪ J 2,1 of the job set J , permutation π 1 of jobs from set J 1 and permutation π 2 of jobs from set J 2 , arrange the jobs in the increasing order of their indexes.
Step 2: IF the first inequality in condition (7) of Theorem 7 holds THEN BEGIN Construct a permutation π 1,2 of jobs from set J 1,2 , arrange them in the increasing order of their indexes; IF the second inequality in condition (7) of Theorem 7 holds THEN construct a permutation π 2,1 of jobs from set J 2,1 , arrange them in the increasing order of their indexes GOTO Step 10 END Step 3: IF the first inequality in condition (8) of Theorem 7 holds THEN BEGIN Construct a permutation π 2,1 of jobs from set J 2,1 , arrange them in the increasing order of their indexes; IF the second inequality in condition (8) of Theorem 7 holds THEN construct a permutation π 1,2 of jobs from set J 1,2 , arrange the jobs in the increasing order of their indexes END Step 4: IF both permutations π 1,2 and π 2,1 are constructed THEN GOTO Step 10.
Step 11: RETURN the permutation π 2,1 of jobs from set J 2,1 processed on machines M 1 and M 2 , the partial strict order A 1,2 ≺ of jobs from set J 1,2 GOTO Step 14.
Step 12: RETURN the permutation π 1,2 of jobs from set J 1,2 processed on machines M 1 and M 2 , the partial strict order A 2,1 ≺ of jobs from set J 2,1 GOTO Step 14.
Step 13: RETURN the partial strict order A 1,2 ≺ of jobs from set J 1,2 and the partial strict order A 2,1 ≺ of jobs from set J 2,1 Step 14: STOP 1.
It may happen that the constructed strict order on the set J 1,2 or on the set J 2,1 is not a linear strict order. If for at least one of the sets J 1,2 or J 2,1 , the constructed partial strict order is not a linear one, a heuristic solution for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max is constructed similar to that for the problem F2|l ij ≤ p ij ≤ u ij |C max solved by Algorithm 1 (see Section 5.4). If Algorithm 2 is completed at Steps 11-13 (STOP 1), we consider a set of conflict jobs {J k+1 , J k+2 , . . . , J k+r } and construct a Jackson's pair of job permutation for the deterministic problem J2|p , n i ≤ 2|C max with job set J = {J k+1 , J k+2 , . . . J k+r }, where the vector p = (p k+1,1 , p k+1,2 , . . . p k+r,1 , p k+r,2 ) of the durations of conflict jobs {J k+1 , J k+2 , . . . J k+r } is calculated using the equality of Equation (16)

Input:
Lower bounds l ij and upper bounds u ij , 0 < l ij ≤ u ij , of the durations of all operations O ij of jobs J i ∈ J on machines M j ∈ M = {M 1 , M 2 }. Output: EITHER permutation π 1,2 , which is optimal for the problem F2|l ij ≤ p ij ≤ u ij |C max with any scenario p ∈ T for the jobs J 1,2 , OR partial strict order A 1,2 ≺ on the set J 1,2 .
Step 2: IF conditions of Theorem 2 hold THEN Step 3: Construct permutation π 1,2 = (π 1 1,2 , J * 1,2 , π 2 1,2 ), where π 1 1,2 is a permutation for processing jobs from the set J 1 1,2 in the non-decreasing order of the values u i1 , π 2 1,2 is a permutation for processing jobs from the set J 2 1,2 in the non-increasing order of the values u i2 GOTO Step 7 ELSE Step 4: FOR each pair of jobs J v ∈ J 1,2 and J w ∈ J 1,2 , v = w, DO IF at least one of two conditions (4) and (5) holds THEN determine the relation J v ≺ J w END FOR Step 5: Renumber jobs in the set J 1,2 such that relation v < w holds if J v ≺ J w .
Step 6: FOR each conflict set of jobs DO IF condition of Theorem 10 holds THEN Order jobs in the conflict set in the increasing order of their indexes GOTO Step 7 ELSE fulfill Algorithm 1

END FOR
Step 7: IF the partial strict order A 1,2 ≺ is linear THEN construct a permutation π 1,2 generated by the linear order A 1,2 ≺ STOP.
Algorithm 4 is obtained from the above Algorithm 3 by replacing the set J 1,2 of jobs by the set J 2,1 of jobs, machine M 1 by machine M 2 , and vice versa. Obviously, testing the conditions of Theorems 11 and 12 takes O(r), where conflict set contains r jobs. Construction of permutation of r jobs takes O(r log r). Therefore, the total complexity of Algorithm 1 is O(r log r).
Testing the conditions of Theorem 2 takes O(m 1,2 log m 1,2 ) time. A strict order A 1,2 ≺ on the set J 1,2 is constructed by comparing no more than m 1,2 (m 1,2 − 1) pairs of jobs in the set J 1,2 . Thus, it takes O(m 1,2 (m 1,2 − 1)) time. The complexity of Algorithm 1 is O(r log r) time provided that the conflict set contains r jobs, where r ≤ m 1,2 . Since a strict order A 1,2 ≺ is constructed once in Algorithm 3, we conclude that a total complexity of Algorithm 3 (and Algorithm 4) is O(n 2 ) time.
In Algorithm 2, testing the condition of Theorem 7 takes O(max{m 1,2 , m 2,1 }) time. Every Algorithm 3 or Algorithm 4 is fulfilled at most once. Therefore, the complexity of Algorithm 2 is O(n 2 ) time.

Computational Experiments
We describe the conducted computational experiments and discuss the results obtained for randomly generated instances of the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . In the computational experiments, each tested series consisted of 1000 randomly generated instances with the same numbers n ∈ {10, 20, . . . , 100, 200, . . . , 1000, 2000, . . . , 10.000} of jobs in the set J provided that a maximum relative length δ of the given segment of the possible durations of the operations O ij takes the following values: {5%, 10%, 15%, 20%, 30%, 40%, and 50%}. The lower bounds l ij and upper bounds u ij for possible values of the durations p ij of the operations O ij , p ij ∈ [l ij , u ij ] using the value δ have been determined as follows. First, a value of the lower bound l ij is randomly chosen from the segment [10, 1000] using a uniform distribution. Then, the upper bound u ij is calculated using the following equality: For example, we assume that δ = 5%. Then, for the lower bounds l ij = 50 and l ij = 500, the upper bounds u ij = 52.5 and u ij = 525 are calculated using Reference (17). If δ = 50%, then based on the lower bounds l ij = 50 and l ij = 500 and on Reference (17), we obtain the upper bounds u ij = 75 and u ij = 750. Thus, rather wide ranges for the tested durations of the jobs J were considered.
In the experiments, the bounds l ij and u ij were decimal fractions with the maximum possible number of digits after the decimal point. For all tested instances of the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max , a strict inequality l ij < u ij was guarantied for each job J i ∈ J and each machine M j ∈ M.
Column NC presents total number of conflict sets of the jobs in the partial strict orders A 1,2 ≺ on the job sets J 1,2 and partial strict orders A 2,1 ≺ on the job sets J 2,1 constructed by Algorithm 2. The value of NC is equal to the total number of decision points, where Algorithm 2 has to select an order for processing jobs from the corresponding conflict set. To make a correct decision for such an order means to construct a permutation of all jobs from the conflict set, which is optimal for the factual scenario (which is unknown before scheduling). In particular, if all conflict sets have received correct decisions in Algorithm 2, then the constructed pair of job permutations will be optimal for the problem J2|p * , n i ≤ 2|C max , where p * ∈ T is the factual scenario.
Column SC presents a percentage of the correct decisions made for determining optimal orders of the conflict jobs by Algorithm 2 with Algorithms 3 and 4. Column t presents a total CPU time (in seconds) for solving all 1000 instances of the corresponding series.
Average percentages of the instances which were optimally solved (Opt) are presented in Figure 1 for classes 1-9 of the tested instances and in Figure 2 for classes 10-15 of the hard-tested instances. Percentages of the average values of the correct decisions (SC) made for determining optimal orders of the conflict jobs for classes 1-9 are presented in Figure 3. Most instances from these nine classes were optimally solved ( Table 2). If the values of δ were no greater than 20%, i.e., δ ∈ {5%, 10%, 15%, 20%}, then more than 80% of the tested instances were optimally solved in spite of the data uncertainty. If the value δ is increased, the percentage of the optimally solved instances decreased. If the value δ was equal to 50%, then 45% of the tested instances was optimally solved.
For all series of the hard instances presented in Tables A10-A15 (see the third line in Table 2), only a few instances were optimally solved. If δ = 5%, then 70% of the tested instances was optimally solved. If value δ belongs to the set {20%, 30%, 40%, 50%}, then only 1% of the tested instances was optimally solved. There were no hard-tested instances optimally solved for the value of δ = 50%.  Percentages of the average values of the correct decisions made for determining optimal orders of the conflict jobs by Algorithm 2, Algorithm 3 and Algorithm 4 for the hard classes 10-15 of the tested instances are presented in Figure 4. Note that there is a correlation between values of Opt and SC presented in Figures 1 and 3 for classes 1-9 of the tested instances and those presented in

Concluding Remarks and Future Works
The uncertain flow-shop scheduling problem F2|l ij ≤ p ij ≤ u ij |C max and its generalization the job-shop problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max attract the attention of researchers since these problems are applicable in many real-life scheduling systems. The optimal scheduling decisions for these problems allow the plant to reduce the costs of productions due to a better utilization of the available machines and other resources. In Section 5, we proved several properties of the optimal pairs (π , π ) of job permutations (Theorems 7-12). Using these properties, we derived Algorithms 1-4 for constructing optimal pairs (π , π ) of job permutations or a small dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . If it is impossible to construct a single pair (π , π ) of job permutations, which dominates all other pairs of job permutations for all possible scenarios T, then Algorithm 2 determines the partial strict order A 1,2 ≺ on the job set J 1,2 (Algorithm 3) and the partial strict order A 2,1 ≺ on the job set J 2,1 (Algorithm 4). The precedence digraphs (J 1,2 , A 1,2 ≺ ) and (J 2,1 , A 2,1 ≺ ) determine a minimal dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max .
From the conducted extensive computational experiments, it follows that pairs of job permutations constructed using Algorithm 2 are close to the optimal pairs of job permutations, which may be determined after completing all jobs J when factual operation durations become known. We tested 15 classes of the randomly generated instances J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . Most instances from tested classes 1-9 were optimally solved at the off-line phase of scheduling. If the values of δ were no greater than 20%, i.e., δ ∈ {5%, 10%, 15%, 20%}, then more than 80% of the tested instances was optimally solved in spite of the uncertainty of the input data. If δ = 50%, then 45% of the tested instances was optimally solved. However, less than 5% of the instances with δ ≥ 20% from hard classes 10-15 were optimally solved at the off-line phase of scheduling (Figure 2). There were no tested hard instances optimally solved for the value δ = 50%.
In future research, the on-line phase of scheduling will be studied for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max . To this end, it will be useful to find sufficient conditions for existing a dominant pair of job permutations at the on-line phase of scheduling. The additional information on the factual value of the job duration becomes available once the processing of the job on the corresponding machine is completed. Using this additional information, a scheduler can determine a smaller dominant set DS of schedules, which is based on sufficient conditions for schedule dominance. The smaller DS enables a scheduler to quickly make an on-line scheduling decision whenever additional information on processing the job becomes available. To solve the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max at the on-line phase, a scheduler needs to use fast (better polynomial) algorithms. The investigation of the on-line phase of scheduling for the uncertain job-shop problem is under development.
We suggest to investigate properties of the optimality box and optimality region for a pair (π , π ) of the job permutations and to develop algorithms for constructing a pair (π , π ) of the job permutations that have the largest optimality box (or the largest optimality region). We also suggest to apply the stability approach for solving the uncertain flow-shop and job-shop scheduling problems with |M| > 2 available machines.

Acknowledgments:
We are thankful for useful remarks and suggestions provided by the editors and three anonymous reviewers on the earlier draft of our paper.

Conflicts of Interest:
The authors declare no conflict of interest.

Appendix A. Proofs of the Statements
Appendix A.1. Proof of Lemma 2 We choose an arbitrary vector p in the set T, p ∈ T, and show that set < S 1,2 , S 2,1 > contains at least one optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T.
(jj) C max (π , π * * ) = c 2 (π * * ). Similarly to case (j), we obtain the following equality: where C max (π 1,2 ) is the makespan for the problem F2|p 1,2 |C max with job set J 1,2 and vector p 1,2 of the job durations (it is assumed that π 1,2 is an optimal permutation for this problem). Thus, the value of c 2 (π * * ) cannot be reduced and equality C max (π , π * * ) = C max holds. In both considered cases, the pair of job permutations (π , π * * ) is an optimal schedule for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T. Therefore, an optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T belongs to the set < S 1,2 , S 2,1 >. As vector p is an arbitrary vector in set T, the set < S 1,2 , S 2,1 > contains an optimal pair of job permutations for each scenario from set T. Due to Definition 4, the set < S 1,2 , S 2,1 > is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .

Appendix A.2. Proof of Theorem 8
We consider an arbitrary vector p ∈ T of the job durations from set T and relevant vectors p 1,2 and p 2,1 of the durations of jobs from set J 1,2 and set J 2,1 , respectively. Set S 1,2 contains an optimal permutation π 1,2 for the problem F2|p 1,2 |C max with job set J 1,2 and with vector p 1,2 of the job durations. Set S 2,1 contains an optimal permutation π 2,1 for the problem F2|p 2,1 |C max with job set J 2,1 and with vector p 2,1 of the job durations. We next show that the pair of job permutations (π , π ) = ((π 1,2 , π 1 , π 2,1 ), (π 2,1 , π 2 , π 1,2 )) is an optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T (the jobs in permutations π 1 and π 2 are ordered in increasing order of their indexes). From the proofs of Lemmas 2 and 3, we obtain the value of C max (π , π ) = max{c 1 (π ), c 2 (π )} = max{max{ which cannot be reduced. Therefore, C max (π , π ) = C max . An optimal pair of job permutations for the problem J2|p, n i ≤ 2|C max with vector p ∈ T of the job durations belongs to the set < S 1,2 , S 2,1 >. As vector p is arbitrary in set T, the set < S 1,2 , S 2,1 > contains an optimal pair of job permutations for all vectors from set T. Due to Definition 4, the set < S 1,2 , S 2,1 >⊆ S is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .

Appendix A.3. Proof of Theorem 9
We consider an arbitrary scenario p ∈ T. Due to Definition 1, the permutation π 1,2 is a Johnson's permutation for the problem F2|p 1,2 |C max with job set J 1,2 and scenario p 1,2 (the components of this vector are equal to the corresponding components of vector p). Due to Definition 4, the singleton {(π 1,2 , π 1,2 )} is a minimal dominant set of schedules for the problem F2|l ij ≤ p ij ≤ u ij |C max with job set J 1,2 .
At time t = 0, machine M 1 begins to process jobs from the permutation π without idle times. We denote t 1 = ∑ k+r+1 i=1 p i1 . At time moment t 1 , job J k+r+1 is ready for processing on machine M 2 . From the condition of Inequality (13) with s = 1, it follows that, even if machine M 2 has an idle time before processing job J k+r+1 , machine M 2 is available for processing this job at time t 1 . If in addition, the condition of Inequality (13) holds with s ∈ {2, 3, . . . , r}, then machine M 2 may also have idle times between processing jobs from the conflict set {J k+1 , J k+2 , . . . , J k+r }. However, machine M 2 is available for processing job J k+r+1 from the time moment In permutation π, jobs J k+r+1 , . . . , J m 1,2 are arranged in Johnson's order. Therefore, if machine M 2 has an idle time while processing these jobs, this idle time cannot be reduced.
Thus, the value of c 2 (π ) cannot be reduced by changing the order of jobs from the conflict set. Note that an idle time for machine M 1 is only possible between some jobs from the set J 2,1 . Since the permutation π * 2,1 is a Johnson's permutation of the jobs from set J 2,1 with scenario p 2,1 , the value of c 1 (π ) cannot be reduced. Thus, we obtain C max (π , π ) = max{c 1 (π ), c 2 (π )} = C max and the pair of permutations (π , π ) = ((π, π 1 , π * 2,1 ), (π * 2,1 , π 2 , π)) ∈ S is optimal for the problem J2|p, n i ≤ 2|C max with scenario p ∈ T. As the vector p is an arbitrary vector in the set T, set S contains an optimal pair of job permutations for each vector from the set T. Due to Definition 4, set S is a dominant set of schedules for the problem J2|l ij ≤ p ij ≤ u ij , n i ≤ 2|C max with job set J .