an approach using petri nets and improved heuristic search for manufacturing system scheduling

14
Journal of Mam(/acturing Systems . ~ Vol. 24/No. 2 2005 An Approach Using Petri Nets and Improved Heuristic Search for Manufacturing System Scheduling Gonzalo Mejia, Dept. of Industrial Engineering, Universidad de los Andes, Bogotd, Colombia Nicholas G. Odrey, Dept. of Industrial and Systems Engineering, Lehigh University, Bethlehem, Pennsylvania, USA Abstract Petri nets have been extensively used to model the dy- namics of various types of manufacturing systems due to their power to capture the complex characteristics of many of such systems. However, the "state explosion" has prevented their use for solving real scheduling problems. To date, Petri net based algorithms have only been tested with relatively small problems with few machines and few jobs. This paper proposes an algorithm that combines the A* search with both an aggressive node-pruning strategy and improved evalua- tion functions to generate near-optimal schedules. Extensive computational tests were conducted on a wide vadety of sce- narios ranging from classical job shop to complex FMS sched- uling problems. The obtained results show very promising results in terms of solution quality and computing times. Keywords: Petri Nets, Flexible Manufacturing Systems, Scheduling, Heuristic Search Introduction Petri nets have been extensively used to model a number of manufacturing systems because of their capability to model the asynchronous, concurrent, nondeterministic nature of such systems. A very good survey on the topic modeling with Petri nets was carried out by Moore and Gupta (1996). Petri nets, however, suffer from "state explosion," which prevents their use as an optimization tool. Recall that a Petri net is a simplified representation of a graph (the reachability graph) and such a graph can be huge even for small nets. To reduce the effort required to search the reachability graph, past approaches have used an adaptation of bound and graph search algorithms. Seminal papers date from 1994 (Lee and DiCesare 1994). Since then, other authors have presented im- proved versions of the original algorithm presented by Lee and DiCesare. For example, Sun, Cheng, and Fu (1994) limited the expansion of the net reachability graph by selectively pruning nonpromising branches; Xiong and Zhou (1998) implemented the A* search with limited backtrack- ing capability; Jeng and Chen (1998) used the Petri net state equations to calculate lower bounds for makespan; Abdallah, E1Maraghy, and E1Mekkawy (1998, 2002) developed methods for deadlock-free schedules using structural analysis; furthermore, Abdallah, E1Maraghy, and E1Mekkawy combined depth-f'n'st search with branch-and-bound techniques to reduce the computational effort and find near- optimal schedules; Reyes-Moro et al. (2002) pre- sented a staged search approach combined with a pruning strategy to reduce the search space; and fi- nally, E1Mekkawy and E1Maraghy (2003) studied the performance of new evaluation functions (lower bounds) of their heuristic search approach under a number of scenarios. These newer versions of the algorithm have shown good results on the few prob- lems in which these methods were tested. However, there are two major issues that have not received much attention: (i) How these algorithms perform on classical test problems with known optimal solu- tions, and (ii) how these algorithms compare to other classical scheduling techniques. This paper extends the work by the authors (Mej/a and Odrey 2003) with a version of the A* algorithm [named as the Beam A* Search (BAS)]. The BAS algorithm incorporates a number of fea- tures that improve both the performance and speed of the basic algorithm introduced by Lee and DiCesare (1994). Such features, described below, include (i) selective branch filtering, (ii) limited ex- pansion, (iii) new evaluation functions, and (iv) con- trolled search deepening. 79

Upload: gonzalo-mejia

Post on 03-Jul-2016

217 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mam(/acturing Systems . ~ Vol. 24/No. 2

2005

An Approach Using Petri Nets and Improved Heuristic Search for Manufacturing System Scheduling Gonzalo Mejia, Dept. of Industrial Engineering, Universidad de los Andes, Bogotd, Colombia Nicholas G. Odrey, Dept. of Industrial and Systems Engineering, Lehigh University, Bethlehem, Pennsylvania, USA

Abstract Petri nets have been extensively used to model the dy-

namics of various types of manufacturing systems due to their power to capture the complex characteristics of many of such systems. However, the "state explosion" has prevented their use for solving real scheduling problems. To date, Petri net based algorithms have only been tested with relatively small problems with few machines and few jobs. This paper proposes an algorithm that combines the A* search with both an aggressive node-pruning strategy and improved evalua- tion functions to generate near-optimal schedules. Extensive computational tests were conducted on a wide vadety of sce- narios ranging from classical job shop to complex FMS sched- uling problems. The obtained results show very promising results in terms of solution quality and computing times.

Keywords: Petri Nets, Flexible Manufacturing Systems, Scheduling, Heuristic Search

Introduction Petri nets have been extensively used to model a

number of manufacturing systems because of their capability to model the asynchronous, concurrent, nondeterministic nature of such systems. A very good survey on the topic modeling with Petri nets was carried out by Moore and Gupta (1996). Petri nets, however, suffer from "state explosion," which prevents their use as an optimization tool. Recall that a Petri net is a simplified representation of a graph (the reachability graph) and such a graph can be huge even for small nets.

To reduce the effort required to search the reachability graph, past approaches have used an adaptation of bound and graph search algorithms. Seminal papers date from 1994 (Lee and DiCesare 1994). Since then, other authors have presented im- proved versions of the original algorithm presented by Lee and DiCesare. For example, Sun, Cheng, and

Fu (1994) l imi ted the expans ion of the net r eachab i l i ty graph by se lec t ive ly pruning nonpromising branches; Xiong and Zhou (1998) implemented the A* search with limited backtrack- ing capability; Jeng and Chen (1998) used the Petri net state equations to calculate lower bounds for makespan; Abdallah, E1Maraghy, and E1Mekkawy (1998, 2002) developed methods for deadlock-free schedules using structural analysis; furthermore, Abdallah, E1Maraghy, and E1Mekkawy combined depth-f'n'st search with branch-and-bound techniques to reduce the computational effort and find near- optimal schedules; Reyes-Moro et al. (2002) pre- sented a staged search approach combined with a pruning strategy to reduce the search space; and fi- nally, E1Mekkawy and E1Maraghy (2003) studied the performance of new evaluation functions (lower bounds) of their heuristic search approach under a number of scenarios. These newer versions of the algorithm have shown good results on the few prob- lems in which these methods were tested. However, there are two major issues that have not received much attention: (i) How these algorithms perform on classical test problems with known optimal solu- tions, and (ii) how these algorithms compare to other classical scheduling techniques.

This paper extends the work by the authors (Mej/a and Odrey 2003) with a version of the A* algorithm [named as the Beam A* Search (BAS)]. The BAS algorithm incorporates a number of fea- tures that improve both the performance and speed of the basic algori thm int roduced by Lee and DiCesare (1994). Such features, described below, include (i) selective branch filtering, (ii) limited ex- pansion, (iii) new evaluation functions, and (iv) con- trolled search deepening.

79

Page 2: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mamtfitcturing Systems Vol. 24/No. 2 2005

Extensive computational tests were conducted on a wide variety of scenarios ranging from classical job shop to complex FMS scheduling problems. In particular, the Petri net based approach can handle alternative routings, dual resources, buffers of finite capacity, material handling machines, recirculation, and batch sizes. The obtained results show very promising results in terms of solution quality and computing times.

Modeling Manufacturing Systems with Petri Nets

Definition 1. Timed Petri Net (TPN): A TPN is a 6-tuple (P, T, P x T, T x P, M0, a-), where P = set of n places, T= set o f m transitions, P fq T= { }, P x T= a set of input arcs to transitions, T x P = a set of output arcs from transitions, M0 = initial marking, and "r = set of time delays associated with places.

The modeling approach follows the concept of S4R nets (Systems of Sequential Systems with Shared Re- sources) (Abdallah, E1Maraghy, and E1Mekkawy 2002). In S4R nets, a number of concurrent serial pro- cesses are modeled with an equal number of strongly connected state machines. Places belonging to such processes are denoted as "operational places" (O) and can be timed, if representing the execution of an op- eration, or untimed, if representing a condition (such as "part in buffer") such as "ready" "in queue" or "finished" Resource capacity constraints are incor- porated to the model via "resource places" (R). O LJ R = P. All resource places are untimed.

A full model of a manufacturing system consists of a set of serial processes (job routings) connected by resource places. Conflicts arise by the effect of resource selection and routing flexibility. Resource selection occurs when a resource has the choice of selecting multiple jobs or processes, and routing flex- ibility refers to the possibility of a job operation to be processed by several resources. Typically this is the case of parallel machines. Figure 1 illustrates a Petri net model of a manufacturing system having two machines and processing two jobs. Table 1 de- fines all places for the example. Job 1 is first pro- cessed by machine 1 and then by machine 2; job 2 is processed first by machine 2 and then by machine 1. The machines are released as soon as a job fm- ishes its processing on a machine. The highlighted places (P2, P4, P7, and P9) represent timed places and correspond to operations.

Figure 1 Petri Net Model of a Job Shop with Two Jobs and Two Machines

Table 1 Description of Places for Net in Figure 1

Pl Job I ready p~ Job 2 ready

P2 Job I being processed P7 Job 2 being processed by machine 1 by machine 2

P3 Operation 1 of Job 1 Ps Operation 1 of Job 2 finished finished

p4 Job 1 being processed P7 Job 2 being processed by machine 2 by machine 1

P5 Operation 2 of Job 1 P8 Operation 2 of Job 2 finished f'mished

p~ Machine 1 available P~: Machine 2 available

State Equations The state equations presented here were the sub-

ject of the previous work (Liu, Ma, and Odrey 1997) on colored Petri nets. Here these equations are adapted to SaR nets. The state equations serve to track both the token evolution and the net timing. The main feature is the augmentation of the mark- ing vector with a "remaining process time" vector. For the following definitions, consider a S4R net hav- ing n places and m transitions.

Definition 2. Remaining Process Tune vector (Mr): This n vector contains in its i-th position the remain- ing time required to enable output transitions of the i-th place. The remaining process time, correspond- ing to condition places and to resource places, is always set to zero (0). Here, the timed places are constrained to accept at most one token to avoid duplicated remaining process times in one single place. This constraint is easily met by allowing at most one token in each resource place input to a timed place.

80

Page 3: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of ManuJacturing Systems Vol. 24/No. 2

2005

The remaining process time vector is updated with every transition firing. Here it is assumed that dur- ing a transition firing tokens are removed first from input places and then placed to the output places. Here, two more defmitions are required: 34 + and M ÷ are, respectively, the marking and remaining pr6- cessing time vectors after the token removal (from input places) but before the token placement (in out- put places).

Definition 3. Time elapse between transition fir- ings ~(k): This scalar is calculated as the maximum of the remaining processing times of the input places to the firing transition (say t*) at the k-th event.

8(k )=Max{M, . ( k ) i }V i (1)

such that the place p; e .t *

Mr(k) i corresponds to the i-th position of the Mr(k) vector.

The augmented state-space representation can be written as:

X(k + l ) = A ( k ) X ( k ) + B(k)u(k) (2)

where X(k) is the state vector.

I M(k) X ( k ) = Mr(k ) (3)

M(k) and Mr(k ) a r e n × 1 vectors. M(k) and Mr(k) are, respectively, the marking vector and the remaining processing time vector after k transition firings.

A(k) is the system matrix. This matrix is partitioned as follows:

A(k)= I n O n (4)

I,: Identity n x n matrix: 0,: Zero n x n matrix. Q: Diagonal n x n matrix that serves to distin-

guish opera t ional places f rom resource places.

Q "" {qij}. i = 1 ... n , j = 1 ... n. qij = 1 when i = j ^ i is a timed place, qij = 0 everywhere else.

u(k): m x 1 Control vector that determines which transition fires after k firings, uj(k) is the j-th position of u at time k. uj(k) = 1 if transition j fires, 0 if it does not.

B(k): Distribution matrix that transforms the con- trol action u(k) into addition or removal of

tokens when firing a transition represented in vector u(k).

c I (5) 8(k)= r c +

C: n x m incidence matrix. C = C - C-. See the definit ion of incidence matrix in Murata (1989). C + and C- are, respectively, the inci- dence input and output matrices.

T= {tij}: Processing time n x n diagonal ma- trix for operational places, tij = "ri when i = j ; 0 otherwise. ,r~ is the i-th position of the time delay vector as defined in the previous section.

Separating the marking and remaining process- ing time vectors, the equations will be, respectively:

M ( k + l ) = M ( k ) + C u ( k ) (6)

Mr(k+l )=Mr(k ) -~ (k )aM(k)+TC+u(k ) (7)

Equations (6) and (7) require a two-step calcula- tion to calculate the value of 3(k):

M ( k ) + = M ( k ) - C - u ( k ) (8)

M + r(k) -~Mr(k)-~(k)aM(k) and

(9)

M(k+l)=M(k)*+C+u(k) (10)

M r ( k + 1 ) = M + r(k) +rc+.(k) 01)

Intuitively, the remaining process time is calcu- lated as follows: Suppose the firing of thej-th transi- tion corresponds to the k-th event. Thej- th transition will fire after ~(k) units counted from the last transi- tion firing. Thus, the remaining process time vector is recalculated by subtracting ~(k) time units from the vector Mr(k) (for those marked places). In the state-space equations, this is represented by Mr(k) + = Mr(k) - ~(k)QM(k) as in Eq. (6). Negative values of the Mr(k) + vector are set to zero (0), meaning that the corresponding remaining process times have been exhausted. Then thej- th transition fires and the corresponding tokens are moved f rom the input places to the transition output places. The remaining

81

Page 4: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal o]" Mam(f~tcturing Systems Vol. 24/No. 2 2005

