Download - An improved strategy to solve shop deadlock problem based on the study on existing benchmark recovery strategies

Transcript

ORIGINAL ARTICLE

An improved strategy to solve shop deadlock problem basedon the study on existing benchmark recovery strategies

Ranjan Bhattacharya & Susmita Bandyopadhyay

Received: 14 February 2009 /Accepted: 22 June 2009 /Published online: 29 July 2009# Springer-Verlag London Limited 2009

Abstract In this paper, we study the effect of variousbenchmark deadlock recovery strategies, and we find thateach of these recovery strategies either results into anotherkind of deadlock or results into very high handling cost andlong handling time. We also propose a new improved strategyin order to solve the shop deadlock problem through the use ofboth automated guided vehicle and a central buffer. To the bestknowledge of the authors, till date, no research study has beenperformed to propose any such strategy in this regard or tostudy the effect of several deadlock recovery strategiesaltogether. Simulation result shows that the proposed strategyperforms better than the existing benchmark recovery strate-gies and provides much improved solution to the shopdeadlock problem, resulting into considerable reduction inhandling time and cost and better handling of jobs in centralbuffer compared to various benchmark deadlock recoverystrategies available in the literature.

Keywords Centralbuffer . Automatedmanufacturingsystem(AMS) . Automated guided vehicle (AGV) . Shop deadlock

1 Introduction

A deadlock is a situation where each of a set of two or moreparts keeps waiting indefinitely for the other parts in the

system to release resources. Viswanadham and Narahari [1]and Liu and Hung [2] have stated that deadlock occurs ifand only if the following four necessary conditions exist inthe system simultaneously: mutual exclusion, no preemp-tion, hold and wait, and circular wait. Thus, deadlockresolution involves relaxing at least one of these fourconditions.

A significant level of research efforts on deadlockdetection and recovery, deadlock prevention, and deadlockavoidance in automated manufacturing system (AMS) areobserved in the existing literature. The types of deadlock inthese research studies can be categorized into: cross-lanedeadlock, shop deadlock, and cyclic deadlock [3]. Amongthe various types of deadlocks, we consider the recoveryfrom shop deadlock problem caused by careless dispatchingpolicy of automated guide vehicle (AGV) system [4].Several benchmark deadlock recovery strategies have beenproposed in the existing literature. However, we haveobserved that each of these strategies is responsible forcausing another type of deadlock, and in certain cases, thestrategies also result in huge handling cost and handlingtime. This paper concentrates on the effect of benchmarkdeadlock recovery strategies for shop deadlock problemand proposes a new improved recovery strategy that willprovide much better solution than the existing benchmarkrecovery strategies. No research work, until now, hasstudied the effect of the already existing recovery policiesor provided such an effective solution, to the best concernand knowledge of the authors. The shop deadlock situationis shown in Fig. 1. In Fig. 1a, AGV1 cannot unload becauseof full input buffer, and since the output buffer is full, themachined job cannot be placed in the output buffer, and asa result, new job from input buffer cannot be loaded to themachine for processing. Besides, AGV2 is blocked becauseof AGV1 that is waiting for unloading of job at the

R. Bhattacharya (*)Jadavpur University,Kolkata, West Bengal 700 032, Indiae-mail: [email protected]

S. BandyopadhyayWest Bengal University of Technology,Kolkata, West Bengal 700064, Indiae-mail: [email protected]

Int J Adv Manuf Technol (2010) 47:351–364DOI 10.1007/s00170-009-2200-y

machine. AGV2 can either have a loading or an unloadingtask. In Fig. 1b, the job from the output buffer of machine 1cannot be transferred to the full input buffer of machine 2,whereas job from the output buffer of machine 2 cannot betransferred to the full input buffer of machine 1. Processedjobs cannot be moved to the output buffers as both theoutput buffers are full.

Deadlock can be handled in three ways: deadlockdetection and recovery, deadlock prevention, and dead-lock avoidance [1]. Deadlock detection and recoverystrategy allows the system to enter into deadlock stateand then recovers the system from deadlock. Deadlockprevention strategy ensures that at least one of the fournecessary conditions does not hold in the system. Thisapproach leads to the reduction in resource utilizationand system throughput. Deadlock avoidance strategyexamines the system's state dynamically and avoidsdeadlock states [5].

In spite of having a huge number of deadlockprevention and avoidance policies, in the existingliterature, no system can ensure that deadlock will neverhappen because of the dynamic nature of the system interms of unanticipated and unforeseen circumstances.Therefore, deadlock detection strategies need carefulattention in manufacturing systems, along with thedeadlock prevention and avoidance strategies. Amongseveral deadlock recovery policies, the benchmark poli-cies include: shifting jobs to the central buffer (provisionof central buffer) [22, 23] (Fig. 2), dispatching a vehicleto pick-up job from output buffer [4] (Fig. 3), the use ofthe material handling device as buffer [25] (Fig. 4), notsending any more job to the blocked station to preventfurther deadlock [4], providing additional lanes andcrossover [3] (Fig. 5), waiting of jobs for the deadlock tobe resolved [3], changing schedule [24].

The remaining sections of this paper are organized asfollows: section 2 provides a review of relevant literature;section 3 shows the effects of existing recovery strate-gies; section 4 proposes a new improved recoverystrategy; section 5 proves the effectiveness of the

proposed strategy through the results of simulation;section 6 concludes the paper.

2 Literature review

