Algorithms for real-time scheduling of jobs on mixed model assembly lines

Algorithms for real-time scheduling of jobs on mixed model assembly lines

Compurers ALGORITHMS Ops Res. Vol. 21, No. 5, pp. 487-498, 1994 Copyright C 1994Elscvier Science Ltd Printed in Great Britain. All rights resewed 03...

1MB Sizes 2 Downloads 37 Views

Compurers

ALGORITHMS

Ops Res. Vol. 21, No. 5, pp. 487-498, 1994 Copyright C 1994Elscvier Science Ltd Printed in Great Britain. All rights resewed 0305-0548/94$6.00+0.00

FOR REAL-TIME SCHEDULING OF JOBS ON MIXED MODEL ASSEMBLY LINES

AHMET BOLAT,‘~ MEHMET SAVSAR’$

and MOHAMMED A. AL-FAWZAN~§

‘Department of Mechanical Engineering, ‘Department of Mechanical Engineering, King Saud University, P.O. Box 800, Riyadh 11421 and 3Department of Systems Engineering, King Fahad University of Petroleum and Minerals, Dhahran, Saudi Arabia

(Received

December

1992; in revised form

June 1993)

Purpose-One of the problems faced in mixedmodel assembly lines is the optimal sequencing of a variety of jobs, such as automobiles with options, to minimize some costs resulting from inefficient utilization of stations. Two such inefficiences, which are often realized on assembly stations, are related to station setups and utility works. A setup is required at a station whenever a change occurs in product options and a utility work results from departure of an incomplete job from a station. In this article, the problem of sequencing mixed model products on a paced assembly line is considered and a mixed integer mathematical programming formulation is developed. A branch ;md bound algorithm is constructed for the optimum solution of the mixed integer program. Since the branch and bound algorithm requires excessive computation time for even relatively small problems, particular attention is given to the development and implementation of computationally tractable procedures. Two heuristic algorithms are developed to solve real world assembly line sequencing problems with practical numbers ofjobs within acceptable computational time. The heuristics are tested on real data obtained from a major automobile producing company and are found to produce solutions with an average of 3% deviations from the optimal.

Scope and

Abstract-The problem of how to sequence jobs with options on a mixed model assembly line without work-in-process storage has been well addressed in the literature. In almost all of the previously developed models, the common goal has been to generate schedules that would maximize the utilization of station capacities. However, the problem of setups and utility work, which is the uncompleted work on a job leaving the station, has not been studied in detail. In this paper, a generalized formulation of the sequencing problem is presented. A Branch and Bound procedure and two heuristic algorithms are developed to determine a sequence which minimizes total setup and utility work costs simultaneously. The Branch and Bound algorithm is restricted to small size problems, while the heuristics can be used to obtain a solution for any realistic problem within a very small amount of computation time. The algorithms are tested on real data and shown to be applicable to real-time scheduling of jobs on mixed model assembly lines.

INTRODUCTION

Mixed Model Assembly Lines, MMALs, are special cases of production lines in which different models of the same product are intermixed to be assembled on the same line. Different models typically require different amounts and choices of assembly work, creating variations in the workload

tAhmet Bolat is an Assistant Professor in the Department of Mechanical Engineering at King Saud University in Riyadh, Saudi Arabia. He received a B.Sc. degree in Industrial Engineering from the Technical University of Istanbul, Turkey, a M.Sc. degree in Operations Research from Stanford University, and a Ph.D. degree in Industrial and Operations Engineering from the University of Michigan (Ann Arbor). Prior to joining the King Saud University, he was an adjunct professor in the Department of Industrial and System Engineering at the University of Michigan (Dearborn). His research interests are in the areas of job scheduling, production planning and control, aircraft-gate assignments, and applied optimization. He has authored papers in Production Planning and Control, Journal of Manufacturing and Operations Management, and others. $.Mehmet Savsar received his B.Sc. degree from the Black Sea Technical University, Turkey, his MSc. and Ph.D. degrees from the Pennsylvania State University in the areas of Industrial Engineering and Operations Research. He has worked as an assistant Professor in the Department of Industrial Engineering, University of Anatolia, Turkey, and is now at King Saud University, Department of Mechanical Engineering (Industrial Engineering Program) in Saudi Arabia. Dr Savsar works in the areas of production systems modelling, producting scheduling and control, computer simulation, and applied operations research. He has several publications in these areas. gMohammed A. Al-Fawzan received his B.Sc. degree and M.Sc. degree from the Department of Mechanical Engineering (Industrial Engineering Program) at King Saud University, Saudi Arabia and is working towards his Ph.D. degree in the Department of System Engineering at King Fahad University of Petroleum and Minerals, Dhahran, Saudi Arabia. His research interest is in the area of production planning and control. 487