process time for the output places of the ftdng tran- sition are the time delays because the corresponding operations have not started yet. The time delay of the incoming tokens is represented by the vector TC+u(k). Thus, the remaining process time vector M,(k) is updated with the addition of the process time of the just-arrived tokens. This yields Mr(k+l) = M,.(k) ÷ + TC+u(k) as in Eq. (11).

Definition 4. Remaining Work Time (RWT) vec- tor. This definition was originated in this research with the purpose of calculating estimates of the mini- mum time required to complete the remaining op- erations on a given job. The RWT vector is a constant vector and contains in its i-th position the sum of time delays (associated with places), along the short- est path, that a token located at i-th place would re- quire to reach the "sink place" (that is, the place with no output transitions) of the corresponding job subnet. The calculation of RWT i excludes the remain- ing processing time place itself because such remain- ing process time is a variable quantity. The RWT of all resource places is zero (0). An example of the RWT vector is illustrated in Figure 2.

The net shows a single job subnet net with a to- ken in Po. Time delays are shown inside places (if no number is shown, the time delay is 0 for such a place). This subnet contains two possible paths con- taining both the source (/90) and the sink (P7) places. The two paths correspond to the paths Pathg = {Po, to, Pl, h, P2, t2, P3, t3, Ps, t6, P6, tT, P7} and Paths = {Po, to, Pl , tl, P2, t4, P4, ts, Ps, t6, P6, tT, P7}. Here is denoted "r(Pi) as the time delay associated with place i. The minimum time for a token at Po to reach P7 (the sink place) would be 11 time units along PathA, -r(p~) + "r(P2) + "r(P3) + a'(P5) + r(P6) + "r(pT). RWTo is then 11 time units. A token at p~ would take 9 time units-- "r(p2) + a'(p3) + "r(ps) + "r(p6) + a'(p7)--to reach P7, plus

