Journal of Manufacturing Systems Volume 13/No. 2
Resolution of Deadlocks in Flexible Manufacturing Systems: Avoidance and Recovery Approaches Richard A. Wysk, Texas A&M University, College Station Neng-Shu Yang, Chung Yuen Christian University, Chung Li, Taiwan Sanjay Joshi, Pennsylvania State University, University Park
Abstract
are only two parts in the system. Figure 2 illustrates some deadlocking situations. A system deadlock may involve two or more machines (and parts), as shown in Figure 2. Although a system deadlock can be eventually resolved if there is storage provided to buffer at least one deadlocked part, a deadlock situation can still be created if the storage is not properly used, as shown in Figure 2, view c. A deadlock is undesirable because it inhibits operation of an FMS in an automated mode. Designing and operating an FMS without deadlock considerations can lead to excessive manual intervention to resolve deadlocks and having to reset the system to a known manufacturing state. Deadlocking can be prevented in several ways, each imposing constraints and restrictions on flexibility and affecting the complexity of control. Approaches to eliminate deadlocking and associated problems can be classified in two categories.
One problem that has often been overlooked in research in flexible manufacturing systems (FMSS) design and operation is deadlocking. An FMS deadlock is a situation where machines have been allocated parts so that further part movement is inhibited. In our earlier paper, 1 a procedure to detect deadlocks was presented. In this paper, two approaches to resolve deadlock problems, namely avoidance and recovery, are presented and analyzed. These approaches can be used to avoid or resolve deadlocks during active control of the FMS. A simulation study to compare deadlock resolution approaches to conventional approaches for avoiding deadlocks is also presented. Results of the analysis are presented.
Keywords: Deadlocking, FMS, FMS Control, Deadlock Avoidance, Deadlock Recovery
Introduction Deadlocking
Eliminating Deadlocks During System Design
Problems in flexible manufacturing system (FMS) design, scheduling, planning, operation, and performance have been of considerable interest for the past few years. Most of these problems have ignored some operational issues that have become obvious with increased numbers of FMS implementations. One such problem that has a direct impact on FMS operation is deadlocking. Manufacturing system deadlocking is a situation where machines in a direct-address flexible manufacturing system are allocated various parts so that further part flow is inhibited. Figure 1 shows a robot-tended four-machine cell. In Figure 1, part P1 on machine A is scheduled to visit machine B for the next operation. Part P2 on machine B is scheduled to visit machine A next. Without a queue, the system is in a state of deadlocf~ even though there
1. Unidirectional Flow: An FMS can be designed to restrict part flow to a unidirectional sequence. Using Figure 1 as a typical system, it becomes apparent that if product flow is restricted to a unidirectional sequence, then deadlocking cannot occur. For example, if all parts use the sequence A-B-C-D or a subset of the sequence, then no deadlock will occur. Some FMSs employ this type of loading control. These systems are referred to here as programmable transfer lines because they closely resemble hard-wired transfer line flow. It is clear that such systems severely impair flexibility by limiting the parts and sequence of operations; however, the control problem becomes significantly simpler. 2. Using Buffers: Co & Wysk 2 showed that if the maximum number of parts in the system is n and
128
Journal of Manufacturing Systems Volume 13/No. 2
/
/
i: n
ic i
/
/
A. A two-machine, two-part deadlock.
j! Load/Untoad
B.
A three-machine, three-part deadlock.
Station
Figure 1
C. A two-machine system with a queue in deadlock.
Unmanned Direct Address FMS in Deadlock
if the system is provided with n-1 buffers, then deadlocking cannot occur. If the number of buffers is less, then deadlocking may evolve.
Figure 2 Examples of System Deadlocks
ness, and the reader is referred to the above paper for more details. Part routing can be represented as a directed graph, where nodes represent machines and directed arcs r e p r e s e n t flow s e q u e n c e s t h r o u g h the machines. Directed arcs are labeled with the part numbers contributing to the arc. Circuits in this graph are shown to be necessary but not sufficient conditions for deadlocking. A procedure using string arithmetic is used to detect circuits in the graph. Additional inspection is then used to determine if the circuits satisfy the sufficiency conditions of a deadlock. Sufficiency conditions can be stated as follows: Given a graph G = (V,A), sufficient conditions for a system deadlock are as follows:
Eliminating Deadlocks Through System Control 1. Batching: Batching parts so that part flow is restricted and unidirectional. 2. Active Control: Deadlocks can be resolved by controlling part flow during real-time system operation. Resolution of deadlocks in such an environment is the subject of this paper. Resolving deadlocks via active control can be further partitioned into two strategies. • Avoidance: Deadlocks are avoided by controlling the mix of parts in the system at any given time. This is of particular importance in systems that do not have buffers. • Recovery: Deadlocks are allowed to occur and are resolved after they occur by moving deadlocked parts to buffer spaces reserved for deadlock recovery procedures.
1. There exists at least one circuit C = (Vc,Ac). 2. The number of jobs contributing arcs to C must be equal to the number of arcs in C. 3. The number of machines in C must be equal to the number of arcs in C.
Deadlock Detection The first problem to be resolved in control strategies of deadlocking is the ability to detect deadlocks. A procedure for deadlock detection is presented in an earlier paper. 1 A brief overview of deadlock detection is presented here for complete-
Active Control of System Deadlock Avoidance Approach In manufacturing systems with no storage, system deadlocks must be controlled by avoiding
129
Journal of Manufacturing Systems Volume 13/No. 2
example, in Figure 3 the two circuits that potentially could lead to a deadlock are C 1 = {A-B-C-A} and C2 = { C-D-C }, and the parts contributing to the circuit are parts 1,2,3 and 2,3, respectively. Each of these circuits by itself will not evolve into a deadlock, but any further part movement will cause the deadlock of either C 1 or C2 depending on whether part 3 or 2 is moved. In the avoidance approach, such interactions should be identified because they lead to an irrecoverable deadlock situation. The concept of higher level circuits I is used to detect such possibilities of deadlock.
deadlocks; that is, they must not be allowed to occur because recovery is not possible without human intervention. Thus deadlock avoidance (the avoidance approach) is used to prevent circuits in the graph that satisfy the necessary and sufficient conditions for a system deadlock. Clearly, this can be trivially achieved by allowing only one job in the system at a given time; however, this is not an efficient approach because machines are not effectively utilized. A good deadlock avoidance procedure should select the job mix that is concurrently processed to make maximum use of the machines. Approaches to deadlock avoidance and prevention using Petri nets have been discussed recently in Banaszak and Krogh 3 and Viswanadham, Harahari, and Johnson. 4 Our implementation of the avoidance approach uses the deadlock detection system described in Wysk, Yang, and Joshi. The deadlock detection system is activated when a new part attempts to enter the system. Routing information for (1) the new part and (2) the remaining routes of all parts currently in the system is converted into a graph and examined for circuits. If allowing the part into the system causes a deadlock, then the part is kept at the load station until it can enter the system without deadlocking all or part of the system. Thereafter, circuits that correspond to a potential deadlock are stored in a database so that the control system can direct part flow without creating a deadlock. The control system can limit the parts and machines involved in a circuit from ever evolving into sufficient conditions for a deadlock. Thus, when a part is routed to a machine for its next operation (typically using some dispatching rule), the selection must be further approved by the deadlock control system. To avoid system deadlock, the control system may prohibit the advance of a part and hold it at its current location by restricting machine availability; however, if the restriction is not acknowledged by the control system, permanent blocking may occur. Permanent blocking does not require a circular form and consequently cannot be identified by the deadlock detection procedure; however, there are some conditions associated with permanent blocking situation(s) that can be detected and prevented, s Circuit interaction plays an important role in active control using the avoidance approach. For
Recovery Approach The recovery approach is designed to be applied to manufacturing systems where special (limited) storage has been reserved for resolving deadlock situations. In this approach, deadlocks are allowed to occur. When a system deadlock is detected, a correction system is initiated to move one of the deadlocked parts to a special reserved storage. The rest of the deadlocked parts are then transferred sequentially to their next destination. For the correction system (recovery approach) used here, one of the parts involved in the deadlock is randomly chosen to be moved to the buffer station. Other part moves and sequences of moves are determined by the required routings. The detection system for circuits, applied in this approach, uses only the next immediate destination of parts in the manufacturing system to form a graph. Because routing beyond the immediate destination cannot produce a system deadlock, it is ignored in the graph construction. The detection
Circuit
#I
Circuit
Figure 3 Interaction Between Circuits
130
#2
Journal of Manufacturing Systems Volume 13/No. 2
system is activated when a part arrives at a machine. Depending on the current status of the manufacturing system, the detection system may explore circuits that do not include the newly arrived part. Therefore, the detection system will only collect circuits in which one of the arcs is contributed by the newly arriving part. Circuits identified by the detection system are then stored in a database, which is referred to during the subsequent correction procedure. A circuit may be created on the arrival of a part at a machine, and this information is then stored in a database. The circuit database is updated each time a part involved in a circuit leaves a machine for its next destination. In the circuit database, a circuit is kept in a record that contains, specifically, the machines and parts involved in a sequence according to their direction in the circuit. Therefore, if a part involved in a circuit leaves its current machine, the circuit database management system is notified of the transfer. A circuit record in the database will not be deleted until all the parts involved in such a circuit have reached the next machines. Delayed maintenance of circuit records avoids inadequate resolution, such as the case of introducing a new part to a partially corrected deadlock and immediately producing a new deadlock. A new deadlock is unrecoverable while the special storage is already being used by a part that is involved in a correcting deadlock (assuming only one storage location is provided for deadlock recovery). Because every part in the manufacturing system contributes only its next immediate destination to the formation of a graph, each arc in a circuit is associated with only one unique part. Therefore, the number of arcs of a circuit that is identified with this approach wil; never be greater than the number of parts or machines currently in the manufacturing system. Furthermore, on each node of an identified circuit there must be a part that requests the next machine in the same circuit as its next destination. Consequently, a circuit exactly represents a system deadlock; in other words, a circuit identified in this approach is a necessary and sufficient condition for a system deadlock. Interaction between circuits in this approach is simple compared to the avoidance approach; actually, the circuits identified in this approach cannot interact with each other. Because each machine is able to accommodate only one part
and each part can contribute only its next immediate destination, a node can be a common sink of multiple arcs, but never a common source. Consequently, two or more circuits cannot interact with each other because two closed circuits sharing a single node would require the node to be the sink as well as the source of multiple arcs. Similarly, a node at the end of common arcs shared by two circuits must be the source node of two or more arcs. Therefore, neither of the two situations can occur in this approach, and all circuits in a graph act independently of each other.
Conventional Approach As used here, the conventional approach to deadlock detection applies to the approach of deadlock avoidance where large amounts of in-process storage are provided and where the maximum number of parts allowed in the system i s o n e more than the number of in-process storages. Thus, in the worst case, all parts in the manufacturing system can use in-process storage, and the only part left on the machines is then able to move to any machine it requires. Deadlocking is completely eliminated in this approach; however, excessive parts transfers and an inefficient manufacturing system can result.
Analysis of Deadlock Resolution Approaches To appropriately select a control alternative for a manufacturing system, it is important to analyze trade-offs between resolution approaches. In the conventional method, if the next machine for a part is not available, the part is sent to in-process storage that is always available. Therefore, the frequency of parts transfers between a machine and in-process storage is higher for the conventional method than for the recovery approach, which employs only one in-process storage. The avoidance approach, which allows undisrupted part flow without any in-process storage, does not require part transportation between a machine and in-process storage. On the other hand, the avoidance approach will only allow a certain number of parts in the system, depending on the system's traffic complexity. Besides, progress of a part can be frequently delayed to avoid a deadlock. As a result, a finished part is forced to
131
Journal of Manufacturing Systems Volume 13/No. 2
occupy a machine until the next destination becomes available, making additional machine idle time inevitable. The conventional method, on the contrary, can immediately discharge any part having just completed an operation because sufficient in-process storage is always available. It should be noted that arbitrarily adding buffers to an FMS may produce several effects. Buffers can be used to resolve blocking in a system with dynamic imbalance. Circular (or a circuit of) blocking produces deadlocking. FMSs can have between 1 and n-1 buffers (where n is the maximum allowable number of parts in the system). The number of buffers and their use produces another control problem in the operation of an FMS. Examples of when a buffer should be employed are as follows:
systems. Variability of hardware, control interactions, and possible hybrids for policy deadlock implementation make benchmarking a combinatorially explosive activity. Sample results were intended to illustrate the significance of deadlock policy implementation on system performance. Therefore, only three-machine, four-machine, and five-machine systems will be tested in this simulation study to demonstrate and compare different control alternatives. Parts enter the system randomly, and operation routings are also randomly generated where parts cannot revisit the same machine. After preliminary experiments, two fact o r s - transportation time and routing intensity--are selected to show the effect on system performance of each control alternative. Originally, dispatching rules were also included in the preliminary experiments; however, this factor was eliminated because no significant difference could be identified between different rules. Therefore, shortest processing time (SPT) is used as the primary part dispatching rule. Transportation time is varied to illustrate the effects of large and small handling times. The ratio of transportation time versus average processing time is significant for comparison; therefore, transportation time is equal to average processing time multiplied by the ratio assigned for each simulation experiment. Six levels of the ratio of transportation time versus average processing time have been selected, and these are equally distributed between 0 and 1. The second factor is routing intensity. It ranged from 2*M up to M, where M is the number of machines in a manufacturing system; for our examples, routing intensity refers to the number (or percent) of machines that are visited by a part. The machine associated with each route is selected from a random-number generator. Processing time associated with each route is also determined by the random-number generator using a different seed. Each combination of the two factors is tested with a total of 216 simulation experiments (6 levels of transportation time * 4 levels of routing intensity * 9 replicates) being conducted for the five-machine system; however, to disclose the effectiveness of transportation time, an identical part group is used at the six different levels of transportation time. For example, part data in Table 1 are used by the first
1. Whenever the next machine in a part visit is busy. 2. If the next machine will be busy for longer than some prescribed time (say, the material handling time required to off-load a part). 3. Use only half the buffers to eliminate blocking and reserve others for deadlocks. Avoidance is required whenever a system has no buffers (a deadlock will permanently lock the system). Recovery requires at least one buffer (the system deadlocks and then and only then will the buffer be used for resolution). Systems without deadlock control require as many as n-1 buffers. We will show here avoidance (no buffer), recovery (one buffer to be used only when the system deadlocks), and a conventional control system with n-1 buffers that are used whenever blocking occurs. Simulation is used here as a tool to assist in the analysis of the three alternatives. Exhaustive simulation experiments that cover all possible configurations would require inordinate development time. Therefore, in this study only random samples of dependent parameters are used to clarify the tradeoff between transportation time and machine idle time for specific systems. Each of the systems is tested for two factors: transportation time intensity (percent of average transport time to average processing time) and routing intensity (number of processing visits required per part).
Simulation Design It is impossible to compare all deadlock control alternatives on all possible flexible manufacturing
132
Journal of Manafacturing Systems Volume 13/No. 2
Tab/e 1
Part Data for Simulation Replicate # 1 in a Five-Machine System
[;2;2. ........................................................................................ Pr~leSS Process Process Process Process #2 #3 #4 #5 .................................................................................. M
PT
M
PT
M
PT
M
PT
M
This part is then transferred to the idle machine. Makespan, machine utilization, and mean flow time are collected from each simulation experiment to compare alternative control strategies.
Effect of Transportation Time In a manufacturing system that employs large queues to eliminate deadlocking (the conventional method), transportation between a machine and in-process storage is inevitably frequent. On the other hand, because no in-process storage is used in a system that uses the avoidance approach, such transportation is nonexistent. Therefore, it is anticipated that as transportation time increases, it will adversely affect manufacturing system performance. If transportation time is relatively high compared to average processing time of the parts, then the conventional method, which requires extra transportation, could perform less efficiently than the avoidance approach. In this section, the five-machine system with each part to be processed by four machines (80% of the five machines) is used to show the effect of transportation time. Figure 4 shows the system makespan performance using the avoidance, recovery, and conventional methods in the five-machine system. Difference in makespan time between the avoidance and conventional methods and between the recovery and conventional methods is shown again in Figure 5. Difference in makespan is normalized by dividing the value of the conventional method. As can be seen from Figure 5, when transportation is above 20% of average processing time, the avoidance and recovery approaches produce a smaller makespan time than the conventional method. Because the recovery approach requires special storage in the manufacturing system, improvement made by the avoidance approach is higher than that of the recovery approach. Improvement with the avoidance approach compared to the conventional method can be as high as 20% when transportation time is 80% of average processing time. Machine utilization resulting from the three control alternatives is shown in Figure 6, and the difference in machine utilization between the two control methods and the conventional method is illustrated in Figure 7. The figure shows that the greatest changes in machine utilization occur between the ranges of transportation time/average
PT
II..................................................................................................... 1
1
12
5
19
4
19
2
14
3
9
2
I
12
3
6
4
16
2
11
5
18
3
4
18
2
9 '
1
17
3
12
5
14
4
5
11
2
13 i
4
12
3
9
1
12
I 5
4
17
2
6
!
7
5
12
3
9
6
3
19
4
12 ~
5
16
2
7
1
19
7
2
8
1
19
3
14
5
16
4
17
8
5
16
4
6
2
17
3
18
1
19
9
2
12
1
I0
4
7
5
16
3
11
10
3
15
2
14
4
16
1
10
5
8
...................................................................................................... M: Machine Number PT: Process Time
simulation replicate for the five-machine system. Average processing time for the parts in Table 1 is 13.1, and the six levels of transportation time are 0, 2.6, 5.2, 7.9, 10.5, and 13.1. Part data in Table 1 then are used for all six simulation experiments that use different transportation times. Similarly, to show the effect of routing intensity, part data used for different levels of routing intensity are not independent. For example, in the simulation experiment with 40% routing intensity (2/5), each part uses the first two processes shown in Table 1. In the simulation experiment with 60% routing intensity (3/5), the first three processes are used, and so on. In each of the simulation experiments, all parts wait in an input station ready to be processed. When a machine is idle, it will select the next part from another machine first, then from in-process storage if it exists, and finally from an input station. All parts eligible for moving to the idle machine are stored in a list according to the SPT rule. In the recovery and conventional methods, the first part in the list is selected to go to the idle machine without further examination; however, the avoidance approach sequentially examines each part in the list until a part that does not cause a deadlock is found.
133
Journal of Manufacturing Systems Volume 13/No. 2
Makespan/(Minutesl
12o [ ~
100
Machine
I
Avoidance
I
Recovery
%
Utilization
Avoidance
0
-.__.,..Recovery
:i :I
Convcn0onal
2onventional
40 ~-
61)
20
l0 i
oL,
J
60
10
i
i
L
20
.30
.40
Transportation
Time
i
i
~
.50 .60 70 / Avg. P r o c e s s
i
i
i~
.80
.90
1.00
ol,oo
i
i
J
.20
30
.40
Transportation
Figure 4 Makespan of the Three Control Methods
(R(AorR)-R(C))/R(C) 4o
i
.m
Time
Time
i
L
i
.50 .60 .70 / Avg. P r o c e s s
i
i
L
80
.90
1.00
Time
Figure 6 Machine Utilization of the Three Control Methods
20L~ R = MACHINI: UTILIZATION
% ] Avoidance
(R(AorR)-R(C))/R(C) % 30
Recovery
©
AXe
L
=1,
4: ~
0
10 i t
f ]
ok f3
-10 ~ 620
Recovery
i
~
00
.10
i
i
t
.20
.30
.40
Transportation
Time
L
i
L
i
.50 .60 .710 / Avg. P r o c e s s
.80
.90
1.00
Time
i
-10 I -20 -30 [ ' .00
i
J
.10
.20
.310
Transportation
Figure 5 Relative Difference in Makespan
i
i
A0
.SL0 .60 .70 / Avg. Process
Time
i
L
I
i
.80
.90
1.00
Time
Figure 7 Relative Differences in Machine Utilization
processing time of 0 to 0.8. Actually, the curve should approach 0 when transportation time is infinite, in which case machine utilization is 0 regardless of which control strategy is applied. Because a ratio of transportation time to processing time of 0.8 is exceptionally large, any comparison becomes less and less significant. A comparison of the different control strategies using mean flow time is shown in Figure 8, and the difference in mean flow time is depicted in Figure 9. Both curves in Figure 9 are located in the negative zone and reveal that parts for our specific system configuration can always go through the manufacturing system in a shorter period of time when using the avoidance or recovery approaches than when using the conventional method. This is the result of parts (for avoidance and recovery) not being routed to queues. The short flow time associated with the avoidance or recovery approach is not surprising. Basically, with the conventional
method, a part is discharged immediately to inprocess storage if it is not selected for processing by its next machine, and it has to wait in storage until the machine becomes available again. Therefore, even when the transportation time between a machine and in-process storage is 0, the part flow directed by the conventional method still requires more time because waiting time in storage can be significant. On the other hand, with the avoidance approach, only a certain number of parts are allowed in the system simultaneously; therefore, once a part enters, it can be completely processed in a shorter period of time. It appears that if transportation time is relatively high (compared to average processing time), both the avoidance and recovery approaches produce better makespan and machine utilization. On the other hand, if transportation time is low, then the conventional method looks to be an appropriate
134
Journal of Manufacturing Systems V o l u m e 13/No. 2
levels of routing intensity have been assigned for the five-machine system--2/5, 3/5, 4/5, and 5/5. As stated previously, to show the effect of routing intensity, routing data of parts at each level are not independent. For example, at the 3/5 level, each part is processed by three machines, and the first two machines are actually the same as those required by the parts with a 2/5 routing intensity. In this section, only machine utilization is used to illustrate the combined effects of the primary and secondary factors (note that makespan is inversely proportional to machine utilization). Figure 10 shows the relative difference in machine utilization between the avoidance and conventional methods. Results in Figures 10 and 11 are for five-machine systems; therefore, four levels of routing intensity are included. The difference between the avoidance and conventional methods for the four-machine system is shown in Figure 12. Results of the three-machine system are depicted in Figure 13. Results in Figures 10-13 reveal that the conventional method can perform even better for low transportation times when routing intensity increases. Additionally, when transportation time is high, improvement from the avoidance and recovery methods is greater as routing intensity increases. The tendency of routing intensity to be less important also assures that transportation time alone can facilitate an appropriate control method selection. As can be noted from the previous section, the conventional method performs better at low transportation time. In other words, the conventional method is the best control method at low transportation times regardless of routing intensity. Similarly, when transportation time is high, regardless of routing intensity, the avoidance and recovery methods produce favorable control alternatives.
Mean Flow Time / Avg. Process Time 50
I Avoidance Recovery i ~onventional []
30
20
I0
0
.00 '
.10 '
.2'0 .30 .;o .50 ' . ..60 . .70. .80 . . .90 Transportation Time / Avg. Process Time
1.00
Figure 8 Mean Flow Time of the Three Control Methods
R = MEAN I:LOW TIME (R(AorR)-R(C))/R(C) 0
% Avoidance Recovery ----O---
-10 -20 -30 -40 -50 -60
i 00
i A0
~ .20
.30
i .40
.50
i ,60
.70
.80
.90
1.00
Transportation Time / Avg. Process Time
Figure 9 Relative Difference in Mean Flow Time
control strategy. In this specific case, that is, a five-machine system, with each part visiting at 80% of the machines and the SPT rule as the primary part dispatching rule, transportation time can be classified as relatively high (if it is above 20% of average processing time). The low flow time produced by the avoidance and recovery methods is another feature, along with zero or near-zero inventory characteristics, which cannot be produced with the conventional method. In other words, if low inventory or low flow time is strictly required, then the manufacturing system should apply the avoidance or recovery method as the most appropriate control strategy.
Statistical
Analysis
Experimental results presented in the previous two sections are based on the average data from nine simulation replicates. Statistical analysis has been performed on the experiment data to support the conclusions. In this section, some of the simulation experiments are discussed to illustrate the analysis. Figure 14 shows the relative difference in machine utilization between the avoidance and conventional methods, and the difference is described by raw data points, an average, and a regression
Combined Effects of Transportation Time and
Routing Intensity Routing intensity is a secondary factor affecting the performance of the three control methods. Four
135
Journal of Manufacturing Systems Volume
13/No.
2
R = Machine Utilization
R = Machine Utilization
:
E
(
/1o!o....+.-
I
o
t io
7 I
O.
.~ot%,
/ ~'
~"o -'z
o. e z. % ~ . o o.°
,o~"
0 .0 Z
0
,~.¢e.O"e"
%~tu Figure 10
Figure 12
Relative Utilization Difference in a Five-Machine System (Between Avoidance and Conventional Methods)
Relative Utilization Difference in a Four-Machine System (Between Avoidance and Conventional Methods)
R = I/achine Utilization R ffi Machirm Utilization
°
J
___
,o.
7 i
=
V.~///////////~/llllllllltl//I//lll//~o.~ .~
.
_ ~ ~.~,~
"
. <'~
~?
oo"
o . ,,~
,~e.~ ,e"
Figure 11
Figure 13
Relative Utilization Difference in a Five-Machine System (Between Recovery and Conventional Methods)
Relative Utilization Difference in a Three-Machine System (Between Avoidance and Conventional Methods)
line. Figure 15 illustrates the relative difference in machine utilization at four different levels of routing intensity when transportation time is 0. Raw data points and the average line are used to demonstrate the difference. As discussed in the previous section,
for low transportation/processing time the conventional method performs even better as routing intensity increases. Differences between 40% and 60% and between 80% and 100% are tested to be statistically significant; however, increasing from
136
Journal of Manufacturing Systems Volume 13/No. 2
60% to 80% has no statistical significance. Figure 16 shows the relative difference along four levels of routing intensity when transportation time is equal to average processing time. Differences between 40% and 60% and between 80% and 100% are statistically significant, but the difference between 60% and 80% is not significant (oL = .01). Basically, the simulation experiments presented in this paper are random samples, and as stated previously, it is impossible to run simulation experiments over all possible FMS combinations; however, from this simulation study, it appears that the following two statements hold:
( R ( A ) - R(C) ) / Rt,C)
R=Utilization
30
Regression Line( 86.7 %)
20
Average Line
q, 0 10 0 -10 -2G -3~
1. When transportation time is relatively high compared to average processing time, such as in a sheetmetal bending or stamping system, deadlock avoidance and recovery approaches look to be appropriate control strategies. On the contrary, if transportation time is low compared to processing time (for example, most metal removal processes such as cutting, grinding, and so on), then conventional control methods are effective strategies. 2. Transportation time alone, regardless of routing intensity, can serve to facilitate the appropriate selection of control alternatives.
.0o .10 . .3o .4o . . .70 . .9o L00 TransportationTime / Avg. ProcessTime
Figure 14 Relative Difference with 80% o f Ranting Intensity (Avoidance and Conventional M e t h o d s i n a Five-Machine System)
(R(A) - R(C) ) / R(C)
R = Utilization
Avera~Line
-10
-35 J L ,40
i .50
i .60
i .70
i .80
i
i
.9O
1.00
Route Intensity Transpoaation "l~m¢ / Avg. ~
Time = 0
Conclusions
Figure 15
Resolution of deadlocks is an important aspect of FMS control, especially if it is desired to maintain the flexibility and other advantages of FMSs. Two approaches to deadlock resolution--avoidance and recovery--that can be included during the development of FMSs were discussed in this paper. A series of simulation experiments was performed using two factors to compare the two methods developed in this research with the conventional method. Transportation time is identified as the primary factor. When transportation time is relatively high compared to average processing time, the avoidance and recovery approaches should be applied. On the other hand, the conventional method is an appropriate choice for a manufacturing system with relatively small transportation times. The secondary factor, routing intensity, does not appear important in the selection of an appropriate control strategy.
Relative Utilization Difference with Z e r o T r a n s p o r t a t i o n Time (Avoidance and Conventional M e t h o d s in a Five-Machine S y s t e m ) R = Utilization
( R ( A ) - R(C) ) / R(C) 3O
Average Line
2O
15
1
Io .4o
t
.5o
i
i
i
.6o .7o .so Route Intensity
*
.90
i
].00
Transportation Time / Avg. Process Time = 1
Figure 16 Relative Utilization Difference with Full T r a n s p o r t a t i o n T i m e (Avoidance a n d Conventional Methods in a Five-Machine
137
System)
Journal of Manufacturing Systems Volume 13/No. 2
Gold, E.M. "Deadlock Prediction: Easy and Difficult Cases." SIAM Journal on Computing, v7, n3 (Aug. 1978). Gray, J.N. "Notes on Data Base Operating Systems." Operating Systems--An Advanced Course, v60, Bayer, Graham, and Segmuller, eds. New York: Springer-Verlag (1978). Habermann, A.N. "Prevention of System Deadlocks." Communications of the ACM, v12 (1969), p373. Holt, R.C. "Comments on Prevention of System Deadlock." Communications of the ACM, v14 (1971), p36. Howard, J.H. "Mixed Solutions for the Deadlock Problem." Communications of the ACM, vl6 (1973), p427. Joshi, S.; Wysk, R.A.; and Jones, A. " A Scaleable Architecture for CIM Shopfloor Control." Proceedings of CIMCON '90. National Institute of Standards and Technology, May 22-24 (1990), pp2133. Menasce, D.A., and Muntz, R.R. "Locking and Deadlock Detection in Distributed Data Bases." IEEE Transactions on Software Engineering, vSE-5, n3 (May 1979). Tsutsui, S., and Fujimoto, Y. "Deadlock Prevention in Process Computer Systems." The Computer Journal, v30, nl (1987).
Although this simulation study identifies the conventional method as the best control alternative when transportation time is low, the features possessed by the avoidance approach, such as zero in-process inventory and just-in-time capability, are impossible to achieve with the conventional method.
References 1. R.A. Wysk, N.S. Yang, and S. Joshi, "Detection of Deadlocks in Flexible Manufacturing Systems," IEEE Transactions on Robotics and Automation (v7, 1991), pp853-859. 2. C.H, Co and R.A. Wysk, "The Robustness of CAN-Q in Modeling Automated Manufacturing Systems," International Journal of Production Research (v27, n6, 1986), pp1485-1503. 3. Z.A. Banaszak and B.H. Krogh, "Deadlock Avoidance in Flexible Manufacturing Systems with Concurrently Competing Flows," IEEE Transactions on Robotics and Automation (v6, n6, Dec. 1990), pp724-734. 4. N. Viswanadham, Y. Harahari, and T.L. Johnson, "Deadlock Prevention and Deadlock Avoidance in Flexible Manufacturing Systems Using Petri Net Models," IEEE Transactions on Robotics and Automation (v6, n6, Dec. 1990), pp713-723. 5. N.S. Yang, "Resolution of System Deadlocks in Real Time Control of Flexible Manufacturing Systems," PhD Dissertation (University Park, PA: Pennsylvania State University, 1989).
Authors' Biographies Richard A. Wysk is currently the Royce Wisenbaker Chair in Innovation and Director of the Institute for Manufacturing Systems at Texas A&M University. He received his BS and MS degrees in industrial engineering and operations research from the University of Massachusetts and his PhD from Purdue University. His research focuses on computer-aided process planning, FMS control architecture, applied automata, and distributed control. Prior to joining the faculty at Texas A&M, Dr. Wysk held faculty positions at Penn State University and Virginia Polytechnic Institute. Dr. Wysk has also held engineering positions with General Electric and Caterpillar Inc. Neng-Shu (Bob) Yang is with the Department of Industrial Engineering at Chung Yuem Christian University, Chung Li, Taiwan. Dr. Yang received his PhD from Penn State University. Sanjay Joshi is currently associate professor of industrial engineering at Penn State University. He received his PhD in industrial engineering from Purdue University after having received his BS from the University of Bombay, India, and his MS from the State University of New York at Buffalo. His research and teaching interests are in the areas of computer-aided design and manufacturing with specific focus on computer-aided process planning, control of automated flexible manufacturing systems, and integration of automated systems.
Bibliography Boffey, T.B. Graph Theo~ in Operations Research. London: MacMillan Computer Science Series (1982). Co, Henry. "Design and Implementation of Flexible Manufacturing Systems--Some Analysis Concepts." PhD Dissertation. VPI (1986). Coffman, E.G.; Elphick, M.J.; and Shoshani, A. "System Deadlock." Computing Surveys, v3, n2 (1971). Gligor, V.D., and Shattuck, S.H. "On Deadlock Detection in Distributed Systems." IEEE Transactions on Software Engineering, vSE-6, n5 (Sept. 1980).
138