This section provides a review of relevant literaturerelated to deadlock and its recovery. Much researchstudies have been done in the area of deadlock handlingin manufacturing systems. The concept of deadlock wasfirst coined by computer scientists developing resourceallocation logic in operating system [6]. Coffman et al.[7] suggested four necessary conditions which must beheld for a deadlock situation to occur. These fournecessary conditions are:

Mutual exclusion: A job using a resource will haveexclusive use of the resource till the time of completionof the use.No preemption: The use of a resource for a job cannotbe interrupted at any time during the use.

Fig. 1 Shop deadlock

Fig. 2 Shifting jobs to the central buffer

352 Int J Adv Manuf Technol (2010) 47:351–364

Hold and wait: The job will continue to hold theresource that is being used by the job till the time itfinishes using the resource.Circular wait: If there be a situation where job J1 isusing resource R1 and waiting for resource R2, job J2is using resource R2 and waiting for resource R3,……, job Jn is using resource Rn and waiting forresource R1, then the resulting condition is calledcircular wait condition.

The first three of these conditions are always satisfied incase of AMS, since a resource is always held in anexclusive mode (satisfying “mutual exclusion” condition),a job holds resource while waiting for the next resource inits operation sequence (satisfying “no preemption” condi-tion) and processing of job on a resource continues tillcompletion, at a stretch (satisfying “Hold and Wait”condition). Thus, the system can get rid of deadlocksituation only if the fourth condition, i.e., circular wait, isbroken [8].

Depending on various causes of deadlock, the deadlockcondition can be classified into: cross-lane deadlock, shopdeadlock and cyclic deadlock [3]. In this paper, we areconcentrating only on the shop deadlock problem. Dead-lock can also be classified into: primary deadlock andimpending deadlock. The existence of circular wait condi-tion indicates primary deadlock where no job is enabled. Ajob is enabled if any of its next resources is free. On the

other hand, a system state is in impending deadlock if jobsexist in the system which can be moved. Impendingdeadlock is generally difficult to predict compared to theprimary deadlock [9].

Shop deadlock is a type of problem where deadlockhappens because of full input and output buffer. It happensas a result of careless AGV dispatching policy [4]. Twocircular wait cases may arise in shop deadlock problem asshown in Fig. 1.

To resolve shop deadlock problem, a vast number ofdeadlock prevention and avoidance algorithms have beenproposed in the existing literature [10–12]. The algorithmshave used Petri net or graph formalism in most cases. Somesignificant works adopting Petri net include [13–15],whereas some of the significant research studies adoptinggraph formalism include [16–19].

To prevent shop deadlock, a careful routing strategyalong with appropriate deadlock recovery policy may beadopted [3]. Liu and Hung [2] used global shop real-timeinformation to avoid shop deadlock problem caused byinappropriate job movement. The material handling systemin this research study consists of a single multi-loadautomated guided vehicle (AGV) that traverses around asingle-loop guide path.

However, it has been observed that deadlock avoidancestrategy provides better performance than deadlock preven-tion [20]. It is seen from the literature that, in spite of havinglarge number of deadlock prevention and deadlock avoid-ance strategies, deadlock detection and recovery strategiesare still required due to the following reasons. First, deadlockprevention and avoidance strategies are adopted beforedeadlock situation arises, and deadlock detection andrecovery strategies are required after the system enters intoa deadlock state. Second, the type of deadlock handlingstrategy to be adopted depends on the system configurationand requirement [21], the size of the problem, and thenumber of vehicles compared to the number of workstations[3]. Third, the difficulty in prediction of future unforeseencircumstances of a dynamic real-world system results into

Fig. 3 Sending vehicle (AGV3) to pick up job from output buffer

Fig. 4 Using AGV as buffer

Fig. 5 Providing additional lanes and crossover

Int J Adv Manuf Technol (2010) 47:351–364 353

the need for adopting efficient deadlock prevention oravoidance strategy along with an appropriate deadlockdetection and recovery strategy.

Based on these facts, it can be inferred that deadlockdetection and recovery strategies need careful attention. Thefocus of this paper is to study the effect of benchmarkdeadlock recovery strategies proposed in the existingliterature, each of which either results in another kind ofdeadlock or results in huge cost. We have also proposed animproved deadlock recovery strategy that performs muchbetter than the deadlock recovery strategies proposed in theexisting literature.

The issue of deadlock recovery is very important for thesmooth operation of AMS. Egbelu et al. [22] and Han andMcGinnis [23] proposed the use of central buffer whichwill serve as temporary storage of jobs from the stationsunder deadlock. Further aggravating of the existing dead-lock in the system can be prevented by preventing theAGVs to be sent to the station facing deadlock [4] oralternatively, the schedules can be changed [24] for thoseAGVs that were to be sent to the blocked station. Wu andZhou [25] suggested the use of the material handlingdevice, especially a robot, as buffer to recover fromdeadlock. An additional vehicle can also be sent to theoutput buffer of the station facing deadlock in order toremove the blocking job [4]. Additional lanes and cross-overs can also be introduced [3]. Moorthy et al. [3] alsosuggests that the blocked job can wait for some time andthen check whether the next station is deadlock-free. Guptaet al. [26] suggested that a blocked job can be transferred tothe central buffer, and the job can be transferred fromcentral buffer for processing when the required machinebecomes free. This approach has shown that the effect ofmachine failures and loading rules is less on the proposeddispatching algorithm, compared to the traditional approachwhere the parts were transferred directly to the pre-determined local buffers. It has also shown the improve-ment in the average flow time and tardiness by applying theproposed algorithm. However, it has been proved that,while an increase in buffer size increases throughput, it alsoincreases the inventory and makespan [27]. Providingcentral buffer also results in additional cost, handling time,and additional material handling effort [4]. Providingcentral buffer also results in additional effort in routing.Liu [28] suggested a routing strategy for routing of jobsfrom central buffer to the required station, using a dynamicprogramming approach. Gupta and Houshyar [29] developeda mathematical model to minimize cost due to the provisionof in-stage and central buffer while determining optimalbuffer size.

