scheduling methods for a class of flexible manufacturing systems

25
Chapter 3 Production scheduling

Upload: c-sriskandarajah

Post on 16-Aug-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Chapter 3

Production scheduling

Annals of Operations Research, 17 (1989) 139-162 139

S C H E D U L I N G M E T H O D S FOR A CLASS OF FLEXIBLE M A N U F A C T U ~ N G S Y S T E M S

C. S R I S K A N D A R A J A H 1, S.P. SETHI 2 and P. L A D E T 3

l Groupe d'Etudes et de Recherche en Analyse des decisions (GERAD), Ecole polytechnique, Montreal, Quebec, Canada H3C 3A 7. e Faculty of Management, University of Toronto, 246 Bloor Street West, Toronto, Ontario, Canada M5S 1 V4. 3 Ecole Nationale Sup&ieure des Mines de Saint-Etienne, 158 Cours Fauriel, 42023 Saint-Etienne Cedex, France.

Abstract

Scheduling methods are proposed for a class of flexible manufacturing systems consisting of machine centers served by a cyclic conveyor. The minimization of finish time is considered as the optimization criterion. An optimal algorithm is proposed for the minimum conveyor speed (S = 1) for a particular system in the class under consideration. Scheduling algorithms based on a job matching principle, that are developed for the general systems, yield good results particularly for low conveyor speeds.

I. Introduction

The rapidly evolving market environment requires manufactur ing systems that are capable of treating a wide variety of products or jobs. The effective use of such flexible manufacturing systems (FMS) depends on the order in which the jobs are processed. Scheduling problems that arise in practical circumstances have been studied in [1-4]. The machine environments such as flowshop, jobshop, single machine, and parallel machines were considered for various optimization criteria (e.g., finish time, mean flow time, etc.). The scheduling problem is commonly defined as determining the schedule in which n products have to be processed on a group of m machines so as to optimize a certain criterion. One of the most frequently used criteria is the minimization of finish time.

Most of the existing FSMs have only one or two (at most three) buffer spaces at each machine. In fact, some systems which use loop conveyors (cyclic con- veyors) as material handling systems have zero local buffers (e.g., the White- Sundstrand System and Ingersoll-Rand System [6]). In this paper, we study three FSM configurations, shown in figs. 1, 2 and 3, that are used in a French manufacturing facility. Manufacturing systems in these configurations consist of machine centers (with zero local buffer) which are served by a cyclic conveyor. In

This research is supported in part by NSERC Grant A4619 and Manufacturing Research Corpora- tion of Ontario.

© J.C. Baltzer A.G. Scientific Publishing Company

140 C. Sriskandarajah et al., / Schedufing methods for a class of F M S

these systems, waiting jobs simply stay on the conveyor which functions as both a material handling system and a central storage. Scheduling methods are proposed for varying conveyoi ~ speeds. The unit time is defined as the smallest task process time in a machine. The conveyor speed S is defined as the number of slot lengths traversed by the conveyor during a unit time. The slot length is defined in section 2.4. Since no local stock is available at any of the machines, the job order in the conveyor is very important for high productivity. The scheduling problem in this context is stated as follows. There are n products (jobs) of different types to be scheduled in the system which consists of machines of the same or different types. The objective is to find a schedule (job order in the conveyor) that minimizes the finish time. The finish time [FT] is defined as the duration between the entrance of the first job to the system and the exit of the last job from the system.

The outline of the paper is as follows. In the next section, we give a brief description of the production systems under study. In sections 3 and 4, we propose some algorithms to schedule jobs in these systems. The performance evaluation of the algorithms is also carried out in these sections. Section 5 concludes the paper.

2. System description

We consider manufacturing systems with machine centers of the same or different types; see figs. 1, 2 and 3.

2.1. MACHINE TYPES

The details of the types of machine centers are described in this subsection.

2.1. I. Machine center with separate entrance and exit [MSEE] The MSEE type has separate entrance [EN] and exit [EX], i.e., jobs enter at

EN, get processed on machine M, are brought to EX by a return conveyor, and leave at EX; see fig. 1.

2.1.2. Machine center type B [MCB] The MCB type is the simplest form of MSEE. The jobs enter at EN, are

processed on machine M, and leave at EX (figs. 2 and 3). Note that there is no return conveyor in this machine center. When a job is unloaded from the machine, the job is ready to leave the machine center at EX.

2.1.3. Machine center with common entrance and exit [MCEE] The jobs enter at E N / E X , are treated at M, are brought to E N / E X by a

return conveyor, and leave at E N / E X .

C. Sriskandarajah et aL, / Scheduling methods for a class of FMS 141

SYSTEM 1

FTL /

R ~ _',; : : L~ '. L_LI i i_i i ~ : : : ?: : : : :A i i .b ;_ : : LA_L~..IJi_ :

I~x ~H all RH ~ RH ~ RH RH mt ]~ ] " J - ~ ' " ~ N ~ . ' - - ~ . [ I I ] : : ; ; : • ;E~( i ; :ENI i""',' ; ; ; " ; [ X : : :EN ; : I : ; L_~ ",'E-x]~ "/-,..t/'/

' " ot i< " " T---tT.JT 'OI"qT . . . . . - - I : [ i -

MSEE MSEE MSEE

2 / <,.,.o <,.,.o <,.,.o

HSEE

FTL .lEft .IEX KN EX

: H a c h l n e c t - ' l i t r e u ~ t h S e p a r a t e E n t r a n c e a n d E x i t

: F r e e T r a l t s f e r L i n e Ell - R e a d I l e a d w h i c h r e a d s j o b t y p e s : d,~b E n t r a n c e co t i m s y s t e m WII - W r i t e I l e a d u h i e h w r i t e s r e ~ a i . n [ n g j o b s a f t e r : .hJl) } ' : ( i t f r o m t h e s y s t e m t r e a t m e n t : H , w . h i n e c e n t r e E n t r a n c e P - P a l l e t : H a c h i i i e c e l l t r e E x i t t - S~,ze o f t h e p a l l e t , t = l

