Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
Scheduling and Lot S treaming
in Two Machine No-Wait Openshops
Esaignani Selvaraj ah
A Thesis Submitted in Conformity with the Requirements for the Degree of Master of Applied Science
Graduate Department of Mechanical and Industrial Engineering University of Toronto
@ Copyright by Esaignani Selvarajah (1999)
National Library 1*1 of Canada Bibliothèque nationale du Canada
Acquisitions and Acquisitions et Bibliographie Services se wices bibliographiques 395 Wellington Street 395, rue Wellington OîtawaON K1AûN4 ûttawaON K I A W Canada Canada
The author has granted a non- L'auteur a accordé une Licence non exclusive licence aüowing the exclusive permettant à la National Library of Canada to Bibliothèque nationale du Canada de reproduce, loan, distribute or sel1 reproduire, prêter, distribuer ou copies of this thesis in microfom, vendre des copies de cette thése sous paper or electronic formats. la forme de microfiche/film, de
reproduction sur papier ou sur format électronique.
The author retahs ownership of the L'auteur conserve la propriété du copyright in this thesis. Neither the droit d'auteur qui protège cette thèse. thesis nor substantial extracts fiom it Ni la thèse ni des extraits substantiels may be printed or otherwise de celle-ci ne doivent être imprimés reproduced without the author's ou autrement reproduits sans son permission. autorisation.
Dedicated to my beloved parents
Abstract
Lot streaming is the process of splitting a production lot into a number of sublots,
in order to allow overlapping of successive operations, in multi-machine manufacturing
systems. The well documented benefits of lot streaming include reductions in lead times
and work-in-process, and increasea in machine utilization rates. We study the problem of
minimizing the makespm in two machine no-wait openshops producing multiple products
. We assume that there is a fixed maximum number of sublots for each product, and that
lot streaming is possible. This intractable problem requires finding sublot &es, a product
sequence for each machine and a machine sequence for each product. We prove t hat optimal
solutions can always be obtained for single product continuous case in polynomiai tirne. A
heuristic aîgorithm, Global is developed for the multi-product integer-sized sublot problem.
For the multi-product case, we simultaneously find the optimal number of sublots from
a given upper bound on the number of sublots, sublots sizes and the product sequence.
This problem is shown to be equivalent to a Traveling Salesman Problem (TSP) with
a pseudepolynomial number of cities, for which computationally efficient heuristics are
tested. Finally we provide some possible extensions of our mode1 and the results of the
computational experiments on randomly generated problem instances.
Key Words and Phrases: machine scheduling, newait openshops, lot streaming, trav-
eling salesman problem.
Acknowledgment s
First and foremost, I express my sincere gratitude to Professor Chelliah Sriskandarajah,
who helped me profusely at various stages of this thesis work. His guidance an profound in-
volvement in rny research needs apprecWation. His support in arranging financial assistance
for me warrants special mention.
1 gratefully acknowledge the guidance and suggestions provided by Prof. Nicholas G.
Hall of Ohio State University. I would like to thank Professor A.K.S Jardine and Professor
V.Makis for their valuable comments and suggestions which irnproved the content and the
presentation of my theais. 1 am also thankful to Prof. Tapan Bagchi of Indian Institute
of Technology Kanpur, Prof. Rogers, Prof. Carter, Prof. M J M Posner and whole MIE
family who helped me at various stages.
This research was supported in part by Natural Sciences and Engineering Research
Council of Canada (Grant no. OGP0104900). 1 appreciate NSERC for its fund support to
pursue my thesis work. 1 wish to thank Professor Gilbert Laporte (University of Montreal)
for supplying a copy of the GENIUS program.
The administrative assistance provided by Prof. Beno Benhabib as Graduate Coor-
dinator, Nonna Dotto, Louisa and Brenda as Departmental staff and Oscar del Rio as
corn puter sys tems Adminis trator is deeply remernbered.
1 greatly acknowledge my friends Mr. Ganesharajah, Mr. Kohulan, Mr.Subodha Ku-
mar, Mr. Thampu Joseph, Mr. Devinder and Mr.Bimal for their induable help and
support, who made my stay at UofT an enjoyable period. My special thanks are for Mr.
Subodha Kumar for his timely assistance. Mr. and Mrs. Raman Patel deserve thanks for
the moral support they provided.
Laat but not the least 1 would like to express my deep gratitude to my parents, my
brothers, my sisters and my in-laws, who are always a source of motivation and inspiration
to me.
Contents
1 Introduction
2 Literature Review
3 Notations and Assumptions
4 Lot Streaming: Single product and continuous shed sublots 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1 Introduction 18
. . . . . . . . . . . . . . . . . . . . 4.2 Scheduling and Algorithm Development 19
. . . . . . . . . . . . . . . . . . . . . . . . 4.3 DifFerent Structures of Schedule 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Conclusion 39
5 Multiple Products 40
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1 Introduction 40
. . . . . . . . . . . . . . . . . . . . 5.2 Scheduling and Algorithm Development 41
. . . . . . . . . . . . . . 5.2.1 Scheduling of Products wit h Given Profiles 41
. . . . . . . . . . . . . 5.2.2 Simultaneous Lot Streaming and Scheduling 42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Conclusion 50
6 Computational Teilting 52
7 Some Related Results and Discussion 54
. . . . . . . . . . . . . . . . . . . . . . 7.1 Single Product Integer-sized Sublots 54
. . . . . . . . . . . . . . . . . . . . . 7.2 Problems with Attached Setup Times 54
. . . . . . . . . . . . . . . . . . . . . . . 7.3 Sublots with Restricted Capacity 55
. . . . . . . . . . . . . . . . . . . . . 7.4 Problems with Sublot Transfer Time 55
iii
7.5 Two Machine NeWait Flowshop . . . . . . . . . . . . . . . . . . . . . . . 55
8 Conclusion8 59
List of Figures
. . . . . . . . . A basic flowshop mode1 with 4 machines processing one lot 7
. . . . . . . A basic flowshop mode1 with 4 machines processing two sublots 7
. . . . Network representation of a single job m machine flow shop problem 10
Time lag mode1 for a given job on two machine problem . . . . . . . . . . 12
A busy schedule for Case 1 . a = b. n = 2k. Cm, = s + Wu . . . . . . . . . . 20
A busyschedulefor Case 2.1. a > b. s Lt .n=2k.CmaS = s + Wa . . . . . . 21
A typical schedule of sublots X2.- and XZr . . . . . . . . . . . . . . . . . . 23 A busy schedule for Case 2.2.1. a > b. s < t . Wa + s > Wb + t . n =
2k.C,,,., = s + Wu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
The busy schedule for Case 2.2.2. a > b. s < t . Wu + s = Wb + t . Cm., =
Wu+$ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 A busy schedule for Case 2.2.3. a > 6. s < t . Wa + s < Wb + t . n =
2k. Cm., = s + Wu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
. . . . . . . . . . . . . . . . . . . . . . . . . . . . Alternating Pair Structure 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Flowshop Structure 38
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Hybrid Structure 39
Profiles of Openshop Newait Lot Streaming Problems . . . . . . . . . . . . 41
. . . . . . . . . . . . . . . . Example Schedule of N Products in Sequence o 43
. . . . . . . . . . . . . . . . . Example With Two Countries and Five Cities 44
. . . . . . . . . . . . . . . . . . . . . . . . . . . . Schedule from Solution 1 47
Scheduie €rom Solution 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . Schedule from Solution 3 48
Schedule from Solution 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.8 Schedule from Solution 5 49
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.9 Scheduie from Solution 6 49
. . . . . . . . . . . . . . . . . . . . . . . 5.10 Optimal Schedule from Solution 7 49
. . . . . . . . . . . . . . . . . 7.1 Forward flowshop structure with transfer time 55
. . . . . . . . . . . . . . . . 7.2 Backward flowshop structure with transfer time 56
7.3 Alternating pair structure with transfer time . . . . . . . . . . . . . . . . . 56
Chapter 1
Introduction
Scheduling, a decision making process, involves allocation of limited resources such as
equipment, labor and space to jobs, activities, tasks, or custorners through time. In a
manufacturing environment it includes worker and machine assignment, job sequencing,
and the coordination of material handling and maintenance support. Effectiveness of a
scheduling process is measured by performance measures on the production system. There
have been many measures used depending on the organization's objective. One of these
performance measures is makespan which is the total time required to process al1 the jobs
on ali machines.
The scheduling problem differs considerably based on the type of operation such as con-
tinuous production, m a s production and project works. Further, it depends on machine
environment and technological constraints. These different scheduling problems naturally
lead to different models.
The basic machine environments of a shop are flowahop, openshop and jobshop. Flow-
shop is a special case, where all the jobs follow the same processing order, where as in
jobshop there is no limitations on processing order and a machine can process more than
one tasks for a job. Openshop is a special case of jobshop where a machine can process
only one tmk for a job.
Some of the technological constraints in manufacturing systems are precedent require-
ments, blocking production and newai t production. Precedent requirements are p hysical
restrictions in the order in which operations are performed. In blocking production system
no b d e r exists between machines. Therefore, jobs have to wait on the machine till the
succeeding machine is free. Nwwait production is basicdy a blocking production system
except a job cannot wait on any machine in nwwait production system.
In m a s production case, items are produced in lots usually called economic lot. Lot
streaming problems consider splitting of these lots (jobs) into smaller sublots so that
machines idle time and the completion time of the lot is minimized. As in many cases,
there are different versions of lot streaming problems that exist according to the sublots'
nature. In discrete version sublots can have only integer number of items, whereas in
real version a sublot can have fraction of items. Further more, if the sublot sizes vary
between machines, it is called the variable version, and if the sublot sizes are maintained
across the machines, it is called the consistent sublots. There is one more possible version
regarding the lot process. When sublots of a given lot are processed continuously, it is
called continuous processing.
In addition to the advantage of minimum machine idle time and minimum average
inventory, lot streaming makes many organizations cope with the modern manufacturing
technique of JIT, wbere each sublot can be t reated as a kanban card. Furt her , lot streaming
can be accommodated in traditional production planning and control models without any
difficulties. These inherent merits of lot streaming have attracted many recent researchers.
This thesis studies a production environment with two machines, where products are
produced in lots and a lot must be processed from start to finish without any interruption
on or between machines. Further, each product requires two operations which can be done
in any order. Thus, this system can be referred to as a two machine n-wait openshop
maas productions system. We try to apply lot steaming technique on this production
system so that the makespan can be minimized. For the single product case, we try to
use 41 the number of sublots available, if possible. In the multi-product case, for each
product with its lot size, we find the optimal sublot sizes, the number of sublots from a
given upper bound on the nurnber of sublots and the job sequence that would minimize
the makespan. The newait constraint restricts the sublots to be consistent amoss the
machines. This problem is motivated from a real world problem encountered in integrated
chip manuficturing process in semi-conductor industries, where the chips under go a final
testing at high temperature in lots loaded on boards by automated testing equipments.
The boards are specific for most of the cases. There are different testings have to be done.
The order of testing is not specific. Further, the tirne required to test a lot depends on the
number of chips and the type of chips on it . The temperature requirement, the nonspecific
order of testing and the board specification for the chips demonstrate this problem as a
newait openshop lot streaming problem.
The problem of minimizing makespan in a two machine newait openshop is known
to be unary NP-hard (Sahni and Cho 1979). This result also applies to our problem if
only one sublot is allowed for each product. Therefore, lot streaming in openshop newait
problems with one sublot is unary hard. Thus, it is unlikely that our problem can be
solved by an optimal efficient algorithm.
This thesis is orgaaized as follows. We give a brief survey of literature on lot streaming
in Chapter 2. The notations and assurnptions of our mode1 appear in Chapter 3. Chapter
4 studies, the single product continuous case with given maximum number of sublots.
The analysis on continuous-sized sublots may give some insights for integer-sized sublots.
Further, the analysis can be appiied to integer problems when the number of items in a
lot is so large and the number of sublots are few. This chapter contains scheduiing and
algori t hm developrnents, and defini tions of several possible su blot structures for scheduling
a single product. These definitions are also useful in considering multiple products. We
consider the single product continuous case into different cases and provide algorithrns
which give optimal solutions for each case. We show that equal-sized sublots will not
always be optimal, but the equd-sized pain will be optimal in most of the cases. Even
though it is the maximum number of sublots, we assign maximum number of sublots, if
possible. Integer case is difficult to solve. However the dynarnic programming algorit hm,
which is provided for the multiple product integer case in Chapter 5, can also be utilized
with some modifications to solve the single product problem requiring integer sublot sizes.
Chapter 5 shows that the multiple product problem can be formulated as a large
traveling salesman problem (TSP) for which the number of sublots for each product is a
decision variable. The optimal schedule for individual products may not be optimal for
the multiple product case. Therefore for each product, we consider di possible scheddes
using dynamic progratnmjng algorithm. Then each product is consideted as a country and
the profiles of a product are considered as cit ies of the country. Now it can be treated as
a speciai case of traveling salesman problem where salesman has to visit only one city in
a country. We develop a cost matrix to restrict the travel only to one city in a country.
In Chapter 6 we provide detailed computational tests of our algorithm's ability to
solve the scheduling and lot streaming problem and in Chapter 7, we discuss some possible
extensions that can be derived fmm our algorithm Global. Chapter 8 contains a conclusion
and some suggestions for future reaearch. The "Cn coded dynamic programming algorithm,
a simple output of the dynamic programming and the TSP algorithm, and the schedule
of the output are given in the Appendix.
Chapter 2
Literature Review
In monufacturing orgznizations, job (product, lot) scheduling is one of the most important
tasks. Two major faetors to be considered in scheduling are demand for the product and
the resources (machines) availability. Usually schedulers assume, no machine can process
more than one job at a tirne. Each job requires different machines to procesa in different
or in the same order depending on the shop environment. Hence the scheduling problem
is to schedule jobs auch that each machine works on at most one job at a tirne.
Two major objectives of any manufacturing organizations are customer satisfaction
and profit rnauimization. They both are generally interrelated, Le., increase in customer
satisfaction results increase in turnover. The high turnover leads to lower unit cost due
to economies of scale, and gives high profit margin. Thus, the lower unit cost and high
sales volume booms the profit. On realizing this fact most of the organizations try to
satisfy customer requirements as much as possible to survive in the cornpetitive market
environment. High qudity products at lower prices, and delivery within due dates are the
critical requirements to be satisfied. Therefore, in order to rneet customer requirements,
products must be available when they axe required.
However, prducing a product as and when required will not be desitable if some
machines are commonly used by many jobs each of which ha9 a high volume of demand, and
the setup time for eacla product on machines are hi&. Then reseuchers proposed economic
lot size for eaeh product so that the total production and inventory cost is rninimized. In
traditional lot production, a lot is indivisible and once an operation is started on a lot,
the fidl lot is completed before it is tramformeci to its succesaor operation.
Even though the economic lot size yield minimum total production and inventory cort,
it has ita own demerite. The economic lot production needs relatively longer time to finish
the lot. Thezefore, prduct lead times are high which in turn requires high safety stock.
As o result average inventory is increased. If the lot size is s m d , the lead time will be
reduced, but the setup cmt will be increased.
In a multi-machine production environment, if an economic lot which consists of a
number of identical items (units), can be split into smdler sublots and each sublot is
transferred to its successor operation immediately upon complet ion, the lead time will be
reduced while maintainhg the minimum setup cost. This technique of splitting a lot into
smaller sublots to allow overlapping of operations so that the completion time of a job is
minimized is called lot streaming. Even if the overall criterion is something other than
the makespan, malespan minimization of individual jobs improves performance. We see,
how lot streaming minimizes the mdtespan, through an example on single job flowshop
model. If a job consists of 100 items and there are four machines wit h unit processing time
requirements of 8,3,6 and 4 time units, the job completion time will be 2100 time units if
no lot streaming is dlowed (Figure 2.1). However, if the job is split into two equal sublots,
the cornpletion time will be 1450 time units which is shown in Figure 2.2. It is a 30%
reduction in the time requirements. If the number of sublots are increaseâ, the percentage
reduction will be increased. However, the improvement is diminishing with the number of
sublots. Baker and Jia (1993) test the makespan irnprovement as a function of the number
of sublots for different versions of the lot streaming problem for three machine problems.
Lot streaming makes many organizations cope with the modern manufacturing tech-
nique JIT where each sublot can be treated as a kanban card. Further, lot streaming
can be accommodated in tradi tional production planning and control models wi t hout any
difficulty. For example, in the MRP system, order releaae date of sublots can be estimated
as usual. The inherent dvantages of lot streaming has attracted many recent researchers.
Unlike preemption of job, lot streaming deals with a particular job. There have b e n many
solution methods pro@ by difTerent researchers with their own asswnptioas. Before a
100 units I
800 1100 1700
Figure 2.1: A basic flowshop model with 4 machina processing one lot.
M2
M3
M4
50 units 50 units
100 units
1 1 I
400 550 850 1050 1250 1450
Figure 2.2: A basic flowshop model with 4 machines processing two sublots.
100 units a
I I
I I
5û units units
100 mite
. . . . . . . . O . O O O . . . . . . . . . . . . O . O
I 1
50 units I I I I 1
50 units . . . O . ....
. O O . . . . .... o . .
50 units I I I I I l l I
50 units . Y . . . . . . O
discussing the solution techniques of different researchers, we give different versions of lot
streaming problems.
In m a t of the practicd cases, sublots are assigned for integer number of items which
is calleci the discrete version of the lot streiuning problem. in the continuous version,
sublots are assigned for na1 number of items. Generdly, problems of diwete version cm
be formulated as an Integer Linear Piogram(1LP). However, solving ILP is difficult with
large n m & r of variables. Therefore, reseders solve for the continuous version and
round off the solutions uring heuristics to solve for the discrete version. When the lot size
is very large with small number of sublots, rounding the solution obtained in continuous
version will be a reaponable solution. In addition, the optimal makespan in continuous
version aerves as a lower bound on the optima makespan in the discrete version, and the
rnakespan found by rounding the continuous solutions serves as an upper bound. Thue,
the analysis on continuous version gives some insights on discrete version.
In generai, sublot sizes vary between machines and which is cailed variable sublots.
However, there are many technological constraints that may aftect the formation and
movement of sublots. For example, in a newait production system, any item in a sublot
canaot wait on a machine or for a machine. Hence the sublots are restricted to maintain the
same items across the machines which is called the consistent sublots. Further, consistent
sublots are easy for analysis.
In most of the cases, sublots of a given job are processed continuously and it is called
continuous processing. In this case, only one setup for each batch is required. When the
setup is separable from the job, it is called detacheci setup. Detached setup can be done
once the machine becornes available. However, if the setup is not separable from the job,
Le., attached setup, setup can be done only when the job is available. There have been
many lot streaming problems discussed in the li terature wit h different combinat ions of the
above versions.
The goal of the basic lot streaming problem is to find the optimal size of each of a prede
terminecl number of sublots that wiil minimize the objective funetion. The lot streamiq
problems, however, are difficult to hmdle mathematically because of the existence of a
large number of tramfer lots and the complicated interaction among lots, tranefer lots and
machines. Lot streaming wiil not improve the makespan or my other r@ar performance
measures when thue i i only a single machine production proass. Therefore, the simplat
lot streaming problem uises with two machine production processes uid m a t of the rc
searchers study two machine cases to get the insight of lot streaming and extend the resulta
obtained, if possible, to more than two machine cases. It is not always possible to reduce
the makaspan by lot streaming even for more than one machine. Sen and Benli (1998)
study two machine multiple job openshop problem and prove there will be improvement
on makeepan due to lot streaming oniy if the total processing time of any job on machine
1 and machine 2 is greater than the total processing time of al1 the jobs either on machine
1 or on machine 2.
Lot streaming approach reduces the average inventory in the system. Hence, the t r t
ditional Economic Production quantity (EPQ) will not yield minimum cost. Most of the
works on lot streaming assume a given lot size (EPQ) and fixed number of sublots. Szen-
drovits (1975) develops a model to estimate EPQ and the cycle time, which is the time
required to manufacture the complete lot, for a single job continuous processing with equal
sublot sizes in a flowshop production system. If the assumption of equal sublot sizes is
removed then the makespan may be reduced. Goyal (1976) Studies this model and find
the optimal sublot sizes.
Often in practice, the sublot size is kept the same across al1 the machines to preserve
the integrity of sublots throughout the process. Consistent sublots do not always yield the
minimum makespan except in some special cases. Potts and Baker (1989) prove consistent
sublots of single job in two machine Bowshop and three machine flowshop always yield
the minimum malespan. They prove that for the two machine Bowshop problems dl the
sublots of optimal sizes are geornetric, i.e., Xj+< = pXj, where Xi is the size of the ith
sublot and p is the ratio between time of processing a unit on machine 2 and machine 1.
Generdy the number of sublots are determined by the technologieal constraints such
as the number of pallets available. Thus most of the problems are studied on fixeù number
of sublots. Lot streaming problems are further restticted by transporter capacity. There
Figure 2.3: Network representation of a single job m machine flow shop probkm
are few papers which analyze the lot streaming problem with iimited transporter capacity.
Trietsch and Baker (1993) obtain an expression for optimal sublot sizes for the two machine
flowshop problem of continuous veniion with limited transporter capacity and provide an
algorithm for the discrete version.
Different mathematical tools and/or existing scheduling theories are used by different
researchers. Linear pmgramming mode1 and network mode1 are widely used mathematical
tools. Lot streaming problems in flowshops can be explained by a network. For example
a single job flowshop lot streaming problem can be represented by a network shown in
Figure 2.3, which contains a vertex (i, j) with weight piXi, for each sublot X j on every
machine Mi, where pi is the unit processing time on machine Mi. The directed arc from
vertex (i, j) to vertex (i + 1, j) restricts processing of sublot j on machine Mi+l only after
completion on Mi. The directed arc from vertex ( i , j) to vertex (i, j + 1) restricts to s t u t
sublot (j + 1) on machine Mi only after the completion of sublot j on it. Makespan is
given by the length of the longest path (critical path) in the network, where the length of
any path is the sum of the weights of the vertices on it. Any sublot corresponding to a
vertex on the critical path is called the critical sublot.
In a flowahop all jobs follow the same machine sequence, and each job has exactly
one operation on eoch machine. An openshop is similar to a flowshop, except that the
operations of a job may be petformecl in any order. Therefore in openshop problems,
we have to find the machine sequence in addition to the job sequence. A brief survey of
openshop scheduling problems can be found in Kubiak et al. (1991), Graham et al. (1979)
and Lawler et al. (1993). Useful general references on machine scheduling problems include
the books by Baker (1974) and Pinedo (1995).
Glsss, Gupta and Potts (1994) use network representation to solve single product lot
streaming problems in three machine flowshop and openshop problems and two machine
jobshop problems. They daim that their schedule possesses the newait and/or blocking
property tw. Initidy, three machine flowshop problem is solved and the result is useà
to get expressions for two machine jobshop problems. In two machine jobshop problem
with three operations, firat and third operations of a job are done on the same machine.
Therefore, an addi t ional const raint is insested t O prevent simult aneous first and t hird
operations of the same sublot. In the openshop case, routing of items through machines
must be specified in ddition to the sublot sizes. They prove that equal sublots of size
1 m for the first m aublots (when the number of sublots s is not less than the number of
machines m) and assigna zero items to the remaining sublots and the routing of sublot i
as ( i , ..., m, 1, ..., i - 1) will give optimal solution. Hence when the number of sublots is not
less than three, their model can be used to solve ( t w e and) three machine lot streaming
problem. They further, explain that the lot streaming of equal-sized two sublots, m
machine problem can be treated as m sublots and two machine problern which can be
solved by the algorithm of Gonzalez and Sahni (1976) to get optima sequencing. Thus,
their models solve three machine lot streaming problems.
Potts and Baker (1989) prove that for the two machine flowshop problems all the
sublots of optimal solution are criticd in the network model. Chen and Steiner (1998,
1995 and 1996) use network modela to solve lot streaming problems with discrete version
of the single job in two machine flowshops, three machine flowsho$s with detached setup
and three machine flowshops with attached setup respectively.
Baker (1993) utilizeil the existing theory for time l g and aetup times to analyze lot
streaming of equal sublots in two machine flowshop with setup times. In a two machine
Figure 2.4: Time lag model for a given job on two machine problem
problem with time lag, the processing of a job ( j ) can begin at machine 2 while the
later portion is king carried out on machine i as shown in Figure 2.4. di is deôned as
the transfer hg. Rom Figure 2.4, we found that there is an overlapping of operations.
Therefore, it c m be treated for lot streaming problems. Initially, for a two machine
flowshop problem, the aut hor finds the relationship between the Johnson alprithm (1954)
and the time lag model. Then he uses the result of this problem for the lot streaming
problems. He further discusses the extensions to more than two machines using the non-
bottleneck property used by Johnson for three machine flowsbop problem.
Usually, we assume there is no time to transfer a sublot from one machine to the
other. However, if the transfer times are large, then ignoring the transfer time will leid to
some emneous decision. Vickson (1995) provides a Linear Programming (LP) formulation
for the lot streaming problem of multiple products in a two machine flowshop with setup
t imes and sublot transfer time. He provides mathematical models for optimal lot streaming
and sequencing problems for continuous version with attached setup timeldetached setup
times andior lot transfer tirnes when regular performance meaaures are used, where regular
measure is a performance measure which is non-decreasing in the completion tirne. Finally,
the author preaents an algorithm for the integer version and illustrate it with an example.
Stephane and L~sliem (1997) provide a mathematical model to solve lot streamjng
problem with consistent sublots in general jobshop environment for a given number of
sublots. They daim this formulation can solve only s m d instances. Therefore, a t w c ~
level iterative proadun is proposed in order to determine the limits of a global a p p t d
precisely. The uppet level solves for finding the sublot sima for a given sequencing using
a Linear Programming (LP) model, and the lower level solvai for sequencing the sublots
with si= found in upper level with another LP model. Then an iterative procedure ici
used for mlving the above model starting with an initial sublot sizes. Since the iterative
procedure gives reai values for sublot Mzes, the authors presemt a rounding procedure to
get iinteger-sized sublotr. In rounding, they round the sublot si= to the cloeest integet for
al1 sublots except the lsst one. Then the last sublot size is found by deducting the total
size of d the sublots from the number of items available. They give a mixed integer LP
model to solve lot streaming problem when setup costs are involved. A heuristic is used to
solve the lot streaming (integer-sized sublots) and scheduling problems. In the heuristic,
the setup time L included in the processing time of each sublot, thereby the makespan is
overestimated. Using some experimental results on two sets of problems with and without
setup times, the authors conclude that small number of sublots is sufficient for jobshop
problems without setup.
In batch manuf'turing systerns, makespan is the cycle time. There are few researchers
who study the lot streaming problem to minimize some performance measures other than
makespan. Steiner and Tniscott(l993) consider the discrete version of lot streaming prob
lem of multi-machine batch processing system with equal-sized sublots and continuous
processing (one setup for each batch) with the objective of minimizing cycle time, flow
time ( the average length of the time periods during which units are in the system) and/or
the total processing cmt ( sum of work-in-process inventory carrying cost and the sublot
transportation cost). They obtain lower bounds for the objective d u e . If there is no
technobgical constraint , they argue, that unit size sublots will give optimal solution.
We study lot streaming and scheduling problem in openshop environment. In out
openshop model, ptocesaing of sublots is no-wait in the sense that the processing of a
sublot on a machine is commenceà as mon as the processing of the subIot on the preading
machine is finished. This may lead to machine idle times between successive sublots. In
a na-wait shop, esch sublot must be processed continuously fmm its start in the first
machine, to its completion in the last machine, without any intemption on machines and
without any waiting in between the machines. Therefore, n-wait lot streaming problems
require consistent sublota.
The characteristics of the procaising technology, or the absence of storage capacity
between operations of a job may couse! no-wait production environments. The scheduling
problems in newait shop arise in the chemicai processing ~ n d petrochemical production
environment. Anot her example of newai t situation arises in hot met al rolling industria,
where the metah have to be processed continuously at high temperatwe.
A considerable amount of interest has arisen in newait scheduling problems in the
recent years. Refer to the survey papers on no-wait scheduling by Hall and Sriskandarajah
(1995) and Goyai and Sriskandarajah (1988). This interest appears to be motivated by
applications as well as by questiona of research interest.
Let us consider the scheduling problems without lot strearning. Note that rninimizing
makespan in two machine newait openshop shown to be NP-Hard (Sahni and Cho 1979).
Thus, it is unlikely that the problem can be d v e d by optimal efficient algorithm (Garey
and Johnson 1978). More closely related to this paper are studies of scheduling problems
in newait flowshops. Gilmore and Gomory (1964) provide an efficient algorithm for the
two machine newait flowshop. Rock(1984) shows that the similar problem with three
machines is intractable.
Hsu and Stein, (1991) study a real world newait problem in chemicd manufacturing
system called 'onodizing line" which is made up of a series of chemical processing tanks.
The line produces many types of products for the commercial and automotive industries
auch as pipes, trim and truck grilles. The objective here is to produce the daily production
requirements of various products in the shortest possible time. In front of the line is a
racking iuea, where items of a product are loaded onto racks prior to chemical processing.
Since the shapes of prducts are different, each product ha9 its own racks. The number
of racks available for a product is limiteci. The products need to be processexi as newait
for two reasom : (i) there is no bufiat between tanks (ii) once a rack exits a tank it must
immediately enter the next one or the products will be ruined due to deterioration of the
items while expoaed to the atmosphete. Since it is a chemical process, the processing time
of a ta& (or a sublot) in a tank depends on the total surface area. Hence the procesahg
tirne in proportional to the number of items in a rack. There is a setup time to change
the chernical compoaitions of tanks when changing from the processing of one product to
another product .
Sriskandarajah and Wagneur (1999) study lot streaming in two machine newait flow-
shops with multiple products. An LP mode1 is formulated io find the optimal sublot sizes
for the single product esse. They use Gilmore and Gomory algorithm to get optima se-
quencing of multiple products with given sublot sizes and prove tbat the optimal sublot
size of a single product will be optimal for the simultaneous problem of lot streaming
and seguencing of multiple products. They provide heuristics for integer version of sin-
gle product and multiple product cases, and carryout computational experiments for the
performance evaluation of their heuristic algorithms. Findy, a tabu search technique is
given for the simultaneous problem of finding the number of sublots, integer sublot size
and sequencing of multiple products.
No atudies on lot streaming in newait openshop is found in the literature. This is the
topic for my thesis project which will be described in the next chapters.
Chapter 3
Notations and Assumptions
Data
Mi, M2: the two machines in the openshop.
Pj, j = 1 , . . . , N: the products to be produced.
aij bj > 0: the processing times of unit product Pj on machines Mi and Ma, respectively . nj: the maximum ailowable number of sublots for product Pj.
Wj: the number of units demanded for product Pj.
sj: the setup time of p t~duct Pj on Mi.
t j : the setup time of product Pj on Ma.
Variables
Xij: the totd number O€ unita of product Pj in ~ublot i , where Xij 2 1 and integer.
pj: the optimal number of sublots for product î'j (a decision variable 2 5 pj 5 nj).
A~sumptionr
1. Al1 producta are ;rMilable at time zero.
2. Each product has a specified maximum number of sublots.
3. The processing of sublots is newait.
4. A product's sublots are consistent.
5. Setup times are independent O€ the product sequence, and setup times are attached (in
attached setup times, setup can be done only when the product is available).
6. Setup times and processing times on machines are detenninistic. There is no breakdown
of machines.
7. There is no limitation on the p d e t capacity, i.e., tbere is no limitation on the Xkj
value8.
Asaumption 2 apeeifies thzt the maximum number of sublots for each product is fixed.
This aasumption is vllid for a production environment in which the number of palleta
is limiteci, and each product is allocated a specified number of pallets to transport the
sublot S.
Assumption 4 is a necessary condition in no-wait scheduling since in no-wait scheduling
items are not allowed to wait on machines or in between machines.
Chapter 4
Lot Streaming: Single product and continuous sized sublots
4.1 Introduction
The analysis on continuous-sized sublot may give some insights for integer-sized sublots.
Hence we analyze lot streaming of continuous-sized sublots and develop heuristics for
integet-eized lot s t reaming. Fur t ber, the anal ysis of cont inuous-sized sublot can be applied
to real problem, when the number of items in a product lot is so large (and the number of
sublots are few) that the product lot c m be treated as infinitely divisible or rounding off of
the continuous size will not affect the objective value considerably. Note that each product
has a specified maximum number of sublots according to assumption 2. This means that
the maximum number of sublots is fixed for each product. This assumption is d i d for
the production environment in which the nurnber of pallets is limited and each product
is provided a specified number of pallets to carry the sublots. It is convenient to handle
small lots in production environments. Thus, items need to be distributed in the &en
number of sublots. In order to distribute the items evenly, it is desirable to have positive
number of items in each sublot and maintain equal sublots whenever possible. We consider
the production case where setup times are attached with the processing and setup is done
once at the start of pmessing.
For convenience, we c d the first two sublots the first pair, the next two the second pair,
and so on. We can use any even number of sublots for the optimal solution. However in out
derivation, we use dl the sublots if the maximum number of sublots is even. Otherwiae,
we use one less number of sublota. As can be seen later that it is convenient to deal
with the problem with even n. In the openshop problems, we c m have multiple optimal
solutions. As can ba aeen later that the equal-sized sublots will not always be optimal, but
in mort cases, equai-sized pairs of sublots will give optimai solutions. ln'equ&sized pain
of sublots, eaeh pair of sublots are assigneci the sune number of items (5). We mdyze
the problern into t h main casai. Case 1 analyses the problems where a = 6. Case 2
analyses the problems where o > 6, and Case 3 analyses the problems where a < b.
4.2 Scheduling and Algorithm Development
In our discussion, we shall denote by aXi (bX;) both the time for sublot i on machine
Mi (machine M2) and the name of the operations itself. The use will be clear from the
content.
Definition : a 6 w y schedule is an optima schedule for an even number n = 2k of sublots,
and hss the following properties :
pi: Cma, = max{Li, La), where Li = s + a C:=, X; = s + a W , and 4 = t + b& Xi =
t + bW. f i : There are k time points T I , . . . , ~k such that for 1 5 i 5 k, operations and bX2i
end at time Ti.
pl is clearly a suflicient condition for optimality. It is easy to see that it is also necessary
for optimality, because for the optimal makespan, either machine 1 or machine 2 must not
have any idle time. The schedule structure satisfying the property p2 is called p2 structure
(or alternating pair schedule). There aie two ways to schedule sublots, single routing and
multiple routing. In single routing all sublots of a given job follow the same machine
sequence. Thus, it represents a flowshop structure. Then the optimal sublot sizes are
geometric as given by Potts and Baker (1989) and we cannot get equd-sized or equal-si4
pair sublots in any case unleas a = 6. In multiple routing sublots of a job can follow any
machine aequence. f i stmcture lies in multiple routing. Because of this multiple routing
Ml 01 . ml Ma m . - 1
Tl T1 ri,
Figure 4.1: A buey schedule for Case 1. a = b, n = 2k, Cm, = s + Wu.
it has the flexibility to get equal aublots &es or equd pair si= in many cases. Reader
c m see this flexibiüty of the f i structure through out this thesir. Therefore we introduce
the a, structure which tries to satisfy our quality requinment of equd-sized sublots as
much ae possible. We present algorithms to find the optimal sublot sizes for even number
of sublots.
Theorem 1 For a single product and an even number of sublots, there ezists an optimal
schedule that satisfies both properties pl and pl .
Proof: The relative d u e s of a, b, s and t define severai cases. Lemma 1 to Lemma 5
prove that the theorem is true for aii c e s . This is done by deciding the lot sizes and
constructing a schedule with property pl so that the property pi is satisfied.
Lemma 1 An optimal solution X' = (XI, Xi, . . . , X;) in Case 1 is given &y a busy
schedule, tuhen
Proof: Since a = b,using the sublots X , = n,i ' = 1,2, ... n, a busy schedule c m be
constructeci as in Figure 4.1. Note that there is no idle time on machine 1 or machine 2
during proceseing. However, there may be some idle time either on machine 1 or machine
2 in the beginning of the schedule which is unavoidable.
Since the properties pi and pl are satisfied, it is a busy schedule and is optimai. O
,ml 9
Mi, bXn-1
Ti '0 7,
Figure 4.2: A busy schedule for Case 2.1. a > b,s 2 t ,n = 2k,Cm, = s + Wa.
Case 3: a > b.
When s 2 t, no idle time on machine 1 will give an optimal schedule, whereas when
s < t, we may neeà to conaider no idle tirne on machine 1 and/or machine 2 depending on
the situation. Hence, we divide Case 2 into furt her two subcases. Case 2.1 analyses when
s 2 t and Case 2.2 anaiyses when s < t .
Case 2.1 a > b , s 2 t .
Lemma 2 An optimal solution X' = (Xi, Xi , . . . , X:) in Case 2.1 is giuen by a bwy
schedule, when
Proof: Using the sublots Xi' = 5, i = 1,2, ... n, a busy schedule as shown in Figure 4.2
can be constructed for Case 2.1.
Let sublots r and (t + 1) make a pair. Then,
b Also X,+i 2 -X,p = 1,3 ,..., n- 1
a
Therefore, !x, 5 Xr+i 5 fXr, where f < 1, and % > 1.
If we have Xr+i = y&, where 5 y 5 t, we can have optimal lot sizes. Since 7 = 1
f d s in the range (!, f), equd sublot size will be optima. Since the schedule satisîles the
properties pi and pl (Figure 4.2), it is a busy schedule and optimal. O
If Wa + s > Wb + t, there should not be any idle time on machine 1 whereas if
Wu + s < Wb + t there should not be any idle time on machine 2 in the optimal schedule.
When Wa + s = Wb + t, both machines must be fuily u t i l i d . Therefore, we anaiyze
this case into another three subcases. Case 2.2.1 analyses when Wu + s > Wb + t , Case
2.2.2 analyses when Wu + s = Wb + t and Case 2.2.3 analyeee when W u + s < Wb + t.
In order to deal with remaining Casea, we define A, as the difference between time when
machine 2 is ready for processing the rth sublor pair and the time when machine 1 is ready
for the rth sublot pair in the schedule satisfying pz. For example, initially, for the first
pair, Al = t - s, when there is no sublots scheduled but the settings have been pedormed
starting at time zero. Then for the second pair, A2 = bXl - a&, when the first pairs of
sublots have been processed conforming the schedule structure pl.
Case 2 . 2 . 1 a > b , s < t , W u + s > W b + t .
In Case 2.2.1, the lot sizes can be determined by the algorithm Lot1 given below which
provides a busy schedule. The algorithm Lot 1 assigns items to sublots such t hat machine
1 is kept busy. This is done in three steps corresponding to different conditions. Thus For
the firat pair, the setup time of machine 1 and the processing time of the first sublot on
machine 1 must be greater than the setup time of machine 2 and the processing time of the
second sublot on machine 2. Step 1 therefore, assigns equal-sized sublots if this condition
is aatiefied. If the first pair satisfies this condition, the remaining pairs will satisfy the
condition. The reader can see it in the proof given next to the algorithm. Step 2 checks
whether the setup tirne of machine 1 and the processing time of the first pair on machine
1 is greater than the setup time of machine 2 and the processing time of the first pair on
machine 2, if equal-sized pair is use& If this condition is satisfied for the first pair, it will
be satisfied for the remaining pairs too which is shown in the proof. Step 3 assips the
first pair so that there is no idle tirne due to this pair and the remaining sublots satisfy
condition for Lemmr 2. Since the condition for Lemma 2 is satisfied, it qually assigne the
remaining items to the remaining sublots.
Algorithm Lot l
Step 1 If 2 t - J, then set
x; = - 1 . . ; Stop. n
Step2 I f m z t - , , t h e n s e t n
x;=*+$ , X;= n(a+b) 2wa !S. a+b'
w-x:-xi - w x; = - - n-a , r = 3,4, ..., n; Stop. Step 3 Set X i = X i = -w~ (a -b )
W-x:-xi = W - x: = !-a n-2 n-2 (a-b)(n-2) 9 r = 3,4, ..., ta; Stop
Lemma 3 An optimal solution X' = (X;, Xi, . . . , X:), obtained b y the algorithm Lotl,
in Cuse 2.2.1 is giuen by a b w y schedule.
Proof: Let the idle tirne on machine 1 before uX2t-l is started on it be Il and the idle tirne
on machine 2 before bX2, is started on it be 12. Figure 4.3 describes a typical schedule
of sublota X2,-* and X2, . We have to show that the algorithm maintains Il = O for d l
sublot pairs.
The optimal schedule in generd for Case 2.2.1 is shown in Figure 4.4.
Step 1: When r = 1,
Ii+aX; = 12+bX;+At .
f2 = Il +uX; - bX; - ( t -s).
Since equd sized sublots, I2 W(a - 6) ri + - ( t - s).
n W(a - 6)
Note that t - s n
Therefon, I2 2 Il
A2 = bX; -aX;
Thuii, machine 1 can be fuily utiüzed by setting Il = O for the first pair. Since A2 < 0,
from Lemma 2, equal aublot size is possible for the remaining (n - 2) sublots.
Step 2: When r = 1,
Ia 2 W b t - s 2Wa t - s
--1-(t-8) = l i+ ' [n(a+b) + a l - b [ n ( a + b ) a + b
Since Il = O is possible, machine 1 can be fully utilized. Further, AI 5 O . Therefore,
from Lemrna 2, we eau have equal size for the remaining sublots.
Note that W(a - 6) > t - s (condition for Case 2.2.1). Therefore sublot sizes for the
case n = 2 is decided at least in Step 2. Hence the condition in Step 3 may occur for the
case with n > 2.
Step 3: #en r = 1,
f2 = I l + a X ; - b X ; - ( t - s ) (t - s)a ( t - ~ ) b
= I l + a - 6 (a' - bl) - (t - 3)
(a2 - P)
"WI 9 9 m
& bXn bXm-1
Tl "2 a F i p 4.4: A busy schedule for Case 2.2.1. a > b,s < t, Wu +s > Wb+ t, n = 2k, Cm, = s + wu.
Therefore machine 1 c m be fully utilized by setting Il = O for the first pair. Since
A2 = bX; - aX; = 0, froxn Lemma 2, equal sublot size c m be optimal for the remaining
sublots. Further, we need to show that the total items allocated for the first two sublots
are strictly les8 than W and al1 the items are assigned.
W(a - b) >
w >
w >
w >
Therefore, W >
Number of items assigned =
- -
- -
t - s
t - s - a - b
" w t - s X; + + C(n-2 - - b)(n - 2)
r=3 )
(1 - s)(a + b) t - s +W--
a2-b3 a - b
Case 1 . 2 . 2 a > b , s < t , W a + s = Wb+t
The optimal solution of Case 2.2.2 should maintain both machines busy. Figure 4.5
shows an optima schedule for the Case 2.2.2. Algorithm Lot2 provides a busy schedule
for this case. Since both machines have to be fully utilized, equal-sized sublots is not
possible. Therefore, the algorithm tries to assign equal pair size, if possible. We dehe
another term î, as the numbet of items left to be assigned once the rth pair ie scheduled.
When the rth pair is to be scheduled, there will be items remaining to be assigneci to
the (2k - 2r + 2) sublots. The algorithm Lot2 decides lot aizea for the construction of
type schedule such that both machine 1 and machine 2 are busy thtough out. This is done
in two stepe comesponding to different conditions. When the (r - 1)" pair is scheduled,
Step 2 tries to assign equd-sized sublot pain. This step is similar to Step 3 in algorithm
Lotl. It can be recalleù that 1 = k. If the equal pair is not possible for the rth pait, Step
3 assigis the rth pair ruch tbat both machines are busy and the total number of items
is lm than the total number of item8 available when the rth pair is not last. If it is the
last pair it select the aublots such that no idle tirne is ineerted on uly machine and dl the
items are assigned.
Algorithm Lot2
Step 1
Step 2
Step 3
Step 4
Lemma 4 An optimal solution X' = (X;, Xi,. . . , X:) in Case 2.2.2 is given by the
algorithm Lot2
Proof: We have to show that in each step Il = I2 = O is poesible for each pair, = O
and the condition for C e 2.2.2 is hold for al1 pairs.
Step 2: Since W(a - b) = t - s, the case n = 2 wiii fa11 in this Step.
Therefore, both machines can be maintained busy by setting Il = I2 = 0.
Therefore, Ar+, = rr(a - b) will be tme, if A, = i',& - b). We are given Ai =
r0(a - b). Hence by mathematical induction, al1 remaining sublots and the remaining
items will satisfy the condition for Case 2.2.2.
When r = k,
Step3: Case r < k
Therefore, both machines can be kept busy by set ting 4 = h = 0.
Ar(2a2 - b2 + ab) XG-, +Xir =
2a(a2 - V)
- -
But =
Therefore, A =
A,+l = rr(a - b) is tme, if Ar = rr-i(a - b). Further ro(a - 6) = Al. Therefore, by
mathematical induction, the condition for Case 2.2.2 is satisfieà for al1 remaining items
and sublot pain.
Figure 4.5: The busy schedule for Case 2.2.2. a > 6, s < t , Wa+s = Wb+t, Cm, = Wa+s.
Step 3: Case r = k
Therefore, both machines can be kept busy by set ting Il = I2 = O.
but Ak = r k - L ( ~ - b )
Thus al1 the items are allocated. O
Case 2.2.3 a > b,s < t , W a + a < W b + t
The sublot sizes for Case 2.2.3 cm be determined by the algorithm Lot%.
Algorithm Lot3
Step 1
Step 2
Step 3
Step 4
Step 5
Step 6
Else set
- Ar(a+2b) + I'.-I (a+ x à r - ~ 2a(a+b) 2(a+b) ' Go to Step 6.
If r = k, then set r a C ' b
X;iC-1= 3, Xik = I=L; a t b
Else set - rr-1 (2a2-b2j + rr-l (2a-b)
Xàr-1 O 4+ t b ) 4a 3
Set,
Stop.
Lemma 6 An optimd solution X' = (X;, Xi, . . . , X:), obtained b y the algorithm Lot3,
in Corc 2.2.3 U giucn by a bus y schedule.
Figure 4.3 describer a typical schedule of sublots X2r-1 and Xa by dgonthm Lot%
Prwt: We have to show that the algorithm maintains I2 = O for all pairs, and if a pair
fds in Step 2 or Step 3 then the remaining pairs fall in the aame step.
Step 2:
Thus Il = O when I2 = O. Hence, machine 2 can be fully utilized.
LI BU^, r, = - k - r + 1
Therefore > rr(a - b)
Thetefore by mathemat ical induction, remaining items will satisfy the condit ion for
Case 2.2.3.
But, z', = k - r + i k - r -
L',a Tberefore A,+i < -
k - r
r O Therefore, if A, < &, then Ar+i < z. Further, Al < y. Therefore, by mathe
matical induction, the remaining items and sublots will satisfy the condition for Step 2.
When r = k,
Hence dl the items are assigneci.
Ah+l = A& - r k - l ( a - b)
> O
Step 3:
11 > 1 2
Hence, machine 2 can be fully utilized.
M h e r , Al > ro(a - 6)
Therefore, by mat hematical induction, condition for Case 2.2.3 is sat isfied.
rra Therefore. -
Therefore, by mat hematical induction, the condition for Step 3 is satisfied.
Therefore, ail the items axe assigned.
Therefore, machine 2 can be kept busy.
Therefore, dl the items are allocated.
Therefore, I2 = O is possible.
Ar But - 2
>
Therefore Ar+i >
Therefore, if Ar > l'r,l(a - b), then Ar+* > rr(a - b). Rirther, AI > îo(a - b). Hence,
by mathematicid induction, the condition for Case 2.2.3 will be satisfied by all remaining
sublots and items.
Step 5 Case r = k
Therefore, machine 2 can be fuîiy u t i l id .
Therefore, ail items are assigned.
Step 5 Caae r < k
- ï ,-l (361 - 4a2 - ab) - 1 2 + 4(0 + b) + Ar
Therefore, Il > I2
'I 'a T&
Figure4.6: A busy sehedulefor Case 2.2.3. a > b,s < t , Wa+s < Wb+t,n = 2k,Cm, = s + Wu.
> r , ( a œ b ) .a
Figure 4.6 depicts an optimal schedule.
Figure 4.7: Alternating Pair Structure.
Figure 4.8: Flowshop Structure.
C a s e S a d .
Problems of Case 3 are the mirror image of the problems of Case 2. Therefore, optimal
achedules are similar to those of Case 2.
4.3 Different Structures of Schedule
Different structures can be generateà for a given product. These different structures play
an important role in multi-product scheduling. We can generalize that there are three
possible lot size structures:
1. Altemating pairs (p2 schedule). An alternating pair schedule is one which has the
following properties: there are k time points T I , . . . , sk such that for 1 5 i 5 k, operations
u X ~ ~ - ~ and bXai complete at time ri, as shown in Figure 4.7.
2. Forward Bowshop. Here ali sublots of a given product follow the sequence Mi + Ma, ap shown in Figure 4.8.
3. Backward Bowshop. Here al1 sublots of a given product follow the sequence M2 -t Ml,
as shown by considering the reverse schedule in Figure 4.8.
The above three stmctures c m dao be combined into a hybrid structure. Figure 4.9
shows a hybrid structure where sublots 1 and 7 are processed as forward flowshops, sublots
Figure 4.9: Hybrid Structure.
2,3,5,md 6 are procemed as altemating pairs, and sublot 4 is processed as a backward
flowshop.
4.4 Conclusion
We have shown that there exists a busy schedule for each case. Hence there is aiways
an optimal schedule for the single product continuous-sized sublots. We have used the
maximum number of sublots dlowed or one less than that value if the maximum number
of sublots is odd. However, optimal solutions can be obtained with any even nurnber of
sublots in the given number of maximum sublots. This is obvious by substituting n by
any even number which is less than n. Thus, single product continuous case c m have
multiple optimal solutions. Equal sublot size will not always give optimal schedule, but
the equal-sized pairs give optimal schedules in most of the cases. The algorithms we
provided for different cases c m be solved in polynomial time. Further, these algorithms
can be successfully used for integer case, when the number of items are very large and the
nurnber of sublots are feu so that the effect of rounding off is negligible.
Chapter 5
Multiple Products
5.1 Introduction
Sriskandatajah and Wsgneur (1999) explain how the schedule of a given lot can be divided
into a head (H), a body (B) and a tail (T) for a newait flowsbop problem. The head is
the beginning portion of the schedule, in which machine M2 (respectively, machine Mi)
is ide throughout; the tail is the laat portion of the schedule, where machine Ml (resp.,
machine Ma) is idle throughout; the body is the middle portion of the schedule between
the head and tail. In openshop problems, we can have a head or tail on either machine
(see Profiles 1,2,3 and 4 in Figure 5.1).
In this chapter, we develop an algorithm to find al1 possible profiles. Then a cost matrix
is generated and a TSP algorithm is used to get optimal product profile and product
sequence. We consider the case without setup time. However, the algorithm can be
successfully applied for the case wi t h set up t ime wi t h small modification.
Problern F&ao - waitlC,. can be formulated as a solvable case of the TSP with
the cost matrix: cj j+l = max{O, pj - aj+i}, where job j is followed by job j + 1 in the
production sequence, and aj and Pi are the processing times of job j on mathine 1 and
machine 2, respectively. cj,j+i is the idle time on machine 1 after completion of job j on
machine 1 until the start of job j + 1 on machine 1. cj,j+i can also be interpreted as the
cost of traveling ftom city j to city j + 1 in TSP terminology. The algorithm of Gilmore
and Gornory (1964) minimizes the makespan in TSP instances with the above cost matrix.
We now show that, for givcn p d u c t pmfiles, an optimal product sequence for our problem
ean be obtained using the algorithm of Gilmore and Gornory (1964).
Profle 1: Hi 2 0, Ti 2 O. Profile 2: Hi < O, Ti 5 0.
Profile 3: Hi 2 0, Ti < O. Profüe 4: Hi < O, > O.
Figure 5.1: Profiles of Openshop Nwwait Lot Streaming Problems.
5.2 Scheduling and Algorithm Development
In this section, we andyze how product sequence can be obtained for given profile of each
product, Le., when the number and the sizes of sublots are known for each product. If
the sublots sizes are given for products, Gilmore and Gomory algorithm gives the optimal
product sequence. For the simultaneous problem of sublot sizes and product sequence, we
develop a dynamic programming algorithm to get al1 the profiles and use a TSP a.lgorithm
b select the optimal profile of eacb product and product sequence.
5.2.1 Scheduling of Products with Given Profiles
When the profile of each product is known, i.e., the sublot sizes are already selected, we
need to find the Optimal product sequence. The algorithm of Gilmore and Gomory (9164)
provides optima product sequence in this case.
Theorem 2 For given product profiles, an optimal product sequence for the two machine
no-wait openshop ptoblem with lot stnaming can be obtained using the algorithm of Gilmon
and Gomoy (1964).
Prwf. In order to prove this result, we let heads (a,) on machine Mi and tails (Pi) on mûchine 4 as pi t ive , and heads on machine Ma and tails on machine Mi as negative.
Then, we show that product sequencing problem in newait openshop can also be for-
mulated p(l a TSP with the COS^ matrix cj,j+l = ma{O,oj - ~ t ~ + ~ ) . We prove that this
cost matriv is correct for dl possible combinations of profdee, where product j + 1 follows
product j .
If Ti = pj 2 O and Hj+i = aj+l 2 O, then produet j has either profile 1 or 4 and
product j + 1 hm either profile 1 or 3. The idle time OR Y is cj,j+l = max(0, Ti - Hj+i} = mw(0, - ai+*)* If Ti = Pi 2 O and Hj+l = -Qj+i > O, then produet j has either profile 1 or 4, and product j + 1 has either profile 2 or 4. The idle time on Ml ii,
cj,j+l = Tj + Hj+l = Pi - aj+i = mw(0, pj-aj+l)* If Ti = opj > O and = a,+l 2 O,
then product j has either profile 2 or 3 and product j + 1 has either profile 1 or 3. The
idle tirne Ml is cj,j+l = O = rnax{O,pj - crj+l). Finally, if T j = -Pi > O and
Hj+l = -aj+i > O, then product j has either profile 2 or 3 and product j + 1 bas either
profile 2 or 4. The idle time on Ml is cj,j+l = max(0, - Ti) = max{O, Pi - aj+l).
Thus, the cûet expression cj, j+l = mw{O, pj-aj+l) is volid for al1 profile combinations.
Hence the algorithm of Gilrnore and Gornory (1964) finds optimal product sequence in a
two machine no-wait openshop for any given product profiles. O
5.2.2 Simultaneous Lot Streaming and Scheduling
When the profile is not given, then we have to find the optimal number of sublots, sublot
sizes and the product sequence. We develop a dynamic programming algorithm and then
incorporate it with a TSP algorithm to solve this difficult problem.
We let Ah and At are the length of head and tail, respectively of a given product profile.
Note that we have to consider al1 possible profiles of each product for Our scheduling
pmblemi, with multiple products. First, the different profiles for each prduct must be
found, as explained below.
Given a product profile for each of N products, let us consider a product sequence a
which is the order of product indices, i.e., products are scheduled in the order: P,(o),
E ( 1 ) - , Pu(,-,) , , Pe(r+l) , - - - , K(N) 9 P'(N+I) as in Fi W e 5-29 where ~ ( i ) denotes the
index of the product that is scheduled in the ith position of the sequence a. P,(o),
Figure 5.2: Example Schedule of N Products in Sequence o.
are artificial products having zero length of head, body and tail. For convenient, we define
süghtly different cust matrix than the one described above, that is, distance from city
(product) @(i ) to City ( p r d ~ ~ t ) @(i + 1) is du(i)s(i+~) + (&(il + &(i+1))/2 where dU(i),(i+i)
is the time between the start of tail of product Pu(i) and finish of head of product Pg(i+ll
(see Figure 5.2). The reamn for the choice becomes clear shortly.
Our problem is now simultaneous selection of profiles of products and scheduling. In
order to get the optimal schedule, we introduce a TSP formulation. Each product is
repreaented by a country, and each profile for each product is represented by a city in
that country. Then o u problem is: Starting and finishing at a given city in a given
country, visit each country exactly once and visit exactly one city in each country. Let
Bi, denote the cwt to visit city i, of country i , and let di,, denote the travel cost from
city i, to city ji. Since a TSP tout visits each city in each country, we need to d a p t
the TSP matrix to ensure that, on entering country i at city i,, the tour next visits cities
i,+i, iq+2, . . . , iq+k.i(dki), where ki is the number of cities in country i , at zero cost.
Note that io = iki. This is accomplished by specifying zero costs for that sequence and
prohibitively large coetr (M2) for any other sequence within country i. Furthemore, since
the tour wiu leove country i from city ic+ki-i(di) when it enters that country at city i,,
the coet of travel from city ig+ki-l(,,,oditi) must be specified as Ci,?, . This is accomplished by
setting 4 , = di,,(a)tjl + + Bjl)/2], where the term in square brackets ia
hslf the total size of the bodies of i, and j,. Finally, reentering a given country is prevented
by the addition of a large eost (M) when traveling between any pair of countries. The
Countryi. Countryj
Figure 5.3: Example With Two Countries and Five Cities.
optimd cost, C, will satisfy NM < C < (N + 1)M.
Example
Consider two countries i and j with thme and two cities respectively, as in Figure 5.3. We
obtain the foliowing TSP cost matrix.
For example, if our solution follows the path il + j2, then the corresponding TSP
solution follows the path il + il + i3 + j2 + jl, with total cost dith + (Bi, + Bja)/2.
We now describe our overall algorithm, Global, for out problem. Let vector v =
(vi, va, %, 4, where integers V I and q (q and v4) represent the aizes of first two (last
two) sublots ïnd vh 2 O, k = 1,2,3,4. Since pj 2 2, we have Wj - 1 2 VI + ~2 > O and
Wj - 1 2 t~ + ~4 > O. Given a vector v for a ptoduct sudi that V I + v2 + US + v4 5 Wj,
the head and tail of the product ia dehed as Ah = av1- At = h3 --a,.
Algorithm Global
For product j, j = 1, ..., N: For id v SU& that + ~2 + ~3 + U, 5 Wj:
Run D P ( j ) to h d optimal integer sublot sizes conesponding to W .
Defme city (Le., prduct profile) k in country j by those optimal sublot sizes.
End For
End For
Set up the TSP cost matrix to enforce a visit to exactly one city in each country.
Run the TSP heuristic, output the solution and stop.
It remains to define D P v ( j ) , which is a dynamic progamming algorithm. For each
product j, this algorithm finds the optimal sublot sizes for a given vector u which defines
An and At. It chooses the sublot sizes such that idle time on machine Mi is minimized.
By doing so, it generatea ali the possible profiles (Le., cities) for al1 the products (Le.,
countries), as required in our TSP formulation.
In order to describe our dynamic programming algorithm, we defuie a pair of integers
fik-l,&k > O, for k = l , . . .,nj. We rquire that at l e a t two and at m a t nj d u e s
are positive integers. These positive Y, values represent the optimal sublot sizes. Let
N ( S ) denote the number of poaitive valued elements in the set S. In order to simplify the
description and example that follow, we suppress v and j.
Algonthm DPv(j)
Optimal Value Function
Let fik(&k-l, Kr, w, r) denote the minimum idle tirne on Mi for the partial schedule
formecl by sublots hk+1,. . . , &, , given that the (2k - I ) ' ~ sublot has size 15k-1 and
the 2kth aublot has size Kr, and that there are m unite and r sublots left to allocate.
[Comment: &k-i and hk are both nonzero if the schedule has alternat ing pair structure;
Kk-1 is nonzero and & is zero if the scheduie ha9 forward flowshop structure; hk-l i s
zero and is nonzero if the scheduie hm backward flowshop structure.]
It is important to note that three possible situations may occur at each stage:
i. > O and = O, where the schedule follows the forward flowshop structure.
ii. l$k-l = O and Kk > O, where the schedule follows the backward flowshop structure.
iii. Kr-, > O and Kk > O, where the schedule follows the alternating pair structure.
The amount of computation time required by Algorithm Global can be calculateci as
follows. The number of possible dulues of j is O ( N ) . The number of possible vectors v
is O(Wf). The number of possible d u e s of k is O(nj). The number of possible values
of w is O(Wj). Finally, the number of possible values of Kk-, and hk in the recurrence
relation is O ( q ) . Thus, the overalî computation time of Global is O(N ziN,, njw;).
Example: Consider a single product j, where Wj = 4, nj = 4, a = 5, and b = 4. We
now iilustrate DPV( j ) using v = (1,0,0, l), i.e. vl = 1, v2 = 0,v3 = O, VI = 1, therefore
Ah =ou1 - bu2 = 5 and At = bV3-uu4 = -5.
The boundary conditions give:
fZ(3 0,1,2) = rnw{O, 4(2) + 4(1) - 5(0) - 5(0)) = 12.
f2(0, 2,1,2) = mw{O, 4(0) + 4(1) - 5(2) - 5(0)) = 0.
f2(i, 1, 1 , l ) = mw{O, 4(1) + 4(1) - 5(1) - 5(0)) = 3.
f4(l, O, 1, l ) = mu<{O, 4(1) + 4(1) - 5(0) - 5(0)) = 8.
f4(0, 1, 1, l ) = miuc{O, 4(O) + 4(1) - 5(1) - 5(0)) = 0.
Figure 5.4: Schedule from Solution 1.
Then, using the recurrence relation at stage k = 1, we have:
f2(1, O, 2,2) = min{mw{0,4(1) + 4(0) - 5(0) - 5(1)) + f4(l, 0,1, l) , max{0,4(1) + 4(1) - 5(0) - 5(0)) + !,(O, 1,1,1)) = min{& 8}, where the choice is between Xj = 1, X4 = O and
XÎ = O, X4 = 1> respectively.
f2(0,1,2,2) = min{max{0,4(0) + 4(0) - 5(1) - 5(1)) + fr(1, O, 1, l), max{0,4(0) + 4(1) - 5(1) - 5(0)) + f4(0, 1,1,1)) = min{& O), where the choice is the sarne as above.
Similady, using the recurrence relation at stage k = O, we have:
f0(1,0,3,3) = min{max(0,4(1) + 4(0) - 5(0) - 5(1)) + f2(1,0,2,2), max{O,4(l) + 4(0) - 5(0) -5(2)) + 12@, O, m, m={O, 4(1) +4(1) - 50)) - 5(0)} +fi@, 1,2,2), max{0,4(1) + 4(2) - 5(0) - 5(0)) + h(0,2,1,2), m={0,4(1) + 4(1) - 5(0) - 5(1)) + /2(1,1,1?1)) =
min{8,12,8,12,6), where the choice is between Xi = 1, X2 = O; Xi = 2, X2 = O; Xi =
O, X2 = 1; Xi = 0,X2 = 2; and Xl = 1,X2 = 1, respectively.
There are seven possible solutions for the example, as we now discuss. In Figures 5.4
through 5.10, the makespan (Cm,) equals the processing time on machine Mi of a Wj = 20
units plus the idle tirne found by each schedule using D PV( j ) .
Solution 1: ( 1 O 3 , + ( 1 O, 2 , + ( 1 O, 1 1). This gives a solution with Yi =
1, f i = O, = 1, f i = 0, as shown in Figure 5.4.
Solution 2: fo(l, 0,3,3) -t f2(0, 1,2,2) + f4(l, O, 1,l). This gives a solution with =
O,b = l,& = 1,G = 0, as shown in Figure 5.5.
Solution 3: fO(l, 0,3,3) + fi(2, 0,1,2). This gives a solution with Yi = 2, = = YI =
0, as shown in Figure 5.6.
Figure 5.5: Schedule from Solution 2.
-- -- -
Figure 5.6: Schedule from Solution 3.
Solution 4: fo(1,0,3,3) + f2(1, 0,2,2) + f,(O, 1,1,1). This gives a solution with Yi =
1, = YJ = O, YI = 1, as shown in Figure 5.7.
Solution 5: fo(l, 0,3,3) + f2(0, 1,2,2) + f4(0, 1,1,1). This giva a solution with =
O& = 1,YJ = O,h = 1, as shown in Figure 5.8.
Solution 6: fo(l, 0,3,3) + f2(0, 2,1,2). This gives a solution with Yi = O, f i = 2, Y3 =
= O, as shown in Figure 5.9.
Figure 5.7: Schedule from Solution 4.
-
Figure 5.8: Schedule from Solution 5.
Figure 5.9: Schedule from Solution 6.
Solution 7: f ( l , 0 , 3 , ) + ( 1 l , l l ) This gives an optima sohtion with Yi = & =
1, YJ = YI = O, as shown in Figure 5.10.
We now prove that Algorithm D P v ( j ) provides optimal sublot sizes for a given vector
Lemma 8 If X' = (Xi,. . . , X:) is the uector of sublot sires /or a product given by D P U ( j )
Figure 5.10: Optimal Schedule from Solution 7.
for a given v (and thw given Ah and At values) and j , and X = (Xi,. . . , X,) is any other
vector of sublot sizes for the same An and At, then we have B ( X m ) 5 B(X) , when B(X*)
is the length of M y the ptoduct for sublot sizes X'.
Proof. Since DPV(j ) minimizes the coet over dl possible state transitions, X e minimizea
the value of idle time (Il) on Mi. Now, since Ah + B ( X 8 ) = Il + Wu, where Ah and WU
are constanta, it foUows that B ( X 8 ) 5 B ( X ) , O
Theorem S The lot sircs X'(j) = (X;,j,. . . , XZjj) obtained by D P v ( j ) minimire the
makespan for given v (and thw given Ah and At values) and j .
where is the body length of the product scheduled in the position a(i).
Suppose there exists a product k scheduled in position a(rj for which the sublot si-
are X(k) # X*(k) . We replace the lot sizes of X ( k ) with X'(k) for this product. The A
m b p w F,., cm be Witten F ' = Fe + G(,- ,),(,) + <P,(,),(,- ,) + B,&) a
Since Ah and At are given, Hz(,) = &(r) and T:(r) = TU(,(* Thus, e(r-I),(,) = dr(,-i),(r)
cP,(r),(r+I) = de(r)e(r+i)* Algo, from Lemma 6, B:(,) I Be(,)* Thus, F,' I Fe- Similady, we replace the lot sizes of X(j) with X a ( j ) for each product j in the sequence
o. Each such replacement will not increase the makespan. Thus, the sublot sizes X 8 ( j ) =
(Xi, j, . . . , Xi, ,j), j = 1,2, . . . , N given by D Pu ( j ) minimise the makespan for the given u
(i.e., An and At dues) . O
5.3 Conclusion
In this chapter, we have studied the problem of scheduling products with given sublot
sizes as well as simultaneous lot streaming and scheduling when sublot sizes are not given.
For the former case, we proved that the algorithm due to Gilmore and Gomory provides
an optimal schedule. Latter case b formulated as TSP for whi& there are many efficient
solution techniques available. We have considered the problem without setup times. How-
ever, the problems with setup times cm be solved by inserting the setup times with the
kst seublot pairs.
Chapter 6
Computational Testing
In orcler to evaluate the performance of Algorithm Global, we test a large number of tan-
domly generated two machine multi-product problem instances running ou Sun computer.
The dgorithm GENIUS for TSP (Genreau, Hertz and Laporte, 1992) is received in Pascd
and then translated into C language using the p2c translater. The algorithm Global is
written in C lanyage and the translated GENIUS is adopted for our problern.
For dl problems tested, the processing times aj and bj axe generated randornly from a
unifom distribution over the interval 1 5 a,, bj 5 10. When the number of products N is
in the range 2 < N 5 8, the number of sublots for each product nj is generated randomly
from a uniform distribution over the interval 2 5 n, 5 6 and the total number of unit8
for each product, Wj, is generated randomly from a uniform distribution over the intenial
2 5 Wj 5 6. When the number of products is in the range 9 5 N < 13, the number of
sublots for each product nj is generated randomly from a uniform distribution over the
interval 2 5 nj 5 and the total number of unjts for each product, Wj, is generated
randomly from a uniform distribution over the interval 2 < Wj 5 5. When the number
of pmducts is in the range 14 5 N 5 20, the number of sublots for each product nj is
generated randomly fiom a uniform distribution over the intervai 2 5 nj 5 4 and the total
nurnber of units for each product, Wj, is generated randomly from a unifom distribution
over the interval 2 5 Wj 5 4.
Each line in Table 6.1 represents results over ten raadomly generated problems. The
fourth column in Table 6.1 shows the mean CPU time required by Global.
Set N 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20
ma{Wj) Of Cities
Table 6.1: Performance of Global.
Chapter 7
Sorne Related Results and Discussion
In this Chapter, we discuss some possible extensions of Our dgorithm Global. The al-
gorithm Globai can be utilized for single product integer-sized sublots, problems with
at tached setup times, sublots wit h pallet capacity, problems wit h transfer tirne between
machines and two machine newait flowshops. We briefly discuss on these possibilities.
7.1 Single Product Integer-sized Sublots
In the single product case, first we can find al1 possible profiles using the dynamic prw
pamming algorithm. Then the cycle time can be calculated for each profile and the profile
which gives the minimum cycle time is the optimal schedule.
7.2 Problems with Attached Setup Times
The algorithm Global can solve problems with attached setup time with a srnall modifica-
tion. First dynamic programming dgorithm can find the profiles without considering the
setup times. The setup times only affect the head values. Let us cal1 the head of profile k
of product i after adjusting for the setup times as (adjusted head):. Then
(adjusted head): = (head); + s i - t i , where (head); is the head of profile k of product
i befon adjustment for setup times. Now these profiles adjusted for setup can be used in
TSP to obtain the product sequence. The same adjustment can also be done for single
product case.
Figure 7.1: Forward flowshop structure with transfer time.
7.3 Sublots with Restricted Capacity
We have assumeci that sublots (pallets) have unlimited capacity. However, it is not true
in al1 cases. The dynamic pmgramming algorithm c m be restricted to assign items to
sublots within its capacity. This restriction reduces the number of possible profilea for a
product. As a result the problem can be solved more easily than our original problem.
Here we may assume that the pailets of a given product are identical.
7.4 Problems with Sublot Xkansfer Time
Generaily, tramferring sublots between machines consumes time. If this time is very
large, we may need to reduce the number of sublots. Our mode1 can consider such sublot
transfer time with a s m d modification. In our explanation let Tlp be the transfer time
frorn machine 1 to machine 2 and TZI be the transfer time from machine 2 to machine 1.
The Figures 7.1, 7.2 and 7.3 show how transfer time can be accommodated in a sublot
pair. Since we use dynamic propamrning, transfer times can be simply included for each
pair. Then the algorithm Global will solve for product sequence.
7.5 Two Machine No-Wait Flowshop
We have formdy modeIed the problem of simultaneous lot strearning and scheduling of
multiple products in two machine newait openshops to minimize malcespan. It has to be
noted that the flowshop version of the problem is a speciai case of o u openshop problem
Figure 7.2: Backward flowshop structure with transfer time.
Figure 7.3: Alternating pair structure with transfer time.
since we need to considet only the foruard flowshop during the construction of a achedule.
Thus, the dgorithm Global can eaeily be modified to solve two machine newait flowshops.
We now desaibe our overd dgorithm, Global Flow, for flowshop problem. Let vector
v = (vi, v4), where integer vl (v4) repreaents the sizes of first (last) sublot and uk 1 0,
k = 1 and k = 4. Since pj 1 2, we have Wj - 1 2 V I > O md Wj - 1 2 v4 > O. Given o
vector v for a pmduct such that + v4 W,, the head and tail of the product is defined
as XI = au!, AI = h 4 .
Algorithm Global Flow
For ptoduct j, j = 1, ..., N: For dl v S U C ~ that UI + ~4 5 Wj:
Run DPv( j ) to Çnd optimal integer sublot sizes corresponding to v.
Define city (Le., product profile) k in country j by those optimal sublot sizes.
End For
End For
Set up the TSP cost matrix to enforce a visit to exactly one city in eadi country.
Run the TSP heuristic, output the solution and stop.
It remPins to define DPv(j) , which is a dynamic programming algorithm. For each
product j, t his algorithm h d s the optimal sublot sizes for a given vector v which dehes
An and At. It chooses the sublot sizes such that idle time on machine Mi is minimized.
By doing so, it generates al1 the possible profiles (i.e., cities) for al1 the products (i.e.,
countries), as required in our TSP formulation.
In order to describe Our dynarnic programming algorithm, we defme an integer & 1 0,
for k = 1,. . . , nj. The positive & values represent the optimal sublot sizes.
Algorithm DPv( j )
Optimal Value knct ion
Let ji(Yk, w, r ) denote the minimum idle tirne on Ml for the partial schedule formed by
sublots K+l,. . . , Y,,. , given that the (k - 1)th sublot has size and that there are w
unita and r sublots left to docate.
Boundaty Conditions
f&,ur,r) = rnax{O,bK - avd) fot 1 5 r 5 nj - 1, t E (1,. . . ,nj - 1); S.(*,*, * , O ) = +OO
otherwise.
The amount of computation time required by Algorithm Global Flow can be calculated
as follows. The nurnber of possible values of j is O(N) . The number of possible vectors
v is O(W!). The number of possible values of k is O(nj). The number of possible values
of w is O(Wj)e Findly, the number of possible values of in the recurrence relation is
O(Wj). Thus, the overail computation tirne of Global Flow is O (N xgl n w!) .
For the problems with pallet capacity, the dynamic programming will keep track of
the items allocated to each sublot not to exceed the capacity. Thus, this will reduce the
number of possible cities and hence the CPU time will be reduced.
Chapter 8
Conclusions
In this thesis we develop algorithma for minimizing the makespan in two machine newait
openehop8 with lot streaming. For the single product continuous case we provide solution
techniques which give optimal solution. We show that multi-product integer-sized sublot
problem can be formdated as a traveling salesman problem with a pseudopolynomiai
number of cities. Many solution methods are available for solving large instances of the
TSP efkiently (Lawler et al., 1985). Our computatiooai tests of one such method indicate
that it can routinely deliver close to optimal solutions to scheduling and lot streaming
problem for instances with up to 20 products. The algorithm Global can aiso be used with
some modification to d v e for single product integer-sized sublot problem, problems with
limited pallet capacity, problems with attached setup times and problems with transfer
times . Further we have shown that the idea can be efficiently used for two machine nct
wait flowshop problem. The problem studied here bas the assumption of deterministic
production environment. Possible future reseaxch could study the more general problems
obtained by relaxing t hie assumpt ion.
References
Baker, K.R. 1974. Intduction to Sequencing and Schedulinp, Addison-Wesley, Reading, MA.
Baker, K.R. 1993. Lot Streaming in the Two Machine Flow Shop with Setup Timea, Wonting Paper No. 297, Amos Tuck Sehool of Business Administration, Dartmouth CoUege, Hanover, N.H.
Baker, K.R. and D. Jia 1993. A Comparative Study of Lot Streaming P r d u r e , OMEGA, 21, 561-566.
Chen Jiang and George Steiner. 1997. Approximation Methoda for Discrete Lot Streaming in Flowshops. Oputions Research Letters, 21, 134145.
Chen Jiang and George Steiner. 1996. Lot Streaming with Detached Setups in Three- Machine Flowshops. Eumpeon Journal of Operations Research, 96, 591-61 1.
Chen Jiang and George Steiner. 1995. Lot Streaming with Attaehed Setups in Three Machine Flowshopa. Wording Paper, School of Business, McMaster University.
Gatey, M.R. and D.S. Johnson. 1979. Cornputers and Intractabiiity: A Guide to the Theory of NP-Completenesa, Freeman, San Francisco.
Gendreau, M., A. Hertz and G. Laporte. 1992. New insertion and ptoptimization procedures for the traveling salesman problem, Operotions Research, 40, 1086-1094.
Gilmore, P.C. and R.E. Gomory. 1964. Sequencing a One-state Variable Machine: A Solvable Case of the Travelling Salesman Problem, Operations Research, 12,665-679.
Glacis, C.A., J.N.D. Gupta and C.N. Potts. 1994. Lot Streaming in Three-stage Process, Eumpeun Journal of Operotional Research, 75, 378-394.
Goyal, S.K. 1976. Note on Manufacturing Cycle Time Determination for a Multi-stage Economic Production Quantity Model, Management Science, 29, 332-338.
Goyal, S. K. and C. Sriskandarajah. 1988. Newait Shop Scheduling: Computational Complexity aad Approximate Algorit bms, Opsearch, 25, 220-244.
Gonzdez, T. and S. Sahni. 1976. Openshop Scheduling to Minimize Finish Time, Journal of the Association /or Computing Machine?. 23, 665-679.
Graham, R.L., E.L. Lawlet, J.K. Lenstra and A.H.G. Rinnooy Kan. 1979. Optimization and Approximation in Deterministic Sequencing and Scheduling: a Survey, Annab of DUcnte Mothematics, 5, 287-326.
Hall, N.G. and C. Sriskandarajah. 1996. A Survey of Machine Scheduling Problems with Blocking and Newait in Process, Operations Research, 44, 510-525.
Johnson, S.M. 1954. Optimal Twe and Thr-Stage Production Schedules with Setup Tirnea Indudecl, Navol Resead Logistics Quorterly, 1,6148.
Kubialc, W., C. Sriskandaxajah and K. Zaras. 1991. A Note on the Complexity of Open- shop Scheduling Problems, INFOR, 29,4,284-294.
Lawler, E.L., J.K. Lenatra, A.H.G. Rinnooy Kan and D.B. Shmoys. 1985. The Traveling SÎlmman Ptobkm: o Guided Tour of Combinatorid Optimization, John Wiley & Som, Chichester, U.K.
Lawler, E.L., J.K. Lenetta, A.H.G. Rinnooy Kan and D.B. Shmoys. 1993. Sequencing and Scheduling: AIgotithm~ and Complexity, in Handbooka in Operations Research and Management Science, 4, 445-552.
Pinedo, M. 1995. Scheduling: Thcoq, Algorithms, and Systeme, Prentice Hall, Englewood Clifh, N.J.
Potts, C.N. and K.R. Baker. 1989. Flowshop Scheduling with Lot Streaming, ope ratio^ Researrh Lettera, 8, 4, 297-303.
R k k , H. 1984. The Three Machine NeWait Flowshop Problem is NP-Complete, Journal of the Association of Cornputer Macliinery, 31,336345.
Sahni, S. and Y. Cho. 1979. Complexity of Scheduling Shops with NeWait in Process, Mathematics of Operations Researeli 4, 448-457.
Sen Alper and Orner S.Benli. 1998. Lot Steaming in Opeoshops. Working paper, Inform* tion and Operatioas management Department, Marshail School of Business, University of Southern California.
Sriskandarajah, C. and E. Wagneur. 1999. Lot Streaming and Scheduling Multiple Proci- ucts in Tw*machine Newait Flowshops. IIE Tronsacttow, To appear.
Steiner, G. and W.G. Truscott. 1993. Batch Scheduling to Minimize Cycle Time, Flow Time, and Procerrsing Cost, IIE Transactions, 25, 5, 90-97.
Stephane Dauzere-Peres and jean-Bernard Lasserre. 1997. Lot Streaming in Jobshop Scheduling, Operatione Research, 45, 584-595.
Szendrovits, A.Z. 1975. Manufacturing Cycle Time Determination for a Multi-S tage b nornic Production Quantity Model, Management Science, 22, 298-308.
Trietsch, Dg and K.R. Baker. 1993. Basic Techniques for Lot Streaming, Opemtiow Reseamh, 41,6, 106!&1076.
Vickson, R.G. 1995. Optimal Lot Streaming for Multiple Products in a Two-Machine Flowshop, European Journal of Operational Research, 85, 556-575.
Appendices
Appendix 1 : C Coded Prognun for the Dynamic Programming Algorithm
Next next;
1 ht; FILE *output$
Global pmd:
if (items - 0)
I lenigd = b*i 1 +b*evens-a*odds-a*i2;
rntempdf i ) *mpb*
temps = y+temp6;
if (temps < kst-value)
I kt-value = temps;
Fina@, ml, oddB , evem ,lots,items ,besttvaiue);
1 1 retura s;
1
l8 aitemüng stnictipe is possible if w>l rrrd nuO */
I* previau ooes fdlows famrd flowshop slnrture */
/* peviais one fdlows bakwnrd flowshop structure *1
I* peviou8 one follows f m d flowshap structure V
I* previaus one fdlows bachard flowshop structure */
CREATING DISTANCE MATRIX
Appendix 2: Sample Output of a problem
We provide sample output of a problem with two products. For product 1, W = 4, n = 5,a = l , b = 2 and for product 2, W = 4, n = 6, a = 2, b = 3. The Output "Profile" in Appendix 2.1, explains there are 85 pionles for product 1 and 155 profila for product 2. Thus in our cost rnutix, fist 85, i.e.,l-85, cities(profles) axe of country 1 (product l), and the reéunining 155,i.e.,8&240, cities (profiles) are of country 2 (product 2).
The output 'Path" in Appendix 2.2, explains that solesman has to leave product 1 at profile 24 and enter product 2 at profile 1. Therefore teh selected profile for product 1 is 25, and for product 2 is 1.
Sublot sizes of profiles are given in the output UProNes". It shows tbat for product 1, sublot si- are (0,3), (0,l) and (0,l); Thus the schedule will be aa follows:
for product 2, sublot sizes are (OJ), (1,3) and (0,l).
cycle time = 32 C m
Schedule for the sample output
Appendix 2.1 : Output "Rofiie"
The number of subbts = 4
The number of items = 5
Pmcessing T b on Mschine 1 = 1
Rocessing Time on Machine 2 = 2
The number of sublots = 4
The number of items = 6
PnrwisingTimeonMIichine 1 = 2
R.ocessing T h e on Machine 2 = 3
Idie t i d
Ide t1-5
Ide t1-6
Idle t1-7
ldle t1-2
Ide t1-3
Ide time=3
ldle t i d
Ide time=û
Idle t1-1
Idle time= 1
Ide time=l
Ide ti@
Idle t i d
Idle t1-2
Ide tians3
ldle ticne4
ldle time=O
Idle t i m d
Idle ti-t
Idie tiiiiP--n
Idle ti&
IdletimP--n
Idie ti-1
Hetime=I
Me ti&
Mie tlme=û
Idle t i d
Idle ti&
Ide ti&
Idle time=7
Ide ti-8
Idie ti&
Ide time=lO
Ide t i d
Ide time=S
ldle ti-6
Ide ti-7
Ide a-3
Ide time=3
Idle tinm4
Idle time=4
Idle tirne= 1
Idle time=û
ldle ti-5
Idle ti-6
Ide ti-7
Idle ti-3
Ide tirnec3
Idie t i d
Idie tirtiP--"
Idle time=l
Ide ti&
Me ti-3
bdle t i d
Ide -1
Ide time=l
ldletime=O
kûe timetl
Idle ti&
Me tJ-8 Idlettme=9
Idle tiinel0
Zdle tiras5
Idie ti-6
Idle ti-7
Me time=6
Idle t i b
Idle timezl
Idle tirne4
Idle ti-7
Idle ti-3
Idle t i m d
Idie ti-1
Idie time=4
Idle ti-1
Idie time=9
Idle ti-10
Ide ti-8
ldle ti-7
Idle time=4
Ide ti-7
Idle timecll
Idle tirne= IO
Idle ti-7
Roeie: m(0 , l),(O , S),(O , O),(O , O) Idle tirne13
Rofiïe: 91:(0 , 1),(2 .2),(1 , O),(O ,O) Ide timsû
Roûk 92:(0 , l),(O .3),(1 , 1),(0 ,O) Ide time=7
praeie: 93:(0 , 1),(0 .2),(1 ,2),(0 ,O) ïdie t l m d
Ro6îe: W:(O , 1),(0 , 1),(1 ,3),(0,0) Me time=6
ndEle: 9S:(O , 1),(1 ,4),(0 , O),(O , O) Ide ti-8
notae. %:(O , 1),(2 , 1),(2 , O),(O , O) IQe tim
ProHle: W:(O , l),(O ,2),(2 ,1),(0 , O) Ide tim-4
R d k 98:(0 , 1),(0 , 1),(2 ,2),(0,0) Me ti-1
ProBie: 99:(0 , 1),(2 ,3),(0 , O),(O ,O) Idle ti1ne=3
noiBle: lW(0 , 1),(1 ,1),(3 , O),(O , O) Ide ri&
IWk 101:(0, 1),(1 ,0),(3, 1),(0,0) Idetirne0
ProtUe: 102:(0 , lX(3 ,2),(0 ,0),(0 , O) Ide tiW
Roflle: 103:(0 , 1),(0 , 1),(4 ,0),(0 ,O) ldle tirne= 1
Roflle: lM:(O , 1),(4 , l),(O ,0),(0 , O) Idle tiW
Profîle: 105:(0 , I),(S ,0),(0 ,0),(0 , O) Ide ti-
RoBie: 106:(0 ,2),(1 ,2),(0 , 1),(0 , O) Ide time=2
RolBle: 107:(0 ,2),(0 ,2),(0 ,2),(0 ,O) We time=4
R d e : 108:(0 ,2),(0 , 1),(0,3),(0 ,O) Idle time't
Rosle: 109:(0 ,2),(O ,4),(0,0),(0 , O) Idle tirne8
Rotlle: 1 10:(0 ,2),(1 ,2),(1,0),(0 , O) Mie time=O
Profile: 111:(0,2),(0,2),(1, 1),(0, O) Ide timts2
Praflle: 112:(0,2),(0, 1),(1,2),(0,0) fdletime=2
hofile: 113:(0,2),(1 ,3),(0,0),(0 ,O) Idletime=3
M e : 114:(0,2),(1 , 1),(2,0),(0,0) Idietime=û
Roük: 11S:(O, 2),(0,1),(2, 1),(0,0) ldletimd
R d e : 1 16:(0 ,2),(2 ,2),(0 , O),(O , O) Idle tirne0
Profile: 1 17:(0 ,2),(0 , 1),(3 ,0),(0 , O) Ide timeO
R d e : 118:(0,2),(3,1),(0,0),(0,0) IdletimeO
Roflle: 1 19:(0 ,2),(4 ,0),(0 ,0),(0 , O) Idle time=O
Proate: lU):(O ,3),(O ,2),(0, 1),(0 , O) Ide tlmeO
RoBfe: 121:(0,3),(0,1),(0,2),(0 ,O) Idletirne4
Roâle: 122:(0 ,3),(0 ,3),(0,0),(0 , O) Ide tirne3
RoBie: 123:(0 ,3),(0 ,2),(1,0),(0 ,O) Idle tirne0
Rotlle: 124:(0 ,3),(0,1),(1, 1),(0, O) Idle timgO
m e : a:(o .3),(1. 2),(0 , O)XO , O) t i d
RoLilc: 126:(0 ,3),(0 , l),(2 , O),(O , O) Ide t i m d
~olilc: in:(o .3),(2 , t),(o, o),(o , O) 1ae tiw
t>tofile.. 128:(0,3),(3 , O),(O , O),(O ,O) Idle ti&
ProBle: 129:(0 ,4),(0 , 1),(0 , l),(O , O) me ti-1 RotW: l a ( 0 ,4),(0 ,2),(0 , O),(O , O) Me time=û
RoBJe: 131:(0,4),(0,1),(1 ,0),(0,0) M e t i d
notiie: 132:(0 ,4),(1 , 1),(0 , O),(O , O) fdle timeO
Protüe: 133:(0,4),(2,0),(0,0),(0, O) M e t i W
Rdae: 1 M:(O , S),(O , 1),(0 , O),(O , O) Idle t i d
Rdk 135:(0, SX(1 , O),(O , O),(O , O) Idle t i m d
nofilc: 1W.(l ,O).(l ,3),(0,1),(0 ,O) fQetime=lO
Profile: 137:(1,0),(0 ,3),(0 ,2),(0 ,O) Ide ti-12
Rdk: 138:(1 , O),(O, 2),(0,3),(0 ,O) IUieti-14
Profile: 1 N:(l ,0),(0 , 1),(0 ,4),(0 , O) Idle time 16
Raflle: 140:(1 , O),(O ,5),(0 , O),(O , O) Idie ti- 18
FMUe: 141 :(1 .0),(2 ,2),(1 , O),(O , O) Idle ti-5
Rdile: 142:(1,0),(3,0),(1 , 1),(0 ,O) Iâîetime=lO
RorUe: i43:(1 ,0),(0,2),(1 ,2),(0, O) Idletime=9
noBle: 144:(1 ,0),(1 ,0),(1 ,3),(0 , O) Idle tirne= 1 1
Rofile: 145:(1 ,0),(1 ,4),(0 ,0),(0 ,O) Ide time=l3
M e : 146:(1 ,0),(2 , 1),(2 ,0),(0 , O) Ide ti-2
M e : 147:(1,0),(2,0),(2,1),(0, O) Idletinus5
Rofile: 148:(1,0),(1 ,0),(2,2),(0 ,O) ldletims6
notrie: 149:(1 ,0),(2 ,3),(0 ,0),(0 , O) Idîe ti-8
Rofiie: 150:(1 ,0),(1 , 1),(3 ,0),(0 ,O) Idle tirne4
Profile: 151:(1 ,0),(1 ,0),(3, 1),(0,0) Idle ti-1
Rotîle: 152:(1 ,0),(3 ,2),(0 ,0),(0 , O) Idle ti-3
Roflle: 153:(1 ,0),(0 , 1),(4,0),(0 ,O) Idle ti-6
Profile: 154:(1 ,0),(4, 1),(0,0),(0, O) I d l e t i m
Rofile: 155:(1 ,0),(5 ,0),(0,0),(0 ,O) Idie ti&
M e : 156:(1 , 1),(0 ,3),(0 , 1),(0 , O) Idle tirne10
M e : 157:(1 , 1),(0 ,2),(0 .2),(0 , O) Idle ti&
M e : 158:(1 , 1),(O , 1),(0 ,3),(0 , O) Idle tirne=ll
noSue: 159:(1 , 1),(0 ,4),(0 , O),(O , O) Idle -1 3
Ronle: 160:(1 , 1),(3 ,0),(1 ,0),(0 ,O) Idle tims7
H e : 161:(1 , 1),(0 ,2),(1 , 1),(0 , O) Idle ti-7
noBie: 162:(1 , 1),(0 , 1),(1 ,2),(0 ,O) Idle tirne0
nafTle: 163:(1, 1),(1 ,3),(0 , O),(O ,O) Idle ti-8
F M ï k : 164:(1 , 1142 ,0),(2 , O),(O ,O) Idle t imed
PM&: 165:(1,1),(0 , 1),(2 , 1),(0 , O) Me t i m d
M e : 166:(1 , 1),(2 ,2),(0 ,0).(0 , O) Mie tirne3
noaie: 167:(1 , 1),(1 ,0),(3 , O),(O , O) Idle time=O
Prof& 168:(1 , lX(3 , 1),(0 , O),(O , O) Ide timeO
nanie: 169:(1 , lX(4 , O),(O , O),(O , O) Ide t i m d
Rotîk: l7O:(l ,2),(0 ,2),(0 , 1),(0 , O) Ide tirne5
Plonle: 171:(1 ,2X(O .1),(0,2),(0, O) ide time=6
FWîk: 172:(1 ,2),(0 ,3),(0,0),(0 , O) Mie ti-8
RdW 173:(1 ,2),(2 ,0),(1,0).(0 , O) Ide t i d
Rotiie: 174:(1 ,2),(0 , 1),(1 , 1),(0 , O) Ide tirne2
FWik 175:(1 ,2X(1 ,2),(0,0),(0 , O) Me tirne3
nofile: 176:(1 ,2),(1 ,0),(2 , O),(O , O) Ide tirne0
noaie: l77:(1 ,2),(2 , 1),(0 , O),(O , O) Idle time=û
nafile: 178:(1 ,2),(3 ,0),(0 ,0),(0 ,O) Idle ti&
~ o a i e : 179:(1 ,3),(0 , 1).(0 , 1),(0 , O) Ide time 1
Rotlle: 180:(1 ,3),(0 ,2),(0 ,0),(0 , O) Ide tirne3
Rofile: 181:(1 ,3),(0, 1),(1,0),(0 ,O) IdietimeO
Rofile: 182:(1 ,3),(1 , 1),(0,0),(0, O) Idle time=û
Profile: l83:(l ,3),(2 ,0),(0 ,0),(0 , O) Idle time=O
R e 184:(1 ,4),(0,1),(0,0),(0, O) Idle time=O
R&e: 185:(1 ,4),(1 ,@,(O, 0).(0,0) Idle ti&
Rotlie: 186:(2 ,0),(1 ,2),(0 , 1),(0 , O) Iâie tirne= 12
Rotlle: 187:(2 , O),@ ,2),(0 ,2),(0 , O) Idle ti-14
Rot&: l88:(2 , O),@ , 1),(0 ,3),(0 , O) Idle tirne16
M e : l89:(2 ,0),(0 ,4),(0 ,0),(0 , O) Ide time i 8
Rome: 190:(2 ,0),(2 , 1),(1,0),(0 , O) Ide tirne=7
RoBIe; 191 :(2 ,0),(2 ,0),(1 , 1),(0 , O) Ide tirne9
M e : 192:(2 , O),(l ,0),(1,2),(0 , O) Ide tirne 1 1
RoSlle: 193:(2 ,0),(1 ,3),(0 , O),(O , O) fdle tirne= 1 3
Rofile: 1 W:(2 , O),(t ,1),(2 ,0),(0 , O) Ide ti-7
M e : 195:(2 ,0),(1 ,0),(2 , 1),(0 , O) Iâie time=6
Profile: 1%:(2 ,0),(2 ,2),(0 , O),(O , O) Idie time=8
RatEle: 197:(2 , O),(O , 1),(3 , O),(O , O) Idle tiW
Rot&: 198:(2 , O),(3 , 1),(0,0),(0, 0) Ide ti-3
M e : 199:(2 ,0),(4 , O),(O , O),(O ,O) Idle tirne0
Raffle: AWl:(2 , 1142 , (&(O, 1),(0,0) Idle tirne9
no&ie* 201:(2 , lL(1 , O),(O ,2).(0 , O) Ide tirne 1 1
Aoa)e: A)2:(2 , l),(O ,3),(0 , O),(O , O) Idîe tirne13
Prof&: 2û3:(2 , 1142 , 0),(1 , O),(O , O) Idle tirne4
P M k 204:(2 , l),(O .1),(1,1).(0 . 0) Me -7
PWW: 20!!:(2 . 1),(1,2),(0,0),(0 , 0) Me -8
mtk 206:(2, lMl .O),(2 .O).(O. 0) IQtlm3=2
PmtW 207:(2 . 1M2 .1),(0,0),(0 , 0) We timet3
RoBle: 208:(2 . lX(3 . O).(O . O).(O . 0) Idc time0
Rofile: m ( 2 ,2),(1 , O),(O , l),(O . 0) Idc time6
RatPc: 210;(2 .2),(0 ,Z),(O, 0),(0 ,0) Ide t i m 8
mak 211:(2.2),(1.0),(1 .O),(O .O) Idctimgl
Roiile: 212:(2 .2),(1 , 1),(0 ,0),(0 ,0) kne ti-3
RolPe: 213:(2 , ZX(2 . O),(O , O).(O , 0) Idle ti&
Rolile: 214:(2 .3),(0 , 1),(0 , O),(O , 0) Me time=3
R&: 2U:(2 .3),(1 , O),(O , O),(O , 0) Idle time0
M e : 216:(3 , O).(l . 1),(0 , 1),(0 , 0) Idle ti-14
Rofile: 217:(3.0),(0,1),(0.2),(0 ,O) Idle time16
M e : 218:(3.0),(0.3).(0.0),(0 ,O) Idletim4~18
Rotne: 219:(3 ,0),(1 , 1)41 , O),(O , 0) Idle t i m l 0
Rotlle: 220.(3 , O),(l ,0),(1 , 1),(0 , 0) Idle t ime t 1
RoBle: 221 :(3 , O),(l ,2),(0 , O).(O , 0) M e time 13
Profile: 222:(3,0),(0, 1),(2,0),(0 ,O) Idleti-12
Rotlle.. 223:(3 , OM2 , l),(O , O),(O , 0) Idle t i w 8
Rot&: 224:(3 ,0),(3 , O),(O , O),(O , 0) Idle time3
R a e : 225:(3 , 1),(1 , O),(O , 1),(0 , 0) Idle t ime1 1
RoBle: 226:(3 , 1),(0 .2),(0 , O),(O , 0) Me time= 13
RoBle: 227:(3 , 1),(1 ,0).(1 , O),(O , 0) Idle time6
R a e : 228:(3 , 1),(1 , l),(O , O),(O , 0) Idle time8
Roflle: 229:(3 , 1),(2 , O),(O , O),(O , 0) We t ime3
Profile: 230:(3 ,2),(0 . 1),(0 , O),(O , 0) Idle t icw8
Ro&: 231:(3 ,2),(1 , OM0 , O),(O , 0) Idle timts3
RoBle: 232:(4 , OM0 , 1),(0 , 1),(0 . 0) Idle 1111~~16
Rotile: 233:(4 . O),(O ,2),(0 , O),(O , 0) Idle time1 8
R a e : 234:(4 ,0),(0 , I),(1 ,0),(0 ,0) Idle time15
RoBle: 235:(4 . 0)Xl , 1),(0,0).(0 , 0) Idle ti-13
Rofilc: 2=(4 ,0),(2 , O),(O , O),(O , 0) Idle t i n e 8
PlnQ: 237:(4 , 1MO , 1),(0,0),(0 , 0) Me 11-13
RoBk: 238:(4 , 1),(1 , O),(O , O),(O . 0) Idle tixne=B
Rofilc: 239:(5 , OM0 ,1),(0,0),(0 , 0) Ide ti-18
RdPe: a ( 5 . 0),(1 , O),(O , O),(O , 0) Idle t i m l 3
Appendix 2.2: Output Tath"