Discrete Optimization
Mean flow time minimization with given bounds
of processing times
Tsung-Chyan Lai
a, Yuri N. Sotskov
b, Nadezhda Sotskova
c, Frank Werner
c,*aDepartment of Industrial and Business Management, National Taiwan University,
50, Lane 144, Sec. 4, Keelung Rd., Taipei 106, Taiwan
bUnited Institute of Informatics Problems, Surganov St. 6, 220012 Minsk, Belarus cFakult€at f€ur Mathematik, Institut f€ur Mathematische Optimierung, Otto-von-Guericke-Universit€at,
PSF 4120, 39016 Magdeburg, Germany Received 22 November 1999; accepted 24 June 2003
Available online 23 September 2003
Abstract
We consider a job shop scheduling problem under uncertain processing times and fixed precedence and capacity constraints. Each of the random processing times can take any real value between given lower and upper bounds. The goal is to find a set of schedules which contains at least one optimal schedule (with mean flow time criterion) for any admissible realization of the random processing times. In order to compute such a set of schedules efficiently and keep it as small as possible, we develop several exact and heuristic algorithms and report computational experience based on randomly generated instances.
2003 Elsevier B.V. All rights reserved.
Keywords: Scheduling; Mean flow time; Uncertainty
1. Introduction
The job shop problem under consideration can be described as follows. Each job Ji2 J ¼ fJ1;
J2; . . . ; Jng has to be processed on each machine
Mj2 M ¼ fM1; M2; . . . ; Mmg exactly once.
Tech-nological routes (machine orders) are fixed for all jobs, but may vary from job to job. A job Ji2 J
consists of a chain of m uninterrupted operations (Oii1; Oii2; . . . ; Oiim), where Oiik denotes the
opera-tion of job Ji on machine Mik 2 M and
(i1; i2; . . . ; im) is a permutation of the indices
f1; 2; . . . ; mg. At the scheduling stage, the process-ing time pijof operation Oij(Ji2 J , Mj2 M) is not
fixed: pij may take any real value between a given
lower bound aijP0 and a given upper bound
bijP aij. The probability distribution of the
ran-dom processing times is unknown. The criterion is mean flow time minimization. By adopting the three-field notation [10], we denote this problem by Jjaij6pij6bijjU, where U is the objective
function depending on the job completion times
www.elsevier.com/locate/dsw
*Corresponding author. Tel.: 391-6712025; fax:
+49-391-6711171.
E-mail address: [email protected](F. Werner).
0377-2217/$ - see front matter 2003 Elsevier B.V. All rights reserved. doi:10.1016/S0377-2217(03)00424-7
Ci, Ji2 J , with UðC1; C2; . . . ; CnÞ ¼Pni¼1Ci¼
PC
i.
Problem Jjaij6pij6bijjU aims to complement
but not to replace other models of uncertain scheduling environments, e.g. a stochastic model [13] and a fuzzy model [14]. A former model is useful when we have enough prior information to characterize the probability distributions of ran-dom processing times and there is a large number of realizations of similar processes, but it may have a limited significance for a small number of real-izations. In [6], uncertainty of the processing times was modeled by means of fuzzy numbers for mean flow time minimization and for other criteria. The known results and current trends in the field of scheduling under fuzziness have been presented in [14]. To model scheduling in an uncertain envi-ronment, a two-person non-zero sum game was introduced in [5], where the decision maker was considered as player 1 and ÔnatureÕ as player 2.
We have to emphasize that the random pro-cessing times in the problem Jjaij6pij6bijjU are
due to external forces in contrast to scheduling problems with controllable processing times [7,17], when the objective is to determine optimally the processing times (which are under control of a decision maker) and the schedule at the same time. Another related yet different problem is the hoist scheduling problem, see [4,12] for the definition along with results and Section 3 in [11] for a condensed survey. Hoist scheduling problems arise in chemical, electroplating and medical industries, where the objective is to minimize the cycle time of a repetitive process. The assigned hoist has to travel to the tank, wait if necessary, lift the job up at the suitable time, and travel to the next tank on the technological route. Due to the nature of the chemical process, the processing time at each tank has to be strictly controlled (by a decision maker) within given lower and upper bounds.
For problem Jjaij6pij6bijj
P
Ci, a set of m
sequences (Oi1k; Oi2k; . . . ; Oink) of the operations
processed on machines Mk, k ¼ 1; 2; . . . ; m, defines
a schedule, if none of these sequences contradicts to others and to the technological routes. For fixed processing times, these m sequences define the earliest starting and earliest completion times of all operations, i.e. these sequences define a semiactive
schedule [10]. In what follows, we use a circuit-free digraph Gs to represent a semiactive schedule for
problem Jjaij6pij6bijjPCi.
The approach under consideration was origi-nated in [8,9] for the makespan objective function: UðC1; C2; . . . ; CnÞ ¼ maxfCij Ji 2 J g ¼ Cmax. As
far as scheduling is concerned, the mean flow time seems to be more important than makespan. While Cmaxaims for minimizing the schedule duration, in
industry this duration is often defined by the pe-riodicity of the process, say, a working day or a working 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
evi-denced by the facts that the two-machine open shop problem O2kCmaxand the flow shop problem
F2kCmaxare polynomially solvable while problems
O2kPCi and F 2kPCi are NP-hard (see e.g.
[1,10]). (Obviously, the NP-hardness of the latter problem implies the NP-hardness of problem Jjaij6pij6bijjPCi under consideration). In
aca-demic 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.
The main technical issues of the research pre-sented in [8,9] were to simplify the circuit-free di-graph Gsdue to the dominance relation between its
paths. In this paper, we perform a further step in this direction by focusing on a dominance relation between circuit-free digraphs. This step is useful for scheduling problems for both criteria Cmax and
PC
isince it allows to reduce the number of
can-didate schedules for a solution. Moreover, for the criterion PCi this step may be more important
since the comparison of digraphs Gswith respect to
P
Ciis essentially more complicated than that for
Cmax (see [3,15]). Note also that while the
simplifi-cation of a digraph Gsmay be done in polynomial
time [8], to find a solution to problem Jjaij6pij6bijj
PC
ior Jjaij6pij6bijjCmaxis NP-hard.
As follows from [2], a reduction of semiactive schedules may be significant for the case of all non-negative perturbations of the processing times:
0 6 pij <1. In [2], for an open shop problem
Oj0 6 pij <1jCmax, the set of so-called irreducible
schedules has been considered: For any set of non-negative processing times, the set of irreducible schedules contains at least one optimal schedule. On the basis of computations for open shop problems with n 6 3 and m 6 7, it has been shown by experiments that only a small part of semiactive schedules is irreducible for an open shop problem, and this part becomes relatively smaller when the size of the problem grows.
The remainder of this paper is organized as follows. In Section 2, we present a mixed graph model and notations. In Section 3, we show how to calculate the stability radius of an optimal sched-ule with respect to feasible perturbations of the processing times. Exact and heuristic algorithms for problem Jjaij6pij6bijjPCi are developed in
Section 4. Computational results for randomly generated job shop problems with n 6 10 and m 610 are discussed in Section 5. The last section contains some remarks.
2. Mixed graph formulation
To present the input data for problem Jjaij6pij6bijj
P
Ci we use the mixed graph
G¼ ðQ; A; EÞ with the vertex set Q ¼ fOijj Ji2
J ; Mj2 Mg, the arc set A ¼ fðOiik; Oiikþ1Þ j Ji2 J ;
k¼ 1; 2; . . . ; m 1g, and the edge set E ¼ f½Oij;
Olk j Mk 2 M; Ji2 J ; Jl2 J ; i 6¼ lg. The set of arcs
A defines precedence constraints, and the set of edges E defines capacity constraints [1,10]. A schedule may be represented as a circuit-free di-graph Gs¼ ðQ; A [ As;;Þ generated from the
mixed graph G by replacing (orienting) each edge ½Oik; Olk 2 E by one of the two arcs: either
ðOik; OlkÞ 2 AsorðOlk; OikÞ 2 As. For each machine
Mk2 M, the digraph Gs uniquely defines a
se-quence (Oi1k; Oi2k; . . . ; Oink) of the operations being
processed on machine Mk. In what follows, we use
the term digraph Gsor schedule Gsequivalently.
Let KðGÞ ¼ fG1; G2; . . . ; Gkg denote the set of
all circuit-free digraphs (schedules) generated from the mixed graph G by replacing edges E by arcs As,
s¼ 1; 2; . . . ; k. Rnmand Rnm
þ denote the space of
nm-dimensional real vectors and the space of
non-negative real vectors, respectively. T denotes the polytope in the space Rnm
þ of feasible vectors of
processing times: T ¼ fp ¼ ðp11; p12; . . . ; PnmÞ j aij6
pij6bij, Ji2 J , Mj2 Mg. The following definition
has been introduced in [9] for the case of the Cmax
criterion.
Definition 1. A set of schedules KðGÞ KðGÞ is a solution to problem Jjaij6pij6bijjPCiif for this
problem with any fixed feasible vector of process-ing times p2 T , the set KðGÞ contains at least one optimal schedule. If any proper subset of set KðGÞ is no longer a solution to problem Jjaij6pij6
bijjPCi, then the set KðGÞ is called a minimal
solution denoted by KTðGÞ.
Let Hi
sdenote the set of all paths in the digraph
Gs¼ ðQ; A [ As;;Þ ending in vertex Oiim and
start-ing in some vertex Ouu1, where Ji2 J , Ju2 J . The
set of vertices which are contained in path l is denoted byhli. Let lpðlÞ be the length of path l:
lpðlÞ ¼P
Oij2hlipij. For the fixed vector p2 T of
processing times, we can calculate the completion time CipðsÞ of job Ji2 J in the schedule Gs as
fol-lows: CpiðsÞ ¼ maxm2Hi sl
pðmÞ. The objective function
value UpðsÞ for schedule G
s with vector p2 T of
processing times is equal to UpðsÞ ¼X n i¼1 CipðsÞ ¼X n i¼1 max m2Hi s lpðmÞ:
We can introduce the following dominance re-lations which define partial orderings on the set of schedules KðGÞ.
Definition 2. Schedule Gs dominates (strongly
dominates) schedule Gk in domain D Rnmþ if
in-equality UpðsÞ 6 UpðkÞ (inequality UpðsÞ < UpðkÞ,
respectively) holds for any vector p2 D of pro-cessing times. We denote the dominance relation by GsDGk and the strong dominance relation by
GsDGk.
For a problem Jjaij6pij6bijjPCi, we do not
know a priori which path from the set Hi
swill have
the maximal length, and in the worst case, we have to consider the whole set Xus of representatives of the family of sets ðHi
sÞJi2J. Each of these sets X
u s
includes exactly one path from each set Hi s, Ji2 J ,
and there exist xs¼Qni¼1jHsij different sets of
representatives for digraph Gs, namely: X1s;X 2 s; . . . ;
Xxs
s .
We show how to restrict the number of sets of representatives which have to be considered while solving problem Jjaij6pij6bijjPCi. First, note
that only paths from set Hi
s which lead for at least
one feasible vector p2 T to the value CipðsÞ are of
interest. Second, if there are two or more paths in Hi
s which have the maximal length for the same
vector p2 T , it is sufficient to consider only one of them. Third, it is sufficient to consider only domi-nant paths: Path l2 Hi
s dominates path m2 Hsi
with respect to T if lpðlÞ P lpðmÞ for all vectors
p2 T . It is easy to show [9] that inequality lpðlÞ P lpðmÞ holds for all vectors p 2 T if and only
if the following inequality holds: X Oij2hlinhmi aijP X Ouv2hminhli buv: ð1Þ Let Hi
sðT Þ denote the set of all dominant paths
in Hi
s with respect to T , i.e. if path l2 HsiðT Þ
dominates path m2 Hi
s, then m62 H i
sðT Þ. For a
gi-ven schedule, we can reduce the digraph Gs such
that only paths which are not dominated are in Gs,
i.e. we calculate a digraph GT
s containing all
non-dominated paths Sni¼1Hi
kðT Þ. To achieve this, let
lp
sðOijÞ denote the length of a longest path in
di-graph Gs(with fixed vector p2 T ) ending in vertex
Oij. Due to (1), it is sufficient to calculate only
la
sðOijÞ and lbsðOijÞ with vectors a ¼ ða11; a12; . . . ; anmÞ
and b¼ ðb11; b12; . . . ; bnmÞ. These values can be
determined via the critical path method. Thus, now only arcsðOij; OuvÞ with lbsðOijÞ þ buvP lasðOuvÞ
have to be inserted into GT
s. These arcs can be
found, e.g. in a backward calculation.
The above transformation of digraph Gk into
digraph GT
k takes Oðn
2m2Þ elementary steps. In
what follows, we assume that the superscripts of the sets X1k;X2k; . . . ;Xx
T k
k ; . . . ;X xk
k are such that for a
path l, the inclusion l2Sni¼1Hi
kðT Þ holds if and
only if l2SxTk
i¼1X i k.
3. Stability of an optimal schedule
Let Optsdenote the set of all vectors p2 Rnm þ for
which Gsis an optimal schedule. Using Definition
1, we directly get that set K KðGÞ is a solution to problem Jjaij6pij6bijjPCi if T SGs2KOpts.
Solution K is minimal if for each schedule Gk2 K,
we have T6SGs2KnfGkgOpts. Set Opts\ T is called
the stability region of schedule Gs.
We can characterize a single-element solution to problem Jjaij6pij6bijjPCi on the basis of the
dominance relation: The equality KTðGÞ ¼ fGsg
holds if and only if the dominance relation GsT Gk
holds for any schedule Gk2 KðGÞ. A minimal
so-lution which includes more than one schedule may be characterized on the basis of the strong domi-nance relation.
Theorem 1. Solution KðGÞ to problem J jaij6pij6
bijjPCi withjKðGÞj P 2 is minimal if and only if
for each schedule Gs2 KðGÞ, there exists a vector
pðsÞ2 T such that G
spðsÞGk for each schedule
Gk 2 KðGÞ n fGsg.
Proof. Sufficiency. If the condition of the theorem holds, then for any schedule Gs2 KðGÞ, the set
KðGÞ n fGsg is no longer a solution to problem
Jjaij6pij6bijjPCi. Indeed, for vector pðsÞ2 T ,
in-equality UpðsÞðsÞ < UpðsÞ
ðkÞ holds for each schedule Gk 2 KðGÞ n fGsg. It follows that Gsis the unique
optimal schedule to problem JkPCi with vector
pðsÞ of processing times. Therefore, solution KðGÞ is minimal.
Necessity. We assume that KðGÞ is a minimal solution but the condition of the theorem does not hold, i.e. there exists a schedule Gs2 KðGÞ such
that for each vector p2 T , there exists a schedule Gk 2 KðGÞ n fGsg for which the strong dominance
relation GspGk does not hold. Thus, we have
UpðsÞ P UpðkÞ. It follows that the set KðGÞ n fG sg
is also a solution to problem Jjaij6pij6bijjPCi
and this contradicts to the assumption that solu-tion KðGÞ is minimal. h
Section 4 deals with algorithms for finding a solution and a minimal solution. These algorithms are based on the fact that a schedule Gs2 KðGÞ
being optimal for the fixed vector p2 Rnm
þ of
pro-cessing times, generally remains optimal within some neighborhood of vector p in the space Rnm
þ.
We consider a closed ball BrðpÞ Rnm with
neighborhood of vector p provided that the dis-tance dðp; p0Þ between vectors p ¼ ðp
11; p12; . . . ;
pnmÞ 2 Rnm and p0¼ ðp011; p012; . . . ; pnm0 Þ 2 R
nm is
de-fined as follows: dðp; p0Þ ¼ maxfjp
ij p0ijj j i ¼ 1;
2; . . . ; n; j ¼ 1; 2; . . . ; mg. The closed ball BrðpÞ is
called a stability ball of schedule Gs if for each
schedule Gk 2 KðGÞ relation GsT Gk holds with
T¼ B
rðpÞ \ T . The radius r of a stability ball may
be interpreted as the error of the given processing times p2 Rnm
þ such that for all new processing
times p02 T with p
ij r 6 p0ij6pijþ r schedule Gs
remains optimal. The maximal value of such a radius of stability ball BrðpÞ is of particular
im-portance for finding a minimal solution KTðGÞ.
Definition 3. The stability radius (denoted by .K
sðp 2 T Þ) of a schedule Gs with respect to
K KðGÞ is the maximum value of r such that Gs
dominates all schedules Gk 2 K in the domain
T¼ B
rðpÞ \ T .
In the general case, Definition 3 implies the following equality: .K sðp 2 T Þ ¼ inf dðp; p0Þ j p02 T ; Up0 ðsÞ >min Gk2K Up0 ðkÞ : In the case .K
sðp 2 T Þ < 1, there exist a vector
p02 T and a schedule G
k 2 K such that
Up0ðsÞ > Up0
ðkÞ: ð2Þ
So, in order to calculate the finite stability radius .K
sðp 2 T Þ, we will look for a schedule Gk2 K such
that GsTGk and for a vector p02 T which is the
closest to p among all vectors for which inequality (2) holds. More precisely, to find .K
sðp 2 T Þ it is
sufficient to construct a vector p00¼ ðp00
11; p1200; . . . ;
p00
nmÞ 2 T which satisfies the following three
condi-tions:
(i) There exists a digraph Gk2 K, k 6¼ s, such that
Up00ðsÞ ¼ Up00ðkÞ: ð3Þ
(ii) For any small real > 0, there exists a vector p02 T such that dðp0; p00Þ ¼ and inequality
(2) holds.
(iii) The distance dðp; p00Þ is minimal among all
distances between vector p and the other vec-tors from set T which satisfy both conditions (i) and (ii).
After having constructed the above vector p002 T , we can calculate the stability radius as
follows: .K
sðp 2 T Þ ¼ dðp; p00Þ. Due to conditions (i)
and (ii), the main objects for such a construction are the sets of dominant paths Hi
kðT Þ, Gk 2 K,
Ji2 J . Namely, we have to compare the sets Xvs,
v¼ 1; 2; . . . ; xT
s, with the sets X u
k, u¼ 1; 2; . . . ; x T k.
To satisfy conditions (i)–(iii), we will look for a vector p00on the basis of a direct comparison of the
paths from the set Xvs with paths from the set Xuk, where Gk 2 K.
For the vector p00, the value P m2Xu
kl
p00
ðmÞ for each set Xu
k, u¼ 1; 2; . . . ; xTk, has to be not greater
than the valuePl2Xv sl
p00ðlÞ for at least one set Xv s,
v¼ 1; 2; . . . ; xT
s. If the opposite inequality holds
for the given vector p, then we have to achieve the equality X l2Xv s lp00ðlÞ ¼X m2Xu k lp00ðmÞ ð4Þ
by changing the given processing times pij of the
operations Oij in a minimal way, i.e. such that the
maximal change of a processing time is as small as possible (see condition (iii)).
Let nijðXukÞ denote the number of times how
often operation Oijoccurs in the set Xuk. In order to
achieve (4), the processing times of operations which occur more often in Xv
s should be increased
while those of operations which occur more often in Xu
k should be decreased (the rest of the
pro-cessing times should remain as it is in vector p). Taking into account the restriction aij6pij6bij
and the goal to have the maximum change of the processing time as small as possible, a procedure to calculate the changes of components of vector p will be based on increasing/decreasing all relevant processing times simultaneously and always when a new processing time p00
ij achieves its bound aij or
bij, it is dropped. The process stops when equality
(4) is achieved. Next, we describe this procedure in detail. If Pl2Xv sl pðlÞ <P m2Xu kl pðmÞ, then we calculate the value
r¼ P m2Xu kl PðmÞ P l2Xv sl PðlÞ P Oij2QjnijðX u kÞ nijðXvsÞj : ð5Þ
It is clear that equality (4) will definitely hold for the vector p00obtained from vector p by adding
the value r calculated in (5) to all components pij
for which inequality nijðXukÞ < nijðXvsÞ holds and by
subtracting the value r from all components pij for
which inequality nijðXukÞ > nijðXvsÞ holds. Note
however, that for such a vector p00, the inclusion
p002 T need not hold. Indeed, after increasing the
component pij, we can obtain p00ij> bij, if r >
bij pij. On the other hand, after decreasing the
component pij, we can obtain p00ij< aij, if r >
pij aij. Therefore, we have to change all such
components pij to zero: p00ij¼ 0. As a result, the
above value r has to be replaced by r> r. Let
rXu k;Xvs ¼ r
denote the minimal distance between
the given vector p2 T and the vector p00 ¼ pðrÞ ¼
ðp11ðrÞ; p12ðrÞ; . . . ; pnmðrÞÞ 2 T for which equality
(4) holds. The components of vector p00¼ pðrÞ are
defined as follows: pijðrÞ ¼ pijþ minfr; bij pijg; if nijðXukÞ < nijðXvsÞ; pij minfr; pij aijg; if nijðXukÞ > nijðXvsÞ; pij; if nijðXukÞ ¼ nijðXvsÞ: 8 > < > : ð6Þ To ensure equality (3) for schedule Gk and
vector p00¼ pðrÞ 2 T , we have to repeat the
cal-culations (5) and (6) for each set Xuk, u2 f1; 2; . . . ; xT
kg, and to take the maximum, and
for each set Xv
s, v2 f1; 2; . . . ; x T
sg, and to take the
minimum: rGk ¼ min v2f1;2;...;xT sg max u2f1;2;...;xT kg rXu k;X v s: ð7Þ
It should be noted that, if there exists a vector p002 T satisfying equality (3), nevertheless it may be that there does not exist a vector p02 T
satis-fying inequality (2). (However, only inequality (2) implies Gsp0Gk). Inequality (2) may be rewritten
in the equivalent form max v2f1;2;...;xT sg X l2Xv s lp0ðlÞ > max u2f1;2;...;xT kg X m2Xu k lp0ðmÞ: ð8Þ
Due to criterion (1), there exists a vector p02 T
such that X l2Xv s lp0ðlÞ >X m2Xu k lp0ðmÞ ð9Þ
if and only if inequality (9) holds for vector p0¼ p¼ ðp 11; p12; . . . ; pnmÞ 2 T , where pij¼ bij; if nijðXukÞ < nijðXvsÞ; aij; if nijðXukÞ > nijðXvsÞ; pij; if nijðXukÞ ¼ nijðXvsÞ: 8 < :
Thus, we have to restrict the consideration of the sets Xv
sin inequality (8) to the subset Xskof the
set fXv
sj v ¼ 1; 2; . . . ; xTsg defined as follows: Xsk is
the set of all sets of representatives Xv s, v2
f1; 2; . . . ; xT
sg for which there exists a set of
rep-resentatives Xu
k such that inequality (9) holds for
p0¼ p. We can rewrite equality (7) as follows:
rGk ¼ min Xv s2Xsk max u2f1;2;...;xT kg rXu k;Xvs: ð10Þ
To obtain the desired vector p02 T , we have to
calculate rGk according to (10) for each schedule
Gk 2 K, if GsT Gk, and to take the minimum over
all such schedules Gk. We summarize the above
arguments in the following claim.
Theorem 2. If for each schedule Gk 2 K relation
GspGk holds with the fixed vector p2 T , then
.Ksðp 2 T Þ ¼ min min Xv s2Xsk max u2f1;2;...;xT kg rXuk;XvsjGsTGk ( ) :
The above proof of Theorem 2 implies the fol-lowing characterization of a single-element solu-tion: If Xsk ¼ ; for each schedule Gk2 K, then
.K
sðp 2 T Þ ¼ 1 and K
TðGÞ ¼ fG sg.
The following obvious claim often allows to restrict the number of schedules Gk2 K considered
for calculating .K
sðp 2 T Þ.
Lemma 1. Schedule Gs2 K dominates schedule
Gk 2 K polytope T if (only if) inequality (11) holds
(inequalities (12) hold, respectively):
UbðsÞ 6 UaðkÞ; ð11Þ
It takes Oðn2m2Þ elementary steps to test
in-equalities (11) and (12), however, there is a ÔgapÕ between the necessary and sufficient conditions in Lemma 1, if UaðsÞ 6¼ UbðsÞ. So, in the general case
we are forced to use the time-consuming Theorem 1 and Theorem 2 for calculating KTðGÞ.
The above results remain valid for a more general scheduling problem than Jjaij6pij6
bijjPCi. Namely, in the technological route of a
job Ji2 J , both machine repetition and machine
absence are allowed. Note that all algorithms de-scribed in Section 4 (except Algorithm EXPL) may be used for such a generalization of the classical job shop (in a classical job shop each technological route includes each machine exactly once).
4. Algorithms
Using the above background, we develop three algorithms (called EXPL, B&B1 and B&B2) for constructing a solution K, one algorithm (called MINSOL) for finding a minimal solution KTðGÞ and one algorithm (called SOL) for calculating .K
sðp 2 T Þ and a solution K
ðGÞ KðGÞ with small
cardinality. In this section, we present an informal description of these algorithms (except B&B1 and B&B2). Their algorithmic descriptions can be found in [16] available from the internet.
Algorithm SOL is based on Lemma 1 and on the above constructive proof of Theorem 2. Its input data includes a set of schedules K KðGÞ and a fixed vector p2 T . Algorithm SOL generates a covering of polytope T by nested stability balls BrðpÞ with the common center p 2 T and different
radii r which are stability radii .K
sðp 2 T Þ of the
same schedule Gs but for different nested sets K.
Let the set K KðGÞ be a given solution to problem Jjaij6pij6bijj
P
Ci. We fix the vector
p2 T of processing times and index the schedules in the set K¼ fG1; G2; . . . ; GjKjg in non-decreasing
order of the sums of the job completion times: Upð1Þ 6 Upð2Þ 6 6 UpðjKjÞ.
Algorithm SOL takes the schedule Gs¼ G1,
which is optimal for vector p2 T , and tests dom-inance relation GsT Gk first for k¼ 2, then for
k¼ 3 and so on. If inequality (11) holds or Xsk¼ ;, then we delete schedule Gk from the set K.
Otherwise, we calculate the value rGk using equality
(10) and finally we calculate the stability radius .K
sðp 2 T Þ (just as in the proof of Theorem 2). The
remaining schedules in the set K define the desired solution KðGÞ ¼ Gs[ fGkj GsTGkg ¼ fGi1; Gi2;
. . . ; GijK ðGÞjg, where i1< i2< < ijKðGÞj. The
fol-lowing Lemma 2 proven in [15] (see also [16]) is used within Algorithm SOL to restrict the number of schedules from set Kn fG1g with which the
comparison of the schedule G1 has to be done for
calculating its stability radius.
Lemma 2. If .K
1ðp 2 T Þ < 1 and there exists a
schedule Gk 2 K such that inequality
rGk6
UpðhÞ Upð1Þ
nðnm 1Þ
holds for some schedule Gh, k < h 6jKj, then it is
not necessary to consider schedule Gh2 K during
the calculation of .K
1ðp 2 T Þ.
Note that solution KðGÞ generated by Algo-rithm SOL may be not minimal: This algoAlgo-rithm retains the schedules that are not dominated by schedule G1 and excludes schedule Gk only if
GsT Gk. To exclude other redundant schedules
from the set KðGÞ, we test further relation T
between the schedules from the set KðGÞ which may be done using the following Algorithm MINSOL, based on Theorems 1 and 2.
First, we exclude all schedules Gik, 2 < k 6
jKðGÞj, from the set KðGÞ, for which relation
Gi2 T Gik holds. To this end, we repeat Algorithm
SOL with the set KðGÞ n fGi1g being used instead
of the set K. Then we exclude all schedules from the solution which are dominated by schedule Gi3
and so on. After no more than jKðGÞj 2 repe-titions of Algorithm SOL, we have removed most redundant schedules from the set KðGÞ and ob-tain a set KðGÞ ¼ fGj1; Gj2; . . . ; GjjK ðGÞjg. To
ex-clude the remaining redundant schedules from the set KðGÞ and to get a minimal solution KTðGÞ, we
have to test the condition of Theorem 1 as the following step (called test of Theorem 1) within the repeated application of Algorithm SOL.
Note that KðGÞ is the set of schedules such that for each pair of schedules Gjs2 K
Gjk 2 K
ðGÞ, we have G
jsTGjk and GjkTGjs.
Thus, for each pair of schedules Gjs and Gjk,
Al-gorithm SOL gives vector pðrÞ according to (6),
which belongs to the boundary of the stability region of schedule Gjs. Let be a small positive
number. We test whether schedule Gjk is
the unique optimal schedule among all remaining schedules in the set KðGÞ for the vector pðrskÞ ¼ ðp
11ðrskÞ; p12ðrskÞ; . . . ; pnmðrskÞÞ, where
pijðrskÞ ¼ pijðrÞ þ , if pij< pijðrÞ < bij, and
pijðrskÞ ¼ pijðrÞ , if aij < pijðrÞ < pij. This test
is realized by a direct calculation and comparison of the values UpðrskÞðlÞ for each schedule Gl2
KðGÞ. If schedule Gk is the unique optimal
schedule in the set KðGÞ for at least one vector pðrskÞ, k ¼ 1; 2; . . . ; jKðGÞj, k 6¼ s, then schedule
Gkremains in the set KðGÞ, otherwise we delete it
from this set.
Since the above test of Theorem 1 is time-con-suming, we realize also a heuristic variant of Al-gorithm MINSOL (called AlAl-gorithm MINSOL)
which does not include this test. If for the solution KTðGÞ generated by Algorithm MINSOL the
in-equality jKTðGÞj 6 2 holds, then the set KTðGÞ
satisfies the conditions of Theorem 1 and therefore this solution is minimal. If jKTðGÞj > 2, then the
solution generated by Algorithm MINSOL may
be not minimal. Fortunately, Algorithm MIN-SOL often constructs a minimal solution even if
jKTðGÞj > 2. We have only an experimental
justi-fication for this fact: As it is shown in [15], an optimal schedule for criterion PCi is uniquely
determined in the interior of its stability region for most job shop problems that have been tested.
Next, we describe three algorithms for con-structing a solution K used as input data in Al-gorithm SOL. The first one (AlAl-gorithm EXPL) is based on an explicit enumeration of all semiactive schedules for the case of a classical job shop. Al-gorithm EXPL is straightforward. It generates all schedules KðGÞ by an explicit enumeration of the permutations of jobs J on each machine Mk 2 M
and testing whether the generated digraph Gs has
no circuits. For excluding some redundant sched-ules Gk with GsT Gk, Algorithm EXPL uses
in-equality (11) from Lemma 1.
Two other algorithms (B&B1 and B&B2) are of the branch-and-bound type and may be used
for both classical and non-classical job shops. Branch-and-bound algorithms realize an implicit enumeration scheme represented by the follow-ing branchfollow-ing tree. Each vertex of this tree is a mixed graph GðsÞ¼ ðQ; AðsÞ; EðsÞÞÞ with A AðsÞ and
EðsÞ E. The root of the tree is a mixed graph
G¼ Gð1Þ, and a pair GðsÞ and GðkÞ is connected by
the arc ðGðsÞ; GðkÞÞ if the mixed graph GðkÞ is
ob-tained directly from the mixed graph GðsÞ by
orien-tating one edge in GðsÞ. In both branch-and-bound
algorithms, an edge of the mixed graph GðsÞ is
ori-entated only if it is a conflict edge defined as follows. For the mixed graph GðsÞ¼ ðQ; AðsÞ; EðsÞÞ with
½Oij; Ouv 2 EðsÞ, let us define the following three
digraphs: Gs0 ¼ ðQ; AðsÞ;;Þ, Gs0 ¼ ðQ; AðsÞ[ fðOij;
OuvÞg; ;Þ and Gs00 ¼ ðQ; AðsÞ[ fðOuv; OijÞg; ;Þ. An
edge ½Oij; Ouv 2 EðsÞ of the mixed graph GðsÞ is
called a conflict edge if there exists a vector p2 T such that the following inequalities hold:
lps0ðOuvÞ < l p s0ðOuvÞ; ð13Þ lps0ðOijÞ < l p s00ðOijÞ: ð14Þ
If inequalities (13) and (14) hold, then each orientation of the edge½Oij; Ouv implies an increase
of the value lps0ðOuvÞ or the value lps00ðOijÞ. To verify
whether an edge is a conflict one, we can use the following obvious claim.
Lemma 3. An edge ½Oij; Ouv 2 EðsÞ is not a conflict
edge if inequality (15) or (16) holds:
las0ðOuvÞ P lbs0ðOijÞ þ bij; ð15Þ
las0ðOijÞ P lbs0ðOuvÞ þ buv: ð16Þ
For each edge½Oij; Ouv 2 EðsÞ, one can calculate
a conflictness measure as follows: minflp
s0ðOijÞ þ pijlps0ðOuvÞ;lps0ðOuvÞ þ puvlps0ðOijÞg;
ð17Þ where lps0ðOijÞ denotes the latest starting time of
operation Oij, i.e. the difference between the length
of a critical path in digraph Gs and the maximal
length of a path in Gsstarting from Oij. In order to
branch the set KðGðsÞÞ into two subsets KðGðs0ÞÞ and
KðGðs00
ÞÞ, where Gðs0Þ¼ ðQ; AðsÞ[ fðOij; OuvÞg; EðsÞn
f½Oij; Ouv gÞ, we select the edge ½Oij; Ouv which has
the largest value of the conflictness measure. We use the following lower bound in both branch-and-bound algorithms: If Gt¼ ðQ; AðsÞ[ At;;Þ 2 KðGðsÞÞ, then Xn i¼1 lptðOiniÞ P Xn i¼1 lps0ðOiniÞ: ð18Þ
If the digraph GðsÞ has no conflict edge, there
exists a schedule Gt2 KðGðsÞÞ such that condition
(18) is realized as equality. To construct such a schedule, we have to replace each remaining edge ½Oij; Ouv 2 EðsÞby the arcðOij; OuvÞ if inequality (15)
holds, or by the arc (Ouv; Oij) if inequality (16) holds.
Obviously, for each pijand puvwith aij6pij6bijand
auv6puv6buv, all operations in the resulting
di-graph have the same earliest starting times as in the digraph Gs0. We use the latter as the stopping rule of
branching set KðGðsÞÞ. Next, we present an
algo-rithm for constructing a set of k best schedules for a fixed vector p2 T of processing times.
Algorithm B&B1
Input: A polytope T , a mixed graph G, a vector p2 T and an integer k.
Output: The k best schedules K¼ fG1; G2; . . . ;
Gkg KðGÞ for the vector p.
Step 1: Set X ¼ fGð1Þg :¼ fGg, Y ¼ ; and L ¼ 1.
Step 2: IF X ¼ ;, THENGOTO Step 8; ELSE se-lect a mixed graph GðsÞ2 X with the
small-est value Upðs0Þ and set X :¼ X n fG ðsÞg.
Step 3: Select a conflict edge ½Oij; Ouv 2 EðsÞ with
the largest conflictness measure (17). Step 4: IF the mixed graph GðsÞ has no conflict
edge, THENGOTO Step 6.
Step 5: IF Upðs0Þ < L, THENset X :¼ X [ fG ðs0Þg; ELSE IF Upðs00Þ < L, THENset X :¼ X[ fGðs00 Þg. GOTO Step 2. Step 6: IF jY j < k, THENset Y :¼ Y [ fGðsÞg.
GOTO Step 2; ELSE IF Upðs0Þ < L,
THENset Y :¼ Y [ fGðsÞg n fGðtÞg.
Step 7: Calculate L¼ maxfUb
ðtÞj GðtÞ2 Y g. GOTO
Step 2.
Step 8: For each mixed graph GðtÞ 2 Y , construct
the set KðGðtÞÞ.
Step 9: Select a subset K of k best schedules from the setSG
ðtÞ2YKðGðtÞÞ.
Step 10: Calculate L¼ minfUbðsÞ j G
s2 Kg and
set K :¼ K n fGtj UaðtÞ P Lg. Stop.
In Algorithm B&B1, the lower bound is calcu-lated in Step 7, branching is realized in Step 5, and the stopping rule of branching is realized in Step 4. Step 6 has a special form in order to construct the k best schedules for p2 T . Steps 8 and 9 are nec-essary only if k > 1.
Algorithm B&B2 aims to construct a set of schedules which dominate all other schedules from the set KðGÞ in the polytope T . Steps 1–5 and Steps 8–10 in Algorithm B&B2 are similar to those in Algorithm B&B1. Therefore, we describe only Steps 60 and 70 of Algorithm B&B2, which are
different from Steps 6 and 7 of Algorithm B&B1.
Algorithm B&B2 (specific part)
Step 60: IF L > Uaðs0Þ, THENset Y :¼ Y [ fG ðsÞg.
Step 70: Calculate L¼ minfUbðtÞjG
ðtÞ2 Y g. GOTO
Step 2.
In Step 60, schedule G
ðsÞis included into set Y only
if inequality (11) is violated for at least one schedule from set Y . Next, we present computational results for randomly generated job shop problems.
5. Computational results
All algorithms presented in Section 4 were co-ded in FORTRANand tested on a PC 486 (120 MHz) for an exact solution of the problem Jjaij6pij6bijjPCi(Table 1) and on a PC 486 (50
MHz) for a heuristic solution (Table 2). Both Tables 1 and 2 present computational results for classical job shops only. So, each randomly gen-erated instance Jjaij6pij6bijjCi has jQj ¼ mn
operations and the corresponding mixed graph G has ðm 1Þn arcs and n
2
m edges. For each combination of n and m, three types of instance series (called A, B and C) were considered for the case of an exact solution (Table 1). Each series consists of 10 instances with randomly generated technological routes. In each instance, it is as-sumed that the components pij of the input vector
phave been calculated as follows: pij¼ bijaij
Table 1
Solutions of randomly generated problems Jjaij6pij6bijjPCi
n m type k k0kkT Scheme I Scheme II Scheme III Scheme IV Scheme V
1 2 3 4 5 6 7 8 9 3· 3 5.2 0.6 0.7 0.6 4.8 0.4 4.8 0.2 C 1.9 1.0 1.1 1.0 1.9 0.8 1.9 0.6 91 1.9 1.1 1.3 1.1 1.9 0.9 1.9 0.7 3· 3 9.3 0.7 0.8 0.5 6.1 0.2 6.6 0.2 B 2.9 1.2 1.3 1.0 2.7 0.6 2.7 0.6 91 2.6 1.4 1.5 1.2 2.4 0.9 2.4 0.9 3· 3 16.5 0.7 0.8 0.9 10.6 0.3 11.3 0.3 A 3.3 1.5 1.7 1.8 2.9 1.0 3.0 1.0 77 3.3 1.7 1.9 2.0 2.9 1.4 3.0 1.4 3· 4 3.4 1.9 1.6 1.1 3.0 0.8 3.0 0.3 C 1.7 2.2 1.9 1.8 1.5 1.0 1.5 0.6 262 1.7 2.3 2.0 1.5 1.5 1.1 1.5 0.6 3· 4 15.1 2.4 2.6 2.5 9.5 0.9 10.0 0.7 B 3.0 5.9 5.9 5.9 2.5 3.2 2.5 3.0 301 2.7 6.0 6.0 6.1 2.4 3.5 2.4 3.3 3· 4 32.5 2.7 3.2 3.4 15.2 0.8 16.8 0.9 A 5.1 12.0 12.1 12.3 3.8 5.6 3.9 6.4 277 4.1 14.1 14.1 14.3 3.1 7.5 3.2 8.3 3· 5 4.7 8.3 6.3 5.8 4.1 1.4 4.2 1.0 C 1.5 8.6 6.6 6.2 1.5 1.8 1.5 1.4 605 1.4 8.7 6.8 6.3 1.5 1.9 1.5 1.4 3· 5 12.9 10.5 11.6 10.6 9.5 2.2 10.2 1.1 B 3.4 12.8 13.7 12.8 3.3 3.8 3.3 2.9 894 3.1 13.0 14.0 13.0 3.0 4.3 3.0 3.3 3· 5 77.6 12.9 20.8 21.3 30.5 2.4 33.0 2.8 A 11.9 63.4 68.9 70.1 8.7 19.4 9.0 27.1 897 10.8 96.5 100.6 102.2 7.7 40.5 8.0 52.8 3· 6 9.3 48.8 51.4 34.2 7.1 2.5 7.3 1.5 C 3.5 49.2 52.0 34.8 2.8 2.9 2.8 2.0 1556 2.7 49.5 52.8 35.6 2.1 3.2 2.1 2.3 3· 6 21.0 49.1 66.5 58.9 13.9 3.6 14.1 2.3 B 4.6 71.9 88.2 80.6 4.5 19.5 4.5 18.3 1761 4.2 77.2 93.2 85.7 4.1 24.7 4.1 23.6 3· 6 65.3 48.3 119.2 139.5 19.2 2.4 23.4 2.7 A 7.6 198.3 262.0 282.7 4.8 51.8 6.0 54.1 1559 7.0 476.0 526.2 548.3 4.5 111.5 5.6 289.4 3· 7 5.4 307.6 343.0 310.0 4.1 5.4 4.4 1.6 C 1.5 308.3 343.7 310.7 1.5 5.9 1.5 2.2 4611 1.5 308.4 343.9 310.8 1.5 6.0 1.5 2.3 3· 7 38.6 313.8 751.0 769.7 21.2 7.3 23.0 7.2 B 6.6 363.8 797.2 817.0 4.9 39.9 5.1 43.3 4805 5.7 371.1 804.1 824.0 4.3 45.3 4.5 49.3 3· 7 156.0 279.7 1319.0 1274.7 21.5 2.4 27.0 3.7 A 19.2 923.4 1934.1 1897.3 9.2 91.4 10.2 108.6
In fact, we first defined the components of the vector p as real numbers uniformly distributed in the segment ½10; 100 , and then calculated lower bounds aijand upper bounds bijon the basis of the
errors of the processing times for the given series of instances (Table 3). In each instance of series A, B and C, all operations are partitioned into four equal parts with different errors of the processing times. For an instance of series C, these errors are ±1%, ±3%, ±5% and ±7%, for an instance of series B, the errors are ±2%, ±6%, ±8% and ±10%, and for an instance of series A, the errors are ±5%, ±10%, ±15% and ±20%. E.g. the operations of the fourth part of an instance of series A have the most uncertain processing times with an error
±20%: If the processing time of operation Oij is
supposed to be equal to pij, then aij¼ ð1 0:2Þpij
and bij¼ ð1 þ 0:2Þpij (see the first row in Table 4).
Table 1 presents the results for the following three computational schemes:
• Scheme I: Algorithm EXPLfi Algorithm SOLfi Algorithm MINSOL.
• Scheme II: Algorithm B&B1fi Algorithm SOLfi Algorithm MINSOL.
• Scheme III: Algorithm B&B2 fi Algorithm SOLfi Algorithm MINSOL.
Each of these schemes first constructs a solution K, then a solution KðGÞ by Algorithm SOL, and
Table 1 (continued)
n m type k k0kkT Scheme I Scheme II Scheme III Scheme IV Scheme V
1 2 3 4 5 6 7 8 9 2743 17.9 1032.7 2038.5 2003.1 8.2 123.0 9.2 144.8 3· 8 20.4 2338.2 2106.5 1935.0 15.7 19.7 15.8 7.1 C 4.7 2348.2 2115.2 1938.5 4.0 28.1 4.0 15.5 21923 4.6 2354.6 2121.7 1943.6 3.9 33.2 3.9 20.6 3· 8 28.7 2060.8 4192.0 4018.8 26.0 9.9 27.0 7.1 B 7.4 2172.5 4282.2 4107.4 7.2 57.5 7.2 55.4 8810 7.3 2196.4 4302.5 4120.9 6.3 80.3 6.3 78.2 3· 8 141.5 2054.5 4119.2 3742.9 56.3 9.0 59.2 12.7 A 17.3 3999.9 5938.1 5556.0 19.1 1477.5 21.0 1463.0 8059 16.3 4501.5 6039.7 5811.8 17.6 1952.4 19.6 1963.1 4· 3 13.3 19.2 14.2 9.5 11.4 6.1 11.7 2.3 C 3.2 20.3 15.4 10.7 3.2 7.3 3.2 3.5 2907 2.8 21.0 17.4 12.7 2.8 8.1 2.8 4.3 4· 3 38.9 17.5 27.8 28.8 29.9 5.4 30.7 3.4 B 6.3 41.4 50.8 51.9 5.5 24.5 5.5 22.6 2217 5.5 45.4 54.8 55.8 4.8 28.3 4.8 26.4 4· 3 290.9 28.6 70.7 69.0 110.1 5.9 115.2 8.1 A 31.0 414.0 440.4 442.0 22.5 288.4 22.8 293.9 2990 27.7 688.6 699.1 703.9 19.6 501.9 19.9 509.8 4· 4 34.2 303.1 867.3 852.4 23.9 15.8 24.1 5.9 C 7.5 328.5 891.5 876.5 6.5 33.4 6.5 23.6 17161 6.3 330.5 893.0 878.0 5.5 35.1 5.5 25.3 4· 4 88.3 308.2 1501.2 1354.7 52.2 14.4 52.9 9.0 B 16.1 1293.8 2444.9 2297.2 13.5 782.8 13.5 780.5 17768 14.5 1574.0 2771.7 2580.5 12.0 999.6 12.0 997.6 4· 4 477.7 319.4 2682.9 2505.1 131.7 15.4 132.0 23.8 A 30.8 3070.1 5355.7 5180.0 24.8 2680.7 24.8 2639.4 16143 30.1 3466.2 5771.4 5594.7 24.0 2905.8 24.0 2879.2
finally a minimal solution KTðGÞ by Algorithm
MINSOL. In Table 1, k denotes the average number of semiactive schedules (third row in col-umn 1), k0the average cardinality of set K, k the
average cardinality of set KðGÞ, and kT the aver-age cardinality of set KTðGÞ (first, second and third
rows in column 2, respectively). The average CPU-time in seconds for constructing set K, set KðGÞ
Table 2
Heuristic solutions of randomly generated problems Jjaij6pij6bijjPCi
n m; type k B&B1 B&B2
1 2 3 4 5 6 7 8 9 10 4· 4; B 150 18 52.3 102 34.3 18 52.9 103 21.5 4· 4; C 150 4 22.4 53 35.8 4 22.6 53 13.0 4· 4; D 150 1 11.1 39 47.1 1 12.2 50 12.2 4· 5; C 150 5 35.8 140 102.9 5 37.0 145 41.3 4· 5; D 150 2 8.6 18 72.8 2 8.6 18 18.8 4· 6; C 150 15 33.8 78 148.5 15 35.6 78 63.1 4· 6; D 150 1 7.2 12 100.5 1 7.3 12 22.3 4· 7; C 150 6 52.0 134 170.6 5 54.6 136 98.9 4· 7; D 150 3 12.8 29 177.3 3 12.9 29 56.4 4· 8; C 150 15 54.4 120 416.4 14 58.7 122 292.0 4· 8; D 150 7 27.5 57 287.8 7 27.8 55 134.2 4· 9; C 150 6 78.0 150 495.1 8 80.3 150 335.6 4· 9; D 150 3 22.9 56 458.4 4 22.9 54 156.1 4· 10; C 150 25 86.6 150 682.9 24 87.8 150 852.5 4· 10; D 150 3 28.5 70 707.9 3 29.1 66 362.5 5· 3; C 150 19 62.0 146 85.9 19 62.8 147 65.2 5· 3; D 150 2 38.6 150 95.1 2 38.5 150 51.9 5· 4; C 150 11 63.1 150 191.8 11 64.3 150 154.0 5· 4; D 150 2 23.2 50 182.6 2 23.4 52 106.7 5· 5; C 150 63 114.5 150 500.5 62 116.2 150 854.6 5· 5; D 150 11 36.9 133 499.0 11 37.4 139 291.1 5· 5; E 100 1 1.7 4 366.0 1 1.7 4 86.6 5· 6; C 150 15 81.4 150 862.3 16 82.7 150 1220.3 5· 6; D 150 7 49.0 89 761.5 7 48.6 88 493.6 5· 7; D 150 9 47.9 150 1390.3 9 48.9 150 1642.0 5· 7; E 50 1 2.6 7 539.3 1 2.6 7 214.7 5· 8; D 100 18 78.5 100 1803.5 18 80.5 100 2446.7 5· 8; E 50 1 3.2 6 1054.5 1 3.2 6 328.1 5· 9; E 50 1 2.5 6 1531.3 1 2.5 6 653.4 5· 10; E 50 1 2.5 5 2071.7 1 2.5 5 617.9 6· 3; D 150 19 101.3 150 538.4 19 100.3 150 621.4 6· 3; E 50 1 4.2 18 456.8 1 4.2 18 309.8 6· 4; D 150 20 99.9 150 1197.8 18 81.3 150 1858.1 6· 4; E 100 1 2.3 6 936.7 1 2.3 6 403.6 6· 5; D 100 6 90.1 100 1671.0 6 88.1 100 3022.7 6· 5; E 50 1 2.8 8 1382.4 1 2.8 8 724.1 6· 6; C 50 50 50 50 2389.6 50 50 50 7350.4 6· 6; D 50 15 46.5 50 1997.6 15 46.5 50 5252.0 6· 6; E 50 1 4.1 12 1997.6 1 3.5 12 1226.2 7· 3; D 150 42 122.5 150 1311.9 76 131.8 150 2302.3 7· 4; E 100 1 7.1 20 2204.5 1 7.0 24 3608.4 7· 5; E 50 1 8.4 39 3074.2 2 15.7 50 6139.9 8· 3; E 50 1 4.5 9 1781.5 1 5.1 11 3103.3 9· 2; E 100 1 14.1 100 1297.3 1 14.9 100 1958.7 10· 2; E 50 2 14.1 50 1651.6 2 9.3 50 2781.4
and set ATðGÞ (first, second and third rows) are
presented in columns 3, 4 and 5 for Schemes I, II and III, respectively.
As follows from Table 1, Scheme III based on Algorithm B&B2 is the best for problems of type C, while Scheme I based on Algorithm EXPL is the best for problems of types A and B. It should be noted that Steps 8 and 9 for the branch-and-bound algorithm are not so fast as the analogous steps of Algorithm EXPL. Moreover, due to a large uncertainty in the input vector p for the problems of types A and B, Algorithms B&B1 and B&B2 construct a lot of intermediate digraphs GðiÞ62 KðGÞ in the branching tree.
To solve problems with a larger size, we con-sidered restricted variants of the branch-and-bound algorithms: Algorithm B&B1 (Algorithm
B&B2) denotes Algorithm B&B1 (Algorithm
B&B2, respectively) without Steps 8 and 9. In general, such modifications do not guarantee that
we obtain a solution K. Fortunately, for almost all instances presented in Table 3, the restricted vari-ants of the branch-and-bound algorithms still give a solution, i.e. for each p2 T the set K constructed contains an optimal schedule. The main reason for this result is that Steps 8 and 9 often generate only schedules which are dominated by other ones. Columns 6–9 of Table 1 present computational results on a PC 486 (120 MHz) for the following two computational schemes:
• Scheme IV: Algorithm B&B1fi Algorithm
SOLfi Algorithm MINSOL.
• Scheme V: Algorithm B&B2fi Algorithm
SOLfi Algorithm MINSOL.
More precisely, column 6 presents the average approximate values k0 (first row), k (second row) and kT (third row) calculated by Algorithm B&B1, and column 7 presents the average
run-Table 3
Types of problems considered in the experiments Series of
instances
Errors of the processing times Series of
in-stances Exact solutions: sets B, KðGÞ and KT ðGÞ A ±5% ±10% ±15% ±20% B ±2% ±6% ±8% ±10% B Heuristic solution: set B C ±1% ±3% ±5% ±7% C ±1% ±2% ±3% ±4% D ±0.1% ±0.2% ±0.3% ±0.4% E Table 4
The minimal lower and maximal upper bounds for the feasible processing times
Error Lower bound aij Upper bound bij The actual processing time pij
±20% ð1 0:2Þpij ð1 þ 0:2Þpij 0:8pij6pij61:2pij ±15% ð1 0:15Þpij ð1 þ 0:15Þpij 0:85pij6pij61:15pij ±10% ð1 0:1Þpij ð1 þ 0:1Þpij 0:9pij6pij61:1pij ±8% ð1 0:08Þpij ð1 þ 0:08Þpij 0:92pij6pij61:08pij ±7% ð1 0:07Þpij ð1 þ 0:07Þpij 0:93pij6pij61:07pij ±6% ð1 0:06Þpij ð1 þ 0:06Þpij 0:94pij6pij61:06pij ±5% ð1 0:05Þpij ð1 þ 0:05Þpij 0:95pij6pij61:05pij ±4% ð1 0:04Þpij ð1 þ 0:04Þpij 0:96pij6pij61:04pij ±3% ð1 0:03Þpij ð1 þ 0:03Þpij 0:97pij6pij61:03pij ±2% ð1 0:02Þpij ð1 þ 0:02Þpij 0:98pij6pij61:02pij ±1% ð1 0:01Þpij ð1 þ 0:01Þpij 0:99pij6pij61:01pij ±0.4% ð1 0:004Þpij ð1 þ 0:004Þpij 0:996pij6pij61:004pij ±0.3% ð1 0:003Þpij ð1 þ 0:003Þpij 0:997pij6pij61:003pij ±0.2% ð1 0:002Þpij ð1 þ 0:002Þpij 0:998pij6pij61:002pij ±0.1% ð1 0:001Þpij ð1 þ 0:001Þpij 0:999pij6pij61:001pij
ning times for constructing approximations of the sets K, KðGÞ and KTðGÞ by Algorithm B&B1.
Similarly, column 8 presents the average approxi-mate values k0, kand kT calculated by Algorithm B&B2, and column 9 presents the average
run-ning times for constructing approximations of the sets K, KðGÞ and KTðGÞ by Algorithm B&B2.
Algorithm B&B2 in Scheme V is faster than
Al-gorithm B&B1 in Scheme IV: There exist only 3
series of problems (all of type A), for which Al-gorithm B&B1 is faster, on average, than
Algo-rithm B&B2. Note also that Algorithm B&B2
gives the better solution more often than Algo-rithm B&B1.
For larger problem sizes, we used Algorithms B&B1 and B&B2 for constructing the sets K
heuristically. The cardinality of a solution in-creases not only with increasing the size of the problem (which in turn increases the running time), but also with increasing the uncertainty of the numerical input data. To reduce the cardinality of a solution, we consider along with instances of types A, B, and C also problems of the following two types with smaller errors of the processing times, namely: Problems of type D with the errors of the processing times equal to 1%, 2%, 3% and 4%, and problems of type E with the errors of the processing times equal to 0.1%, 0.2%, 0.3% and 0.4% (see the last two rows in Table 3 and the last four rows in Table 4).
Heuristic solutions are represented in Table 2, where the values of k used are given in column 2. Columns 3–6 (and columns 7–10) present compu-tational results for Algorithm B&B1 (and
Algo-rithm B&B2, respectively). Column 3 (column 7)
gives the minimal value of the cardinality k0of the set K constructed, column 4 (column 8) the aver-age value of k0, and column 5 (column 9) the maximal value of k0. The average CPU-times are given in column 6 for Algorithm B&B1 and in
column 10 for Algorithm B&B2. As follows from
Table 2, when the cardinality of a solution is small, Algorithm B&B2 is preferable to Algorithm
B&B1 (in both running time and the quality of
the solution constructed). But if the number of potentially optimal schedules is large (due to a large problem size or due to an uncertainty of the numerical input data), then Algorithm B&B1has
a smaller running time, however the quality of the solution constructed by Algorithm B&B2remains
still better. Note also that the value of k has a large influence on the quality and the running time of Algorithm B&B1, in contrast to Algorithm
B&B2 which is independent of k (in principle, we
used k in Algorithm B&B2 only in order to have
the same conditions for the comparison with Al-gorithm B&B1).
6. Conclusions
In Section 4 we have developed branch-and-bound algorithms for the general case of a job shop problem. Instead of Algorithm B&B1, one can use any known branch-and-bound method developed for the problem JkPCi after a simple
modification with the aim to construct the k best schedules. However, the question which still re-mains open, is how to choose k to have a guar-antee that the k best schedules contain an exact solution to problem Jjaij6pij6bijjPCi. To
an-swer this question, we have available Lemma 2 and experimental results given in [15] for calculating the stability radius of an optimal schedule for randomly generated job shop problems. In par-ticular, in all experiments presented in Table 1, we used k¼ 150 which was sufficient to obtain an exact solution for all instances considered. For the computational results presented in Table 2, we used k¼ 150, k ¼ 100 and k ¼ 50 depending on the problem size and on the uncertainty of the processing times. As follows from Table 2, for some instances these values of k were not sufficient in the sense that the cardinality of the set of schedules which may be optimal for some input vectors p2 T was larger than the value of k used.
Algorithm B&B2 constructs a set of all Ôpoten-tially optimal schedulesÕ for problem Jjaij6pij6
bijj
P
Ci and guarantees an exact solution after a
complete realization. Moreover, its running time was less than that of Algorithm B&B1. The Ôheu-risticÕ Algorithm B&B2 was better than
Algo-rithm B&B1both in the running time as well as in
the number of instances for which a better solution was obtained.
Algorithm EXPL takes often smaller running times for problems of types B and C. However, this algorithm is suitable only for a classical job shop problem. Moreover, Algorithm EXPL may be realized efficiently only in the exact version in contrast to Algorithms B&B1 and B&B2 which have more efficient heuristic versions as well. Note also that some advantage of Algorithm EXPL is based on the fast generation of schedules GT
s,
Gs2 KðGÞ, which have only dominant paths. In
contrast to Algorithm EXPL, both branch-and-bound algorithms (and their heuristic versions) first test the dominance relationT and then use a
more time-consuming procedure for excluding re-dundant paths from the digraph Gs2 KðGÞ. One
direction of future work may be to simplify Steps 8 and 9 of Algorithms B&B1 and B&B2 on the basis of special properties of the scheduling problems under consideration.
It should be noted that the software developed allows to solve within one hour problems Jjaij6pij6bijjPCi exactly with n m 6 25 on a
PC 486 (120 MHz) and with n m 6 50 heuristi-cally on a PC 486 (50 MHz). These limits are similar to the limits being reached in [8] for problem Jjaij6pij6bijjCmax and to the limits
be-ing reached in [2] for problem Oj0 6 pij <1jCmax,
where open shops with n 6 3 and m 6 7 have been tested. Extending these experimental limits may be a subject of future work.
The approach developed may be used for a preliminary analysis of a scheduling environment with uncertain numerical data and fixed structural data (when the pressure of a time limit for the decision making is not very strong). As an example of a possible application field, an assembly line may be considered. In an assembly line production system, the structural data are fixed during a long time, while operation processing times may be changed (either in the case of human works or due to machine breakdowns). So, it seems to be useful to calculate (at the scheduling stage) a set of fea-sible solutions KðGÞ of the assembly line balanc-ing problem. After calculatbalanc-ing a set KðGÞ or (what is better but more time-consuming) a set KTðGÞ, a
decision maker may rather quickly choose the best solution if additional information on the numeri-cal data will be available at the control stage. To
this end, it is desirable to construct beforehand a small number kT ¼ jKTðGÞj of solutions which
may be considered as possible candidates for a realization. Note that for the instances presented in Table 1, the average value of kT (see column 2) was equal to 8, and for the instances presented in Table 2, the average value of k0¼ jKj (see columns 4 and 8) was equal to 38.
Acknowledgements
This work was supported by the National Sci-ence Council of Taiwan (Project NSC 87-2416-H002-019) and by INTAS (Project 00-217). We would like to thank the anonymous referees for their remarks and suggestions which improved considerably the quality of this paper.
References
[1] J. Blazewicz, K.H. Ecker, E. Pesch, G. Schmidt, J. Weglarz, Scheduling Computer and Manufacturing Pro-cesses, Springer-Verlag, Germany, Berlin, 1996.
[2] H. Br€asel, M. Harboth, T. Tautenhahn, P. Willenius, On the set of solutions of an open shop problem, Annals of Operations Research 92 (1999) 241–263.
[3] H. Br€asel, Y.N. Sotskov, F. Werner, Stability of a schedule minimizing mean flow time, Mathematical and Computer Modelling 24 (10) (1996) 39–53.
[4] H. Chen, C. Chu, J.-M. Proth, Cyclic scheduling of a hoist with time window constraints, IEEE Transaction on Robotics and Automation 14 (10) (1998) 144–152. [5] G. Chrysslouris, K. Dicke, M. Lee, An approach to
real-time flexible scheduling, International Journal of Flexible Manufacturing Systems 6 (1994) 235–253.
[6] M. Hapke, R. Slowinski, Time-optimal project scheduling with fuzzy activity parameters, in: M. Delgado et al. (Eds.), Fuzzy Optimization, Recent Advances, Physica-Verlag, Germany, Heidelberg, 1994, pp. 364–376.
[7] A. Janiak, General flow-shop scheduling with resource constraints, International Journal of Production Research 26 (1988) 125–138.
[8] T.-C. Lai, Y.N. Sotskov, Sequencing with uncertain numerical data for makespan minimization, Journal of Operational Research Society 50 (1999) 230–243. [9] T.-C. Lai, Y.N. Sotskov, N.Y. Sotskova, F. Werner,
Optimal makespan scheduling with given bounds of processing times, Mathematical and Computer Modelling 26 (3) (1997) 67–86.
[10] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, D.B. Shmoys, Sequencing and scheduling: Algorithms and
complexity, in: S.S. Graves, A.H.G. Rinnooy Kan, P. Zipkin (Eds.), Handbooks in Operations Research and Management Science, Logistics of Production and Inven-tory, vol. 4, North-Holland, New York, 1993, pp. 445– 22.
[11] C.Y. Lee, L. Lei, M. Pinedo, Current trends in determin-istic scheduling, Annals of Operations Research 70 (1997) 1–41.
[12] L. Lei, T.J. Wang, The minimum common-cycle algorithm for cycle scheduling of two hoists with time window constraints, Management Science 37 (1991) 1629–1639. [13] M. Pinedo, Scheduling: Theory, Algorithms, and Systems,
Prentice-Hall, Englewood Cliffs, NJ, 1995.
[14] R. Slowinski, M. Hapke, Scheduling Under Fuzziness, Physica-Verlag, Heidelberg, 1999.
[15] Y.N. Sotskov, N.Y. Sotskova, F. Werner, Stability of an optimal schedule in a job shop, OMEGA––International Journal of Management Science 25 (4) (1997) 397–414. [16] N.Y. Sotskova, Optimal scheduling with uncertainty in the
numerical data on the basis of a stability analysis, PhD thesis, Otto-von-Guericke-Universit€at, Magdeburg, Ger-many, 2001. Available from http://diglib.uni-magde-burg.de/Dissertationen/2001/nadsotskova.pdf.
[17] V.A. Strusevich, Two machine flow shop scheduling problem with no wait in process: Controllable machine speeds, Discrete Applied Mathematics 59 (1995) 75–86.