r4 p~ ~

Figure 2 Calculat ion of RWT Vector

the time required to enable t~(MrO. Thus, RWT~ would be 9 because the remaining time Mr~ is ex- cluded from the calculation of RWT~. Following the same reasoning, RWT~ would be 9 time units. A to- ken at P3 (resp. P4) would require 3 time units plus the remaining time at P3 (resp. P4). Both RWT 3 and RX~Vl~4 would be 3 time units, "r(ps) + a'(p 0) + "r(pT). The full RWT vector for the net shown in Figure 2 is RWT = [ 11, 9, 9, 3, 3, 3, 0, 0, 0, 0]. The RWT.vector will be used to calculate lower bounds for comple- tion times in the remainder of this paper.

Optimization Using Heuristic Search Perhaps one of the most promising approaches for

optimization with Petri nets is to selectively expand the net reachability graph with graph search algorithms (Lee and DiCesare 1994; Abdallah, ElMaraghy, and E1Mekkawy 2002; Xiong and Zhou 1998; Reyes- Moro et al. 2002; E1Mekkawy and E1Maraghy 2003). Recall that the reachability graph is the graph repre- sentation that contains all possible states of a Petri net. This graph has a root node that is the initial mark- ing Mo. The immediate successors of M0 are the mark- ings that can be reached from Mo by firing one transition. Especially important is the A* search algo- rithm: This algorithm expands the most promising branches of a Petri net teachability graph according to a criterion established with the heuristic function tiM) = g(M) + h(M). The function g(M) is the actual cost (time in the makespan case) from the initial mark- ing M o to any marking M, and h(M) is an estimate of the cost from marking M to the desired final marking Ms. Those markings having lower values of tiM) will have priority for expansion.

A* search uses two lists, namely OPEN [a priority list sorted by tiM)] and CLOSE. Nodes already gen-

erated but not expanded (with no successors) are placed on OPEN; nodes expanded are placed on CLOSE. In a given iteration, the first node on OPEN is moved at the back of CLOSE; then the successors of the last node on CLOSE are genera ted and placed on OPEN. The algorithm termi- nates either when the final marking reaches CLOSE or when OPEN turns empty.

82

Page 5: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of" Mamff?tcturing Systems Vot. 24/No. 2

2005

In addition, A* search based algorithms produce deadlock-free schedules. Basically, if a generated marking in the graph does not have successors, then it is not further expanded. If the final marking is found, then a path from the initial marking can be constructed and the associated transition firing se- quence is deadlock free.

Condition 1: To guarantee that A* search finds an optimal solution, h(M) must be greater or equal than 0 and equal or less than the actual value h*(M) for every marking M (Lee and DiCesare 1994). Ad- ditionally, if the final marking is reached for the first time using a heuristic function h(M) that meets con- dition 1, then the path from the initial marking to the final marking is the optimal one (Russell and Norvig 1995). In this research, the generation of the succes- sor markings M" of M and the calculation of the cor- responding remaining processing time vector Mr" are accomplished with the state equations described in the previous section. The cost g(M') is calculated as:

g (M') = g (parent of M') + ~5(parent of M ' - M')

where B(parent of M ' - M ' ) is the time elapsed to reach g(M') from the parent of g(M'). The cost g(Mo) is 0.

Although, A* search guarantees optimality, four major drawbacks of the above A* search algorithm have been identified. Those relate to: (i) the calcula- tion of the heuristic function h(M), (ii) the exponen- tial complexity of the algorithm, (iii) the generation of nonpromising markings, and (iv) the growth of the list OPEN (Reyes-Moro et al. 2002; Sun, Cheng, and Fu 1994). Each of these drawbacks and the cor- responding corrections are explained next.

Calculations of Heuristic Function h(M) Heuristic functions h(M) that meet condition 1

described above are generally difficult to estimate (Reyes-Moro et al. 2002). This is due in part to the lack of features of timed Petri nets that facilitate such calculations.

In this research, the heuristic functions h(M) were developed using dispatching rules: For example, h(SPT, M) calculates the cost from the current mark- ing (M) to the final marking by using the common shortest processing time (SPT) dispatching rule. The other heuristic function was implemented with the MRWT (most remaining work time) dispatching rules. The SPT rule was implemented here with the "r vector, whereas the MRWT rule was implemented

with the RWT vector. Other heuristic functions h(M) based on dispatching rules are currently under in- vestigation.

Avoiding Markings Explosion by Controlled Deepening

The second drawback mentioned earlier in this sec- tion is that using admissible heuristics h(M) --< h(M)* (for all markings M, and h(M)* is the actual cost) will degenerate toward a breadth-first search strategy (Reyes-Moro et al. 2002). To overcome this draw- back, the strategy followed in this research consists of forcing the search deeper in the reachability graph in a controlled manner. This is accomplished by ex- panding only a limited number of markings at each level of the reachability graph. The maximum num- ber of markings allowed in a given level is denoted as the beam width (bw). The speed of the search will be primarily determined by the beam width, bw: Smaller beam widths will provide faster run time, but the qual- ity of the solution may be compromised. This is be- cause fewer markings are explored. In Figure 3, a sketch of the beam strategy on a Petri net reachability graph is depicted. Markings (and the corresponding Mr vectors) are the nodes of the graph.

Notice that only two markings are expanded at each level (bw = 2). In the algorithm, a maximum of bw markings on OPEN whose depth corresponds to the current depth are moved to CLOSE. If no mark-

D:sc~d~d ram*kings

Expanded markings

Markmg~ generated but not ye~ expanded

O

0

0 Figure 3

Beam Width Approach for Marking Selection

83

Page 6: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mamtfitcturing Systems Vol. 24/No. 2 2005

ing on OPEN is located at the current depth, then the first marking on OPEN whose depth is greater than the current depth is moved to CLOSE or, if no mark- ing on OPEN has a greater depth than the current depth, the marking with higher depth is selected. In this way, it is guaranteed that the search always moves toward the location of final marking.

Reducing Search Space by Eliminating Nonpromising Markings

The third strategy to reduce the search space con- sists of selectively eliminating nodes. Here, the con- cept of "nondelay" scheduling (Baker 197.4) is adapted to the Petri net formalism. In a nondelay schedule, a machine is never idle when a job is wait- ing for processing. The idea here is to avoid se- quences of transition f'wings that lead to schedules with delays. In the A* search terminology, the nondelay scheme translates to the following: When generating the successors M" of a given marking M, only the marking(s) with the minimum value of g(M') would be inserted on the list OPEN. Successor mark- ings with values of g(M') greater than rain (g(M')) will be permanently deleted. In nondelay schedul- ing, the operations of the jobs with the earliest start- ing times are scheduled first. The values of g(M) correspond to the start of such operations.