t i - T a s k p r o c e s a h t g t ~ m e o f H[ m~'Jehlne

Fig. 1. A manufacturing system with three MSEE type machine centers.

2.2. TYPES O F EXITS

The jobs may leave machine centers in two different ways namely, NonpIior i ty exit [NPE] and Priority exit [PE].

2.2.1. Priority exit [PE] In PE, as soon as a job, say J, is brought to EX, the jobs that precede EX in the

conveyor are blocked to accomodate J, in the case a vacant slot is not available at that moment . The PE policy is not studied in this paper but it was studied in [5] in a system design context.

2.2.2. Nonpriority exit [NPE] In NPE, job J has to wait at EX until the vacant slot is available in the cyclic

conveyor to accomodate it. When job J is loaded on a machine, an empty slot, say E 0, is left in the

conveyor. After the job is processed on the machine, job J is t ransported by the return conveyor with speed Sj to EX (see fig. 1). In this paper we consider two types of NPE (namely, NPE1 and NPE2) for system 1 while only NPE2 is considered for systems 2 and 3. The reason for this will become clear later.

In NPE1, the return conveyor speed Sj ( > S) is chosen in such a way that job J can be brought to EX before or at the same time the empty slot E o (as defined above) arrives at EX.

142 C. Sriskandarajah et al., / Scheduling methods for a class of FMS

SYSTF~ 2

t 6 - 3 . 0 t 5 = 3 . 0 t 4 = 3 . 0

HCB HCI~ HCB

H~ H5 H4

\.~, , : : - I . . . . . . . . + .... <AM

JEX JEN t 2 = 2 . 0 t 3 - 2 . 0

Fig. 2. A manufacturing system with various machine types; ti-task processing time of machine center My

In NPE2, Sj = S; i.e., job J cannot joint E o but it joins the earliest available empty slot. It can be easily seen that this also happends in system 3.

2.3. PALLET [P]

A pallet carries jobs from one machine center to another on the conveyor. The conveyor is empty at the start of production. Then, the jobs are fed to the system through the Job Entrance [JEN] and removed at the Job Exit [JEX]. The pallets are square-shaped and occupy one slot each on the conveyor.

SYSTEH 3

t | o - 4 . 0 t 9 - 4 . 0 t 8 - 4 , 0 t 7 - 4 . o t 6 - 3 . 0

MlO M9 H8 H7 H6

r N i iEx~ i i ~ i iEN!~, ! i i ! !ENIEX! i ! } i }EN!EX! i ~ i ~ IEN;EX] i i i : L ~ /

HI 1'12, H3 /14 115

t I - l . O t 2 - 2,0 t 3 - 2.0 t 6 - 3.0 t 5 - 3.0

,IEX JEN

Fig. 3. A manufacturing system with 10 MCB type machine centers; q-task processing time of machine center M~.

C. Sriskandarajah et al., / Scheduling methods for a class of F M S 143

2.4. CYCLIC CONVEYOR [CC]

The conveyor consists of a square-shaped slots. We will treat the slot length as a unit of distance. It is noted that for the French facility, the slot length is 15 cm. Whenever an empty slot arrives at JEN, a job along with a pallet is fed in the slot. When a palleted job enters a machine center, it leaves an empty slot on the conveyor.

The conveyor has a periodic motion. It moves one slot length in time t~ and then stands still for time t 2, and then moves again. This cyclic motion with a cycle time of (g + t2) units circulates the pallets in the conveyor. At the end of every cycle, either a pallet or a vacant slot is placed at EN(EX) of the machine centers. The pallets enter or exit the machine centers while the conveyor is motionless. The conveyor speed S = 1 / ( g + t2) is the number of slot lengths traversed by the conveyor in a unit time. Recall that a unit of time is defined to be the smallest task processing time on a machine. Note that in practice, S = 1, 2, 3 are considered to be low speeds while S > 4 are considered to be high speeds.

2.5. JOB TYPES

The following 15 job types in various quantities are processed in manufactur- ing systems 1 and 2 shown in figs. 1 and 2, respectively: Jct,a, Jcat,, Jbca, Jba~, Jacb, J~b, Jca, Jt,o, Jot,, J~, Jb~, J~, Jb, J~, and Jat,¢, where a, b, and c are tasks to be processed on machine centers M1, M2, and M3 respectively. Ncb a, Nc~ b, Nt,~a , Nba~, Nacb, N~b , Nca, Nb~, Nab, N~c, Nb~, Na, N o, N~, and N~b ~ are the numbers of each type to be processed in the systems.

The jobs can be decomposed as follows:

Jcba=Jc-<J6-<Ja

This means that the job type Jcoa is decomposed into three jobs J~, Jb, and J,,, where task c precedes task b, and b precedes a. Since machine centers are arranged in the order M1, M2, M3 in the conveyor, the Jcb,,-type jobs require a minimum of 3 conveyor cycles [CYmi . (Jet,,,)= 3] to be processed completely. Similarly,

J.,b=J~'<J~b, CY~,(Jcab) = 2

Jt,ca = Jbc'< Ja, CYmin( Jbc~) = 2

Jt,oc = "< L o c r . . . ( J oc) = 2

Jo t,=Jo -<Jt,, = 2

Jct, = Jc < Jb , C Ymin ( Jc6 ) = 2

J~ = Jc'< J~, CYmin( Jca) = 2

Joa = Jb -< Ja , C Ymia ( Jba ) = 2 .

144 C. Sr iskandarajah et al., / Scheduf ing methods for a class o f F M S

Table 1 Job types in system 3

Job Job CYmi n Job Job CYmi ~ Job Job type type type type type type no. no. no.

CY~i.

1 Ja,.b. 4 23 Joocd 2 45 Jab 2 2 Jd,..h 3 24 J,~ab,. 2 46 Jaa 2 3 Jabco 3 25 J,..dh 2 47 J,. 2 4 Jab~,- 3 26 J~,+a 2 48 Jc~ 2 5 Jaa,.b 3 27 J,,mh. 2 49 Jr,,, 2 6 J,-ab. 3 28 Jab,- 2 50 J,.a 1 7 Jchda 3 29 Jcdb 2 51 Jba 1 8 .]chad 3 30 Jcba 2 52 Jad 1 9 J,-.ah 3 31 Jba¢ 2 53 "]be 1

