### Discrete Optimization

## Mean ﬂow time minimization with given bounds

## of processing times

### Tsung-Chyan Lai

a### , Yuri N. Sotskov

b### , Nadezhda Sotskova

c### , Frank Werner

c,*a_{Department of Industrial and Business Management, National Taiwan University,}

50, Lane 144, Sec. 4, Keelung Rd., Taipei 106, Taiwan

b_{United Institute of Informatics Problems, Surganov St. 6, 220012 Minsk, Belarus}
c_{Fakult€}_{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 ﬁxed 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 ﬁnd a set of schedules which contains at least one optimal schedule (with mean ﬂow time criterion) for any admissible realization of the random processing times. In order to compute such a set of schedules eﬃciently 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 ﬂow 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 ﬁxed 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

ﬁxed: 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 ﬂow time minimization. By adopting the three-ﬁeld 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: frank.werner@mathematik.uni-magde-burg.de(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Þ ¼Pn_{i¼1}Ci¼

P_{C}

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 signiﬁcance for a small number of real-izations. In [6], uncertainty of the processing times was modeled by means of fuzzy numbers for mean ﬂow time minimization and for other criteria. The known results and current trends in the ﬁeld 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 diﬀerent problem is the hoist scheduling problem, see [4,12] for the deﬁnition 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, deﬁnes

a schedule, if none of these sequences contradicts to others and to the technological routes. For ﬁxed processing times, these m sequences deﬁne the earliest starting and earliest completion times of all operations, i.e. these sequences deﬁne 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 ﬂow time seems to be more important than makespan. While Cmaxaims for minimizing the schedule duration, in

industry this duration is often deﬁned 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 diﬃcult to solve than that with Cmax as

evi-denced by the facts that the two-machine open shop problem O2kCmaxand the ﬂow 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, ﬂow 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 ﬂow 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

P_{C}

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

simpliﬁ-cation of a digraph Gsmay be done in polynomial

time [8], to ﬁnd a solution to problem Jjaij6pij6bijj

P_{C}

ior Jjaij6pij6bijjCmaxis NP-hard.

As follows from [2], a reduction of semiactive schedules may be signiﬁcant 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 deﬁnes precedence constraints, and the set of edges E deﬁnes 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 deﬁnes 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. Rnm_{and R}nm

þ 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 deﬁnition

has been introduced in [9] for the case of the Cmax

criterion.

Deﬁnition 1. A set of schedules KðGÞ KðGÞ is a solution to problem Jjaij6pij6bijjPCiif for this

problem with any ﬁxed 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 ﬁxed 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
C_{i}pðsÞ ¼X
n
i¼1
max
m2Hi
s
lpðmÞ:

We can introduce the following dominance re-lations which deﬁne partial orderings on the set of schedules KðGÞ.

Deﬁnition 2. Schedule Gs dominates (strongly

dominates) schedule Gk in domain D Rnmþ if

in-equality UpðsÞ 6 Up_{ðkÞ (inequality U}p_{ðsÞ < U}p_{ð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 Xu_{s} 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¼Qn_{i¼1}jHsij diﬀerent 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 suﬃcient to consider only one of them. Third, it is suﬃcient to consider only domi-nant paths: Path l2 Hi

s dominates path m2 Hsi

with respect to T if lp_{ðlÞ P l}p_{ðmÞ for all vectors}

p2 T . It is easy to show [9] that inequality
lp_{ðlÞ P l}p_{ð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 Sn_{i¼1}Hi

kðT Þ. To achieve this, let

lp

sðOijÞ denote the length of a longest path in

di-graph Gs(with ﬁxed vector p2 T ) ending in vertex

Oij. Due to (1), it is suﬃcient 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

2_{m}2_{Þ elementary steps. In}

what follows, we assume that the superscripts of
the sets X1_{k};X2_{k}; . . . ;Xx

T k

k ; . . . ;X xk

k are such that for a

path l, the inclusion l2Sn_{i¼1}Hi

kðT Þ holds if and

only if l2SxTk

i¼1X i k.

3. Stability of an optimal schedule

Let Opt_{s}denote the set of all vectors p2 Rnm
þ for

which Gsis an optimal schedule. Using Deﬁnition

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 T6S_{G}_{s}_{2KnfG}_{k}_{g}Opts. 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. Sufﬁciency. 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 ﬁnding a solution and a minimal solution. These algorithms are based on the fact that a schedule Gs2 KðGÞ

being optimal for the ﬁxed 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-ﬁned 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 G_{k} 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 p0_{2 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 ﬁnding a minimal solution KT_{ðGÞ.}

Deﬁnition 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, Deﬁnition 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

p0_{2 T and a schedule G}

k 2 K such that

Up0ðsÞ > Up0

ðkÞ: ð2Þ

So, in order to calculate the ﬁnite 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 ﬁnd .K

sðp 2 T Þ it is

suﬃcient to construct a vector p00_{¼ ðp}00

11; p1200; . . . ;

p00

nmÞ 2 T which satisﬁes the following three

condi-tions:

(i) There exists a digraph Gk2 K, k 6¼ s, such that

Up00_{ðsÞ ¼ U}p00_{ðkÞ:} _{ð3Þ}

(ii) For any small real > 0, there exists a vector
p0_{2 T such that dðp}0_{; p}00_{Þ ¼ 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
p00_{2 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 p00_{on the basis of a direct comparison of the}

paths from the set Xv_{s} with paths from the set Xu_{k},
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 valueP_{l2X}v
sl

p00_{ðlÞ for at least one set X}v
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 P_{l2X}v
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 deﬁnitely hold
for the vector p00_{obtained 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}

p00_{2 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}

deﬁned 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 Xu_{k},
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 p0_{2 T }

satis-fying inequality (2). (However, only inequality (2)
implies Gsp0G_{k}). 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 p0_{2 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
p_{ij}¼
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 deﬁned 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 p0_{2 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 ﬁxed vector p2 T , then

.K_{s}ðp 2 T Þ ¼ min min
Xv
s2Xsk
max
u2f1;2;...;xT
kg
rXu_{k};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ðn2_{m}2_{Þ elementary steps to test }

in-equalities (11) and (12), however, there is a ÔgapÕ
between the necessary and suﬃcient conditions in
Lemma 1, if Ua_{ðsÞ 6¼ U}b_{ð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 ﬁnding 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 ﬁxed 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 diﬀerent

radii r which are stability radii .K

sðp 2 T Þ of the

same schedule Gs but for diﬀerent nested sets K.

Let the set K KðGÞ be a given solution to problem Jjaij6pij6bijj

P

Ci. We ﬁx 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 U}p_{ð2Þ 6 6 U}p_{ðjKjÞ.}

Algorithm SOL takes the schedule Gs¼ G1,

which is optimal for vector p2 T , and tests dom-inance relation GsT Gk ﬁrst 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 ﬁnally 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 deﬁne 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Þ U}p_{ð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 K}T_{ðGÞ}

satisﬁes 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-ﬁcation 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 ﬁrst 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 conﬂict edge deﬁned as follows. For the mixed graph GðsÞ¼ ðQ; AðsÞ; EðsÞÞ with

½Oij; Ouv 2 EðsÞ, let us deﬁne the following three

digraphs: Gs0 ¼ ðQ; A_{ðsÞ};;Þ, Gs0 ¼ ðQ; A_{ðsÞ}[ fðO_{ij};

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 conﬂict edge if there exists a vector p2 T such that the following inequalities hold:

lp_{s}0ðOuvÞ < l
p
s0ðOuvÞ; ð13Þ
lp_{s}0ð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 lp_{s}0ðOuvÞ or the value lp_{s}00ðOijÞ. To verify

whether an edge is a conﬂict one, we can use the following obvious claim.

Lemma 3. An edge ½Oij; Ouv 2 EðsÞ is not a conﬂict

edge if inequality (15) or (16) holds:

la_{s}0ðOuvÞ P lb_{s}0ðOijÞ þ bij; ð15Þ

la_{s}0ðOijÞ P lbs0ðOuvÞ þ buv: ð16Þ

For each edge½Oij; Ouv 2 EðsÞ, one can calculate

a conﬂictness measure as follows: minflp

s0ðOijÞ þ pijlp_{s}0ðOuvÞ;lp_{s}0ðOuvÞ þ puvlp_{s}0ðOijÞg;

ð17Þ
where lp_{s}0ðOijÞ denotes the latest starting time of

operation Oij, i.e. the diﬀerence 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_{ðs}00

ÞÞ, where Gðs0_{Þ}¼ ðQ; A_{ðsÞ}[ fðO_{ij}; O_{uv}Þg; E_{ðsÞ}n

f½Oij; Ouv gÞ, we select the edge ½Oij; Ouv which has

the largest value of the conﬂictness 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
lp_{t}ðOiniÞ P
Xn
i¼1
lp_{s}0ðOiniÞ: ð18Þ

If the digraph GðsÞ has no conﬂict 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 ﬁxed 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_{ðs}0_{Þ and set X :¼ X n fG}
ðsÞg.

Step 3: Select a conﬂict edge ½Oij; Ouv 2 EðsÞ with

the largest conﬂictness measure (17). Step 4: IF the mixed graph GðsÞ has no conﬂict

edge, THENGOTO Step 6.

Step 5: IF Up_{ðs}0_{Þ < L, THENset X :¼ X [ fG}
ðs0_{Þ}g;
ELSE IF Up_{ðs}00_{Þ < L, THENset X :¼}
X[ fG_{ðs}00
Þ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 setS_{G}

ðtÞ2YKðGðtÞÞ.

Step 10: Calculate L_{¼ minfU}b_{ð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 7}0 _{of Algorithm B&B2, which are}

diﬀerent from Steps 6 and 7 of Algorithm B&B1.

Algorithm B&B2 (speciﬁc part)

Step 60: IF L > Ua_{ðs}0_{Þ, 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 ﬁrst deﬁned 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 diﬀerent 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 ﬁrst row in Table 4).

Table 1 presents the results for the following three computational schemes:

• Scheme I: Algorithm EXPLﬁ Algorithm SOLﬁ Algorithm MINSOL.

• Scheme II: Algorithm B&B1ﬁ Algorithm SOLﬁ Algorithm MINSOL.

• Scheme III: Algorithm B&B2 ﬁ Algorithm SOLﬁ Algorithm MINSOL.

Each of these schemes ﬁrst 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

ﬁnally 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Þ (ﬁrst, 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Þ (ﬁrst, 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 modiﬁcations 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&B1_{ﬁ Algorithm}

SOLﬁ Algorithm MINSOL_{.}

• Scheme V: Algorithm B&B2_{ﬁ Algorithm}

SOLﬁ Algorithm MINSOL_{.}

More precisely, column 6 presents the average
approximate values k0 (ﬁrst 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&B1_{has}

a smaller running time, however the quality of the
solution constructed by Algorithm B&B2_{remains}

still better. Note also that the value of k has a large
inﬂuence 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

modiﬁcation 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 suﬃcient 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 suﬃcient 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&B1_{both 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 eﬃciently only in the exact version in contrast to Algorithms B&B1 and B&B2 which have more eﬃcient 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) ﬁrst 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 ﬁxed structural
data (when the pressure of a time limit for the
decision making is not very strong). As an example
of a possible application ﬁeld, an assembly line
may be considered. In an assembly line production
system, the structural data are ﬁxed 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 ﬂow 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 ﬂexible 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 ﬂow-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 Cliﬀs, 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 ﬂow shop scheduling problem with no wait in process: Controllable machine speeds, Discrete Applied Mathematics 59 (1995) 75–86.