Based on the study of the existing literature, we haveobserved that the effects of these benchmark recoverystrategies in terms of causing further deadlock have never

been studied. This paper first studies these effects and thenprovides a new effective and better approach towards thisdirection.

3 The effect of existing benchmark recovery strategies

The benchmark recovery strategies in the existing literatureinclude:

& Provision of central buffer [22, 23]& Use of material handling device as buffer [1, 25]& Providing additional lanes and crossover [3]& Waiting of jobs [3]& Sending an additional vehicle to the blocked station and

not sending any more job to the blocked station toprevent further deadlock [4]

It can be observed that the application of any particularrecovery strategy mentioned above either leads to anotherkind of deadlock and/or results in a huge cost and time. Wediscuss the effect of each of the above-mentioned strategiesin the following subsections. We are assuming that: (1)Material handling device used is multi-load automatedguided vehicle; (2) AGV guide path is bidirectional; (3)AGVs are bi-directional.

3.1 Effect of central buffer

The provision of central buffer can lead to deadlock,depending upon the size of the central buffer and thenumber of machine centers under deadlock. In realmanufacturing situation, a central buffer with largecapacity is provided, which results into huge materialhandling cost that increases with increase in the size ofcentral buffer [29].

A deadlock situation, similar to shop deadlock in Fig. 1a,can happen in case of central buffer as well.

In Fig. 6, AGV1 cannot unload because the input bufferis full, and since the output buffer is also full, the processedpart in the machine cannot move to the output buffer,causing deadlock. Since AGV1 cannot unload, i.e. facesdeadlock, AGV2 is blocked by AGV1. In this case, a jobfrom the output buffer cannot be transferred to centralbuffer because the central buffer is also full, causingdeadlock at the central buffer. This type of deadlock ispossible for a manufacturing system with many parts eachwith longer processing time. The chance of occurrence ofthis type of deadlock is more if the central buffer is alsoused as a loading/unloading area, in addition to its use as atemporary storage of jobs that are facing deadlock at astation.

A second type of deadlock situation may occur in case ofa manufacturing system with several part types. If the

354 Int J Adv Manuf Technol (2010) 47:351–364

stored parts in the central buffer is not properly arranged/placed, then, the retrieval of parts from the central bufferwill take longer time. Let us consider the situation in Fig. 7.

Here, if AGV1 takes longer time to retrieve job D, thenAGV2 is blocked by AGV1. This also increases makespanfor the jobs carried on AGV1 because of the waiting for theretrieval of the job from the central buffer. The vehicleAGV2 also faces deadlock here because of AGV1. Thisdeadlock may arise or may be aggravated as the number ofAGVs and the number of jobs stored in central bufferincreases. The improper arrangement, in turn, increases thehandling cost and handling effort.

Although this type of deadlock gets resolved automati-cally, when AGV1 finishes the retrieval, it results in longerwaiting time for all vehicles behind AGV1 and greatermakespan. As the waiting time increases, this deadlock can

spread throughout the whole shop and can lead topermanent shop deadlock. This waiting time or thetemporary deadlock can be resolved by properly arrangingthe parts depending on the next machine in the operatingsequence of the part where the part is to be transferred next.A combined location system [30] may be followed for thearrangement of parts in the central buffer.

Even if the deadlock mentioned can be resolved, there isanother problem associated with central buffer. Thehandling effort, time, and cost increase with the increasein the number of jobs stored in the central buffer. Thehandling depends mainly on the following factors [30].

& Space available in the central buffer& Location system (fixed/zoning/random/combination)& Dimension of the stored item& Product characteristics (stackable, racks, carousels,

shelving or random)& Availability of AGV for retrieving the parts from central

buffer& Information system support& Equipments, including special attachments available

The waiting time of AGV for retrieving part from centralbuffer depends mainly on the factors like locationsystem, product characteristics, dimension of the storeditem, and the storage methods. It is not possible to derivea specific expression for the waiting time of AGV, sincethese factors vary across different manufacturing sys-tems. For example, some manufacturing systems mayadopt fixed location system; some other may adopt acombination system.

Thus, the effect of providing central buffer can be:

1. The deadlock depicted in Fig. 6,2. The deadlock depicted in Fig. 7,3. Total waiting time for retrieval and the handling cost of

jobs stored in central buffer.

The waiting time for retrieval can be reduced by properarrangement of parts in the central buffer, thus increasingthe additional handling time, incurring additional handlingcost. Besides, cost due to additional overhead at the centralbuffer, such as cost due to heating, lighting, refrigeration,security, cost of obsolescence of the work-in-process partsin the central buffer, cost of deterioration, and so on, areevident. A part of the total rent can also be attributed tocentral buffer depending on the space occupied by thecentral buffer.

Suppose the amount of cost for item i, due to materialloss, theft, or broken material, is Cs

i per unit time. If thetotal stock receipt for item i per unit time is ni, then theproportion of shrinkage will be Cs

i

�ni per unit time. Here,