Reducing Length of List OPEN As pointed out by Sun, Cheng, and Fu (1994),

the list OPEN can exponentially grow if no appro- priate measures are taken. This research adapts the strategy of Sun, Cheng, and Fu, which limits the length of the list OPEN to a certain cutoff value. The strategy of Sun, Cheng, and Fu removes the last marking from OPEN [the marking M with highest value off(M)]. The potential drawback is that usu- ally deeper markings will have greater values off(M) compared to shallow markings. Hence, "good" deeper markings can eventually be pruned off. In this paper's strategy, when the length of the list OPEN exceeds the predefined cutoff value, the marking with the highestf(M) whose depth is lower than the current depth is discarded.

Beam A* Search Algorithm for Petri Net Optimization

All of the proposed modifications presented in this research lead to the algorithm that is denoted as the

Beam A* Search (BAS) algorithm. The prototype function for this algorithm is BAS(h(rule, 114), bw, cut- off), where h(rule, M) is the heuristic function ("rule" is the employed dispatching rule), bw is the width of the beam, and cutoffis the maximum length of the list OPEN as defined above. In this paper, the algorithm is sometimes termed as BAS (rule) for simplicity and denotes the "BAS employing the heuristic h(rule, M)" regardless of the values of bw and cutoff.

The full BAS( h( ruIe, M), bw, cutoff) algorithm fol- lows next:

1. Place the initial marking M0 on the list OPEN. 2. Initialize current depth = 0. Also initialize the

variable count markings as 0. The variable count markings tracks the number of mark- ings in the current depth that have been ex- panded.

3. If OPEN is empty, terminate with failure. 4. Remove the first marking M on OPEN whose

depth equals the current depth. If no mark- ing is on the current depth, select the fn'st marking on OPEN whose depth is greater than current depth. If no marking on OPEN has a greater depth than the current depth, then select the marking with the greatest depth. Put M on CLOSE.

5. If M is the final marking M~ construct the path from M0 to M and terminate.

6. Find the set of enabled transitions { t j} / j { 1...m e }, me is number of enabled transitions when the marking is M.