488

AHMET BOLAT et al,

of the individual stations and setup costs. Therefore, efficient utilization of MMALs rely heavily upon sequencing procedures to smooth out the flow of work at each station and to reduce the setups. Ever since Wester and Kilbridge [l] addressed the balancing and sequencing problems in MMALs, a variety of different procedures have been developed. Yano and Bolat [2] have provided a critical review of the literature, emphasizing the related objectives and algorithms. Two commonly used objectives are to minimize penalties for violating spacing constraints (see [3], [4] and [Sl), and minimize total utility work (see [6] and [7]). Spacing constraints are defined by precedence relations among different options to smooth out work load. On the other hand, utility work is the amount of uncompleted work on a job because the job has reached to the boundary of the station, and operators are not allowed to perform operations outside the station. Assembly lines are usually paced so that a new job is introduced to each station at equal time intervals. In this study, we treat the second objective that is the minimization of the total utility work because it gives adequate consideration to the relative importance of each job with regard to workload smoothmg. In addition, this objective also minimizes unnecessary idle time which is believed to be one of the sources of quality problems. During the past three decades, researchers have been mainly concerned with efficient utilization of station capacities. However, there are other frequently faced problems, such as the setups, which require close study. Most systems in practice include stations which require setups when the sequence switches from one option to another. For example, at body and paint stations in the automobile assemble lines, setups are incurred whenever a car requires different door type, or color than the preceding car. Burns and Daganzo [8] and Bolat [9] developed decomposition algorithms to consider both setup and utility work costs simultaneously. The Problem is decomposed into two interrelated subproblems: defining solution sets with respect to setup considerations and determining subsequences within each set to minimize total utility costs. The major weakness of decomposition approach is that it assumes that any station on the line has either setup or capacity constraints but not both. Although stations on the automobile assembly lines usually fall in this category, a procedure is needed to cope with other systems having rather general types of stations. In this study, we relax the above assumption and allow stations in which setups as well as utility work might occur depending on the job sequence selected. We develop optimum and efficient heuristic procedures to determine a sequence of jobs for real time scheduling of operations at each station so that total setup and utility work costs are minimized. FORMULATION

OF THE

PROBLEM

The problem is to determine a sequence of jobs for real time scheduling of operations at stations of a paced assembly line. The main characteristics that distinguish paced assembly lines from other assembly systems are that the jobs arrive at each work station at equal intervals of predetermined duration, and that an operation can be performed at a station only when the job is within the boundaries of that station. If a worker attempts to perform the operation outside his station, it is likely he will interfere with another worker in the adjacent station, or that the necessary power tools will not reach the job. Also, additional unproductive travel (walking) time is spent when a worker stays too far from his station. Although, the pacing of the line and the length of stations are designed in such a way that, on the average, each operation can be completed within the boundary of the stations, there might be time when a job has to leave a station before its operation is completed. We call the amount of remaining work needed to be completed outside of the station as utility work. Of course, a human worker has the alternative of performing operations more quickly than normal, but this often leads to quality problems which would need to be rectified later, sometimes at greater expense. The work force levels are not the same in all stations. Therefore, a unit utility work at one station will cost a different value than that of another station. This implies that the total utility cost should be obtained by multiplying the utility work of each station with a weight (unit cost) and then adding them up. The sequence which minimizes the total utility cost should then be selected. Depending on the operational characteristics, a station might call for a setup whenever the sequence switches from one choice to another. Setup costs are usually sequence dependent. For example, in a painting station switching to white color causes more quality degradation for the

Algorithms for real-time scheduling

489

next few cars than switching to red. Therefore, all possible sequence combinations have to be considered to find the one with the lowest setup costs. On the other hand, a sequence minimi~ng total setup cost may not necessarily minimize total utility costs because correlations among choices might adversely affect the number of setups and utility works. For instance, suppose all cars with sun roofs require power windows. Then, a long sequence of the model with sun roof would decrease setup costs in the body station which assembles and welds all body sheet metals. However, the same sequence would increase the work load considerably in the window installation station because instalIing power windows require more time than manual windows. Therefore, selected sequence should minimize the total setup costs as well as the total utility work costs. Before the problem is defined formally, we introduce the following assumptions related to the operation of the assembly line considered here. 1. All jobs are available at time zero at the start of the line. 2. Jobs arrive at stations on a conveyor which moves at a constant rate. Time is scaled so that a new job is introduced into each station at unit time intervals. 3. All stations receive the jobs in the same sequence. 4. Operation pre-emption is not allowed. It can be easily shown that schedules without pre-emption constitute a dominant set for two sided closed stations with paced arrival. (In two sided closed stations, the operator is not allowed to move out of the station from either side to perform operations.) Only one job can be processed at a time at each station, that is two jobs can not be processed simultaneously. However, more than one job can be present at a station at any time. Operator, or group of operators working on the same job, moves downstream on the conveyor while performing operations. When an operator completes a job or reaches the end of the station, whichever comes first, he moves back one slot upstream the station to meet the next job. Operator upstream moving time is assumed to be negligible, or added to the processing times. 8. When a job reaches the end of a station before its operation is completed, then the remaining work, which is called utility work, is completed by the utility workers outside of this station. ‘The layout of the stations and the utility work zones is arranged in such a way that the precedence constraints on the operations are satisfied.

The following notations are used in the formulation.

Let

N = Number of jobs. M =Number of stations. i, I= Indices for jobs. k =Index for slots. j = Index for stations. Pij = Processing time of job i at station j. Lj = Length of station j. C,, = Setup cost at station j if job i is assigned immediately after job I. Qj =Cost of one unit time of utility work requested by station j. z

= ttk i

I

ifjob I is assigned to slot k and job i is assigned to slot k + 1

0

otherwise.

A, =Arrival time of job i at station j. D, = Departure time of job i from station j. S, =Starting time for processing of job i at station j. Tjj = Work te~ination time of job i at station j. Ujj = Utility work of job i requested from station j. Rij = Remaining slack time for job i at station j. Here the same time indices are used for arrival times of a job to all stations (Ai) because, for any job, time lag between its arrivals to two consecutive stations is constant and equal to sojourn length of the previous station. Therefore, arrival time of a job to a station can be determined by adding the arrival time of this job to the first station and sum of the length of stations between

490

AHMET E~OLATet al.

the first and this station. In other words, we use a different time clock (zone) for each station such that at the entrance of the first job to the boundary of a station the clock associated with that station is set to zero. The other time variables (Oij, S, and Tij) are based upon the clock associated with station j. At the end, all time variables can be corrected by adding appropriate time lags in order to determine the real time scheduling. Also setup cost parameters are defined rather general in order to cope with sequence dependent costs. The following mixed integer program is the mathematical formulation of the problem stated above. Minimize

Cj”= 1 Cr’ 1 I:= 1 (I[= 1 Zlik)Clij+CjM_1 Oj Cr’1 Uij Subject to:

Ai-Cr’

1 C:= 1 Z,,A,=

1

(1) i=l,...,N

(2)

Sij-Ai20

j=l,...,

M,i=l,...,

N

(3)

Sij_CEV=1Cr=1ZrikTij~O

j=l,...,

M,i=l,...,

N

(4)

Tij-Ai
j=l,...,

M,i=l,...,

N

(5)

j=l,...,

M,i=l,...,

N

(6)

Uij- R,,+ Tij-Sij=

Pij

Cy=l CkN,l Z,i,=l

l=l,...,N

(7)

C;“=l x:=1 z,i,=l

i=l,...,N

(8)

Zli, =0 or 1 Ai, Sij, Tij, Uij, Rij~O

j=l,...,

l,i,k=l,...,

N

(9)

M, i=l,...,

N

(10)

A brief explanation of the formulation is as follows: The objective function: If job i is assigned immediately after job 1 then a setup cost of $C,, might occur at station j, hence, the first term in the objective function gives the total setup cost of any sequence. If work terminates on job i due to its departure from station j, then Uij utility work is required; the second term of the objective function is the weighted sum of utility works. The constraints: First constraint is related to the pacing of the line, namely, if job i is assigned immediately after job I, it arrives at station j exactly one unit time after the arrival ofjob 1.Inequalities 3 and 4 guarantee that the starting time of job i at any station is neither earlier than its arrival time nor the termination time of previous job because each station is left closed and only one job is processed at a time. Similarly, constraints 5 and 6 say that the termination of processing on job i at any station is the earlier of the completion or departure time of that job. Notice that if termination is due to completion then there will be some slack time, R,, until departure. If, however, termination is due to departure, then there will be some utility work on the job. Every job must be assigned to exactly one slot and this is assured by equations 7 and 8. Finally, the non-negativity constraint of the time variables are necessary for any feasible schedule. In the next section, optimum as well as heuristic approaches will be discussed to determine solutions for practical cases of the above formulation. SOLUTION

PROCEDURES

A well known optimum solution approach to the type of the problem presented above is to use a Branch and Bound method. However, from some preliminary runs it was realized that this method could result in almost complete enumeration because most of the constraints are purely definitional. For that reason, heuristic approaches were developed to find “good” solutions in a reasonable amount of computation time. Branch and Bound algorithm

A useful method for solving many combinatorial problems is a general purpose strategy for curtailed enumeration known as Branch and Bound (B & B) algorithm. As its name implies, the approach consists of two fundamental steps: branching and bounding. Branching is the process of partitioning a large problem into two or more subproblems, and bounding is the process of calculating a lower bound on the optimal solution of a given subproblem and based on that determining whether to fathom from further consideration. Each partial unfathomed sequence are

Algorithms for real-time scheduling

491

stored in an active list and the most promising one is selected from the list for further branching, referred to as deepest search strategy. From each partial solution, all possible new branches in that layer are created and evaluated. The following additional notations are needed to describe the implementation rigorously. Let S=Set of indices of all jobs, S=(l, 2,. . ., N). Q* = The best complete sequence found so far. PQ = Partial sequence under consideration. h=Index for the partial sequences in the active list. Qk= Partial sequence in the hth position of the active list. S” = Set of unconsidered jobs in sequence h. y’=Complimentary set of jobs in set y. CT(y’)= Least setup cost at station j for jobs in the set y’. Gj(y’)=Number of different options required at station j by jobs of y‘. Wj(y’)= Excess work load at station j by jobs of y’. T,=Termination time of the last job in y at station j. A ,,,= Arrival time of the first job in y’ at station j 7X(y)= Actual total cost of sequence y. EC(y’) = Lowest possible cost for unconsidered jobs in y’. LB(y) = Lower bound on the total cost of sequence starting with y. y’ - i = Delete job i from set y’. y-t- i = Append job i to the tail of set y. Outline of the B & B algorithm is as follows. B & B Algorithm 0. Use any heuristic to find an incumbent solution Q* with TC(Q*). Define an active list to store partial solutions and their objective values. Set h = 1, Sk= S and Q” = @ 1. Choose the first job in Sh, say job a, and set Sfr+l -_Sh_a PQ=Qi’+a PQ’=S- PQ 2. Calculate TC(PQ), ~C(~Q’) and LB(PQ) 3. If LB(PQ) < TC(Q*) THEN GO TO 4 ELSE Set Sh=Sh+‘, h=h-1 and GO TO 5 4. IF PQ’=J?I THEN GO TO 8 ELSE Put PQ in the hth position of the Active List, i.e., set Qh= PQ, M(Qh) = LB(PQ) and GO TO 5 5. IFSh+‘=@THENGOT06 ELSE Set h==h+l and GO TO 1 6. If h=O THEN Stop. Optimum soIution is Q* with total cost of TC(Q*). ELSE Choose a partial solution with the minimum Lower Bound from the list, i.e., i* =argmin(LB(Q’)), i= 1, . _. , h Remove Q” from the active list, and update the list. 7. S”=S-Q”

and GO TO 1

8. Q*=PQ TC(Q*) = LB(PQ) h=h-1 9, For i-l, . . +, h IF Q’>Q* THEN discard Q’ and update the list, and set h= h- 1. ELSE GO TO 6. A brief explanation of the algorithm is as follows. For each partial solution in the active list, /S’llnew solutions are created and a lower bound on the total cost is established for each of these CA0R :!I-5-B

492

AI-METBOLAT et ai.

solutions. Lower bound consists of two terms: actual total cost of jobs sequenced so far and the lowest possible value for the total cost of remaining jobs, i.e., LB(y) = Z(y)

-t-EC(y’).

(11)

Actual total cost is the sum of total setup costs and utility work costs forjobs sequenced so far, i.e., 7X(‘)=:

5 C x Cl,+ E Oj f: max{O, E(sij+Pij>-Dijl)* i&y j=l i&y j=l

(12)

On the other hand, the following formulas are used to determine the lowest possible total cost for the remaining jobs: EC(J”)= ?

C,*(y')Gj(y')+ f Ojwj(y')

(13)

j=l

j=i

where ~j(y’)=max

0, C Pij-[D,j-maX(T,, i

isy’

A,,)]

. I

Both terms in equation (13) are lower bounds on the remaining setup and utility work costs of any solution starting with jobs in y. This is because it is implicitly assumed that, (a) Jobs can be sequenced on each station in such a way that there is only one batch, hence one setup, for each option. (b) Stations are independent as if resequencing for each station is permitted. (c) No idle time occurs before the entrance of any job to any station. Note that the total work load of jobs in y’ at any station is simply the sum of their processing times at this station. This load can be processed within the station only when these jobs are physically present in the station. By the above assumption that operators always find the next job in the station after each completion, maximum operating period in a station is given by the difference between the departure time of the last sequenced job in y’ from this station and the starting time of the first job in y’ in this station. Therefore, the lowest possible amount of utility works of jobs in y’ requested by station j is the difference between the total load and maximum operating period at station j, and is given by equation (14). While implementing the B & B algorithm, recursive formulas are developed to complete the cost elements efficiently. A partial solution is kept in the list until either it is found that this solution will not yield any solution better than the incum~nt solution, or it yields a complete solution better than the incumbent. Procedure continues until all solutions in the list are saturated, and maximum number of solutions is the factorial of the number of jobs. Therefore, total number of iterations to be completed before an optimum solution is reached is bounded exponentially in the worst case. We observed that for practical instances average performances are usually close to the worst case, resulting in unacceptable computation times, and hence, we direct our attention to develop heuristic procedures. Heuristic dgorithms Due to the difficulty of finding an optimum solution for practical size problems, much attention is devoted to use of heuristic techniques. Heuristics are designed to generate close to optimal solutions in a reasonable amount of time. Our first approach utilizes the same concept as that of B & 3, but with a tremendous reduction in the computation time. The basic idea is to search only a certain number of unpruned branches, and hence, limit the number of solution paths in parallels. In other words, at each layer the best “K” branches are kept and the rest are filtered. For this reason we call this algorithm Filtered Branch and Bound Algorithm (FBB). Computation time of FBB is bounded polynomially by the number of jobs times the maximum number of beams allowed at each layer (filter threshold). Outline of the FBB algorithm with the filter threshold “‘K” is as follows. Let Qr be the Ith best partial sequence at layer z where z= 1, . . ., IV.

493

Algorithmsfor real-time scheduling

FBB Algorithm 0. Use any heuristic to find an incum~nt

solution Q* with TC(Q*). Deiine an active list to store partial solutions and their objective values. Set z=O, t=l, Q:=@, I=O, T=l, LB(Q:+,)= A Large Number

1. h==l, Sh=S-Q: 2. Choose the first job in Sh, say job a, and set Sh+l=Sh-a PQ=Q:+a PQ’=S- PQ

EC(PQ') and LB(PQ) TC(Q*) THEN GO TO 5

3. Calculate TC(PQ),

4.IF

LB(PQ)<

ELSE Set Sk=Sh+l, h=h-1

and GO TO 6

5. IF I>I( and L~(Q~+~)~~~(PQ) THEN GO TO 6 ELSE Put PQ in the rth position of the active list. Shift position of the sequence in r, r+ 1, . . ., 1 one slot forward where IF I
LB(Q:-")
6. IFS*+‘= 0 THEN GO TO 7 ELSESeth=h+landGOTO2 7. Ift=TThenGOTO8 ELSE t=t+l and GO TO 1 8. IFz>;-lGOT09 ELSE Set z=z+l,

t=l,

LB(Qi+,)=A

Large N~m&er, T=K,

I=O, then GO TO 1

9. Qi is the optimal solution with a total cost of TC(Qk) For the algorithm presented above, we have assumed that job flow coming out of each station is deterministic. In practice, however, a job may be removed from its respective position because of quality problems. Moreover, processing times might have some variations due to human factors resulting in quality degradation. For these reasons, there are tendencies in reality to design systems in such a way that the number of bottleneck stations are as few as possible. For instance, in some automobile plants, the utilization of some stations are planned around 5040% to cope with the variations in the daily option mix. Based on the observations above, we have developed a second heuristic to identify the bottleneck station and determine sequence with respect to that station. We call this algorithm Sequence Aecordmg to Bottleneck Station (SABS). Each station is considered alone and the best sequence for this station is chosen. Solutions are generated by using the following priority rule: select the most. difficult job as long as it does not create unnecessary costs. Bounds and actual costs are calculated as in the previous algorithms. Best sequence of each station is evaluated by considering all stations on the line and the one with the lowest costs is chosen.

SABS Algorithm 0. Set j= 1, Q* = 0 and TC(Q*)= A Large Number 1. S”= Set of jobs in decreasing order of processing times at station j. Set PQ=@

Calculate the lower bound on utility and setup cost at station j as: LBj=Cf(S’)*Gj(S’)+Oj+[C~=N= Pij-(N+Lj-l)]+ 2. Choose the first job in S’, say job Q.

Calculate the total cost of current partial sequence PQ+a as:

WPQ+a)=C&ePQ+a 3. IF ~C(PQ+a)>L~j ELSE GO TO 5

Clij+ojCiePQ+aC(sij+Ptj)-Dijl+*

THEN GO TO 4

AHME-TBOLAT et al.

494

4. Search for the next job in s’ that satisfies the condition in Step 3. If there is no such job, then find job a, such that a =argmin(TC(PQ + I)> where 1ES’ and set LBj= TC(PQ + a) and GO TO 5 5. PQ=PQ+a s’= S- a and update S’ to keep the order IF S’=QI THEN GO TO 6 ELSE GO TO 2 6. Calculate the total cost of complete sequence PQ over all stations ~C(~Q)=~~

I

1

Ct,iepa

C,ij+CEl

OjCiepa

[(Sij+Pij)-Dijf+.

7. IF TC(PQ)> TC(Q*) THEN GO TO 8 ELSE set Q* = PQ and TC(Q*) = TC(PQ) 8. j=j+ 1 IFj
RESULTS

The peformance of a heuristic solution is usually measured by its closeness to the optimal solution. We have used the same methodology to evaluate heuristics developed in this study. However, the computational complexity involved in solving problems optimally increases prohibitively for large size problems. Therefore, heuristics were compared with optimum results for only small size problems, i.e., sequencing few jobs. For large sequencing problems, previously developed lower bound on the total cost was necessarily used as a benchmark. In order to carry out the experiments, the three algorithms developed were coded in FORTRAN 77 and tested in AMDAHL 5880 of King Saud University. The experiments were carried out on random data as well as real data which were obtained from a major automobile company in the U.S. There were 12 stations which did not require any setup between different options. Some of these stations performed operations which were not required by all cars, such as installing sun roof. Parameters, such as the length of the stations and processing times of options offered in, stations, are scaled and given in Table 1. The cycle time was 0.80 min and utility work cost was $25 per hour for all stations. There was one additional station which was not listed in the table offering I1 different options with identical processing times. This station required a setup whenever sequence switched from one option to another, and the setup cost was $10 per setup. In the first experiment, 10 different problem sets were prepared to test all three algorithms. In each set, there were 15 real job orders each of which specified the option types of each station. For FBB algorithm the filter threshold was set to 2. FBB and SABS algorithms found solutions in the order of milliseconds while B&B algorithm took around 2-6 min. Total cost of solutions obtained by all three algorithms and a lower bound for each problem are given in Table 2. Lower bounds are calculated by employing the same procedures used in BB algorithm, i.e., utilizing equations (1 1)-( 14). Now the set of sequenced jobs so far is empty and the set of unsequenced jobs consists of all jobs. Therefore, it is enough to utilize only equations (13) and (14). It can be seen from Table 2 that in almost all cases, except for problem 3, FBB performs better than SABS. In some cases, FBB algorithm found even the optimal solution such as in problems 4 and 8 in this experiment. In cases where FBB missed the optimal solution, the error was found to

Algorithmsfor real-timescheduling Table 1. Scaled line parameters

of the automobile

assembly plant

Processing Station number I

2 3 4 5 6 7 8 9 10 11 12

495

times (min)

Station length

Option 1

Option 2

4.00 1.00 3.00 1.00 4.00 1.10 2.50 3.00 1.60 1.20 4.50 1.00

0.00 0.05 0.00 0.00 0.55 0.45 0.05 0.75 0.00 0.05 0.00 0.00

3.70 0.90 2.75 0.95 3.60 1.05 2.00 2.80 1.40 1.15 4.00 0.90

Table 2. Comparisons

of algorithms

for 15-job problems

Total costs ($) Problem number

B&B

FBB

SABS

LB

1 2 3 4 5 6 7 8 9 10

310.0 501.3 320.0 215.0 290.0 408.7 292.5 130.0 453.8 466.2

345.0 527.5 360.0 215.0 305.0 431.2 318.7 130.0 478.7 513.7

345.0 601.2 330.0 225.0 356.3 465.0 338.7 162.5 506.2 560.0

310.0 473.7 285.0 215.0 232.5 356.5 267.5 130.0 441.2 466.2

be less than 12% with an average of about 6.4% and a standard deviation of 4.3%. This successful performance of FBB could be attributed to the size of the problems, since the ratio of filtered branches to the total unpruned ones becomes smaller as the number of layers (jobs) decreases. Another important observation was that lower bound in some cases was losei than optimum value by up to 20%. In the second experiment, the problem size was increased to 100 jobs and 20 different problem sets were prepared. Cost and line parameters were the same as before. To solve for optimal solutions for this size problems was not practical, and hence, lower bounds were used to measure deviations from optimality. Moreover, an upper bound was determined using the result of the best sequence chosen out of 100 randomly generated distinct sequences. It was expected that both heuristics would perform between these two bounds. Table 3 presents the results of the heuristic solutions and the lower and upper bounds for each’ problem. It appeared that FBB heuristic outperformed SABS in all problems. Although in some cases the difference was not large, on the average, FBB solutions were 24% better than that of SABS, and the average deviation of FBB from lower bound is around 30%. Other statistical results related to deviations of the heuristic solutions from the lower bounds are given in Table 4. As for the biasness of the procedures towards the cost types, we found that algorithms equally considered utility and setup costs while determining sequences, and the average deviation for each cost term was equally around the grand average. The poor performance of SABS heuristic is mainly due to the fact that it is basically designed for one bottleneck station. Extension for multiple stations simply ignores the interdependence between stations. To verify this claim, SABS algorithm was tested by sequencing jobs for a single station offering five different options with the following processing times: 0.33,0.67, 1.10, 2.30 and 2.90 min. Fifteen data sets were prepared and for each set 1000 jobs were generated by randomly assigning one of the options to each job. The length of the station was assumed 3 units with no setup required between different options. Table 5 presents the results of the solutions obtained by

496

AHMET BOLAT~~ al.

SABS heuristic and lower and upper bounds. We used bounds to evaluate the performance of the algorithm. On the average, deviations from lower bound with respect to the difference between two bounds were around 4.5% with a standard deviation of 2.6%. Maximum and minimum deviations were 11.5 and 0.1% respectively. In real life, daily production is usually around 1000 automobiles per assembly line. Therefore, FBB algorithm needs to be evaluated for also large size problems. For this reason we prepared 20 data sets, each with 1000 real job orders. The filter threshold was 2 as before and FBB algorithm took less than 10 s to find a solution for each set. Table 6 shows the comparisons of the heuristic

Table 3. Comparisons of heuristics for IOO-job problems Total costs (S) Problem number

LB

FBB

SABS

UB

1

1200.5

1612.2

2211.9

2871.7

: 4 5 6 7 8 9 10 II 12 13 14 15 16 17 18 19 20

1880.5 90.0 1980.0 3958.0 1123.7 2152.5 100.0 4355.0 1482.5 1990.0 199.0 317.9 328.2 221.0 1666.9 90.0 288.5 266.9 1132.9

2527.0 568.0 22742 4328.2 1835.0 2507.5 436.7 4464.5 1928.2 2433.2 548.0 974.2 967.0 828.0 2213.2 520.2 964.2 933.7 1491.5

2830.2 826.9 2664.2 4584.2 2406.7 2632.4 772.5 4590.2 2022.5 2513.9 1176.0 1275.2 1236.4 1225.7 2948.9 158.7 1325.4 1726.7 2326.2

3656.2 1520.4 32 IO.4 5166.7 3219.2 3072.2 1761.4 5332.2 2860.9 3392.7 1925.4 2081.2 2000.7 2289.7 3134.2 1784.7 2433.2 2154.4 2601.7

Table 4. Percentage of deviations of the heuristic solutions from the Lower Bound

Heuristic

Average

Standard deviation

Minimum

Maximum

30.15 53.80

7.14 15.25

11 24

39 87

FBB SABS

Table 6. Performance of FBB heuristic for lOtlO-job problems Total cost ($) Table 5. Performance

of SABS heuristic for single station problems

1 2

Total utihty work costs (S) Problem number 1 : 4 : 7 ! 10 11 12 13 14 1.5

Problem number

LB

SABS

UB

21.2 46.9 51.4 64.2 91.0 35.8 3.5 78.1 63.9 48.4 56.1 39.0 2.5 22.7 41.0

26.1 50.6 59.5 70.3 94.0 39.5 4.0 83.1 77.1 56.5 62.8 42.6 7.5 26.9 45.9

117.5 134.0 190.8 197.6 214.1 i62.7 94.5 325.4 178.6 193.3 223.7 164.5 78.4 90.6 156.8

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

LB

FBB

UB

148.0

518.5 433.2 432.3 459.1 655.5 459.0 401 .o 380.3 403.5 478.0 457.8 433.1 403.4 485.9 483.0 495.7 420.4 346.6 514.4 495.1

9209.0 9319.0 9239.8 9387.0 8555.0 8816.2 8382.0 8916.4 8808.7 9250.5 9472.5 9517.3 863 1.3 8685.1 8878.1 8987.0 9512.1 8067.4 9048.9 9136.7

172.8 131.3 200.0 502.8 171.1 123.0 119.0 144.5 325.3 233.2 172.7 146.3 132.0 169.4 157.8 107.7 140.4 189.8 196.5

Algorithms for real-time scheduling

497

results with the lower and upper bounds. Since there were 11 different options requiring setup, lower bound on the setup costs was $110. One interesting observation made was that for almost all problems considered, FBB algorithm found solutions with the lowest possible setup costs. Only in problems 10 and 14, the number of setups was one unit more than the lower bound. The reason behind this behavior of FBB is because the unit setup cost was 24 times higher than unit utility work cost, and hence, it was the dominant cost factor in choosing the preferred nodes to keep. Large increase in the total cost of the best selected solution out of 100 randomly generated solutions can be attributed to the fact that 100 solutions constitute very minor portion of all the possible solutions. Nevertheless, both bounds were used to evaluate the performance of the algorithm. On the average, deviations from lower bound with respect to the difference between two bounds were around 3.1% with a standard deviation of 0.1%. Maximum and minimum deviations were 4 and 2% respectively. It is rather important to study the relationship between the performance of the algorithms and the data structures. The assembly line considered in the above experiments was rather general, because its operation times and station lengths varied in a broad range. However, the loading factor which is the ratio of total load to total available time, was between 0.7 and 0.9. For this reason, we decided to randomly generate data sets with loading factors in the range of OS-l.2 for the same assembly line. Forty data sets, five for each level of load, were prepared, and solutions and bounds were obtained for each set as before. Figure 1 shows the relationship between the loading factor and the average total costs. It appears that FBB algorithm performs better if the loading factor is between 0.7 and 0.9 which coincides with the desired level in practice. By the construction of the data, total work load was less than total available time when the loading factor was between 0.5 and 1.O. For this reason, in this range, lower bound was simply the number of different options requiring setup times unit setup cost. For larger values of loading factor, slight increase was

t * *v *z

Upper Bound * l * * * FBB Al orithm ***+* Lower i: ound ---___

i I I

f

Fig. 1. Performance of FBB heuristic under various loading factor.

498

AHMETBOLATet al.

observed with respect to the increase in the work load. While lower bound showed insignificant variations around a sample mean, upper bounds presented an opposite behavior. However, this was expected because they are basically obtained from a sequence selected almost totally random from a huge pool of sequences. One final issue is the effect of the number of filtered branches at each stage. We studied the ~rforman~e of FBB algorithm under different thresholds. Experiments were carried out for cases up to 10 branches at each layer. It was found that the resulting improvements by using more than two branches at each layer was not significant enough to be considered. CONCLUSIONS

We have considered sequencing jobs for a paced assembly line with multiple stations which may create two different inefficiencies: setups whenever different options are sequenced consecutively, and utility work in case a group of jobs sequenced in a row requires more work load than station can handle. We have developed optimal as well as heuristic procedures to solve problems with any cost and data structures. Heuristics were tested against the optimal results for small size problems and against the lower bounds when optimal solution was not possible to obtain. We have found that algorithms explicitly considering the interdependency of stations always perform better than the ones which do not, regardless of the load of the line. Secondly, principle ideas of the optimal algorithm can be efficiently implemented to produce near optimal solutions, i.e., with an average 3% deviations for large size problems. Finally, experiments done on the randomly generated data support the findings related to the real data. The ideas and heuristics developed here can be applied to paced lines with small buffers between stations with some modifications. Tighter bounds could be obtained with further studies not only to evaluate algorithms more precisely, but also to improve filtering in the search. Also, pairwise jnter~hanging rules may be developed to improve the final solutions obtained by the heuristics. ~ck~w~edg~~nr_The authors would Eke to thank two anonymous referees for their valuable comments that improved this paper. Data used in this paper was obtained from a U.S. automobile manufacturer, who supported a research work done by one of the authors at the University of Michigan.

REFERENCES 1. L. Wester and M. Kilbridge, The assembly line model-mix sequencing problem. Proc. of the 3rd Int. Conf on OR, Dunod, Paris, pp, 247-260 (1963). 2. C. A. Yano and A. Bolat, Survey, development, and application of algorithms for sequencing paced assembly lines. J. Mfg. Oper. Mgmt 2, 172-198 (1989). 3. K. Okamura and H. Yamashina, A heuristic algorithm for the assembly line model-mix sequencing problem to minimize the risk of stopping the conveyor. Int. J. Prod. Res. 17, 233-237 (1979). 4. C. G. Bird, Sequencing vehicles for assembly under precedence constraints. Paper presented at ORSA Conference, Los Angeles, CA (15 April 1986). 5. B. Parrello, W. C. Kabat and L. Wos, Job-shop scheduling using automated reasoning: a case study of the car-sequencing problem. J. Atom. Reasoning 2, l-42 (1988). 6. N. T. Thompoulos, Line balancing-sequencing for mixed-model assembly. Mgmt Sci. 14, 59-75 (1967). 7. A. Bolat and C. A. Yano, Scheduling algorithms to minimize utility work at a single station on a paced assembly line. Prod. Plann. Control 3, 393405 (1992). 8. L. D. Burns and C. F. Daganzo, Assembly line job sequencing principles. Research Publication GMR-5127,

General Motors Res. Lab., Warren, MI (1985). 9. A. Bolat, Procedures to anaiyze tradeoffs for automobile assembly lines. Proc. of the 5th Co& on Machine Design and Production, Turkey (1992).