the average inventory is not used since the shrinkage costdepends only on the items present in central buffer. Thus,Fig. 7 Deadlock type 2 (because of central buffer)

Fig. 6 Deadlock due to full central buffer

Int J Adv Manuf Technol (2010) 47:351–364 355

the cost of shrinkage per unit for I number of items per unittime is:

XI

i¼1

Csi

�ni ð1Þ

Similarly, the cost of deterioration can be given by:

XI

i¼1

Coi

�ni; ð2Þ

whereCoi is the amount of cost per unit time due to the

deterioration of item i.Thus, the total cost per unit time, taking deterioration,

shrinkage, and overhead into consideration is:

TC ¼ COH þXI

i¼1

Csi

�ni þ

XI

i¼1

Coi

�ni ð3Þ

where, COH is the overhead cost per unit time.

3.2 Effect of using AGV as buffer

To resolve a shop deadlock problem, AGV can be used as atemporary buffer [1, 25]. However, the AGV must have thespace to load the job from the output buffer. If an AGVwith drop-off task is used for the pick-up task, to pick up ajob from the output buffer, then the AGV gets an additionaltask of dropping the picked up job to its destination stationor to the loading/unloading area. This leads to the change ofschedule of the AGV, which can result in further deadlockin the system due to traffic congestion.

Let us consider the situation in Fig. 8a. Suppose thereare six machine centers, one testing station, one toolsection, and one washing station.

Suppose AGV1 is to drop off job at the input buffer ofmachine center 1, but faces deadlock because of the fullinput and output buffer, and as a result, picks up a job fromthe output buffer into its empty space. Let the destination ofthe new picked-up job be machine 4, and the next machinecenter in the schedule of AGV1 are machines 3 and 4. Alsoassume that another vehicle AGV2 starts serving machine 3when AGV1 leaves machine center 1 and the nextdestination machine of AGV2 is machine 4. Thus, aftercompletion of serving machine 3, AGV1 will be servingmachine 4. If AGV2 is still at machine 4, then AGV1 willbe blocked by AGV2 (Fig. 8b).

Now, if the machine center 4 would also be in shopdeadlock condition, then AGV1 would face deadlock andAGV1 would be blocked by AGV2. If AGV2 does nothave space in it and an additional AGV is sent to machine 4for resolving the deadlock by picking up job from thisstation, then other deadlock situations may happen asshown in Fig. 8c, d.

3.3 Effect of providing additional lanes and crossover

Providing additional lanes and crossover is a costlyresolution with limited resolution capability because of thefollowing causes. First, this strategy needs new investmentin establishing new guide path, only if sufficient space isavailable for providing such additional facility. Second, notmany additional guide paths can be established in amanufacturing system. Since deadlock may still happeneven after introducing new lanes and crossover, so there isno limit on the provision of additional lanes. Third, thisstrategy will not be cost effective if the shop deadlockproblem occurs frequently, resulting huge cost to resolvesuch problem.

Besides, if the lane is used by the AGV only in case ofthe deadlock situation, then it will lead to underutilizationof the lane, occupying substantial floor-space and under-utilization of the money invested to establish the additionallanes. If the lane is used by AGVs as a part of regular guidepath, then the AGVs can be blocked at the crossoverjunctions. As an instance, if AGV2 in Fig. 5 goes throughthe additional lane (along ABCD in Fig. 9), instead ofgoing straight (along AE in Fig. 9), then there is a chancethat AGV1 may collide with AGV2 or any vehicle that willfollow the alternate path ABCD (Fig. 9). This situation maybe aggravated as the number of AGVs along both the pathsincreases.

3.4 Effect of not sending any more job to preventfurther deadlock

The effect of “not sending any more job to the machinecenter under deadlock” proposed by [31] has beendiscussed in [4]. Thus, we do not go into the elaboratediscussion of this effect. The research study in [4] says that,to prevent further deadlock of the type depicted in Fig. 1a,jobs should be prevented from being sent to the blockedstation, considering the number of empty spaces in theinput buffer of its next workstation and the number of jobsbeing transported currently to the same buffer. Theprevention leads to another kind of shop deadlock, asshown in Fig. 1b.

3.5 Effect of waiting of jobs and sending an additionalAGV to recover from deadlock

When a job faces shop deadlock, it can wait for a pre-determined period of time, then checking can be made tosee if there is an empty space in the input buffer. Thisstrategy will lead to the following cases. Firstly, thisstrategy may lead to indefinite starvation for the job,increasing the makespan. This blocking situation cangradually propagate throughout the whole system and may

356 Int J Adv Manuf Technol (2010) 47:351–364

Fig. 8 a A layout for explainingthe effect of using AGV asbuffer. b Vehicle AGV1 blockedby AGV2. c Deadlock causedby AGV1, AGV2, and AGV3,with AGV3 coming from theopposite direction. d Deadlockcaused by AGV1, AGV2, andAGV3, with AGV3 moving inthe same direction

Int J Adv Manuf Technol (2010) 47:351–364 357

lead to a complete shop deadlock unless a remedial actionis taken. Secondly, as a result of blocking, any other vehiclecannot travel through the same guide path. An additionalAGV can be sent to resolve the deadlock in this case. But,this solution may also lead to the same problem as depictedin Fig. 8c, d.

The effect of the benchmark recovery strategies dis-cussed so far is shown through a hierarchical structure inFig. 10, below.

4 The proposed strategy

