• 沒有找到結果。

Mean Flow Time Minimization with Uncertain Processing Times

N/A
N/A
Protected

Academic year: 2021

Share "Mean Flow Time Minimization with Uncertain Processing Times"

Copied!
16
0
0

加載中.... (立即查看全文)

全文

(1)

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

(2)

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:

(3)

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 ,

(4)

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

(5)

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

(6)

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Þ

(7)

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

(8)

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Þ þ pij lps0ðOuvÞ;lps0ðOuvÞ þ puv lps0ð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

(9)

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¼ bij aij

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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.

(15)

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

(16)

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.

數據

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

參考文獻

相關文件

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,

• The solution to Schrödinger’s equation for the hydrogen atom yields a set of wave functions called orbitals..  Each orbital has a characteristic shape

Eric, B., Georges-Louis B., Computer-Based Concept Mapping : a Review of a Cognitive Tool for Students, in Benzie David &amp; Passey Don (eds.), Proceedings of Conference

Then, we tested the influence of θ for the rate of convergence of Algorithm 4.1, by using this algorithm with α = 15 and four different θ to solve a test ex- ample generated as

The Hilbert space of an orbifold field theory [6] is decomposed into twisted sectors H g , that are labelled by the conjugacy classes [g] of the orbifold group, in our case

In this paper, we develop a novel volumetric stretch energy minimization algorithm for volume-preserving parameterizations of simply connected 3-manifolds with a single boundary

Moreover, for the merit functions induced by them for the second-order cone complementarity problem (SOCCP), we provide a condition for each stationary point being a solution of

Moreover, for the merit functions induced by them for the second- order cone complementarity problem (SOCCP), we provide a condition for each sta- tionary point to be a solution of