• 沒有找到結果。

Dominance Relations

In this section, the job shop problem with the objective of minimizing the sum of job completion times under uncertain numerical input data is modeled in terms of a mixed graph. As far as scheduling is concerned, the mean flow time seems to be more important than makespan. While Cmax aims for minimizing the schedule duration, in industry this duration is often defined by the periodicity of the process, say, a working day or a work-ing week. So, the criterion PCi is more suitable for a periodical scheduling environment.

Theoretically speaking, the problem with PCi is more difficult to solve than that with Cmax as evidenced by the facts that the two-machine open shop problem O2//Cmax and the flow shop problem F 2//Cmax are polynomially solvable while problems O2//PCi and F 2//PCi are NP-hard (see [BEP+96, LLRKS93]). (Obviously, the NP-hardness of the latter problem implies the NP-hardness of problem J /ai≤ pi≤ bi/PCi under consider-ation). In academic research, criterion Cmax has mainly been considered for multi-stage systems (open, flow and job shops) while criterion PCi for single-stage systems, i.e., systems with one machine or with a set of parallel (usually identical) machines. One explanation could be that makespan is easier to attack than mean flow time.

In the problem J /ai≤ pi≤ bi/PCi, it is assumed that only the structural input data (i.e., precedence and capacity constraints) are fixed while for the operation processing times only their lower and upper bounds are known before scheduling and the probability distribution functions of the random processing times are unknown. The structural input data are defined by the technological routes of the jobs, e.g., for a flow or open shop fixing the structural input data simply means to fix the number of jobs and the number of machines.

In this and next sections, two variants of a branch-and-bound method are developed.

The first one constructs a set of k schedules which are the best with respect to the mean flow time criterion for a fixed feasible vector of the processing times. The second variant constructs a set of potentially optimal schedules for all perturbations of the processing times within the given lower and upper bounds. To exclude redundant schedules, we use a stability analysis based on the pairwise comparison of schedules. Along with implicit enumerations based on a branch-and-bound method, we realize an explicit enumeration of all feasible schedules.

We assume that n jobs J = {J1, J2, . . . , Jn} have to be processed on m machines M = {M1, M2, . . . , Mm} when only the technological routes of the jobs are given before scheduling. At the stage j ∈ {1, 2, . . . , ni} of processing job Ji, operation Oij ∈ QJk has to be processed by machine Mk ∈ M. The distribution of the operations to the machines M is fixed via the given technological routes of the jobs J . Each machine can process at most one operation at a time (see Condition 1 at page 2) and preemptions of an operation are forbidden (see Condition 4 at page 3).

We consider the job shop problem J /ai≤ pi≤ bi/PCi with fixed technological routes and uncertain processing times pij, which have to satisfy only the inequalities aij ≤ pij ≤ bij, Ji ∈ J; j = 1, 2, . . . , ni (see Condition 5 at page 6). The sum of the job completion times (mean flow time) is considered as the objective function Φ = Φ(C1, C2, . . . , Cn) =

Pn

i=1Ci =PCi, where Ci = cini is the completion time of job Ji ∈ J.

To present the structural input data for problem J /ai ≤ pi ≤ bi/PCi, we use the mixed graph (QJ, AJ, EJ) introduced at page 13. Such a mixed graph G = (QJ, AJ, EJ)

defines the structural input data (precedence and capacity constraints) which are supposed to be known before scheduling. A schedule is defined as a circuit-free digraph Gs = (QJ, AJ ∪ EsJ, ∅) generated from the mixed graph (QJ, AJ, EJ) by replacing each edge [Oij, Ouv] ∈ EJ by one of the arcs (Oij, Ouv) or (Ouv, Oij). In the rest of this chapter, we use the terms of an optimal schedule (digraph), a better and a best schedule (digraph) with respect to the mean flow time criterionPCi. However, the makespan criterion Cmax and a regular criterion Φ are considered in the rest of this chapter as well.