The effects of various deadlock recovery strategies indicatethat each of the particular benchmark recovery strategiesresults either into another kind of deadlock or results inhigher handling time, which, in turn, increases handlingeffort and cost. Thus, in this section, we propose a new

improved strategy that is supposed to solve the potentialproblem of shop deadlock, performing better than theexisting recovery strategies, provided the system willalways maintain keeping 2n number of empty positions inthe central buffer, where n is the number of machinecenters.

We now propose a new improved deadlock recoverystrategy with the following recommendations.

A central buffer with capacity greater than the sum of thecapacities of all input buffers, output buffers, and AGVs ofthe system can be provided. The machines should bepositioned surrounding the central buffer, and the mis-arrangement of parts leading to temporary deadlockdepicted in Fig. 7 would never arise if appropriate locationsystem strategy is applied [30]. Therefore, it is notconsidered in this analysis.

The new improved recovery strategy

1. Initially, the system must start with 2n number of emptypositions in the central buffer, where n is the number ofmachine centers. The system must always maintainkeeping this number of empty positions in the centralbuffer.

2. In the face of deadlock, use both AGV and a centralbuffer with 2n number of empty positions in thefollowing way. If the AGV is fully loaded with a jobto unload at a machine, then the following steps willresolve the deadlock problem. Figure 11 depicts thesteps.

(a) Transfer the job (say p1) which is to be unloadedfrom the AGV to the central buffer (instead of to

Fig. 10 Hierarchy showing theeffects of all benchmark dead-lock recovery strategies

Fig. 9 Effect of additional lanes and crossover

358 Int J Adv Manuf Technol (2010) 47:351–364

the input buffer). An empty space is now createdin the AGV (Fig. 11a).

(b) Transfer a job (say p2) from the full output bufferto AGV and then from AGV to the central buffer.As a result, an empty space will be created in theinput buffer, since the job, after being processedby the machine, will be moved to the emptyposition in the output buffer, and as a result, a jobcan be loaded to the machine from the inputbuffer, resulting in an empty space in the inputbuffer (Fig. 11b, c).

(c) Transfer p1 from the central buffer to the AGV(Fig. 11d).

(d) Transfer p1 from AGV to the empty space in theinput buffer (Fig. 11d).

(e) Transfer p2 from the central buffer to the AGV(Fig. 11e).

3. If AGV is not full, i.e., there is at least one empty spaceavailable in the AGV, then the following steps willresolve the shop deadlock problem. Figure 12 depictsthe steps.

(a) Transfer a job (say p2) from the full output bufferto AGV, since there is at least one empty positionavailable in the AGV. An empty space will becreated in the input buffer, since the job after being

Fig. 11 a Effect of step 1(a).b Effect of step 1(b). c Effect ofstep 1(b) after keeping the job incentral buffer. d Effect of steps 1(c) and 1(d). e Effect of step 1(e)

Fig. 12 a Effect of step 2(a). b Effect of step 2(a) after loading from central buffer. c Effect of step 2(b)

Int J Adv Manuf Technol (2010) 47:351–364 359

processed by the machine will be moved to theempty position in the output buffer and as a resulta job can be loaded to the machine from the inputbuffer, resulting in an empty space in the inputbuffer (Fig. 12a, b).

(b) Unload job p1 from the AGV to the input buffer(Fig. 12c).

4. During the time, while a machine is under deadlocksituation, no other vehicle should be sent to that machinewhich is facing deadlock, to prevent further blockage.

The proposed strategy along with the provision of 2nnumber of empty positions in a central buffer will solve theshop deadlock problem because, on application of theproposed strategy, if the central buffer is not used as aloading/unloading station, the central buffer need not beused as a temporary storage of jobs. Instead, it will be usedjust as an intermediate holder of jobs during the transfers,as depicted in steps 2 and 3 in the strategy above. Since inthis case, the central buffer does not store any job at all, thepotential traditional problem of huge handling time and costis resolved. Even if the central buffer is used as a loading/unloading station, then also, the handling time and costincurred for the stored jobs are reduced considerably. If themachines are positioned around the central buffer, then thetime of transfer of jobs by AGV between the input andoutput buffers and central buffer become almost negligiblecompared to the other times such as the time spent underdeadlock condition, time of loading, time of unloading andthe traveling time between machines. Keeping 2n numberof empty positions will not be a costly proposition since, onthe application of the proposed strategy, the central bufferwill not be used as a temporary storage buffer for jobsfacing deadlock. Rather, the central buffer will just be usedas a temporary holder of jobs during the exchange of jobsamong the input buffer, AGV, and the central buffer, whileresolving the deadlock.

Although there is a very little possibility of facing thesituation when all of AGV, central buffer, input buffer, andoutput buffer are full, the proposed strategy can solve thedeadlock problem even if such situation arises only if 2nnumber of job positions are kept empty in the centralbuffer, where n is the number of machine centers.

From the strategy depicted above, it can be observedthat, since the central buffer is just used as an intermediateholder of jobs during transfers, thus, the huge problem ofmaterial handling time and cost is resolved forever. Thenew strategy is sufficient enough to eliminate all the costsrelated to handling of jobs at the central buffer. Besides, thetemporary problem of deadlock caused by waiting ofAGV2 behind AGV1 as depicted in Fig. 7 is resolvedautomatically when AGV1 finishes the deadlock problemfollowing the strategy adopted above. The proposedstrategy is not supposed to take long time to recover fromdeadlock if the machines are located around the centralbuffer. The application of the proposed strategy to solve theproblem depicted in Fig. 7 is also solved by the proposedstrategy. It should be noted that, since the deadlockdepicted in Fig. 7 is a temporary one, thus, after a certainpoint of time (to retrieve the misarranged job), the deadlockis resolved automatically. However, the waiting time canalso be reduced by providing additional lanes and crossoveror by choosing the proper location of the central buffer in