10 Jha,.. 3 32 "]doe 2 54 Jac 1 11 Jboa,- 3 33 Jcda 2 55 Job 1 12 J,,a,.b 3 34 J~,l 2 56 Ja 1 13 Jamb 3 35 J,,a~ 2 57 J,. 1 14 Ja,.~ 3 36 Ja~h 2 58 Jr, 1 15 J, lha 3 37 Jl, a,, 2 59 Jr, 1 16 J,+~ 3 38 Jh~d 2 60 J,,b~ 1 17 Jdabc 2 39 J,,db 2 61 Jabd 1 18 Jcdab 2 40 J,..b 2 62 Jacd 1 19 J,.,,mt 2 41 Jb~,, 2 63 Jh~a 1 20 Jha,~ 2 42 Jh~,- 2 64 Jabcd 1 21 Jb,.a, 2 43 J,~,-b 2 22 Jb,'od 2 44 Ja~ 2

T h e j o b types J .h , J~,., Jbc, J . , Jh, J,. a n d Joh,- requi re a m i n i m u m of one

c o n v e y o r cycle, i.e., CYm~ n = 1 for these types . Tasks a , b, and c have ident ica l p rocess ing t imes of one un i t each in s y s t e m 1.

T h e unit task t ime consis ts o f the l oad i ng t ime [It], the a s s e m b l y t ime [at], a n d the

un load ing t ime [ut], i.e., It + at + ut = 1. Since the c o n v e y o r is m o t i o n l e s s whi le

load ing or un load ing , we m u s t have It ~< t 2 a n d ut ~< t 2. But in s y s t e m 2, we m u s t h a v e t 2 >~ (It + ut), s ince b o t h l oad i ng and u n l o a d i n g in M C E E h a v e to b e

c o m p l e t e d in t ime t 2. W e s tudy schedu l ing m e t h o d s for va ry ing c o n v e y o r speeds S = 1, 2, 3, etc. I t is no ted tha t s y s t em 1 wi th S = 1 was s tud ied in [7,8].

Table 2 Task processing requirement in system 3

Task Processing time Machine requirement requirement

a 1-unit M1 b 2-units M2 or M3 c 3-units M4 or M5 or M6 d 4-units M7 or M8 or M9 or M10

C. Sriskandarajah et aL, / Scheduling methods for a class of FMS 145

In system 2, task a has unit processing time requirement and can be processed on machine center M1. Task b, which has 2-units processing time, can be processed on machine centers M2 or M3. Task c which can be processed on machine centers M4, M5, or M6 has 3-units processing time requirement.

In system 3, we have considered 64 job types listed in table 1. Processing times and machines required for the tasks (a, b, c, d) are given in table 2.

3. Manufacturing system 1

In this section, we develop scheduling procedures for both of the nonpriority exit cases: NPE1 and NPE2. System 1 consists of three machine centers, each of MSEE type (fig. 1).

3.1. S C H E D U L I N G WITH THE C O N V E Y O R SPEED S = 1 A N D NPE1

In the case of S = 1, when a machine discharges a job, the next pallet is available at the machine entrance just in time. The pallet carrying the job enters the machine center, if it requires processing. If it does not, the machine center waits for a proper job. Note that S = It + at + ut = 1.

The scheduling problem in this context is stated as follows: There are n products (jobs) of 15 types that have to be scheduled in system 1. The objective is to find a schedule that minimizes finish time. The finish time [FT] is defined as the duration between the entrance of the first job to the system and the exit of the last job from the system.

The following algorithm minimizes FT in system 1.

3.1.1. The greatest CYmi n first algorithm [GCYMINF]: The GCYMINF algorithm schedules the jobs in the nonincreasing order of

CYmin; in cases of equality the ties are broken arbitrarily. More specifically, for the job types described in section 2.5, all the Jcba-type jobs whose CYmk . = 3 are scheduled first; they are followed by the jobs with CYmi . = 2, which in turn are followed by the jobs with CYm~n = 1. The jobs are fed compactly in the system in the above-mentioned order. When the conveyor is filled completely, the jobs enter the conveyor whenever a vacant slot is available.

T H E O R E M

The GCYMINF algorithm is optimal for S = 1

Proof A simple job interchange argument proves that the algorithm is optimal. For a

detailed proof, let ~r be any schedule which is not an element in the set of schedules that can be generated by the GCYMINF algorithm. Let 9" be a

o%

FT =

(7~

-i

)

A~

1st

cycl

e

i S0 Jc

ba~

I 50

Ja

bc~

I

SO sl

ots

SO sl

o~s

2nd

cycl

e 3r

d cy

cle

. xj

, x

2 ;

i SO

Jb

ca~

. ~ .

t jo

b k I

x 3 • f¢~ t

5oh

k 2

4th

cycl

e St

h cy

cle

6th

cycl

e

50 Ja

bc ~

50 Jc

ba~

tll"

-t

t .5obs: J

i I £2

i4

9 is

o

..

.

..

..

.

..

..

.

50 3c

b~:

means, S0

Jc

ba

type

Jo

bs ar

e sc

hedu

led

in a

co

nvey

or

cycl

e.

x!~

X2,

X3,

X 4 an

d x 5

are

the

port

ions

of

~h

e co

nvey

or

~hat

ar

e oc

cupl

ed wi

th pa

rtia

lly

trea

~ed

~obs

Yl'

Y2'

Y3

and

Y4

are

the

empt

y po

rtio

ns of

th

e co

nvey

or•

Fig

• 4•

A s

ched

ule

of ~

r.

7th

cycl

e

Y3

Y&

Last

Jo

b le

ar

the

syst

em

e%

e~

FT ~ : (6~

-~

)

ist

cycle

2nd

cycle

, 3r

d cy

cle

, 4t

h cycle

5th

cycle

6th

cycl

e

50 sl

ots

I 50

slots

Last

Job le

aves

th

e system

50 Jc

ba~:

means,50 Jc

ba-

type

~o

bs ar

e scheduled in

a

conveyor cy

cle•

~. ,~. ~:. ~

~d ~

~e the po~tl .... ~ ~h

...... yo~ th~ ....... pied ~i~h p~i~lly

t~oated Jobs.

Yl and y~

ar

e th

e empty portions of

th

e co

nvey

or.

Fig. 5.

A GCYMINF

schedule of ~'*.

"x

4.

o~

C~

"X