Due to Definition 3.1 given at page 110, a solution Λ(G) of the problem J /ai≤ pi≤ bi/PCi is a set of digraphs containing at least one optimal digraph for each feasible vector p = (p1,1, p1,2, . . . , pnnn) of the processing times, i.e., for each vector p ∈ T , where

T = {x = (x1,1, x1,2, . . . , xnnn) : aij ≤ xij ≤ bij; i = 1, 2, . . . , n; j = 1, 2, . . . , ni} is the polytope of all feasible vectors of the processing times in the space Rq+, with q =

|QJ| = Pni=1ni = Pmk=1|QJk|. It is practically important to look for a minimal solution ΛT(G) of problem J /ai≤ pi≤ bi/PCi, i.e., for a minimal subset of the set Λ(G) containing at least one optimal digraph for each fixed vector p ∈ T of the processing times such that any proper subset of the set ΛT(G) is not a solution (see Definition 3.1).

If the processing times pij of all operations Oij ∈ QJ are fixed, one can calculate the value of the objective function for a digraph Gs ∈ Λ(G) using the critical path method.

As it follows from Section 1.2, to solve problem J //Φ we must find a digraph Gs such that Φps = min{Φpk : k = 1, 2, . . . , λ} (see formula (4.17) at page 196), where

Φpk= Φ(max

ν∈Hk1

lp(ν), max

ν∈H2k

lp(ν), . . . , max

ν∈Hknlp(ν))

is the value of the objective function of the job completion times for the digraph Gk∈ Λ(G) with fixed processing times p ∈ Rq+, and lp(µ) is the weight of path µ: lp(µ) =POij∈[µ]pij. Remind that Φps = lps for criterion Cmax and Φps = Lps for criterion PCi.

As it has been proven in Chapter 1 (see Theorem 1.3 at page 22), there exists problem J m/n = n0/Cmax with any given number of machines m and number of jobs n = n0, for which the optimality of digraph Gs ∈ Λ(G) does not depend on the numerical input data.

In other words, %bs(p) = ∞ which means that schedule s minimizes the makespan for all non-negative processing times. However, such a schedule cannot exist for criterion PCi. In other words, each optimal digraph (for mean flow time criterion) loses its optimality for some vectors p ∈ Rq+ of the processing times, i.e., %s(p) < ∞ (see Theorem 1.7 at page 36 and Remark 1.1). As it will be shown in the proof of Theorem 3.7 in the case of the relative stability radius %Bs(p ∈ T ) (see Definition 3.6 below) when T ⊂ Rq+ and B ⊂ Λ(G), an unrestricted value of %Bs(p ∈ T ) is still possible.

For the problem J /ai≤ pi≤ bi/Φ, we introduce the following two transitive dominance relations which define partial orderings on the set of feasible digraphs Λ(G).

Definition 3.5 Feasible digraph Gs (strongly) dominates feasible digraph Gk in set D ⊆ Rq+ if inequality Φps ≤ Φpk (inequality Φps < Φpk, respectively) holds for any vector p ∈ D of the processing times. We denote the dominance relation by Gs D Gk, and the strong dominance relation by GsD Gk.

Let equality aij = bij hold for each operation Oij ∈ QJ. In other words, set T turns into one point: T = {a} where a = (a1,1, a1,2, . . . , annn). Therefore, problem J /ai≤ pi≤ bi/Φ becomes a deterministic problem J //Φ, and the dominance relation T defines a total ordering on the set of digraphs Λ(G). Consequently, minimal solution ΛT(G) consists of a single digraph: ΛT(G) = {Gs}, where Gs is any optimal digraph for problem J //Φ with processing times pij being equal to aij = bij for each operation Oij ∈ QJ. In other words, digraph Gs dominates all digraphs Gk ∈ Λ(G) at the point a ∈ Rq+: Gs a Gk. Moreover, if the strong dominance relation holds for each digraph Gk∈ Λ(G) at the point a, i.e., if Gsa Gk, then digraph Gs is the unique optimal digraph for the processing times pij equal to aij = bij. As it was shown in the computational results (see Section 5.2 below), an optimal digraph for problem J //PCi was mainly uniquely determined. In such cases, if the dominance relation Gs aGk is valid for each digraph Gk ∈ Λ(G), then generally the strong dominance relation Gsa Gk is valid for each digraph Gk ∈ Λ(G) with k 6= s. (Note that this is not the case for the makespan criterion: For the most job shop instances which have been randomly generated makespan optimal digraphs were not uniquely determined.)