Fig. 13 Layout example. The simplified version, showing only themachines and the distances among them, is shown in Fig. 14

Fig. 14 Simplified version of Fig. 13

Fig. 15 Providing additional lanes [2–6,6–3; 3–7, 4–7; 4–8, 5–8]

360 Int J Adv Manuf Technol (2010) 47:351–364

the system, so that the total distance covered between allpairs of machines and central buffer is the minimum.

The provision of additional lanes and crossover is acostly option with very limited applicability because of thelarge investment involved in establishing new additionalguide paths and limited space availability.

5 Experimental results

In order to show the effectiveness of the proposed strategy,simulation has been run to show the improvement inmakespan and the time spent by the jobs at the centralbuffer and the cost of handling of jobs at the central buffer.The data on these factors have been compared with thoseunder the proposed strategy. The experiment has beenperformed in Arena 7.0 simulation software on a 2.4 GHzPC. The experiments have been conducted on the basis ofthe layout given in Fig. 13. The simplified version ofFig. 13, showing only the machines and the distancesamong them, is shown in Fig. 14.

There are four machines. Each of these machines canprocess only one job at a time. The size of each input andoutput buffer is 2, i.e., each input or output buffer can holda maximum of two jobs. The central buffer is assumed tohave the capacity of holding a maximum of 40 jobs. Thespeed of AGV is ten distance units per minute. An AGVcan hold a maximum of two jobs. We have considered asystem handling a total of six different types of jobs. The

distance among the machines and order release station aregiven by the weights of the arcs. For example, the distancebetween machines 2 and 3 in Fig. 14, is 40 distance units.All machines are located around central buffer.

We have performed five simulation runs for experimentingwith the performance of each strategy discussed so far in thispaper. The resultant tables show the average of five simulationruns, the replication length being 10 h.

In case of the strategy of providing additional lanes andcrossover, we will use the simplified layout in Fig. 15.

With the above experimental setup, we simulate theeffects of all the benchmark strategies and the proposedstrategy. The sequence for each job is taken to be fixed. Thesequences have been generated outside Arena simulationenvironment by using random number function in Clanguage, generating random number from 1 to 4, since

Parts Sequence

1 1–2–3–4–2–4

2 2–3–1–4–2–3

3 3–1–4–2–3–4

4 4–3–2–1–3–1

5 1–4–2–3–4–3

6 1–3–2–1–4–2

Table 1 Sequences assignedto jobs

Table 2 Makespan under various strategies

Strategy Averagemakespan

Minimummakespan

Maximummakespan

No strategy 166.58 151.71 181.45

Provision of centralbuffer

155.25 146.71 166.11

Using AGV astemporary buffer

86.29 63.48 88.51

Sending additionalAGV

112.84 103.8642 120.1358

Providing additionallanes

108.14 107.15 110.0

Proposed strategy 127.82 103.32 152.32

0

20

40

60

80

100

120

140

160

180

200

1

Mak

esp

an

No StrategyProvision of Central BufferUse of AGV as BufferSending Additional AGVProviding Additional LanesProposed Strategy

Minimum

2 3

MaximumAverage

Fig. 16 Makespan under various strategies

100

105

110

115

120

125

130

135

1

Number of AGVs

Ave

rag

e M

akes

pan

2 3 4

Fig. 17 Increase of makespan with the increase in the number of AGVs

Int J Adv Manuf Technol (2010) 47:351–364 361

the number of machine centers has been taken to be four.The generated sequences of all the jobs are given in Table 1.

The makespan times under various benchmark recoverystrategies and the proposed strategy are given in Table 2.

From Table 2, it is observed that the provision of any ofthe mentioned strategies takes less time than the case whereno strategy is applied. Moreover, average makespan is theleast if AGV is used as a buffer (see Fig. 16). But, sinceAGV has a limited capacity, it cannot always be used as atemporary buffer, especially when AGV is fully loaded.Provision of additional lanes also results in less makespan,but this strategy is very limited in terms of additionalinvestment, space availability, and inability to provide aneffective solution, as discussed in section 3.3. We are notgoing into further discussion on this matter since the subjectis beyond the objective of this paper. The strategy of“sending additional AGV” to the station facing deadlockalso takes less time than the case when no strategy isapplied. However, sending additional AGV can result ingreater makespan due to traffic congestion as the number ofAGVs is increased in the system (see Fig. 17), which canbe evident from Table 3. Thus, the strategy of sendingadditional AGVs may not provide an effective solution.

Table 2 also shows that the provision of central bufferalone is not providing a good solution as it results in greatermakespan than those in case of other benchmark strategies.This longer time results mainly due to the deadlock atcentral buffer.

The proposed strategy makes use of both AGV andcentral buffer, resulting in less makespan. In addition toresulting in less makespan, “no deadlock” results (see

Table 4) in the central buffer, and deadlock is also resolvedat the station under deadlock due to the application of theproposed strategy. Thus, the proposed strategy is animproved one, which is using the central buffer only as atemporary holder of jobs and not as a temporary buffer forstoring jobs, resulting in absolutely no or negligiblehandling cost for jobs stored in central buffer (see Table 5).It should be noted that no additional AGV should be sent tothe station facing deadlock, which has already beenmentioned before in this paper.