148 C. Sriskandarajah et al., / Scheduling methods for a class of FMS

G C Y M I N F schedule. Thus ~r :~ 7r*, and there exists at least two jobs i and j with CY~+ n < CY~+, such that j immediately precedes i in 7r but i precedes j in q ' / -*

Since CY~I n > CY/~i,, it can be easily seen that interchanging the position of j and i in 7r either improves the finish time or leaves it unchanged. A finite number of such interchanges transforms 7r to 7r* showing that ~* is optimal. Note that further interchanges in ~'* will not improve the finish time. Note also that this proof is valid for any value of m. Now we illustrate the job interchanging procedure in ~r by using a typical example.

Let FT and FT* be the finish times of 7r and 7r* shown in figs. 4 and 5, respectively. Let a be the maximum number of pallets that can be circulated in the conveyor at

any one time, n be the number of jobs to be scheduled, m be the number of machine centers, and n, be the number of jobs that require CYmin=r conveyor cycles, r =

1, 2 . . . . . m; note that n~ + n 2 + . . . +n,,, = n. Let us consider the following example problem: we have n 3 ./,+,-type jobs, n 2

Jb,,,-type jobs, and n~ J, hc-type jobs that have to be scheduled, a = 100, m = 3, n 3 = a', n 2 = a/2, n 3 = a and n = n 1 + t72 + 173 = 5a/2. A schedule ~ is shown in fig. 4 for this problem and FT -- 7a - 1. The corresponding G C Y M I N F schedule ~r* is given in fig. 5 and FT* = 6 a - 1. It should be noted that in ~r, job k 2 is scheduled immediately after job k~ in the first available empty slot. Therefore, job k~ is deemed to immediately precede job k 2 in ~r, although the two jobs are physically not close to each other in the conveyor (see fig. 4).

As can be seen from fig. 4, job J(J,b,,) immediately precedes il(Jd,,) while .1 CY~li, > CYmi,. Interchanging the positions of jobs j and i t will not change FT.

After this interchange, job j immediately precedes job i 2. Thus we interchange the positions of jobs j and i 2, then jobs j and i 3, and so on until jobs j and i50 are interchanged. This series of 50 interchanges brings job j to be the last job scheduled in ~. Note that for the first 49 interchanges, there is no change in FT. But FT is improved by one unit because of the 50th interchange, which is between jobs j and i50. Similarly, by a series of such interchanges, we could move all J~b,.-type jobs scheduled in the beginning of the 4th cycle to the end of schedule ~r (i.e., the end of the 4th cycle), while all J,.h~-types scheduled at the end of the 4th cycle are moved to the beginning fo the 4th cycle. By now, we have made 50 × 50 interchanges improving P ~ by 50 units. Note that all of these interchanges either improve FT or leave it unchanged. Now one can easily see the rest of the transpositions that would transform 7r to ~r* improving FT to the value of 6a - 1.

The G C Y M I N F algorithm can be implemented as follows. The first step of the algorithm is to sort out the different types of jobs according to the nonincreasing order of CYmi .. Then the algorithm schedules the jobs in the order of { Jcba, J~h,

C. Sriskandarajah et al., / Scheduling methods for a class of FMS 149

Table 3 Finish time comparison for S = 1 and S = 2

Problem Number of Instance type jobs

Finish time in units time (NPE1 with Sj > S)

Random algorithm GCYMINF algorithm

S = I S = 2 S = I S = 2

C1 10000 18183.00 14359.50 18123.00 10637.50 C2 10000 15516.00 11831.50 15446.00 10416.00 C3 10000 13502.00 10043.00 13429.00 10157.50 C1 15000 27147.00 21438.50 27037.00 15801.00 C2 15000 23213.00 17769.50 23088.00 15560.50 C3 15000 20189.00 14836.00 20068.00 15167.00 C1 20000 36180.00 28580.00 36135.00 21112.00 C2 20000 31371.00 23782.00 31203.00 20804.00 C3 20000 27162.00 19904.50 27000.00 20253.00 C1 25000 45451.00 35770.50 45328.00 26316.00 C2 25000 38850.00 29512.50 38740.00 25934.00 C3 25000 33721.00 24878.50 33643.00 25252.50

Jh,,o, Jh~c, J~cb, Jcb, J~, Jho, J,h, J~c, Jh,,, J~, Jb, J,h,. ) for system 1. That is, the algorithm schedules all the J,.b,--type jobs first, then all the Jc,b-types and so on until it finally schedules all the J~b~-type jobs. Hence, the complexity of the G C Y M I N F algorithm is of order O(n2).

3.2. SCHEDULING WITH S = 2 AND NPE1

In this case, we study two scheduling algorithms. First, the G C Y M I N F algorithm is applied on the randomly generated problems for S = 1 and S = 2. The finish times obtained by a computer simulation are presented in table 3. The corresponding random schedule finish times are also presented. For S = 2, the G C Y M I N F algorithm improves the finish time considerably from the random schedule finish times for the problem instances C1 and C2 to be described later in section 3.2.1. But it does not perform as well for C3. The reason for this behavior is given in section 3.2.5.

3.2.1. Problem instances The G C Y M I N F algorithm was tested on a large number of randomly gener-

ated problem instances. Three types of realistic problem instances (C1, C2, C3) are studied in system 1. The problem instances are generated as follows. Let T[i] be a task to be processed on machine Mi, where T[1] = a,

T[2] = b, r [ 3 ] = c,

PS be a probabilistic indicator, J(k), k = 1, 2, 3 be tasks randomly generated to create job J; note that J(k)

takes values in (a, b, c, z), where, z is a dummy task, and XN be a random number.

150 C Sriskandarajah et al., / Scheduling methods for a class of FMS

Table 4 Composition of jobs in problem instances C1, C2, C3

Job composition (number of tasks)

% of jobs having X tasks in each problem instance

PS = 0.9 PS = 0.7 PS = 0.5

X C1 C2 C3

3 70% 30% 10% 2 28% 50% 50% 1 2% 20% 40%

Each job is generated by the following procedure: (i) Repeat

f o r k = l t o 3 d o begin

Generate random number XN; if XN < PS then J[k] .'= T[k] else J(k) := z;

end; until J contains at least one of the tasks (a, b, c), where J = (J[1], J[2], J[3]) is the order of tasks generated for a job.