In the general case of the problem J /ai≤ pi≤ bi/PCi, the operation processing times may vary between given lower and upper bounds and therefore it is a priori unknown which path from the set Hki will have the largest weight in a practical realization of schedule k corresponding to digraph Gk. Thus, we have to consider the whole set Ωuk of representatives of the family of sets (Hki)Ji∈J in a similar way to the approach considered for the problem J //PCi (see Section 1.4).

Each of these sets Ωuk includes exactly one path from each set Hki, Ji ∈ J. Since Hki ∩ Hkj = ∅ for any pair of different jobs Ji and Jj, we have the equality |Ωuk| = n and so there exist ωk =Qni=1|Hki| different sets of representatives for digraph Gk, namely:

1k, Ω2k, . . . , Ωωkk. Next, we show how to restrict the number of sets of representatives which have to be considered while solving problem J /ai≤ pi≤ bi/PCi.

Similarly to the notion of a critical path which is particularly important for criterion Cmax, we use the notion of a critical set Ωuk for criterion PCi. The set Ωuk, u ∈ {1, 2, . . . , ωk}, is a critical set in Gk ∈ Λ(G) if the objective function value Lpk is reached on this set of paths, i.e., if equality Pν∈Ωu∗

k lp(ν) = Lpk holds.

For different vectors p ∈ R+q of the processing times, different sets Ωuk, u ∈ {1, 2, . . . , ωk}, may be critical, however a path ν ∈ Hki, Ji ∈ J, may belong to a critical set only if lp(ν) = maxµ∈Hi

klp(µ). Therefore, while solving problem J /ai≤ pi≤ bi/PCi, it is sufficient to consider only paths from the set Hki which may have the largest weight for at least one vector p ∈ T of the processing times. Moreover, if there are two or more paths in Hki which have the largest weight at the same vector p ∈ T , it is sufficient to consider only one of them. Thus, it is sufficient to consider only dominant paths which were defined in Section 3.2 (see Definition 3.6 at page 119).

Using Corollary 3.2, one can simplify digraph Gs while solving problem J /ai≤ pi≤ bi/PCi or problem J /ai≤ pi≤ bi/Cmax. First, we delete all transitive arcs, then we delete some arcs on the basic of domination of path sets (see Definition 3.4).

Let Hsi(T ) denote the set of all dominant paths in Hsi with respect to the polytope T . Since Hs⊆ ∪ni=1Hsi for problem J /ai≤ pi≤ bi/Cmax, one can construct a set Hsi(T ) as a subset of the set of all dominant paths Hs by selecting all paths ending in vertex Oini

(if they exist). Let GTs = (QTs, EsT, ∅) be a minimal subgraph of digraph Gs such that, if µ ∈Sni=1Hsi(T ), then digraph GTs contains path µ. To construct the digraph GTs, one can use the following straightforward modification of the critical path method [Dij59].

Assume that the path µ has the maximal weight among all paths in digraph Gsending in vertex Oij when the processing times are defined by the vector p ∈ Rq+. As usual, the weight of path µ minus pij is called earliest start time of operation Oij and we denote it by lsp(Oij) :

Starting with a vertex in digraph Gs which has a zero in-degree and following the critical path method, we define values las(Oij) and lsb(Oij) for each vertex Oij ∈ QJ. Then, using backtracking, we define vertices QTs and arcs EsT of digraph GTs as follows. Initially, we set QTs = {Oini : Ji ∈ J} for problem J /ai≤ pi≤ bi/PCi (if Hsi(T ) 6= ∅, Hsi(T ) ⊆ Hs, for problem J /ai≤ pi≤ bi/Cmax) and we set EsT = ∅. Then we add vertex Ouv to the set QTs, and we add arc (Ouv, Oini) to the set EsT:

QTs := QTs ∪ {Ouv}, EsT := EsT ∪ {(Ouv, Oini)}

if and only if the following two conditions hold:

1) there is no arc (Ou1v1, Oini) such that lbs(Ou1v1) < las(Ouv), and 2) inequality lbs(Ouv) + bini ≥ las(Oini) holds.

Continuing in a similar way for each vertex which is already included in the set QTs, we construct the digraph GTs (see Lemma 3.1).

Thus, instead of digraphs Gk, k = 1, 2, . . . , λ, one can consider digraphs GTk which contain all dominant paths Sni=1Hki(T ) and which are often essentially simpler than the corresponding digraphs Gk. The transformation of digraph Gkinto digraph GTk by testing inequality (3.7)

(see page 119) takes O(q2) elementary steps (q is the number of operations).

Let for criterionPCi the superscripts of the sets Ω1k, Ω2k, . . . , ΩωkkT, . . . , Ωωkk be such that

Example 3.2 To illustrate the above notions and definitions, we introduce a job shop problem J 3/n = 3, ai≤ pi≤ bi/PCi with QJ1 = {O1,1, O1,3, O3,2}, QJ2 = {O1,2, O2,1, O3,3}

and QJ3 = {O2,2, O3,1}. The mixed graph G = (QJ, AJ, EJ) represented in Figure 3.6 defines the structural input data. The numerical input data are defined by polytope T ∈ R+8 (see Table 3.7) within which the actual vector p of the processing times has to be contained.

For this small example, one can explicitly enumerate all feasible digraphs of set Λ(G).

(the cardinality λ of the set Λ(G) is equal to 22). Since not all digraphs may be optimal for the given segments [aij, bij] of possible variations of the processing times pij, we construct a subset B of the set Λ(G) of possible candidates of competitive digraphs (optimal digraphs) using the algorithms from Section 3.6 below. The cardinality of the set B is equal to 12, while λ = 22.

Table 3.7: Numerical data for problem J 3/n = 3, ai≤ pi≤ bi/PCi

i 1 1 1 2 2 3 3 3

j 1 2 3 1 2 1 2 3

aij 60 20 45 10 50 60 30 30 bij 80 40 60 30 70 80 50 40

Before finding a minimal solution ΛT(G) of this problem J 3/n = 3, ai≤ pi≤ bi/PCi, we consider its deterministic version J 3/n = 3/PCi by setting the vector of the processing times to be equal to p0 = (p01,1, p01,2, . . . , p03,3) ∈ T with p01,1 = 70, p01,2 = 30, p01,3 = 60, p02,1 = 20, p02,2 = 60, p03,1 = 70, p03,2 = 40, and p03,3 = 30. (Note that this vector can be chosen arbitrarily from the polytope T .) We number the digraphs G1, G2, . . . , G12 in accordance with non-decreasing values of the functionPCi calculated for the vector p0of the processing times: Lp10 = 440, Lp20 = 470, Lp30 = 500, Lp40 = 500, Lp50 = 520, Lp60 = 530, Lp70 = 540, Lp80 = 550, Lp90 = 570, Lp100 = 610, Lp110 = 610, Lp120 = 620.

For the vector p0 ∈ T , the digraph G1 = (QJ, AJ ∪ E1J, ∅) with the signature E1J = {(O1,1, O3,2), (O3,2, O1,3), (O2,1, O1,2), (O1,2, O3,3), (O2,1, O3,3), (O3,1, O2,2)} is the only optimal digraph. Therefore, for the initial problem J 3/n = 3, ai≤ pi≤ bi/PCi, we have to include the digraph G1 in the desired minimal solution ΛT(G). Using the above modifica-tion of critical path method, we simplify the digraphs G1, G2, . . . , G12. Then we compare

































-

--