From Tables 1, 2, 3, 4, and 5, it can easily be observedthat our proposed strategy performs better than all thebenchmark strategies in the existing literature.

Furthermore, our proposed strategy has a remarkableadvantage of using the central buffer as an intermediateholder of jobs (during the exchange of jobs among inputbuffer, output buffer, and central buffer), instead of atemporary storage. As a result, the jobs facing deadlock arenot stored in central buffer, resulting in zero handling costand absolutely no handling time for the jobs facingdeadlock. If the central buffer is not used as a loading/unloading station, then the central buffer does not store anyjob at all. Otherwise, if the central buffer is used as loading/unloading station, even then, the handling time and cost for

Table 4 Average number of jobs facing deadlock

Average number of jobsfacing deadlock

Deadlock faced at input buffer whencentral buffer is not used

287

Deadlock faced at central buffer whencentral buffer is used

241

Deadlock faced at central buffer whenproposed strategy is used

0

Table 3 Increase of makespan with the increase in the number ofAGVs

Number of AGVs Average makespan

2 112.84

3 120.73

4 125.81

5 129.33

Table 5 Effect of the proposed strategy on handling cost of jobs incentral buffer (Total handling cost per minute: 18 money units)

Average time of jobs stored in central buffer

Under “Provision of central buffer” only Under proposedstrategy

31.2 0.50

Total cost (average time×total handlingcost per minute)

561.6 9

Fig. 18 Total cost under “Provision of central buffer” and “Proposedstrategy” (X axis value 1 “Provision of central buffer,” value 2“Proposed strategy”)

362 Int J Adv Manuf Technol (2010) 47:351–364

the stored jobs in the central buffer are reduced consider-ably, since the jobs are not stored in central buffer to get ridof deadlock anymore. Thus, the overhead cost (COH),shrinkage cost Cs

i

� �, and cost of deterioration Co

i

� �, as the

components of total cost (TC), (mentioned in Eq. 3) arenon-existent on the application of the proposed strategy.The total handling cost and the components of this cost areprovided in Eqs. 1 through 3 in this paper. We have alsoestimated the effect of the proposed strategy on the overallhandling cost through our simulation study. The simulationexperiment on the strategy of “providing central buffer” hasbeen used to find the total time for which the jobs are keptin the central buffer. This time has been used to show theeffectiveness of the proposed strategy on the total handlingcost for jobs in the central buffer (see Table 5). Since thehandling cost of jobs is negligible on the application of theproposed strategy, thus the effect could only be shown byproviding a numerical example as shown below, using thedata on “average time of jobs stored in Central Buffer”obtained from our simulation experiment.

Numerical example Suppose that the shrinkage cost Csi

� �

per unit of stock received is ten money units per minute, thecost of deterioration Co

i

� �per unit of stock received is six

money units per minute, and the cost of overhead (COH) perunit of stock received is two money units per minute. Thus,the total cost (TC) per minute is 18 money units¼ 10þ 6þ 2ð Þ. We are considering all these data in “perminute” time unit since the base time unit in our simulationexperiment is “minute.” Table 5 below shows the timespent by the jobs in central buffer and the effect of theapplication of the proposed strategy on the handling cost.From Table 5, it is evident that handling cost of jobs incentral buffer is reduced to a negligible amount onapplication of the proposed strategy (see Fig. 18).

Since the jobs facing deadlock are not stored in centralbuffer, thus, the handling time for these parts is alsonegligible. Jobs are only being kept during exchangeamong the buffers while recovering from deadlock. Thus,the problem of misarrangement of parts in central bufferbecomes irrelevant if the central buffer is not used as aloading/unloading station. Even if the central buffer is usedas a loading/unloading station, even then the handling timeis reduced considerably since the jobs from the stationunder deadlock are not required to be handled anymore.

6 Conclusion

The major contribution of this paper includes a newimproved strategy which provides an improved solution toshop deadlock problem with the help of both AGV and

central buffer. The handling time and cost are eitherreduced considerably or reduced to zero, depending onwhether the central buffer is used as a loading/unloadingstation, since jobs facing deadlock need not be stored incentral buffer to get rid of deadlock condition. Onapplication of the proposed strategy, the central buffer canbe used just as an intermediate holder of jobs during theexchange of jobs among input buffer, output buffer, andcentral buffer using AGV. This paper also shows the effectof benchmark deadlock recovery strategies, showing thatthe application of any one of these benchmark strategiesmay give rise to another kind of deadlock situation.Simulation has been performed to compare the performanceof the benchmark strategies and the proposed strategy, interms of makespan and the handling cost of jobs in thecentral buffer. The results show that the proposed strategyperforms much better than all the other strategies. Thus, it isclear that the proposed strategy results in the considerablereduction in handling time and cost for the jobs stored incentral buffer.

References

1. Viswanadham N, Narahari Y (1994) Performance modeling ofautomated manufacturing systems. Prentice-Hall of India PrivateLimited, New Delhi, p 117

2. Liu FH, Hung PC (2001) Real-time deadlock-free control strategyfor single multi-load automated guided vehicle on a job shopmanufacturing system. Int J Prod Res 39(7):1323–1342

3. Lochana MR, Wee HG, Ng WC, Teo CP (2003) Cyclic deadlockprediction and avoidance for zone-controlled AGV system. Int JProd Econ 83:309–324

4. Wan KC, Tanchoco JMA, Koo PH (1997) Deadlock prevention inmanufacturing systems with AGV systems: banker's algorithmapproach. J Manuf Sci Eng 119:849–854