7. Generate the children markings M" along with the corresponding remaining process time vectors Mr" that would result from fir- ing each enabled transition tj. This is accom- plished with the state equations described in previous sections. Also calculate g(M') for each M'. Store these markings on a tempo- rary list (TEMPLIST).

8. (Non-delay branching). Find the minimum value of g(M') for all M's in TEMPLIST, say min(g(M')). Delete those markings with val- ues of g(M') greater than rofin(g(M')) from TEMPLIST.

9. For each of the markings M" remaining on TEMPLIST, do the following: a. Calculate h(M'), and flM'). b. If M" is equal to some marking M °~"

already on OPEN, verify if g(M') <

84

Page 7: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Manul~wturing Systems Vol. 24/No. 2

2005

g(m°pen). If that is the case, delete M °p~" from OPEN and insert M" on OPEN. If not, insert M" on OPEN. If the conditions M" = M °p~" and g(M') < g(M °p~") are true, a new, better path was found from M 0 to M" (M" = M°W"). Deleting m Open from OPEN and inserting M" redirects the path from M0 to M'.

c. If M" is equal to a marking M c~°se al- ready on CLOSE, verify if g(M') < g(M°°Se). If that is the case, delete M °°s~ from CLOSE and all its children on OPEN and insert M" on CLOSE. If not, insert M" on CLOSE. This step follows the same logic as step 8a. If the conditions M" = M cl°~, g(M') < g(M °°~) are all true, a new, better path was found from M 0 to M" (M" = M°°~). Deleting M °°~ from CLOSE and in- serting M" redirects the path from M 0 to M'. In addition, if children nodes of M cl°~e were expanded, they must be deleted from OPEN.

d. If M" is not on either list, then insert M" on OPEN.

e. If the length of OPEN is greater than the predefined cutoff value, delete the marking on OPEN whose depth is smaller than current depth and with the highest value of h(M). If no mark- ing has a depth smaller than current depth, delete the last marking on OPEN.

f. If count markings < bw, then add 1 to count markings. Otherwise, set count markings = 0 and current depth = current depth + 1.

10. Go to step 3.

The following section illustrates the performance of the BAS algorithm.

Computational Experiments and Results The BAS algorithm was coded in C++ and run on

a personal computer having 256 MB RAM memory. Three sets of test problems were considered: The first set of scheduling problems was randomly gen- erated, the second set consisted of classical job shop scheduling problems, and the third set was a compi-

lation of FMS scheduling problems presented in the literature. The evaluation criterion in all cases was makespan. The description and tests follow next.

Randomly Generated Problems

The first set of experiments was conducted on a set of 30 randomly generated problems of approximately the same size (number of jobs and number of opera- tions). Such problems consisted of five jobs, three or four machines, four or five operations per job, recir- culation on some operations, and approximately 33% of the operations with alternative routings. These prob- lems were generated by randomly selecting and link- ing predefined Petri net modules. A predefined module is intended to model a number of alternative routes to execute an operation of a job. The three predefined modules, denoted here as module l, module2, and module3, with one, two, or three possible alternatives per operation, respectively, are shown in Figure 4a. The routing of each job is constructed by linking the modules as shown in Figure 4b. Next, the resources are added to each operation of the job subnet as shown in Figure 4c.

The purpose of these tests was to evaluate perfor- mance of the BAS algorithm on both state-space re- duction and solution quality. Any given problem was tested with both the classical A* search algorithm (or L 1 as named by Lee and DiCesare 1994) and the BAS algorithm. As mentioned above, using A* search with an admissible function such as h(M) = 0 guarantees the optimal solution (Russell and Norvig 1995).

The first indicator employed here was the aver- age relative deviation, compared to the L1 solution, of the 30 problems. The relative deviation for the solution of a problem is defined as:

BAS algorithm - L1 solution x100%

L1 solution

The second indicator is the ratio of markings ex- panded by BAS vs. the number of markings ex- panded by L1. The third and last indicator is the ratio of the CPU time of the BAS algorithm vs. the CPU time of L1. The charts in Figures 5, 6, and 7 illus- trate the performance of the algorithm using both BAS (SPT) and BAS (MRWT). Figure 5 shows the average relative deviation (ARD) chart, which is the average relative deviation for the 30 problems as a function of the beam width (bw). Figure 6 corre- sponds to the average ratio of explored markings

85

Page 8: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mam(f~tcturing Systems Vol. 24/No, 2 2005

Module 1 Module 2 Module 3

(a) Modules employed to generate random Petri net problems for manufacturing systems

(b) Sequence of activities (routings) of a job constructed by linking modules 2-I-3

r~'t M~

(c) Addition of resources(M~ to M 4) to a job subnet

Figure 4 Steps for Random Problem Generation

(AREM) chart, which shows the average ratio of mark- ings explored by BAS and L1 vs. the beam width. Figure 7 is the average ratio of CPU times (ARCT) chart. This chart shows the average ratio of CPU times vs. the beam width. The maximum beam width was set to 7 because no more than seven transitions were enabled at any given time for any of these problems. Beam widths greater than 7 would produce expan- sion of markings deeper than "current depth" in the reachability graph, and eventually, large beam widths will degenerate into depth-first strategies.

Analysis. The figures show that, on average, re- suits very close to the L1 solution can be achieved in a very small fraction of time and exploring only a small portion of the markings. For example, the av- erage relative deviation for BAS (SPT, bw = 7, cutoff = 150) was 2.9% (see Figure 5), taking, on average, approximately 1.2% of the time (see Figure 7), and

exploring approximately 0.6% of the markings (see Figure 6) compared to L1. Similar conclusions can be drawn from the BAS (MRWT) curves.

The curves for BAS using the both heuristic func- tions, h(SPT) and h(MRWT), show that solutions close to the optimal were achieved using small beam widths. The extra effort of exploring more markings (by us- ing larger beam widths) did not produce significant improvements in terms of solution quality. On aver- age, BAS (MRWT) achieved slightly better results than BAS (SPT), but in general, the choice of the heuristic function will depend on the particular problem.

Standard Job Shop Scheduling Problems The literature has produced scores of papers on

job shop scheduling problems (Pinedo and Chao 1999), and it is not the purpose of this research to develop yet another algorithm for this type of prob-

86

Page 9: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mam(l~wturing Systems V o l . 2 4 / N o . 2

2 0 0 5

t-.

0

>

ca

, <

Average Relative Deviation (ARD) Char t

6 % , . . . . ~ . . . . . . . . ~ . . . . . . ~ . t ~ - - - - ~ - - - - r - - - - - - - - -

~ - - ~ - : - : 2 L ] - ' - ~ , < s p ~ 5 % , . . . . . . ] - ~ - ~ - - - t . . . . I . . . . . , - / , m i l ~ h C M ~ h / T , . . . .

. . . . . J . . . . . L ~ 2 . . . . . I ~ " , . . . . . . . . . I I - - - - ~ I I . . . .

4~- ,, : : " - " 7 " ~ , ~ - . _ i . . _ ',

3 % . . . . . ~ - r . . . . ~ . . . . . r . . . . ~ ' - - ~ . . . . . I I I

2~,,; . . . . . . ~ - - - - - - ~ " ~ - ~ . . . . - , . . . . . ~ . . . . ~ - - - ~ . . . . . ra r - - " : I I ~ r , , .

. . . . . - i . . . . . ~ . . . . . g . . . . % . . . . . r . . . . - f . . . . . ~ . . . . . . I I [ i I I I

0 l 2 3 4 5 6 7 8

Beam Width

Figure 5 A R D Chart

Average Ratio of Explored Markings (AREM) C h a r t

0.70°/=

-~, 0,60% o 0.50%

0 . 4 0 ' %

8, 0.30% 0.20%

< o. 10~,,~. 0.00%

I I I I I I I . . . . . " f . . . . - - I . . . . . P . . . . "1- . . . . - I . . . . . I - - - - ~ i . . . . .

' ' ' 2 2 . . . . . -4- . . . . - - 4 . . . . . I - . . . . 4 - . . . . . . I . . . . . . . . .

I I I I -

. . . . . £ . . . . J . . . . . L . . . . .

! i I I I I I I . . . . . T . . . . . . . . . . . T . . . . q - - "

. . . . . i ~ ; ~ " - - " 1 . . . . . r . . . . r . . . . " n - - I I - - • ~ i t i J I , = I I - , = h I M ~ W T ~, I

I I I I I I ~ / • • • • t i h

o t 2 3 4 5 6 7 8

Beam Width

Figure 6 A R E M Chart

1,40% =~* 1,20% 0 4,00% I~ 0.80% ~p 0.60%

0 . 2 0 %

0 , 0 0 %

Avera~ Ratio of CPU Times (ARCT) ChaM

I I I I i i

. . . . . 4- . . . . 4 . . . . - I . . . . . i - 7 . . . , . 1 ~ : , , , , . t ~ ' - " ~ . . . . + . . . .

. . . . . ~- . . . . ~ . . . . ~ ~ _ L - . . . . ~ . . . . -~ . . . .

' ~ ~.~"r'-,~"- ', ', I I,

' ' - L . . . . . l I P " - - - G . . . . ~ . . . . . ~ . . . . . £ - - I . . . . . . . , / -

. . . . . T . . . . " i . . . . . . . . . . ~ . . . . . . . . ~ ~ I I I I I

O ~ 2 3 4 5 6 7

Beam Width

Figure 7 ARCT Chart

lem. Rather, it is intended to show that the BAS al- gorithm is also suitable for job shop type problems. The choice of testing the BAS algorithm on classical job shop problems corresponds to the wide avail- ability of known optimal solutions and the results of other algorithms that yield optimal or near-optimal solutions. These problems provide a benchmark for the performance of the BAS algorithm.

P r o b l e m Definition. As is com- mon in the literature, an Njo b × g m a c h

p r o b l e m represents a job shop scheduling problem (JSSP) having Njo b jobs and Mmach machines. Each job follows a fixed sequence of op- e r a t i o n s and visits all machines without recirculation. After a job finishes an operation, it moves im- mediately toward the next machine. The processing times are determin- istic and no pre-emption is allowed. The objective of a solving a JSSP is to m i n i m i z e some c r i t e r ion (makespan, total tardiness, number of tardy jobs, and so on), subject to (i) job precedence constraints and (ii) resource constraints.

Let (i,j) be the operation of job i on machine j , Pij be the duration of operation (i,j), and Yij and Cij be, re- spectively, the start and completion times of operation (i,j). In this pa- per, the criterion is makespan (C~,), wh ich is the m a x i m u m of the completion times of all jobs [(Crux = max(C/)] for all (i,j). This schedul- ing problem can be formulated math- ematically as follows (Pinedo and Chao 1999).

Min C~ x

Subject to

Ykj - Yo > Pij for every

operation ( i , j ) that

precedes ( k, j )

Cmax - - Yij > PO

for all operations ( i , j )

Yij - Y, > P, °r y , - Yu > Po

for all oPerations (i,l)

and ( i , j ) to be processed

on machine i

yij > 0 for all oPerations ( i , j )

87

Page 10: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of ManuJ~cturing Systems Vol. 24/No. 2 2005

Solving this problem to optimality using mathemati- cal programming is only feasible for small instances. For larger-sized problems, most commonly used tech- niques include graph-based algorithms, such as the shifting bottleneck algorithm (Adams, Balas, and Zawack 1987) and beam search (Sabuncuoglu and Bayiz 1999); and neighborhood search algorithms, such as tabu search (Glover 1990), simulated anneal- ing (Hussain and Joshi 1997), and genetic algorithms (Della Croce, Tadei, and Volta 1995).

In this paper, 39 standard job shop problems were tested and the results compared against the optimal solutions, and against the results of the beam search (BS) and shifting bottleneck (SB) algorithms provided by Sabuncuoglu and Bayiz (1999) and Adams, Balas, and Zawack (1987), respectively. Among these prob- lems, MT06 and MT10 were developed by Muth and Thompson (1963), ABZ5 and ABZ6 were originated by Adams, Balas, and Zawack (1987), LA01-LA40 were presented by Lawrence (1994), and ORB1- ORB5 were taken from Applegate and Cook (1991). Based on the results found in the previous section in which the behavior of both BAS (SPT) and BAS (MRWT) was investigated, beam widths of 1 were selected. A summary of the results of BAS with both heuristics is shown in Table 2. The BS algorithm is graph based. The main difference with BAS is that whereas a node in BS corresponds to an operation, a node in BAS in the reachability graph corresponds to a marking vector. Other differences include the branching schemes and the node filtering of BS. The SB algorithm was developed by Adams, Balas, and Zawack (1987) and since its introduction has been widely popular for job shop scheduling problems.

Computational times are also attractive. In gen- eral, the CPU times for the BAS algorithm are about 1.5 times faster than those reported by beam search. Clearly this CPU time comparison serves only as a reference, as the two algorithms were run on differ- ent machines, but it shows the potential of BAS as a real-time scheduler. As an example, the CPU times for the 20 × 10 problems range between 70 and 80 seconds with BAS and between 130 and 150 sec- onds using beam search.

FMS Scheduling Problems A flexible manufacturing system (FMS) can be

defined as a set of two or more machines with fully integrated material-handling capabilities controlled

by computers or programmable controllers. An FMS presents a number of features, such as processing and transfer batches, product mix, buffers of limited capacity, and multiple job routings, which compli- cate the scheduling task. In addition, deadlocks can occur as in typical circular wait situations (Zhou and DiCesare 1993).

This section investigates the performance of BAS on a set of FMS scheduling problems for which re- suits were available. All such problems were origi- nally modeled with Petri nets and tested with graph search algorithms (e.g., A* search). The first set of problems was proposed by Lee and DiCesare (1994) and consisted of several FMSs with varying batch sizes. These problems are denoted here as LD3 and LD4a and LD4b to correspond to the examples 3, 4a, and 4b of Lee and DiCesare (1994). The second set of problems, proposed by Xiong and Zhou (1996), uses a Petri net model of an FMS having three machines and two robots and processing two jobs with varying batch sizes. The third set of problems corresponds to a semiconductor manufacturing facility having four jobs and three machines with varying batch sizes. These problems were presented by Xiong and Zhou (1998). The last set of problems, presented by Abdallah, ElMaraghy, and ElMekkawy (1998), con- sists of an automated manufacturing cell with three machines and one single robot. The robot performs all transport operations between machines and from/ to the input/output buffers. Such an automated cell processes three jobs, also with varying batch sizes.

The results found by BAS for the first set of prob- lems (LD3, LD4a, and LD4b) are compared against the solutions found by Lee and DiCesare (1994) with the algorithm named there as L1 (see Table 3). The results for the second set of problems are compared against the solutions presented in the same paper (Xiong and Zhou 1996) (see Table 4). For the third set of problems (Xiong and Zhou 1998), the BAS re- suits are compared against the solutions found with the algorithms best-first, back-tracking (BF-BT) (Xiong and Zhou 1998) and dynamic window search (DWS) (Reyes-Moro et al. 2002) (see Table 5). Finally, BAS is compared against the Abdallah, E1Maraghy, and E1Mekkawy (1998) algorithm (see Table 6).

Results and Analysis

The above results show the superiority of the BAS algorithm over other Petri net based methods. This

88

Page 11: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal of Mamtf?tcturing Systems Vol. 24/No. 2

2005

Table 2 Results for Job Shop Classical Problems

Optimal BAS (SPT) BAS (MRWT) BS SB

Problem Cm~x C,~x CPU Dev % C~, CPU Dev % C,~, Dev % C~x Dev %

6 jobs 6 machines

MT06 55 59 0.6 7.3% 59 0.6 7.3% N/A N/A 59 7.3%

10jobs 5 machines

LA01 666 741 2.2 11.3% 666 1.9 0.0% 666 0.0% 666 0.0% LA02 655 717 1.5 9.5% 720 1.5 9.9% 704 7.5% 720 9.9% LA03 597 653 1.5 9.4% 663 1.5 11.1% 650 8.9% 623 4.4% LA04 590 639 1.4 8.3% 623 1.4 5.6% 620 5.1% 597 1.2% LA05 593 593 1.4 0.0% 593 1.4 0.0% 593 0.0% 593 0.0%

15 jobs 5 machines

LA06 926 935 5.1 1.0% 926 5.8 0.0% 926 0.0% 926 0.0% LA07 890 973 7.2 9.3% 890 5.3 0.0% 890 0.0% 890 0.0% LA08 863 916 5.0 6.1% 863 5.0 0.0% 863 0.0% 868 0.6% LA09 951 951 5.0 0.0% 951 5.0 0.0% 951 0.0% 951 0.0% LA10 958 1042 5.1 8.8% 958 5.2 0.0% 958 0.0% 958 0.0%

20jobs 5 machines

LAI1 1222 1222 12.8 0.0% 1222 13.8 0.0% 1222 0.0% 1222 0.0% LA12 1039 1084 13.9 4.3% 1039 12.8 0.0% 1039 0.0% 1039 0.0% LA13 1150 1188 14.0 3.3% 1150 13.8 0.0% 1150 0.0% 1150 0.0% L A I 4 1292 1397 13.0 8.1% 1292 13.2 0.0% 1292 0.0% 1292 0.0% LAI5 1207 1231 14.0 2.0% 1207 14.0 0.0% 1207 0.0% 1207 0.0%

10jobs 10 machines

ABZ5 1234 1288 7.0 4.4% 1266 7.4 2.6% 1288 4.4% 1354 9.7% ABZ6 943 1061 7.3 12.5% 980 7.5 3.9% 980 3.9% 986 4.6% L A I 6 945 1081 7.1 14.4% 1015 7.5 7.4% 984 4.1% 1021 8.0% LA17 784 831 7.6 6.0% 800 7.4 2.0% 827 5.5% 796 1.5% LA18 848 941 7.2 11.0% 888 7.5 4.7% 881 3.9% 891 5.1% LA19 842 902 7.3 7.1% 902 7.6 7.1% 882 4.8% 875 3.9% LA20 902 939 7.4 4.1% 950 7.4 5.3% 948 5.1% 924 2.4% MT10 930 1016 7.5 9.2% 1047 7.6 12.6% 1016 9.2% 1015 9.1% ORB1 1059 1196 7.9 12.9% 1181 8.5 11.5% 1174 10.9% 1250 18.0% ORB2 888 992 7.2 11.7% 926 7.5 4.3% 926 4.3% 1014 14.2% ORB3 1005 1118 7.2 11.2% 1153 7.5 14.7% 1087 8.2% 1175 16.9% ORB4 1005 1105 7.8 10.0% 1067 7.6 6.2% 1036 3.1% 1053 4.8% ORB5 887 1027 7.3 15.8% 1002 8.9 13.0% 968 9.1% 989 11.5%

15 jobs 10 machines

LA21 (1040, 1053) 1199 25.3 * 1150 27.4 * 1154 * 1172 * LA22 927 1040 27.4 12.2% 991 27.6 6.9% 985 6.3% 1040 12.2% LA23 1032 1054 27.5 2.1% 1096 28.3 6.2% 1051 1.8% 1061 2.8% LA24 935 1070 27.2 14.4% 1000 25.3 7.0% 992 6.1% 1000 7.0% LA25 977 1237 26.5 26.6% 1048 26.3 7.3% 1073 9.8% 1048 7.3%

20jobs 10 machines

LA26 1218 1375 66.5 12.9% 1268 72.5 4.1% 1269 4.2% 1224 0.5% LA27 (1235, 1269) 1483 71.4 * 1366 73.1 * 1316 * 1291 * LA28 1216 1347 72.1 10.8% 1361 72.3 11.9% 1373 12.9% 1250 2.8% LA29 (1120, 1195) 1396 73.5 * 1270 73.3 * 1252 * 1239 * LA30 1355 1458 77.1 7.6% 1390 73.4 2.6% 1435 5.9% 1355 0.0%

Average Deviation 8.5% 4.8% 4.1% 4.5% Optimal Solutions 3 12 12 12 Within 10% 23 30 33 31

C~, : makespan. Dev %: relative deviation from optimal. CPU: CPU time in seconds. N/A: not available. *: Deviation could not be calculated.

89

Page 12: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal t~/" Manu/~cturing Systems Vol. 24/No. 2 2005

Table 3 Results for Three Sets of Problems Proposed by

Lee and DiCesare (1994)

L1 BAS (SPT) BAS (MRWT)

Problem C.~, NM C~x NM Cm~ NM

LD3 Best 426 758 363 401" 366 1172 Fastest 439 40 1 * 363 401" 380 401"

LD4a Best 298 451" 260 882 270 451" Fastest 298 451" 261 451" 270 451"

LD4b Best 273 778 241 822 253 822 Fastest 293 421" 242 42 l* 256 421"

*Minimum number of markings to be explored. Symbols: Cm~: makespan. NM: number of explored markings. L 1: algorithm pro- posed by Lee and DiCesare (1994).

is detailed below. In general, BAS outperforms the other algorithms in both number of explored mark- ings and solution quality.

In the first set of problems, BAS outperformed the L1 algorithm (between 12% and 19% in terms of the results, with a comparable number of markings explored). It is interesting to note that BAS (SPT) seems to perform better than BAS (MRWT) on this kind of problem. This suggests that BAS (SPT) per- forms better on FMS scheduling problems and the BAS (MRWT) rule is more appropriate for job-shop problems. Additional testing on this issue will be the subject of further research.

In the second set of problems (Xiong and Zhou 1996), for small batch sizes the results are identical for BAS (SPT) and BAS (MRWT). For larger batch sizes, BAS outperformed the Xiong and Zhou (1996) algorithm in both number of markings explored (problems with batch sizes 10 and 20) and quality of the solution (1.7% improvement on the problem with batch size 20).

In the third set of problems, BAS found a solution (the optimal solution according to Jeng and Chen 1999) exploring the minimum possible number of markings in all three cases. Notice that BF-BT (Xiong and Zhou 1998) also found a feasible solution ex- ploring the minimum number of markings, but the BAS solutions were approximately 86% or better in all three cases. DWS found the stated optimal solu- tions with less effort than BF-BT but exploring at least four times more markings than BAS.

The last set of problems (Abdallah, E1Maraghy, and E1Mekkawy 1998) required a very careful dead- lock-avoidance plan. The challenge for this set of

Table 4 Results for Problems Proposed by Xiong and Zhou (1996)

Xiong and Zhou BAS BAS

Batch sizes (1996) (SPT) (MRWT) (job l, job2) Cm~ NM C~x NM C~, NM (1,1) Best 22 13" 22 25 22 13"

Fastest 22 13" 24 13" 22 13"

(2,2) Best 39 25* 41 25* 39 25* Fastest 39 25* 41 25* 39 25*

(5,5) Best 90 101 98 121 90 61" Fastest 90 101 98 61" 90 61"

(10,10) Best 175 230 193 121" 175 121" Fastest 321 121" 193 121" 175 121"

(20,20) Best 351 376 383 241" 345 241" Fastest 661 241" 383 241" 345 241"

problems seemed to be finding a feasible instead of an optimal solution because of the high number of potential deadlocks. The strategy here was slightly changed: First, the nondelay filtering strat- egy was not enforced to allow the expansion of more markings. Hence, the solutions found here were ac- tive but not necessarily nondelay schedules. Last, the heuristic function h(M) = 0 was used to speed up the calculation process. Notice that, despite the large number of explored markings, the CPU times seem reasonable.

Conclusions In this paper, a new Petri net based algorithm,

named Beam A* Search (BAS), was presented. This algorithm selectively expands portions of a Petri net reachability graph with the purpose of finding a near- optimal schedule. The main features of the BAS al- gori thm presented here include the intel l igent pruning of the search space, a controlled search deep- ening to avoid marking explosion, and the develop- ment of new heur is t ic eva lua t ion funct ions . Competitive results were obtained on standard job shop scheduling problems compared against similar algorithms such as beam search (Sabuncuoglu and Bayiz 1999) and the shifting bottleneck algorithms (Adams, Balas, and Zawack 1987). The BAS algo- rithm exhibits, in addition to good solutions, very attractive computational times, which in turn makes it attractive for real-time control of flexible manu- facturing systems. BAS was also tested on complex

90

Page 13: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Jourmd ~[" Manufacturing Systems Vol. 24/No. 2

2005

Table 5 Results for Problems Proposed by Xiong and Zhou (1998)

Batch Sizes (j l , j 2 , j 3 , j 4 )

BF-BT DWS BAS (SPT) BAS (MRWT) (5.5,2,2) C,~x NM C~, NM C~x NM Cr.~x NM

Best 58 3437 58 431 58 85* 58 85* Fastest 105 85" N/A N/A 58 85" 58 85"

BF-BT DWS BAS (SPT) BAS (MRWT) (8,8,4,4) Cm~ NM Cm~x NM C.~x NM Cm~x NM

Best 100 9438 100 856 100 145" 100 145" Fastest 198 145" N/A N/A 100 145" 100 145"

BF-BT DWS BAS (SPT) BAS (MRWT) ( 10,10,6,6) C ~ NM C.~, NM C~ax NM Cm~x NM

Best 134 23092 134 1204 134 193 * 134 193 * Fastest 274 193" N/A N/A 134 193" 134 193"

*This is the minimum number of markings to be explored. N/A: not available, ix: refers to the batch size of job x. Symbols: Cmax: makespan. NM: number of explored markings. BF-BT: best first-back tracking. DWS: dynamic window search.

Table 6 Results for Set of Problems Proposed by

Abdallah, EIMaraghy, and EIMekkawy (1998)

Abdallah, EIMaraghy, and

Batch Sizes E1Mekkawy (1998) BAS (h(M)) = 0) ( j l , j 2 , j 3 ) Cm~, N M C~x NM CPU

(1,1,1) Best Solution 560 N/A 507 701 0.2

(100,100,100) Best Solution 45672 N/A 45192 195573 35.5

Symbols: Cm~: makespan. NM: number of explored markings. CPU: time in seconds, jx refers to the batch size of job x.

FMS scheduling problems. It outperformed other similar methods for which the same FMS problems were tested. Further research is needed on develop- ing a BAS version for minimizing other criteria such as mean tardiness or maximum lateness. Also, ef- forts would be concentrated on developing new heu- ristic functions h(M), improving both the marking pruning and the marking selection. Other areas that are the subject of further research are the utilization of the BAS algorithm for cyclic scheduling, assem- bly operations where parts are incorporated into sub- a s sembl i e s , reentrant manufactur ing , and rescheduling of flexible manufacturing systems.

References Abdallah, I.B.; E1Maraghy, H.A.; and ElMekkawy, T. (1998). "An

efficient search deadlock-free scheduling in FMS using Petri nets." Proc. of IEEE Int ' l Conf. on Robotics & Automation, Leuven, Belgium, pp1793-1798.

Abdallah, I.B.; E1Maraghy, H.A.; and EIMekkawy, T.Y. (2002). "Deadlock-free scheduling in flexible manufacturing systems us- ing Petri-nets." lnt'l Journal of Production Research (v40, n12), pp2733-2756.

Adams, J.; Balas, E.; and Zawack, D. (1987). "The shifting bottleneck procedure for job shop scheduling. Management science research." Report No. MSRR-525 (R). Pittsburgh: Carnegie Mellon Univ.

Applegate, D. and Cook. W. (1991). "A computational study of the job-shop scheduling problem." ORSA Journal on Computing (v3, n2), pp149-156.

Baker, K.R. (1974). Introduction to Sequencing and Scheduling. New York: John Wiley & Sons.

Della Croce, E: Tadei, R.; and Volta, G. (1995). "A genetic algorithm for the job shop problem." Computers in Operations Research (v22, n i l pp15-24.

EIMekkawy, T.Y. and EIMaraghy, H.A. (2003). "Efficient search of Petri nets for deadlock-free scheduling in FMS using heuristic functions." lnt'l Journal of Computer Integrated Mfg. (v16, n i l pp14-24.

Glover, E (1990). "Tabu search--Part II." ORSA Journal of Comput- ing (v2, nl) , pp4-32.

Hussain, M. and Joshi, S. (1999). "Job-shop scheduling - using com- ponent packing and simulated annealing approach." hzt'l Journal of Production Research (v3, n16), pp3711-3723.

Jeng, M.D. and Chen, S.C. (1998). "A heuristic search approach using approximate solutions to Petri net state equations for sched- uling flexible manufacturing systems." lnt'l Journal of Flexible Mfg. Systems (vl0, n2), pp139-162.

Lawrence, S. (1984). "Resource constraint scheduling: an experi- mental investigation of heuristic scheduling techniques." Pitts- burgh: GSIA, Carnegie Mellon Univ.

Lee, D.Y. and DiCesare, E (1994). "'Scheduling flexible manufactur- ing systems using Petri nets and heuristic search." IEEE Trans. on Robotics and Automation (vl0, n2), pp123-131.

Liu, C.; Ma, Y.; and Odrey, N. (1997). "Hierarchical Petri net mod- eling for system dynamics and control of manufacturing sys- tems." Proc. of 7th FAIM Int ' l Conf., Middlesborough, UK, June 25-27, 1997.

Mejia, G. and Odrey, N. (2003). "Petri net models and heuristic search for scheduling of manufacturing systems: a comparative study." Proc. of ICPR Conf., Blacksburg, VA, Aug. 3-7, 2003.

91

Page 14: An approach using petri nets and improved heuristic search for manufacturing system scheduling

Journal o f Manufacturing Systems Vol. 24/No. 2 2005

Moore, K.E. and Gupta, S.M. (1996). "Petri net models of flexible and automated manufacturing systems: a survey." Int'l Journal of Production Research (v34. n i l ) , pp3001-3035.

Morton, T. and Pentico, D. (1993). Heuristic Scheduling Systems: With Applications to Production Systems and Project Manage- ment. New York: John Wiley & Sons.

Murata, T. (1989). "Petri nets: properties, analysis and applications." Proc. ~" the IEEE (v77. n4), pp541-580.

Muth. J.F. and Thompson, G.L., eds. (1963). Industrial Scheduling. Englewood Cliffs, NJ: Prentice-Hall.

Pinedo, M. and Chao, X. (1999). Operations Scheduling with Ap- plications in Manufacturing and Seta, ices. New York: Irwin- McGraw-Hill.

Reyes-Moro, A.; Yu, H.; Kelleher, G.; and Lloyd, S. (2002). "Inte- grating Petri nets and hybrid heuristic search for the scheduling of FMS." Computers in lndusttw (v47, n i l pp123-138.

Russell, S, and Norvig, P. (1995). Artificial Intelligence: A Modern Approach. Englewood Cliffs, NJ: Prentice-Hall.

Sabuncuoglu, I. and Bayiz, M. (1999). "Job shop scheduling with beam search." European Journal of Operational Research (vl 18, n2), pp390-412.

Sun, T.; Cheng, W.; and Fu, L. (1994). "A Petri net based approach to modeling and scheduling for an FMS and a case study." IEEE Trans. on Industrial Electronics (v41, n6), pp593-601.

Xiong, H.H. and Zhou, M.C. (1996). "A hybrid heuristic search algorithm for scheduling flexible manufacturing systems." Proc. of 1996 IEEE Conf. on Robotics and Automation, Minneapolis, April 1996, pp2793-2797.

Xiong, H.H. and Zhou, M.C. (1998). "'Scheduling of semi-conductor test facility via Petri nets and hybrid heuristic search." IEEE Trans. on Semiconductor Mfg. (vl 1, n3), pp384-393.

Zhou, M. and DiCesare, E (1993). Petri Net Synthesis for Discrete Event Control of Manufacturing Systems. Kluwer Academic Publishers.

Authors' Biographies Gonzalo Mejfa is currently an assistant professor in the industrial

engineering department at the Universidad de los Andes in Bogotfi, Colombia. He received both his BS and MS degrees from the same university and his PhD from Lehigh University in 2003. His research is concentrated on manufacturing systems modeling and scheduling. In particular, he is focused on Petri net modeling approaches for hierarchical modeling of real-life manufacturing systems• He teaches both at the undergraduate and graduate level. He also has participated in the development of industrial scheduling systems. He is a member of IIE and INFORMS.

Nicholas Odrey is a professor of industrial and systems engineer- ing at Lehigh University. He received his PhD from Penn State Uni- versity in 1978. Dr, Odrey's research interests are in modeling, dynamics, and control of manufacturing systems, and flexible auto- mation and robotics in particular. Current activities are studies in hierarchical and heterarchical manufacturing systems, their design, modeling, analysis, and control. Focus has been at the cell and work- station levels within a hierarchy and on developing multilevel, multi- layer models to optimize and coordinate activities at and among these levels within the context of flexible manufacturing systems. Particu- lar interests have been in Petri net modeling, temporal logic, and dioid algebras for describing and controlling such systems with issues related to adaptive scheduling at the cell level and error detection (sensor strategies and integration) and recovery (adaptation) primari- ly at the workstation level.

92