-O1,1 O1,2 O1,3

O2,1 O2,2

O3,1 O3,2 O3,3

Figure 3.6: Mixed graph G = (QJ, AJ, EJ) for problem J 3/n = 3, ai≤ pi≤ bi/PCi

 comparison of these sets, we find that only two digraphs may be better than the digraph G1 (provided that the vector of the processing times belongs to the polytope T defined in Table 3.7). These two digraphs are as follows: Digraph G2 = (QJ, AJ ∪ E2J, ∅) with the signature E2J = {(O1,1, O3,2), (O1,3, O3,2), (O2,1, O1,2), (O1,2, O3,3), (O2,1, O3,3), (O2,2, O3,1)}

and digraph G5 = (QJ, AJ ∪ E5J, ∅) with the signature E5J = {(O1,1, O3,2), (O1,3, O3,2),

(O2,1, O1,2), (O1,2, O3,3), (O2,1, O3,3), (O3,1, O2,2)}. Moreover, the digraph G2 is the only optimal one, for example, for the vector p0 = (60, 20, 60, 10, 60, 80, 40, 30) ∈ T , and di-graph G5 is the only optimal one for the vector p00 = (60, 20, 45, 30, 70, 80, 50, 30) ∈ T . Consequently, a minimal solution of problem J 3/n = 3, ai≤ pi≤ bi/PCi consists of three digraphs, namely: ΛT(G) = {G1, G2, G5}. The corresponding digraphs GT1, GT2 and GT5 are represented in Figure 3.7 a), b) and c), respectively. Note that while digraph G1 has ω1 = 4 · 2 · 5 = 40 sets of representatives, digraph GT1 has only ωT1 = 3 · 1 · 3 = 9 sets of representatives. For the digraphs G2 and GT2, these numbers are ω2 = 16 and ω2T = 2, and for the digraphs G5 and GT5, these numbers are ω5 = 28 and ωT5 = 1.

The above full enumeration of digraphs Λ(G) is only possible for a small number of edges in the mixed graph G, and for a practical use one has to reduce the number of digraphs which have to be constructed. E.g., for the example under consideration, it is sufficient to construct only k = 5 digraphs, which are the best for the initial vector p0 of the processing times. Further, in Section 3.6 such a calculation will be developed on the basis of a branch-and-bound method for constructing k best digraphs. Moreover, the digraphs G3 and G4 in the set of the k = 5 best digraphs are also redundant. In Section 3.6, we present a branch-and-bound method for constructing all digraphs which are the only ones that may be optimal for feasible vectors of the processing times. We also show how to calculate the stability radius of an optimal digraph on the basis of an explicit enumeration of the digraphs Λ(G). The calculation of the stability radius will be used in Sections 3.6 and 5.4 as the main procedure for finding a minimal solution of problem J /ai≤ pi≤ bi/PCi.

The remainder of this chapter is organized as follows. Necessary and sufficient con-ditions for a set of digraphs to be a solution respectively a minimal solution of the job shop problem with uncertain processing times are proven in Section 3.5. Three exact and four heuristic algorithms for problems J /ai ≤ pi ≤ bi/Cmax and J /ai ≤ pi ≤ bi/PCi are given in Section 3.6. Section 3.6 contains a branch-and-bound method (B&B1) for constructing k schedules which are the best for problem J /ai ≤ pi ≤ bi/Φ with some fixed processing times. As it has been shown for the traveling salesman prob-lem [Lib99, LvdPSvdV96, vdP97] and for linear binary programming [PZ76, WJ88], the running time of such a branch-and-bound variant grows relatively slowly with k. We develop also a branch-and-bound method (B&B2) for constructing all schedules which may be optimal if the processing times vary between given lower and upper bounds. Un-fortunately, both algorithms B&B1 and B&B2 may construct some redundant schedules, which are not necessarily contained in a minimal solution of problem J /ai≤ pi≤ bi/Φ.

To reject such redundant schedules, we use a deeper (but more time-consuming) stability analysis of an optimal schedule.