5. Jain A, Jain PK, Singh IP (2005) Deadlock analysis in FMS in thepresence of flexible process plans—a simulation study. Interna-tional Journal of Simul Model 4(2):53–66

6. Isloor SI, Marsland TA (1980) Deadlock problem: an overview.Computer 13(9):58–78

7. Coffman EG , Elphick MJ, Shoshani A (1971) System deadlocks.Computing Surveys 3(2), June

8. Fanti Maria Pia, Zhou MengChu (2004) Deadlock controlmethods in automated manufacturing systems, IEEE transactionson systems, man, and cybernetics—Part A: Systems and Humans34(1), January

9. Zhang W, Judd RP (2007) Deadlock avoidance algorithm forflexible manufacturing systems by calculating effective free spaceof circuit. Int J Prod Res 46(13):3441–3457

10. Zhang W, Judd RP, Deering P (2004) Necessary and sufficientconditions for deadlocks in flexible manufacturing systems basedon a digraph model. Asian J Cont 6:217–228

11. Zhang W, Judd RP, Paul P (2006) Evaluating order of circuits fordeadlock avoidance algorithm for flexible manufacturing system.Int J Prod Res 44:5247–5259

12. Zhang W, Judd RP (2005) Deadlock avoidance algorithm forflexible manufacturing systems by calculating effective free spaceof circuits. in Proceedings of the 2005 American ControlConference, Portland, OR, 8-10 June, pp 3926-3931

Int J Adv Manuf Technol (2010) 47:351–364 363

13. Ke- Yi Xing, Bao-Sheng Hu, Hao-Xun Chen (1996) Deadlockavoidance policy for petri-net modeling of flexible manufacturingsystems with shared resources. IEEE Transactions on AutomaticControl 41(2) February

14. Joaquin Ezpeleta, JosC Manuel Colom, Javier Martinez (1995) APetri net based deadlock prevention policy for flexible manufac-turing systems. IEEE Trans Robot Autom, vol. II . no. 2. April

15. Viswanadham N, Narahari Y, Timothy L. Johnson (1990)Deadlock prevention and deadlock avoidance in flexible manu-facturing systems using Petri net models. IEEE Trans RobotAutom 6(6) December

16. Zhang W, Judd RP, Deering PE (2006) Evaluating order ofcircuits for deadlock avoidance in a flexible manufacturingsystem. Int J Prod Res 44(24):5247–5259

17. Cho H, Kumaran TK, Wysk R (1995) Graph-theoretic deadlockdetection and resolution for flexible manufacturing systems. IEEETrans Rob Auto 11:550–527

18. Lawley MA (1999) Deadlock avoidance for production systemswith flexible routing. IEEE Trans Rob Auto 15:497–509

19. Wysk R, Yang N, Joshi S (1991) Detection of deadlocks inflexible manufacturing cells. IEEE Trans Rob Auto 7:853–859

20. Piroddi L, Cossalter M, Ferrarini L (2007) A resource decouplingapproach for deadlock prevention in FMS. Int J Adv ManufTechnol 40:157–170. doi:10.1007/s00170-007-1319-y

21. Wang Shengyong, Chew Song Foh, Lawley Mark A (2008) Usingshared-resource capacity for robust control of failure-pronemanufacturing systems, IEEE Transactions on Systems, Man,and Cybernetics—Part A: Systems and Humans 38(3), May

22. Egbelu JP, Tanchoco JM (1984) Characterization of automaticguided vehicle dispatching rules. Int J Prod Res 22(3):359–374

23. Han M-H, McGinnis LF (1989) Control of material handlingtransporter in automated manufacturing. HE Transactions 21(2):184–190

24. Miyamoto T, Tsujimoto N, Kumagai S (2005) A CooperativeAlgorithm for Autonomous Distributed Vehicle Systems withFinite Buffer Capacity, IEICE TRANS. FUNDAMENTALS,VOL.E88–A, NO.11 NOVEMBER 2005.

25. Wu Naiqi, Zhou MengChu (2006) Resource-Oriented Petri Netfor deadlock resolution in Automated Manufacturing Systemswith Robots. 2006 IEEE International Conference on Systems,Man. and Cybernetics, October 8-11, Taipei, Taiwan, pp 74-79

26. Gupta JND, Luong LHS, Nguyen VH (1999) Part dispatching andmachine loading in flexible manufacturing systems using centralqueues. Int J Prod Res 37(6):1427–1435

27. Roser Christoph, Nakano Masaru, Tanaka Minoru (2003) Bufferallocation model based on single simulation. Proceedings of the2003 Winter Simulation Conference. In: S Chick, PJ Sanchez, DFerrin, DJ Moorrice, (eds)

28. Liu John J (1989) The periodic routing of a flexible manufacturingsystem with centralized in-process inventory flows. Int J Prod Res 27(6):943–951

29. Gupta T, Houshyar A (1990) Consideration of instage and centralbuffers in two-stage production system. Computers and IndustrialEngineering 19(1-4):427–431

30. Muller Max (2003) Essentials of Inventory Management. AMA-COM, a division of American Management Association. pp 49-65

31. Taghaboni, Fataneh (1989) Scheduling and control of manufac-turing systems with critical material handling, Ph.D. thesis (MajorProfessor: J. M. A. Tanchoco), School of Industrial Engineering,Purdue University, West Lafayette, Indiana

364 Int J Adv Manuf Technol (2010) 47:351–364