(ii) To determine the job type, we permute the task positions in J randomly, then remove the dummy tasks from J.

REMARK

It is obvious that the G C Y M I N F algorithm is not optimal for S = 2, as there exits the problem instance C3 where the algorithm obtains a schedule worse than a random schedule (table 3).

We develop next an algorithm which performs better than the G C Y M I N F algorithm. The idea of " job matching" (to be described next) is used. Two jobs are matching if they do not have common operations in any of the minimum number of cycles required to process them. Thus, e.g., J,+a and Jba<' a re matching because they do not have common operations in each of the three cycles as shown below.

Jobs CYmi n Cycle 1 Cycle 2 Cycle 3

J,+a 3 M3 M2 M1 Jh,c 2 M2 M1 and M3 -

In table 5, we provide the job matching matrix [JMM] in which JMM~/= 1 means that job i and j match each other while JMM~j = 0 means they do not.

C. Sriskandarajah et al., / Scheduling methods for a class of FMS 151

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ~

0 0 0 ~ 0 0 0 ~ 0 0 ~ 0 0 ~

0 0 0 0 0 0 0 0 0 0 0 ~ 0 0 0 ~

0 0 0 ~ 0 0 0 ~ 0 0 0 0 ~ 0 0 ~

~ 0 0 0 ~ 0 0 0 0 0 0 ~ 0 ~

~ 0 0 0 ~ 0 0 0 ~ 0 ~ 0 ~ 0 ~

0 0 0 0 0 0 0 0 ~ 0 0 ~ 0 0 ~

0 0 0 ~ 0 0 0 ~ 0 0 ~ 0 0 ~

~ 0 0 0 0 0 0 0 0 0 0 ~ 0 0 0 ~

152 C. Sriskandarajah et al., / Scheduling methods for a class of FMS

3.2.2. The job matching algorithm The idea of job matching is used to design the JM algorithm in a way that all

the jobs are processed in a conveyor cycle. The jobs with higher CYmi . that match are scheduled adjacent to each other and early oh in the conveyor cycle. Consequently, jobs with lower CYm~n that match come together but later in the conveyor cycle. A preference order is proposed for the job types whose CYmi n are equal. This order is chosen arbitrarily.

The preference order for CYmin = 3 is G 3 = { Jcb~ )- The preference order for CYmi, = 2 is G2, where G2 = { Jc~b, Jb,a, Jbac, Jacb, Jcb, ']'ca, Jba }" The preference order for CYmi, = 1 is G1, where G1 = { Job, J , , , Jb~, J~, Jb, J~, Job~ }-

If a job type (J,b~) matches with more than one job types in G2 (e.g., Jb~, Jho), then the matching is done in the specified preference order.

ALGORITHM (An illustration of the algorithm using an example is presented in the following

section). Step 1: The first cycle of the conveyor is scheduled as follows: - The job with the highest CYmi, is matched and grouped with another job

in the nonincreasing order of CYm~n breaking the ties in accordance with the specified preference order. These two matched jobs are scheduled adjacent to each other in the conveyor. Similarly, a series of matched jobs fills the first conveyor cycle.

- When no job is available for matching a job type under consideration, a dummy job is matched. The dummy job represents an empty slot in the conveyor.

Step 2: The following conveyor cycles (2nd, 3rd. . . etc.) are filled in the following way:

- Whenever an empty slot is available in the conveyor, the job that matches both the preceding job and the succeeding job is put in the place. The priority is given to the job whose CYmi . value is the highest, breaking the ties in favor of the specified preference order.

- When no job is available for matching, a dummy job is put in its place, i.e., the emtpy slot is left empty.

- The process is repeated until all the jobs are scheduled.

3.2.3. Illustration of the job matching algorithm A simple example problem in system 1 is taken to illustrate the job matching

algorithm.

EXAMPLE Suppose we have only Jobs, J,,, and Jb-typejobs. Nob ~ = a/2 , N a = a /2 , N b = eg

and S = 2, where a = 100 is the maximum number of pallets that can be circulated in the conveyor at any one time.

C. Sriskandarajah et al., / Scheduling methods for a class of FMS 153

!4

i s t cyc le

P

"450 Josh & 5 0 J a Jobs

FT = ( S a - 1 ) / S

2nd cyc l e

Ii lt l...tl

3rd cyc l e 4¢h cyc l e

t..l ltlll.-, l l...I II Fig. 6. A schedule by the job matching algorithm.

5 t h cycle

'l'lll I . • . . .

1 Last Job leaves the system

Figure 6 shows how the jobs are scheduled by the JM algorithm. Since CYmin(Jcba) = 3, the J~b~-type jobs are scheduled in the first cycle by matching with the J~-type jobs. Although a Jb-type matches with a Jtb~-type, the tie is broken in favor of a J~-type. Note that G1 = { Jab, J~c, Jb¢, J~, Jb, Jabc }"

The first conveyor cycle is filled with 50 J~ba-type jobs coupled with 50 Ja-types. The J~b~-type jobs scheduled in the first cycle become Jb,,-types in the second cycle, whereas J~-jobs scheduled in the first cycle leave the system. The 50-empty slots in the second cycle cannot be filled, since there is no matched jobs for Jba. The Jba-jobs of the second cycle become J~-types in the third cycle. The 50-empty slots in the third cycle can be filled with 50 Jb-type jobs. Similarly, the fourth cycle can be filled with 50 Jb-type jobs coupled with 50 dummy jobs (fig. 6). Note that FT = ( 5 a - 1)/S.

REMARK In the above example problem, we got FT = (5a - 1)/S using the preference

order G1. One may easily verify that an improved F T - - ( 4 a + 1)/S can be obtained with another preference order G~ = {Jab, Jac, Jbc, Jb, Ja, J~, Jab~}, where Jb is preferred over Ja, in the case of a tie between the two. Since FT depends on the preference order, it is clear that the JM algorithm is not optimal.

3.2.4. Performance evaluation of job matching algorithm The job matching algorithm is applied on randomly generated problems. Table

6 shows a comparison of the JM algorithm with the random schedule. Also the finish times FT* of the JM algorithm is compared with an unrealistic lower bound FT t for the finish times. The lower bound FT e is obtained as follows: - Consider that each task processing time is equal to 1 /2 instead of 1 unit. Set

