IIE Transactions (2000) 32, 975±988
Dynamic routing and the performance of automated
manufacturing cells
THOMAS O. BOUCHER*, ALI YALCIN and TSUTA TAI
Industrial and Systems Engineering, Rutgers University, 96 Frelinghuysen Road, Piscataway, NJ 08854, USA
E-mail: tboucher@rci.rutgers.edu
Received April 1999 and accepted December 1999
There has been a considerable amount of research done on the ``cell formation'' problem, in which machining cells are designed to
process a family of components. More recently, it has been suggested that machining cells should be designed so that they take
advantage of the ¯exibility for processing parts that have alternate, or multiple machine routing possibilities. It is argued that such
¯exibility will improve machine utilization as well as other measures of cell performance and may reduce the need for centralized
cell loading and scheduling algorithms. Unfortunately, if the cell is automated, routing ¯exibility requirements can create a
complex control problem for the cell controller. In this paper we implement a cell controller designed to handle the requirements of
the ¯exible routing of parts and compare the performance of the cell to the case in which each part has only one routing. We ®nd
that signi®cant improvements occur when the cell design is capable of processing parts with ¯exible routings.
1. Introduction
Cellular Manufacturing (CM) has proven to be an important concept for manufacturing system organization.
In CM, each cell is dedicated to processing a speci®c
family of parts. It has been shown that this grouping and
specialization of machines leads to a reduced set-up time,
reduced work-in-process inventory, and subsequent reductions in cost when compared to traditional job shops
(Boucher and Muckstadt, 1985).
One of the drawbacks of CM is the potential for under
utilization of machines and consequent low production
throughput. The major problem in this regard is the loss
of ¯exibility that may occur if the machines in the cell are
functionally dissimilar, limiting machining operations
with respect to the choice of machines that can perform
the operation. This has led to an interest in designing cells
that incorporate ¯exibility in the cell design. The primary
work has been in the area of incorporating routing ¯exibility (Al-Quattan, 1990; Rajamani et al., 1990; Sankaran and Kasilingam, 1993) i.e., the ability of the cell to
handle parts with alternate routing plans. There have also
been researchers who have addressed the allocation of
¯exible operations among a system of cells, requiring
intercellular ¯ows in order to complete all machining
operations (Askin et al., 1997; Dahel and Smith, 1993;
Tilsley and Lewis, 1977).
*Corresponding author
0740-817X
Ó
2000 ``IIE''
In this study we are interested in the performance of the
``¯exible automated'' cell as a basic manufacturing unit.
We address the problems associated with the operational
control of such cells when they are highly automated with
respect to materials handling and supervisory control. In
this mode, many of the issues associated with ¯exible
manufacturing systems in general apply to the operation
and control of a manufacturing cell. We are interested in
the control of ¯exible manufacturing cells such that we
improve the overall system performance in terms of regular performance measures, such as ¯ow time, throughput, and machine utilization.
This problem is related to research in ¯exible manufacturing systems in general. Some researchers have addressed increasing the performance of ¯exible
manufacturing systems at the operation and control level
over the past several years. This has included evaluating
the bene®ts of increased routing ¯exibility due to alternative machining (Abdin, 1986; Benjaafar et al., 1995;
Lin and Solberg, 1991), and/or routing ¯exibility due to
alternative sequencing (Benjaafar and Ramakrishnan,
1996; Lin and Solberg, 1991; Rachamadugu et al., 1993).
An important observation, made by Rachamadugu and
Stecke (1994) is that ``¼most of the research to date has
not adequately addressed the bene®ts that can be obtained by using routing ¯exibility.'' In most of the approaches to scheduling ¯exible manufacturing systems,
the part routing is determined a-priori. During operation,
each part type has only one route through the system. If
routing ¯exibility is allowed during operations, it may be
976
possible to o load bottleneck machines by dynamically
allocating parts to available machines, improving
machine utilization and decreasing ¯ow time.
Lin and Solberg (1991) argued that the choice of part
process plans should be deferred until knowledge of the
real-time state of the factory is available. Using a simulation, they compared the performance of a-priori chosen
single routing plans with multiple routing plans and
found that the latter reduced mean ¯ow time while
increasing system throughput and machine utilization.
In their simulations the order of magnitude of the
improvement was about 10%.
Lin and Solberg (1991) point out the fact that a realtime control system that would be capable of routing or
scheduling parts based on multiple process plans would
be more complicated than current practice and ``¼calls
for new control algorithms.'' For example, in their simulations they employed simple dispatching rules. They
noted that ``¼there were deadlocks using these rules, that
is, some parts were stuck in the system for a long time.
Therefore, unless there are good deadlock resolution
strategies, these rules are not recommended.''
Deadlock is an even more critical issue in an automated
manufacturing cell (Ezpeleta et al., 1997; Fanti et al.,
1997; Lawley et al., 1998; Ramaswamy and Joshi, 1996;
Reveliotis et al., 1997; Viswanadham et al., 1990; Wysk
et al., 1991). Deadlock occurs when parts are assigned to
machines such that further ¯ow of these parts is permanently inhibited (Ramaswamy and Joshi, 1996; Reveliotis
et al., 1997). In manufacturing cells, limited space and
subsequent buer capacities restricts the movement of
parts among machines. The most restrictive example of
this is the ``direct access'' system in which parts must
proceed from one operation to another without any intermediate storage. It has been shown by Wysk et al.
(1991) that, when two parts occupy machines and each
part requires the other machine for the next operation, a
``circular wait'' condition occurs and neither part can
proceed with further machining. In this study, we focus
on direct access cellular manufacturing systems.
The performance of a manufacturing unit (cell, plant)
can always be improved by good planning and scheduling
practices. This has been studied by many researchers in
the context of ¯exible manufacturing systems and ¯exible
manufacturing cells (Byrne and Chutima, 1997; Nof
et al., 1979; Rajamani et al., 1990; Raman et al., 1989;
Sawik, 1990; Stecke and Solberg, 1981; Sun et al., 1994;
Wilhelm and Shin, 1985; Yamagata et al., 1991) and
some included considerations of ¯exible routing within
the manufacturing system (Ghosh and Gaimon, 1992;
Lee and Di Cesare, 1994; Nasr and Elsayed, 1990; Stecke,
1992; Stecke and Raman, 1994, 1995). Unfortunately,
most sophisticated scheduling methods require solving
complex models and, once a schedule is ®xed, interruptions such as machine breakdowns and other random
events can defeat the purpose of the schedule. In general,
Boucher et al.
a ®xed schedule of part routings is not very robust in
recovering from system disturbances (Dutta, 1990; Jain
and Elmaraghy, 1997). Rachamadugu and Stecke (1994)
have suggested that the use of routing ¯exibility in lieu of
sophisticated scheduling can substantially improve system performance and obviate the need for scheduling
(Rachamadugu and Stecke, 1994).
Exploiting routing ¯exibility during the execution of
production, particularly when deadlocks must be avoided, requires a relatively sophisticated real-time controller.
Most of the performance analysis research on FMS and
automated ¯exible machining cells ignores the real-time
control requirements. Some researchers have incorporated control issues in their work (Ezpeleta et al., 1997;
Fanti et al., 1997; Lawley et al., 1997a, b, 1998; Lee and
Di Cesare, 1994; Ramadge and Chase, 1992; Ramaswamy
and Joshi 1996; Reveliotis et al. 1997; Yalcin and Boucher, 1998) but, with the exception of Lawley et al.,
(1998), they have not conducted suitable experiments to
evaluate the eects of the real-time controller operation
on system performance.
In this study we implement a real-time controller capable of executing alternative routing sequences while
avoiding deadlock and we evaluate its eect on the resulting system performance. We focus on the evaluation
of performance dierences between automated manufacturing cells that incorporate routing ¯exibility versus
those that do not. This cell controller is interfaced to a
simulation model of a manufacturing cell so that it can
direct the allocation of parts among the machining operations dynamically in real-time. A set of experiments
are then run that compare the performance of the system
when incoming parts have routing ¯exibility versus no
routing ¯exibility. A statistical analysis of resulting performance measures gives insight into the bene®ts associated with exploiting routing ¯exibility during the
deadlock free operation and control of an automated
manufacturing cell.
The rest of the paper is organized as follows. Section 2
introduces the control model. In Section 3, the experiment is de®ned and Section 4 presents the results of the
simulation runs. Section 5 addresses algorithmic and
software design issues and, ®nally, in Section 6 some
conclusions are drawn.
2. The cell controller
It is assumed that each part entering the cell has a unique
identi®cation, each part occupies one resource at a time
and that each resource can process only one part at a time.
A typical example of a machining cell is shown in Fig. 1.
In this example, there are three resources in this cell:
machine 1, machine 2, and a robot. Parts are allowed to
enter the cell via the input buer (I1) and parts leave the
cell after completing machining via the output buer (O1).
Dynamic routing and the performance of automated manufacturing cells
Fig. 1. A ¯exible manufacturing cell.
The process plan for a part shows one or more sequences of machine visitations, each performing an operation, to completely machine a part. Figure 2 illustrates
two parts. Part A has two alternate process plans. It can be
processed either in M1-M2-M1 or M2-M1-M2. Part B has
only one set of operations in M2-M1, and one routing.
We propose to model the controller as a ®nite automata
using the underlying theory of Ramadge and Wonham
(1987) for modeling and control of discrete event systems
based on languages generated by ®nite automata. Brandin
(1996) discusses the application of this theory for controllers implemented on Programmable Logic Controller
(PLC) platforms. However, his paper does not address
issues of deadlock avoidance or system performance.
In the following section, we give a brief review of basic
concepts for ®nite automata. This will be followed by its
application to the cell controller of Fig. 1.
2.1. Some basic concepts of ®nite automata
A symbol r represents an event in a system. A string x is
a ®nite sequence of events that take place in a system. An
alphabet R is a ®nite set of symbols. A language L is a set
of strings from some alphabet. A ®nite automaton is
formally de®ned by a ®ve-tuple:
G R; Q; d; qo ; Qm ;
where Q is the set of states q, R is a ®nite alphabet of
events, d: R ´ Q ® Q is the transition function, qo Î Q is
the initial state and Qm Ì Q is the set of marked (®nal)
977
states. Throughout this paper we will represent initial
states with a double circle and ®nal states with a ®lled
circle. Generally d is a partial function de®ned for some
R(q) Ì R. G can also be represented as a directed graph
with node set Q and an edge q ® q¢ labeled by r for each
(r, q, q¢) such that q¢ = d(r,q).
L(G) = {x| x Î R*, d(x,q0) Î Q is de®ned}, where x
is a string and R* is the set of all strings over the alphabet
R. In other words L(G) is the set of all possible sequences
of events (strings) which take the initial state to some
reachable state in Q.
Lm(G) = {x| x Î R*, d(x,q0) Î Qm}. Lm(G) is the
marked language generated by G which represents the
sequence of events that take the initial state to some
marked (®nal) state, Qm.
For the ®nite automaton G, Qa = {q Î Q | ($w Î R*)
d(w,qo) = q}, i.e., the set of all the states that can be
reached from the initial state is called the accessible states
subset. Also, for the ®nite automaton G, Qca = {q Î Q |
($w Î R*) d(w,q) = Qm}, i.e., the set of all the states q
from which some marked (®nal) state can be reached is
called the co-accessible states subset. The ®nite automaton G is said to be ``trim'' if it is accessible (Q = Qa) and
co-accessible (Q = Qca).
In the theory of supervisory control of Ramadge and
Wonham (1987), the uncontrolled behavior of the plant is
given by a ®nite automaton that is modi®ed to accept
control. This is done by de®ning a set of events, Rc Í R,
which accept control. Those that are uncontrollable are
represented by Ru, and R Ru [ Rc . A supervisor is an
agent that enables or disables controllable events in the
plant such that the language generated satis®es some
speci®cations. Formally the supervisor consists of a ®nite
automaton S and an output function w (control pattern).
S = (S, w), where: S R; X ; n; xo ; Xm and w : R X !
0: disable; 1: enable such that w r; x 0 or 1 if r 2 Rc
and 1 if r 2 Ru :
The supervisor and the plant are coupled to form a
closed loop system. Assume that at a given time the plant
is in state qi and the supervisor is in state xj. A set of
events r Î R can occur in the uncontrolled process in
state qi. According to the state xj only a subset of the
r Î Rc may be permitted. The supervisor generates a
control pattern w. This concept of a closed loop system is
illustrated in Fig. 3.
The closed loop system is denoted by S/G. Two languages generated by S/G are of interest:
L(S/G) = L(S) Ç L(G) is the sequences of events of
the closed loop system.
Lm(S/G) = Lm(S) Ç Lm(G) is the marked sequences
of events of the closed loop system.
2.2. The ®nite automata model of the manufacturing cell
Fig. 2. Process plans for part types A and B.
The ¯exible manufacturing cell model (G) describes the
uncontrolled plant behavior. For illustrative purposes, we
978
Fig. 3. Closed loop coupled system.
will consider the cell con®guration shown in Fig. 1. The
cell has two machines, M1 and M2, a robot for material
handling, and input and output buers.
Figure 4 is the transition graph for this cell. The states
of the plant (Q = {ii, bi, ib, bb}) describe the status of
machines in the cell. For example, ``ib'' is the state where
M2 is busy and M1 is idle. The events (R = {I1M1,
I1M2, M1O1, M2O1}) describe the movement of the part
by the robot, which can be controlled by a supervisor that
enables or disables the initiation of the event. For example, when the cell is in state ``ii'', with a part in the
buer, the part can be loaded on either M1 or M2. These
events are described as I1M1 and I1M2, respectively.
Notice that in state ``bb'' the robot cannot load a new
part to the cell. In this state the robot has no location in
which to load a new part. The only possible moves that
exist are M2O1 and M1O1. If the part on M1 is required
to go to M2 next and the part on M2 is required to go to
M1 next, the system becomes deadlocked due to the
``circular wait'' condition described in Section 1. In this
example qo = ii and qf = ii, qf 2 Qm . In the ®nal state all
parts in the cell are cleared. The transition function, d:
R ´ Q ® Q de®nes the events that transition the cell
among states. For example, in Fig. 4, d(I1M1, ii) ® bi is
de®ned.
Boucher et al.
Each part process plan is modeled as a ®nite automaton. The transition graphs of each automaton for these
process plans are shown in Fig. 5. The states of the model
describe the processing phase the part is in and the events
describe the part movements required between machines.
The initial and ®nal states are denoted by subscripts ``i''
and ``f ''.
These models will be used to synthesize the supervisor
for the cell. The supervisor de®nes the rules that govern
the desired behavior of the cell. The part ®nite automatons describe the rules for routing the part through the
cell. For example, for Part B, B = (R, B, dB, bi, bf), where
B is the part states (B = {bi, b1, b2, bf}), bi and bf are the
initial and ®nal states, and R is the alphabet as previously
de®ned. The transition function, dB: R ´ B ® B, De®nes
the events that transition the part from state to state.
Thus, dB(M2M1, b1) ® b2.
When the rules that govern the routings of all of the
parts under consideration are combined together, a
proper supervisor for the cell is synthesized. The procedure for doing this is described in the next section.
2.4. Creating the supervisory controller
The ®nite automata models of the uncontrolled plant and
the process plans are used to de®ne the controller based
on the common language, R. This controller restricts the
events that are allowed to occur at any time based on the
current states of the plant (qc) and process plans (xc), and
whether or not the event is a legal transition in both the
plant model (G) and the process plan model (S). There are
two steps in the process of creating this controller:
(i) shuing the process plans; and (ii) coupling the
shued process plans with the plant model.
Step 1, shuing (denoted by symbol ``||'') (Ramadge
and Wonham, 1987), is taking the Cartesian product of
the remaining states of the process plans of the parts
2.3. The ®nite automata models of the process plans
The process plan of a part explicitly de®nes the possible
routes a part may take for complete processing. The
process plans of two parts, A and B, are illustrated in
Fig. 2. Part A has routing ¯exibility. It has to visit M1
and M2, but one of them twice. Part B must visit M2 and
M1 in that order.
Fig. 4. Transition graph for cell in Fig. 1.
Fig. 5. Finite automata for part types A and B.
979
Dynamic routing and the performance of automated manufacturing cells
currently under consideration by the controller. When the
supervisor is informed that a new part is ready to enter
the cell, the ®nite automata model of that part is shued
with the ®nite automata models of the parts already in the
cell. This is illustrated in Fig. 6, where it is assumed that
we are in a state of the system when part A is in state a1
and part B is in the input buer (xc = a1bi). The transition graph of the shue of parts A and B shows all the
possible movements (events) that take the parts from one
state to another. In order to keep track of which part is
moved, we have modi®ed event names to include part
identi®ers. The ®nal state is reached when both parts have
cleared the cell (Xm = afbf).
An important point to note about Fig. 6 is that it
contains some illegal states. For example, state a3b1 is a
state in which both part A and part B are on M2. This
should not be allowed based on the rules governing the
operation of the cell. Also, state a1b1 is the state in which
part A is on M1 and should next be routed to M2.
However, part B is on M2 and should next be routed to
M1. This is a deadlock state. In order to avoid these
unwanted states, it is necessary to couple the process plan
models to the plant model. This is the second step in
creating the supervisory controller.
Step 2 in creating the supervisor is the coupling of
Fig. 6 with the cell ®nite automata. The coupled supervised discrete event process is de®ned as:
S=G R; Q X ; d n; xc qc ; Xm Qm ;
where the product operation is the Cartesian product and
qc is the current state of the cell model. The transition
graph for S/G is shown in Fig. 7. Figure 7 allows only the
legal moves that should be allowed to occur in the system.
The manner in which the act of coupling restricts the
supervisor to process only legal moves can be explained
as follows. The coupled system transition matrix (d ´ n)
contains only the events satisfying both the cell transition
Fig. 7. Transition graph of coupled supervisor and plant
model.
matrix and the process plan transition matrix. So, as
previously pointed out, state a3b1 of Fig. 6 is a state in
which both part A and part B are on M2. In Fig. 6 this
state is reachable from state a3bi by event I1M2,B.
However, in Fig. 7, the coupled system shows state
a3bi.ib, indicating that there is already one part on M2
(part A). In the cell ®nite automata, d does not de®ne the
event I1M2 when the cell is in state ib (see Fig. 4).
Therefore, the event is not allowed from state a3bi.ib in
the coupled system. This is why Fig. 7 does not contain
this transition at that state.
From the transition graph we can determine:
Lm S=G M1M2; A M2M1; A M1O1; A I1M2; B M2M1;
B M1O1; B; M1M2; A M2M1; A I1M2;
B M1O1; A M2M1; B M1O1; B:
The language Lm(S/G) takes the coupled system from an
initial state to the combined ®nal state of all the parts.
Since all the parts have completed processing in their ®nal
state, the strings in Lm(S/G) are deadlock-free execution
sequences. Each string is a path from the initial state of
the transition digraph (a1bi.bi) to the marked state
(afbf.ii). Finally, the control pattern, w, for the supervisor
synthesized above is shown in Table 1.
The control pattern shown in Table 1 restricts the
movement of parts in the cell to deadlock-free sequences.
Assume for example that a new part is queued for production (state a1bi.bi). In Table 1, the loading event I1M2
Table 1. Supervisory control pattern, w
State
Fig. 6. Transition graph of the shue of parts A and B from
initial state a1bi.
a1bi.bi
a3bi.ib
a5bi.bi
afbi.ii
a5b1.bb
afb1.ib
afb2.bi
I1M1
I1M2
M1M2
M2M1
0
0
0
0
0
0
0
0
0
1
1
0
0
0
1
0
0
0
0
0
0
0
1
0
0
0
1
0
M2O1 M1O1
0
0
0
0
0
0
0
0
0
1
0
1
0
1
980
is disabled by the control pattern in state a1bi. If this event
is allowed to happen, the cell would become deadlocked
(state a1b1.bb). The deadlock situation would arise because Part B would be on M2 and it can only go to M1.
However M1 is occupied by Part A and Part A needs to
go to M2.
With regard to our control problem, we should point
out that we do not ``force'' a particular path. The controller allows ``opportunistic routing'' of the parts based
on which part is available to be moved and whether or
not the controller has enabled the move in the supervisory
control pattern, w. The robot is allowed to perform
moves that are enabled. Therefore, if a new part is in the
input buer it is available to be moved. However, the
robot will perform the move only if the supervisor has
indicated that the move is enabled at that point in time.
3. Experimental design
The real-time controller designed in Section 2 is a maximally permissive controller that avoids deadlock and
accommodates routing ¯exibility. The objective of this
experiment is to demonstrate this controller and to
compare its eects on schedules with routing ¯exibility
versus no routing ¯exibility. The following performance
measures will be compared: average ¯ow time, minimum
¯ow time, maximum ¯ow time, makespan, and machine
utilization. An experimental tool was built that is composed of two software modules: (i) a simulation model of
a four machine, one robot direct address manufacturing
cell; and (ii) a controller based on the ®nite automata
model shown in Section 2. The simulation model is programmed using Arena software and the controller is
written in the C programming language and communicates with Arena using Windows DDE.
This experimental tool emulates the interaction between a physical cell and its supervisory controller. A
block diagram showing the relationship between the
controller and the simulator is shown in Fig. 8. Each time
the simulation model completes the execution of an event,
the event r is reported to the controller. The controller
then updates the current state of the transition graph of
the coupled system (Fig. 7). Based on the control pattern
(Table 1), the controller then sends a message to the
simulator indicating the allowable next actions, w.
Fig. 8. Software modules for experimental tool.
Boucher et al.
Therefore, each part movement that the simulator wants
to execute is conditioned on being given permission by
the controller. In this fashion the controller ensures that
the simulator does not perform a move that is not allowable based on the control pattern.
The supervisor, i.e., the coupled system (Fig. 7) and the
supervisory control pattern (Table 1), is updated each
time a new part enters the input buer of the cell (enters
the initial, or subscript i state). A new control pattern, w,
is determined to allow the new part to be loaded. The
simulator will either load the new part, if allowed at the
time, or execute the next allowed event on its event calendar.
The following three variables were used as the controlling parameters to design the cases for the set of experiments:
1. Number of unique part types.
2. Number of parts simultaneously considered for
control.
3. Routing path ¯exibility.
The domain of the experimental space is shown in
Fig. 9. The ``number of unique part types'' refers to the
population of parts from which random arrivals are
generated. Four levels were considered: 2, 5, 10, and 20.
Each part population is used to generate random arrivals
to the cell from that part population. Therefore, these
four levels re¯ect dierences in the variety of part types
that the cell is handling. The part population was constructed by randomly generating 20 parts and three
attributes: (i) number of machining operations; (ii) machines assigned to those operations; and (iii) processing
times for each operation. From this population, two sets
were de®ned. One in which alternative routing was possible and one with only a single route. Table 2 summarizes
the 20 part types. From the 20 randomly generated part
types, subsets of 10, 5 and 2 were randomly selected to
construct the other population sets.
The ``number of parts simultaneously considered for
control'' refers to how many of the randomly generated
parts are simultaneously being processed in the cell or
available in the input buer. Two cases were considered:
four and ®ve parts. So, for example, if ®ve parts are
Fig. 9. Variables used in experimental design.
981
Dynamic routing and the performance of automated manufacturing cells
Table 2. Population of parts
Part
number
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Operation
Processing
time
Alt #1
Alt #2
1
2
3
4
1
2
3
1
2
3
1
2
1
1
2
1
2
3
1
2
3
4
1
2
3
4
1
2
1
1
2
1
1
2
1
2
1
2
1
1
2
3
1
2
3
1
43
32
20
35
20
63
36
38
36
76
56
66
26
72
77
59
77
52
77
76
56
40
55
41
32
72
35
64
43
56
53
70
72
76
29
37
49
28
53
49
61
41
27
61
33
74
M2
M1
M3
M4
M3
M4
M1
M1
M2
M4
M2
M4
M3
M1
M3
M1
M2
M3
M2
M3
M4
M1
M1
M2
M3
M4
M2
M4
M2
M3
M1
M3
M4
M2
M4
M1
M4
M3
M4
M2
M4
M1
M4
M1
M2
M4
M3
M4
M2
M1
M1
M2
M3
M4
M3
M1
M3
M1
M4
M4
M2
M3
M4
M1
M4
M1
M2
M3
M3
M4
M1
M2
M3
M1
M4
M4
M2
M1
M1
M3
M2
M3
M2
M1
M3
M1
M3
M2
M2
M3
M4
M1
considered and three of the ®ve parts are in machining,
the two remaining parts in the input buer are being
evaluated for loading on the remaining available machine. As a part ®nishes processing, another is loaded into
the input buer.
The third dimension, ``routing path ¯exibility'', is the
variable of interest for comparison purposes. The single
routing path treatment ®xes the process plan so that the
next move of the part must be made to one speci®c machine. The multiple routing path treatment allows the
part to be moved to either one of two speci®c machines in
the cell. Therefore, in Table 2, part 1 may have operation
1 performed on either M2 or M3, operation 2 on either
M1 or M4, and so on. In Table 2, Alt #1 is used for the
single routing path case.
Twenty replications (cases) were run for each cell of
Fig. 9. The part sequence for each replication was generated by taking a random sample of size 25 from the
relevant population of parts (2, 5, 10, 20). Since each
sample used a dierent random number seed, the 20
replications (cases) provided 20 unique sequences of 25
randomly selected parts.
The 20 replications of the 2 ´ 4 pairings of four and
®ve parts considered and number of part types were then
run for the two treatments of interest: single routing
versus multiple routing. This yielded 20 pairwise comparisons in each cell that could be used to analyze differences between the two treatments. The statistical
analysis of results is given in the next section.
4. Experimental results
4.1. Routing ¯exibility versus single routes
The 20 pairwise comparisons in each cell were subjected
to paired-sample t-tests on the dierence between means,
ld. The test considers the hypothesis:
H0 : ld 0;
HA : ld 6 0;
where ld = ls ) lm and s denotes the single-routing
treatment and m denotes multiple-routing treatment. The
test statistic is:
d
p ;
t0
Sd = n
where:
n
1X
dj ; dj xj s ÿ xj m;
d
n j1
2P
P
2 31=2
n
n
1
2
ÿ
d
d
j1 j 7
6 j1 j n
Sd 4
5 :
nÿ1
The test statistic for a two-tail test with 19 degrees of
freedom and a 99.9% con®dence interval is 3.883.
Table 3 shows the results on regular measures of performance: mean ¯ow time, min ¯ow time, max ¯ow time,
and makespan. In most cases, the null hypothesis is rejected above the 99% level of signi®cance. Except for min
¯ow time, the multiple routing treatments are signi®-
982
Boucher et al.
Table 3. Single versus multiple process plans
Four parts simultaneously controlled
Five parts simultaneously controlled
Part types
Mean, d
Standard deviation, Sd
t-statistic
C.I.
Mean ¯ow time
20
59
22
11.8
*
10
66
27
10.8
*
5
68
25
12.4
*
2
121
22
24.7
*
20
67
38
7.8
*
10
80
36
9.9
*
5
64
28
10.4
*
2
145
27
24.3
*
Part types
Mean, d
Standard deviation, Sd
t-statistic
C.I.
Minimum ¯ow time
20
10
7
5
18
20
1.6
1.2
insig.
insig.
5
0
0
±
insig.
2
21
8
12.4
*
20
4
22
0.8
insig.
10
8
24
1.4
insig.
5
)2
8
1.0
insig.
2
23
4
22.8
*
Part types
Mean, d
Standard deviation, Sd
t-statistic
C.I.
Maximum ¯ow time
20
10
164
172
118
179
6.2
4.3
*
*
5
137
83
7.4
*
2
269
177
6.8
*
20
212
113
8.4
*
10
254
270
4.3
*
5
193
173
5.0
*
2
357
268
6.0
*
Part types
Mean, d
Standard deviation, Sd
t-statistic
C.I.
Makespan
20
397
146
12.2
*
5
473
163
13.0
*
2
816
148
24.6
*
20
402
199
9.0
*
10
467
202
10.4
*
5
387
135
12.8
*
2
807
141
25.7
*
10
474
139
15.3
*
* The t-statistic for 99.9% con®dence level is 3.883 for 19 degrees of freedom
cantly better than the single routing treatments both for
four or ®ve parts considered simultaneously.
When four parts are simultaneously considered for
control, the order of magnitude of the improvement on
each criterion is shown in Table 4. In general, for this
experiment, multiple process plans provide between
24±44% improvement over single process plans on regular measures of performance except for min ¯ow time.
The greatest percentage improvements are made in the
maximum ¯ow time. Decreased maximum ¯ow time indicates that not only are parts ¯owing through the system
more quickly but also no one part is getting stuck in the
system for extended periods of time.
The primary factor that accounts for the superior
performance of multiple process plans is the fact that
assigning jobs to alternate machines reduces the processing time on the bottleneck machine in the cell. In
these simulations the total machining times were the same
in each pairwise trial. Therefore, both the single process
plans and the multiple process plans are required to have
the same total machining time. The advantage of the
multiple process plans is that the machining can be assigned more equally among machines, better balancing
the workload of the machines in the cell. This point is
shown very well in Fig. 10, which is a comparison of
machine utilization for some typical cases with and
without routing ¯exibility.
4.2. Considering more parts for simultaneous control
It can be argued that better machine utilization can be
obtained by increasing the selection of jobs to move into the
cell when machines are available. This improved machine
Table 4. Comparison of average results; (4 parts simultaneously controlled)
20
10
5
2
Mean ¯ow time
Single process plan
Multiple process plan
Percent improvement (%)
243
184
24
279
213
24
248
180
27
314
193
38
Minimum ¯ow time
Single process plan
Multiple process plan
Percent improvement (%)
41
35
17
58
53
9
70
70
0
132
111
16
Maximum ¯ow time
Single process plan
Multiple process plan
Percent improvement (%)
564
399
29
645
472
27
519
382
27
609
340
44
Makespan
Single process plan
Multiple process plan
Percent improvement (%)
1618
1221
25
1888
1414
25
1658
1185
29
2080
1265
39
983
Dynamic routing and the performance of automated manufacturing cells
Fig. 10. Average machine utilization (four parts simultaneously controlled).
utilization would result in shorter makespans. We conjectured that an improvement would be possible for both the
case of single route and multiple route parts if more parts
were simultaneously considered for loading in the cell.
Since there are four machines in the cell, considering more
than four parts provides more options for the next part to
be introduced to the cell. However, as shown in Table 5,
this was not the case. The eect of considering more jobs
simultaneously did not improve the performance of the cell
under multiple routing. Going from four to ®ve parts
considered simultaneously resulted in no signi®cant performance improvement when the parts had multiple routings. It is important to note that the performance of single
routing plans when considering ®ve or six parts simultaneously is still signi®cantly worse than the performance of
multiple routing plans when considering four parts simultaneously. This is indicated in the last rows of Table 5.
5. Computational issues
Finite automata models tend to grow exponentially in
state space as problem size grows. This occurs because the
shuing of the states of the ®nite automata of the new
part, n1, with the ®nite automata of the parts in the system, n2, yields the Cartesian product, n1 ´ n2, for the
shued system. In this application, the cell size (number
of machines) and the routing requirements (number of
operations and number of parts being simultaneously
considered) govern problem size. Since we are addressing
real-time control, it is clear that the state space size and
computation time should be addressed.
Table 5. Comparison on mean makespan for number of parts
considered for processing
Part types
20
10
5
2
Multiple routing: ®ve versus four parts
Change in mean
6
55
t-statistic
0.2
1.7
C.I.
insig.
insig.
95
5.7
*
)4
0.2
insig.
Single routing: ®ve versus four parts
Change in mean
11
48
t-statistic
0.5
1.6
C.I.
insig.
insig.
10
0.6
insig.
)13
1.8
insig.
Single routing: six versus ®ve parts
Change in mean
)7
)10
t-statistic
0.3
0.4
C.I.
insig.
insig.
12
1.0
insig.
10
1.7
insig.
Multiple routing (four parts) versus single routing (six parts)
Change in mean
)401
)512
)495
)813
t-statistic
15.0
12.4
16.4
25.6
C.I.
*
*
*
*
* The t-statistic for 99.9% con®dence level is 3.883 for 19 degrees of
freedom
984
Boucher et al.
5.1. Controlling state space size
In this research we propose a method for limiting the
state space the controller must consider by an adjustment
in the manner in which the cell and the supervisor are
coupled. When a new part is considered for processing in
the cell, the ®nite automata model of the new parts process plan needs to be shued with the ®nite automata
models of the parts already in the cell to obtain a new
supervisor S. This has been demonstrated in Section 2.4
with an example. Shuing the ®nite automata models of
parts leads to exponential growth of state space when
many parts are simultaneously considered for processing.
In order to keep the size of the state space to a level that
can be evaluated in real time, we use the already existing
coupled system model to determine the new event sequences that allow all the parts in the cell to be completely processed. The state space of the coupled system is
much smaller compared with the state space of the supervisor obtained by shuing. We will formally prove
that using the coupled system for generating the supervisor is not more restrictive (will not restrict the marked
language) then the supervisor obtained by the methodology described in Section 2.4. Therefore, this approach
to state space reduction saves computational time without restricting the marked language of the coupled system.
Fig. 11. Transition graph of S0 .
Consider another part of part type B that is going to be
loaded into the cell at this time. The transition graph of
the ®nite automata model SP jjS 0 is depicted in Fig. 12.
When SP jjS 0 is coupled with the plant model G as
described in Section 2.5, the resulting transition graph of
the ®nite automata model is illustrated in Fig. 13.
Theorem 1. Let SP represent the ®nite automaton model of
a new part and S be the ®nite automaton generated by
shuing the process plans of parts already in the cell. Also
let S 0 be the generator for Lm S=G 2 R . A supervisor
obtained by SP jjS 0 is not more restrictive then a supervisor
obtained by SP jjS.
Proof by contradiction. Assume that SP jjS 0 is more restrictive than SP jjS contradicting the theorem stated.
Then the following relationship can be established regarding the marked languages of the supervisors coupled
with the plant model.
Fig. 12. Transition graph of SP jjS 0 .
ÿ
Lm SjjSp =G Lm S 0 jjSP =G:
The above statement is true if there exists a string w 2 R
such that w 2 Lm S and w 2 Lm G but w 2
= Lm S 0 .
0
However, since S is the generator for Lm S=G, then
Lm S 0 Lm S=G Lm S \ Lm G. Clearly, any string
that is a member of Lm S and Lm G must also be included in Lm S 0 . Therefore such a string w cannot exist
j
and SP kS 0 is not more restrictive than SP jjS.
We will illustrate the above theorem with an example.
Consider a time when the coupled system in the example
in Section 2 has reached state a5b1.bb. The ®nite automata
corresponding to S 0 at this point is shown below in
Fig. 11.
Fig. 13. Transition graph of S 0 jjSP =G.
Dynamic routing and the performance of automated manufacturing cells
It is left to the reader to verify that the same event
sequence is obtained by using the methodology described
in Section 2. We only note that the size of the supervisor
S obtained by the traditional approach of shuing the
®nite automata models of the parts individual process
plans would lead to 8 ´ 4 ´ 4 = 128 states for the three
parts simultaneously considered for processing. On the
other hand as seen in Fig. 12, the state space is only 16
when shuing Sp jjS 0 . It is important to note that the
amount of reduction in state space cannot be generalized.
The reduction depends on factors such as the ¯exibility
related to parts and the time that a new part is considered
for processing.
5.2. Computer algorithms
In this section we will brie¯y describe the programmed
algorithms used in implementing the controller described
in Section 2.4. One of the input ®les used in these computations is a ®le that relates the ®nite automata model of
the part process plan to the state of the cell. This is shown
for parts A and B in Fig. 14. These ®les are constructed
by combining the part states of Fig. 5 with the corresponding plant states of Fig. 4. The plant states are the
tuple (M1 M2).
As explained in Section 2.4, the marked language of the
coupled system, Lm(S/G), determines the control pattern
for each state of the system. A Depth First Search algorithm (Tarjan, 1972), which is widely used in ®nding
routes through directed graphs is used to determine the
marked language of the coupled model. The algorithm
begins at the initial node and evaluates the nodes adjacent
to the initial node. If the node being evaluated is illegal, it
is deleted from the graph and no further fathoming of its
successor nodes is considered.
The part process plan/plant state list is used during the
shuing process in order to identify illegal states. Illegal
states are states in which more than one part is occupying
the same machine. These states are identi®ed by taking
the bitwise logical AND of the plant states corresponding
to the nodes of the process plans that are being shued.
Fig. 14. Part process plan/plant state lists for parts A and B.
985
If the logical AND does not return a zero, the state is not
legal. So, for example, plant_state(a1) AND plant_
state(b1) = (1 0) AND (0 1) = (0 0) is legal. In that state
(a1b1), part A is on M1 and part B is on M2. However,
plant_state(a2) AND plant state(b1) = (1 0) AND
(1 0) = (1 0) is not legal. In this state both part A and
part B would be occupying M2 simultaneously.
Determining illegal nodes as described above is analogous to the coupling process described in Section 2.4.
Instead of using the coupled system transition matrix
(d ´ n) to check if an event is enabled, a simple AND
operation determines if the state that will be reached after
executing the event is physically possible in the cell.
The next adjacent legal node is then visited and the
process continues until all marked sequences of the coupled model are found. The completion of this process for
the example problem yields the generator of the marked
language as shown in Fig. 15. If another part arrives, it is
the generator depicted in Fig. 15 that is shued and
coupled with the newly arrived part. This process was
explained in Section 5.1.
5.3. Computation time
Employing the state space reduction technique of Section 5.1 in updating the coupled system transition graph
yields computation times that are realistic for supervisory controllers of manufacturing cells. The longest
computational cycle for the controller occurs when a
new part enters the input buer, requiring that the
transition graph and the supervisory control pattern be
recomputed. In all other circumstances, the computational time between receiving event r and returning the
control rule w is trivial. When a new transition graph
and control rule are calculated, the computational time
is proportional to the number of states (nodes) in the
transition graph of the shued model and the amount
of time required to ®nd the marked language of the
coupled model.
Fig. 15. Generator for the marked language of the coupled
model.
986
Boucher et al.
Table 6. Experimental problem state space (400 MHz Pentium II, 128 MB RAM)
States generated in shuing
Transitions generated in shuing
States for the generator of Lm(S/G)
Transitions for the generator of Lm(S/G)
CPU time, shuing (seconds)
CPU time, determining Lm(S/G) (seconds)
CPU time, 1st deadlock-free path (seconds)
Total CPU time, rows 5 + 6 (seconds)
Average
Minimum
Maximum
1338
5193
554
1510
0.01
0.23
<0.01
0.24
212
672
113
284
<0.01
<0.01
<0.01
<0.01
4710
19 616
1731
4683
0.06
1.26
<0.01
1.32
In the experiments of Section 3, the largest problem
size considered was a four-machine cell, ®ve parts considered simultaneously, with multiple routings for each
part. Table 6 shows the average, minimum, and maximum state spaces encountered for this problem size.
In Table 6, rows 1 and 2 show the state space size
generated during the shuing process. Row 5 is the CPU
time required to perform shuing, which includes labeling the shued states as either legal or illegal. Rows 3 and
4 show the state space size for the generator of the
marked language. The reduction in state space results
from deleting the illegal states and the deadlock states.
Row 6 is the CPU time required for this step.
The Depth First Search algorithm is searching for legal
and deadlock free paths from the initial node to the ®nal
node of the graph, where all parts under consideration are
completely processed. Row 7 is the CPU time for ®nding
the ®rst legal and deadlock free path. Row 7 has signi®cance with respect to real time performance, since the
existence of a single deadlock-free sequence is enough to
enable the ®rst event in the sequence; i.e., to give permission for the new part to enter the cell. Of course, all
the marked sequences must eventually be found in order
to prepare the supervisor for the next request to load the
cell with a new part.
Note that the state space and CPU times are well
within that which is required for real time control.
However, due to the fact that state space grows exponentially with increasing cell size, these results cannot
be expected to pertain to larger systems. Table 6 indicates that, for problems of the size considered here, the
proposed methodology can be implemented in real
time.
6. Conclusion
In this paper we addressed some issues related to realtime operational control of automated manufacturing
cells. In particular, we have implemented a maximally
permissive deadlock-free controller that can incorporate
routing ¯exibility. The controller makes the decision on
what machine should perform the next operation on a
given part in real time by considering the current state of
the cell and the routing requirements of parts. We have
conducted experiments to investigate the eects of routing ¯exibility on the cell's performance as well as the
computational time associated with the control algorithm.
Our results show that incorporating dynamic routing
into control decreases average ¯ow time and makespan.
This indicates that both for low variety/high volume and
high variety/low volume cells considering routing ¯exibility results in considerable gains in performance. The
greatest improvements were in the maximum ¯ow time,
indicating that parts are not getting stuck in the cell for
extended periods of time. Minimizing maximum ¯ow
time is very important for systems that work with tight
due dates and a high number of part types.
From our results we can conclude that one practice to
improve the performance of manufacturing cells is to
incorporate routing ¯exibility into real time operational
control of the cell. When this is coupled with more ecient scheduling policies appropriate to ¯exible manufacturing systems, further increases in resource utilization
and system performance would be expected.
References
Abdin, M.F. (1986) Solution of scheduling problems of job shop type
FMS with alternative machine tools. Computers and Industrial
Engineering, 11, 214±245.
Al-Quattan, I. (1990) Designing ¯exible manufacturing cells using
branch and bound method. International Journal of Production
Research, 28(2), 325±336.
Askin, R.G., Selim, H.M. and Vakharia, A.J. (1997) A methodology
for designing ¯exible cellular manufacturing systems. IIE Transactions, 29(7), 599±610.
Benjaafar, S., Morin, T.L. and Talavage, J.J. (1995) Strategic value of
¯exibility in sequential decision making. European Journal
of Operations Research, 82(3), 438±457.
Benjaafar, S. and Ramakrishnan, R. (1996) Modelling, measurement
and evaluation of sequencing ¯exibility in manufacturing systems.
International Journal of Production Research, 34(5), 1195±1220.
Boucher, T.O. and Muckstadt, J.A. (1985) Cost estimating methods for
evaluating the conversion from a functional layout to group
technology. IIE Transactions, 17(3), 268±276.
Dynamic routing and the performance of automated manufacturing cells
Brandin, B.A. (1996) The real-time supervisory control of an experimental manufacturing cell. IEEE Transactions on Robotics and
Automation, 12(1), 1±14.
Byrne, M.D. and Chutima, P. (1997) Real time operational control of
an FMS with full routing ¯exibility. International Journal of
Production Economics, 51, 109±113.
Dahel, N.E. and Smith, S.B. (1993) Designing ¯exibility into cellular
manufacturing systems. International Journal of Production
Research, 31(6), 933±945.
Dutta, A. (1990) Reacting to scheduling exceptions in FMS environments. IIE Transactions, 22(4), 300±314.
Ezpeleta, E., Colom, J.M. and Martinez, J. (1997) Petri net based
deadlock prevention policy for ¯exible manufacturing systems.
IEEE Transactions on Robotics and Automation, 11(2), 173±184.
Fanti, M.P., Maione, B., Mascolo, B. and Turchiano, B. (1997) Eventbased feedback control for deadlock avoidance in ¯exible production systems. IEEE Transactions on Robotics and Automation,
13(3), 347±363.
Ghosh, S. and Gaimon, C. (1992) Routing ¯exibility and production
scheduling in a ¯exible manufacturing system. European Journal
of Operational Research, 60, 344±364.
Jain, A.K. and Elmaraghy, H.A. (1997) Production scheduling and
rescheduling in ¯exible manufacturing. International Journal of
Production research, 35(1), 281±309.
Lawley, M., Reveliotis, S. and Ferreira, P. (1997a) Flexible manufacturing system structural control and the neighborhood policy:
part 1, correctness and scalability. IIE Transactions, 29, 877±887.
Lawley, M., Reveliotis, S. and Ferreira, P. (1997b) Flexible manufacturing system structural control and the neighborhood policy:
part 2, generalization, optimization, and eciency. IIE Transactions, 29, 889±899.
Lawley, M.A., Reveliotis, S. and Ferreira, P.M. (1998) A correct and
scaleable deadlock avoidance policy for ¯exible manufacturing
systems. IEEE Transactions on Robotics and Automation, 14(5),
796±809.
Lee, D.Y. and Di Cesare, F. (1994) Scheduling ¯exible manufacturing
systems using Petri nets and heuristic search. IEEE Transactions
on Robotics and Automation, 10(2), 123±132.
Lin, G.Y.-J. and Solberg, J.J. (1991) Eectiveness of ¯exible routing
control. International Journal of Flexible Manufacturing Systems,
3, 189±211.
Nasr, N. and Elsayed, E.A. (1990) Job shop scheduling with alternative
machines. International Journal of Production Research, 28(9),
1595±1609.
Nof, S.Y., Barash, M.M. and Solberg, J.J. (1979) Operational control
of item ¯ow in versatile manufacturing systems. International
Journal of Production Research, 17, 479±489.
Rachamadugu, R., Nandkeolyar, U. and Schreiber, T. (1993) Scheduling with sequencing ¯exibility. Decision Sciences, 24(2), 315±342.
Rachamadugu, R. and Stecke, K.E. (1994) Classi®cation and review of
FMS scheduling procedures. Production Planning and Control,
5(1), 2±10.
Rajamani, D., Singh, N. and Aneja, Y.P. (1990) Integrated design of
cellular manufacturing systems in the presence of alternative
process plans. International Journal of Production Research, 28(8),
1541±1554.
Ramadge, P.J. and Chase, C. (1992) On real-time scheduling policies
for ¯exible manufacturing systems. IEEE Transactions on Automatic Control, 37, 491±496.
Ramadge, P.J. and Wonham, W.M. (1987) Supervisory control of a
class of discrete event processes. SIAM Journal of Control and
Optimization, 25(1), 206±230.
Raman, N., Rachamadugu, R.V. and Talbot, F.B. (1989) Real-time
scheduling of an automated machining center. European Journal
of Operational Research, 40, 222±242.
987
Ramaswamy, S.E. and Joshi, S.B. (1996) Deadlock-free schedules for
automated manufacturing workstations. IEEE Transactions on
Robotics and Automation, 12(3), 391±400.
Reveliotis, S.A., Lawley, M.A. and Ferreira, P.M. (1997) Polynomialcomplexity deadlock avoidance policies for sequential resource
allocation systems. IEEE Transactions on Automatic Control,
42(10), 1344±1357.
Sankaran, S. and Kasilingam, R.G. (1993) On cell size and machine
requirements planning in group technology systems. European
Journal of Operational Research, 69, 373±383.
Sawik, T. (1990) Modeling and scheduling of a ¯exible manufacturing
system. European Journal of Operational Research, 45, 177±190.
Stecke, E.K. (1992) Procedures to determine part mix ratios for independent demands in ¯exible manufacturing systems. IEEE
Transactions on Engineering Management 39(4), 359±369.
Stecke, E.K. and Raman, N. (1994) Production planning decisions in
¯exible manufacturing systems with random material ¯ows. IIE
Transactions, 26(5), 2±17.
Stecke, E.K. and Raman, N. (1995) FMS planning decisions, operating
¯exibilities, and system performance. IEEE Transactions on
Engineering Management, 42(1), 82±89.
Stecke, K.E. and Solberg, J.J. (1981) Loading and control policies for a
¯exible manufacturing system. International Journal of Production
Research, 19, 481±490.
Sun, T.-H., Cheng, C.-W. and Fu, L.-C. (1994) A Petri net based
approach to modeling and scheduling for an FMS and a case
study. IEEE Transactions on Industrial Electronics, 41(6), 593±
600.
Tarjan, R.E. (1972) Depth ®rst search and linear graph algorithm.
SIAM Journal of Computing, 1(2), 146±160.
Tilsley, R. and Lewis, F.A. (1977) Flexible cell production systems ± a
realistic approach. Annals of CIRP, 25, 269±271.
Viswanadham, N., Narahari, Y. and Johnson, T.L. (1990) Deadlock
prevention and deadlock avoidance in ¯exible manufacturing
systems using Petri net models. IEEE Transactions on Robotics
and Automation, 6(6), 713±723.
Wilhelm, W.E. and Shin, H.-M. (1985) Eectiveness of alternative
operations in a ¯exible manufacturing system. International
Journal of Production Research, 23(1), 65±79.
Wysk, R.A., Yang, N.S. and Joshi, S. (1991) Detection of deadlocks in
¯exible manufacturing cells. IEEE Transactions on Robotics and
Automation, 7(6), 853±858.
Yalcin, A. and Boucher, T.O. (2000) Deadlock avoidance in ¯exible
manufacturing systems using ®nite automata. IEEE Transactions
on Robotics and Automation, Forthcoming.
Yamagata, K., Tamura, H. and Hatono, I. (1991) Modeling and online scheduling of ¯exible manufacturing systems using stochastic
Petri nets. IEEE Transactions on Software Engineering, 17, 126±
132.
Biographies
Thomas O. Boucher is Professor of Industrial Engineering at Rutgers
University. He holds a B.S. in Electrical Engineering from the University of Rhode Island, an M.B.A. in Finance from Northwestern
University, and a M.S. and Ph.D. in Industrial Engineering from Columbia University. His research and teaching interests include computer automation and computer integration in manufacturing,
production planning and control, and engineering and industrial economics. He is the author of the textbook Computer Automation in
Manufacturing (Chapman & Hall, 1996) and co-author of Analysis and
Control Production Systems (Prentice-Hall, 1994). Professor Boucher is
a senior member of IIE, IEEE, and SME.
988
Ali Yalcin received his B.S. and M.S. degrees in Industrial and Systems
Engineering from Rutgers University, New Brunswick New Jersey in
1995 and 1997. He is currently a Doctoral student and research assistant at Rutgers University. His research areas are modeling, analysis,
control and scheduling of automated manufacturing systems and
manufacturing information systems. He is a student member of the
IEEE.
Boucher et al.
TsuTa Tai is a Senior System Analyst at Aspentech, Supply Chain
Division (Formerly known as Chesapeake Decision Science). He holds
a M.S. in Computer Science from Rochester Institute of Technology.
He is currently working on his M.S. degree in Industrial Engineering at
Rutgers University.