S = 2 . - The finish time which is obtained for this case by applying the GCYMINF

algorithm is considered as FT e. Note that the GCYMINF algorithm is optimal for this case (S = 2 and each task processing time equals to 1/2).

154 C Sriskandarajah et at, / Scheduling methods for a class of FMS

Table 6 Performance evaluation of the job matching algorithm

Problem Number Finish time, S = 2 Percentage Lower bound instance of Random JM improvement for finish type jobs Schedule algorithm vs. random time

FT" FT* ( F T ' - F T * ) FTe FT r

×100

Performance ratio (r) r = FT*/FT e

C1 10000 14359.50 10315.00 28.17 9061.50 1.14 C2 10000 11831.50 8205.00 30.65 7723.00 1.06 C3 10000 10043.00 7168.50 28.62 6714.50 1.07 C1 15000 21438.50 15387.50 28.22 13518.50 1.14 C2 15000 17769.50 12318.00 30.68 11544.00 1.07 C3 15000 14836.00 10639.00 28.29 10034.00 1.06 c1 20000 28580.00 20529.50 28.17 18067.50 1.14 C2 20000 23782.00 16609.50 30.16 15601.50 1.06 c3 20000 19904.50 14134.50 28.99 13500.00 1.05 C1 25000 35770.50 25698.50 28.16 22664.00 1.13 C2 25000 29512.50 20587.00 30.24 19370.00 1.06 c3 25000 24878.50 17556.50 29.43 16821.50 1.04

The job matching algorithm improves F T by about 30% as compared to the random schedule for the tested problems. Also, it can be noted that the perfor- mance ratios [r] are low and close to 1. Hence, the FTs obtained are very close to being optimal.

3.2.5. Performance evaluation of the GCYMINF algorithm For S = 2, the j ob matching algorithm performs better than the G C Y M I N F

algorithm as can be seen from the values of FT * in table 6 and the finish time values for G C Y M I N F in table 3. Note that the same problem instances were used in tables 3 and 6.

In table 3, for S = 2, the G C Y M I N F algorithm improves the finish time considerably over the random schedule finish times for the problem instances C1 and C2. But it does not perform as well for C3. This behavior could be at tr ibuted to the following reason. In practice, there will be many j obs of each type to be produced. This means that most of the time, the G C Y M I N F algorithm schedules the series of jobs of the same type adjacent to each other in the conveyor. Since the jobs of the same type do not match, this algorithm works contrary to the j ob matching principle. However, when the G C Y M I N F algorithm schedules a series of jobs having CYm~n >/ 2 but of the same type (e.g., JcbQ), these jobs will match in the next conveyor cycle; see for example fig. 7. The possibilities of this occurrence in the G C Y M I N F schedules are reduced when we have problem instances like C3 with large proport ion of the jobs having only one task (i.e., CYmi, = 1); see for example fig. 8. In this case, there is no possibility of job matching in the 2nd

C. Sriskandarajah et aL, / Scheduling methods for a class of FMS 155

lsc cycle 2nd cycle 3rd cycle tlth cycle , 5th cycle /

"1 I00 Jeba Jobs ~ t

i I

Last lob leaves the system

Fig. 7. A GCYMINF schedule of 100 Jcb~-jobs for S = 2; the jobs in the second cycle are matching.

.... ~sc cycle - L 2nd cycle ~[_ 3rd c y c l e

I00 Ja tobs[ - I - S t ) j a Jobs~, -J-

[t

4oh cycle J - .J

Last Job leaves the syscem

Fig. 8. A GCYMINF schedule of 150 J~-jobs for S = 2; the jobs in the second cycle are not matching.

conveyor cycle. It seems that for the problem instance C3, the r andom schedule provides more job matching possibilities than the G C Y M I N F schedule.

It should be noted that NPE1 is not realistic for high conveyor speeds on system 1. Also it can be seen easily that NPE1 is not feasible in systems 2 and 3. Since the jobs cannot join the same slot E 0 (as defined in section 2.2.2) when it leaves the machine center. The study of NPE2 is pursued in the next section. An algorithm is developed using the principle of job matching.

4. Scheduling with NPE2: Systems 1, 2 and 3 191

In this section, we develop a scheduling algorithm, which we shall term the S-slots matching algorithm [SSM] for reasons that will become clear shortly. In this algorithm we try to load S adjacent slots, referred to as a section hereafter, with jobs that match each other in the sense defined below. Recall that S refers to the conveyor speed.

4.1. S-SLOT MATCHING ALGORITHM [SSM]

This algorithm begins with a schedule of jobs that will fill the empty slots in the first section, i.e., the first S adjacent slots starting with the current slot at JEN. Then it schedules the next S slots and so on until all the jobs are scheduled.

156 C. Sriskandarajah et al., / Scheduling methods for a class of F M S

The number of empty slots in a section under consideration may be 0, 1 . . . . . S. As mentioned earlier, it would be desirable to have matching jobs in a section under consideration. Because the greater the number of unmatched jobs in a section, the greater is the possibility that machines are starved.

In order to obtain sections with matched jobs, we shall use the following two procedures. Procedure 1 is concerned with the scheduling of jobs section by section at JEN. Procedure 2 specifies the scheme by which jobs exit machine centers.

4.1.1. Procedure 1 The section to be scheduled consists of S slots counting from the slot at JEN.

These are the slots that will cross JEN in a unit time. If there are no empty slots, there is nothing to schedule. Otherwise, we select a job that matches with the maximum number of jobs, say n' , that are already existing in the section. Note that n' may be zero, i.e., when no matched job is available. In the case of a tie in n ' , we select the job with the highest CYs t . In the case of a tie in CYmi ., the tie is broken using a predetermined order. The selected job is intended for the first empty slot in the section. This job is then considered to be in the set of the existing jobs in the section. Then we repeat the procedure until no empty slot remains in the section.

4.1.2. Procedure 2 The jobs are discharged from the machine centers to the cyclic conveyor in the

following manner. When a job from a slot is fed to a machine center, the emptied slot is given the address of that machine center, which is nothing but the task performed by the center. For example, in system 1, if a job is fed to M1, the emptied slot will be assigned an address "a ". A job waiting to leave at a machine EX joins the first empty slot, that arrives at the EX with the address of that machine.

The rationale for the exit procedure is roughly as follows. In practice, there will be many jobs of each type. This means that a set of consecutive sections will have the same matched jobs. Our addressing scheme increases the possibility of leaving the jobs after they exit from a machine in the same order as they were in before they entered the machine. A significant subset of sections will, therefore, still be filled up with jobs that remain matched after being processed by the machine.

Once all of the jobs have been scheduled, a job at a machine exit can return to the conveyor either (i) by joining the appropriately addressed slot (as above) or (ii) by joining an empty slot that has an empty slot on either side, whichever comes first. Note that (fi) is introduced to ensure that the last jobs processed on each machine can return to the cyclic conveyor, in case no addressed slots are available for these jobs.

C. Sriskandarajah et al., / Scheduling methods for a class of FMS 157

4.2. PROBLEM INSTANCES

The SSM algorithm was tested on a large number of randomly generated problem instances. Three types of realistic problem instances (C1, C2, C3) were studied in systems 1 and 2. Table 4 illustrates the composition of jobs in each problem instance.

Seven types of realistic problem instances were studied in system 3. The problem instances were generated as in the previous case by varying the prob- abilistic indicator. The composition of jobs in each problem instance are tabu- lated in table 7.

4.3. PERFORMANCE EVALUATION OF THE S-SLOT MATCHING ALGORITHM

The SSM algorithm was programmed in PASCAL for the class of systems under consideration. A procedure to create the job matching matrix was incorpo-

Table 7 Composition of jobs in problem instances L1, L2, L3, L4, L5, L6 and L7

Job composition % of jobs having X tasks in each problem instance

(number of tasks) PS=0.85 PS=0.8 PS---0.7 PS=0 .6 PS=0.5 P S = 0 . 4 PS=0.35

X L1 L2 L3 L4 L5 L6 L7

4 50% 38% 19% 10% 4% 2% 1% 3 38% 42% 42% 34% 21% 16% 13% 2 11% 18% 28% 39% 49% 39% 39% 1 1% 2% 11% 17% 26% 43% 47%

Table 8 Performance evaluation of SSM on system 1 for conveyor speeds S = 2, S ~- 3

Problem Number Finish Time

instance of Random SSM Random SSM type jobs S = 2 S = 2 S = 3 S -- 3

% %

improve- improve- ment merit S = 2 S = 3

C1 10000 14787.50 12135.00 17.94 13561.33 11290.67 16.74 C2 10000 12033.50 10671.50 11.32 10902.33 9670.33 11.30 C3 10000 10075.00 8850.50 12.15 9062.33 8494.67 6.26 C1 15000 21953.00 17863.50 18.63 20235.33 17182.67 15.09 C2 15000 17876.50 15430.00 13.69 16289.00 14620.67 10.24 C3 15000 15088.50 13579.50 10.00 13520.67 12846.67 4.98 C1 20000 29218.00 24061.00 17.67 26876.67 22720.00 15.46 C2 20000 24110.50 21107.50 12.46 21806.00 19580.67 10.21 C3 20000 20111.00 17785.00 11.56 18095.67 17612.33 2.67 C1 25000 36549.00 30351.50 16.96 33632.67 28214.33 16.11 C2 25000 29877.50 25839.00 13.52 27109.67 24294.33 10.38 C3 25000 25156.50 22017.00 12.48 22583.00 21387.00 5.30

158 C. Sriskandarajah et al., / Scheduling methods for a class of FMS

Table 9 Performance evaluation of SSM on system 2 for S = 2 and S = 3. Note column S = 2 correspond to appendix 1

that the first 6 rows of

Problem Number % improvement of SSM algorithm instance of with respect to random schedule

type jobs S = 2 S = 3

C1 1000 15.15 5.27 C2 1000 15.06 3.49 C3 1000 9.72 3.84 C1 5000 15.53 6.05 C2 5000 14.23 3.38 C3 5000 13.09 1.25 C1 20000 15.48 9.12 C2 20000 11.27 8.63 C3 20000 13.63 5.57 C1 25000 13.84 10.48 C2 25000 11.66 6.49 C3 25000 15.95 4.91

rated. Given a set of job types, the program creates a proper job matching matrix before it schedules jobs.

The performance of the SSM algorithm was compared with that of a random schedule. The comparison is carried out with respect to the finish time (tables 8-10) and machine utilization (appendices 1 and 2). It can be seen from table 8

Table 10 Performance evaluation of SSM on system 3 for S column S = 2 correspond to appendix 2

= 2 and S = 4. Note that the first 7 rows of

Problem Number ,% improvement of SSM algorithm instance of with respect to random schedule

type jobs S = 2 S = 4

L1 20000 8.86 2.98 L 2 20000 8.37 3.01 L3 20000 8.60 3.20 L4 20000 9.86 4.19 L 5 20000 9.33 5.49 L6 20000 7.85 6.72 L7 20000 11.03 4.62 L1 25000 8.94 3.21 L 2 25000 9.90 3.78 L 3 25000 9.63 4.08 L4 25000 7.45 3.69 L5 25000 8.62 4.40 L6 25000 7.73 5.20 L7 25000 12.12 5.27

C. Sriskandarajah et al., / Scheduling methods for a class of FMS 159

that the algorithm has obtained a considerable amount of improvement (about 10 to 18%) over the random schedule for system 1 with S = 2. For system 2 with S = 2, the improvement was 9 to 16% (table 9), while for system 3 with S = 2, it was 7 to 12% (table 10).

The algorithm yields good results also for S = 3 as can be seen in tables 8 and 9. The results for higher speed ( S = 4 ) are not as good. But this should be expected because at higher speeds, the job order become less important and the difference between the SSM schedules and the random schedules tends to become insignificant.

5. Concluding remarks

The GCYMINF and the JM scheduling algorithms are proposed for manufac- turing systems with MSEE type machine centers , NPE1 type nonpriority exits, and unit time tasks. It is shown that GCYMINF is optimal for S = 1. For S = 2, the JM algorithm, which uses the principle of job matching, performs better than GCYMINF.

The SSM algorithm, on the other hand, is designed for NPE2 type exits. It can, therefore, be applied to manufacturing systems with any or all machine center types (i.e., MSEE, MCB, MCEE) and different task processing times. Our simulation results performed for S = 1 to S = 4 indicate that the SSM algorithm yields good results compared to random schedules, particularly for low speeds (i.e., S ~< 3).

References

[1] K.R. Baker, Introduction to Sequencing and Scheduling (Wiley, New York, 1974). [2] R.W. Conway, W.L. Maxwell and L.W. Miller, Theory of Scheduling (Addison-Wesley, Reading,

Mass, 1967). [3] E.G. Coffman, Jr. (ed), Computer and Job-Shop Scheduling Theory (Wiley, New York, 1976). [4] S. French, Sequencing and Scheduling (Wiley, New York, 1982). [5] M. Galouzeau and P. Siegel, Simulation d'une ligne flexible d'assemblage, Research report,

Laboratoire d'Automatique, Ecole Nationale Superieure d'Ingenieurs Electriciens de Grenoble, France, 1984.

[6] G.K. Huntchinson, Flexible manufacturing systems in the United States, Management Research Center, The University of Wisconsin-Milwaukee, WI, 1979.

[7] C. Sriskandarajah, L'ordonnancement dans les ateliers: complexite et algorithmes heuristiques, Doctorate Thesis, Laboratoire D'Automatique, Ecole Nationale Superieure d'lngenieurs Electri- ciens de Grenoble, France, 1986.

[8] C. Sriskandarajah, P. Ladet and R. Germain, Scheduling methods for a manufacturing system, in: Flexible Manufacturing systems: Methods and Studies, ed. Andrew Kusiak (North-Holland, Amsterdam, 1986) pp. 173-189.

[9] C. Sriskandarajah, P. Ladet and S.P. Sethi, A scheduling method for a class of flexible manufacturing system, Proceedings of the 3rd International Conference on Advances in Production Management Systems (APMS '87), Winnipeg, Canada, 1987, pp. 3-18.

160 C, Sriskandarajah et al,, / Scheduling rnethods for a class of FMS

Appendix 1

Performance evaluation of SSM on system 2 for S = 2

Problem Number Algorithm Finish instance of time typ jobs

Percentage machine utilization

M1 M2 M3 M4 M5 M6

C1 1000 SSM 1277.00 Random 1505.00

C2 1000 SSM 1111.00 Random 1308.00

C3 1000 SSM 951.50 Random 1054.00

C1 5000 SSM 5938.50 Random 7030.00

C2 5000 SSM 5160.50 Random 6017.00

C3 5000 SSM 4154.00 Random 4779.50

69.15 77.53 67.50 76.82 69.07 55.44 58.67 69.50 53.55 70.96 57.81 42.06 69.67 68.77 57.43 79.66 72.37 61.84 59.17 63.15 44.04 72.48 61.70 47.48 59.49 65.37 54.44 75,99 64.32 53,28 53.70 61.67 46.49 69.73 59.49 45,54 76.35 80.19 72.85 82.09 77.04 68.60 64.50 73.03 56.24 77,45 66.06 48.86 74.00 76.74 65,34 81.21 76.10 65.17 63.47 70.90 50.96 76.83 65.71 48.26 69.21 72.32 63.75 78.14 72.51 63.84 60.15 68.71 49,54 76.14 63.52 46.76

App

endi

x 2

Per

form

ance

eva

luat

ion

of S

SM

on

syst

em 3

for

S =

2

Pro

ble

m

Nu

mb

er

inst

ance

o

f ty

pe

job

s

L1

2000

0

L 2

20

000

L3

20

000

L4

20

000

L 5

20

000

L6

20

000

L7

2000

0

Alg

ori

thm

F

inis

h P

erce

ntag

e m

achi

ne u

tili

zati

on

tim

e M

1 M

2

M3

M

4

M5

M6

M

7

M8

M

9

M1

0

SS

M

2658

7.50

63

.67

71.3

7 55

.86

76.0

9 66

.03

48.7

7 79

.46

72.8

4 60

.90

40.9

0 R

and

om

29

171.

50

58.0

3 68

.10

47.8

6 74

.05

59.6

5 40

.28

78.1

~ 67

.16

52.4

8 33

.75

SS

M

2521

0.00

62

.10

70.7

1 54

.23

74.3

2 64

.81

47.2

7 78

.19

70.5

5 59

.26

40.5

7 R

and

om

27

513.

00

56.9

0 67

.47

47.0

1 73

.11

58.3

0 39

.40

77.6

0 66

.96

50.7

9 32

.40

SS

M

2201

8.00

61

.84

68.1

9 53

.35

71

.61

62

.07

48.6

1 75

.88

68.7

0 59

.22

43.6

7 R

and

om

24

089.

00

56.5

3 66

.02

45.0

8 71

.78

56.7

0 38

.14

77.4

2 66

.35

50.5

1 31

.91

SS

M

1946

5.50

61

.82

66.3

6 53

.56

69.8

0 61

.09

48.2

5 74

.07

67.3

6 58

.66

46.0

7 R

and

om

21

595.

00

55.7

2 64

.86

43.2

3 70

.43

54.9

0 36

.14

76.2

7 65

.23

49.3

8 31

.00

SS

M

1757

7.50

60

.58

65.7

3 53

.38

66.5

6 56

.52

46.0

1 62

.67

56.8

4 51

.36

41.7

5 R

and

om

19

385.

50

54.9

3 64

.38

43.6

2 67

.99

52.1

6 33

.16

71.2

2 58

.24

41.2

2 22

.09

SS

M

1609

6.50

57

.00

61.4

4 51

.24

59.8

4 52

.35

43.3

1 61

.25

55.9

8 50

.54

42.8

9 R

and

om

17

467.

50

52.5

3 60

.03

40.8

0 66

.58

49.2

2 27

.49

72.4

3 60

.18

39.7

7 21

.75

SS

M

1510

8.50

56

.34

63.7

7 54

.67

60.3

0 52

.61

45.5

3 58

.58

53.9

0 49

.58

42.7

3 R

and

om

16

982.

00

50.1

2 63

.13

42.2

4 63

.80

48.8

2 28

.33

69.3

4 55

.72

36.3

6 20

.77

,,,...

.

e~

cm

e~

i....a