14
Mathematics and Computers in Simulation 70 (2006) 419–432 Scheduling analysis of FMS: An unfolding timed Petri nets approach Jong-Kun Lee a,, Ouajdi Korbaa b,1 a LIS/Computer Engineering Department, Changwon National University, Sarim-dong 9, Changwon, Kyungnam 641-773, South Korea b LAGIS, Ecole Centrale Lille Cit´ e Scientifique BP 48, F-59651 Villeneuve d’Ascq Cedex, France Available online 20 December 2005 Abstract We are interested in Flexible Manufacturing Systems (FMS) scheduling problem. Different methods have been explored to solve this problem and mainly to master its combinatorial complexity: NP-hard in the general case. This paper presents an analysis of the cyclic scheduling for the determination of the optimal cycle time and the minimization of the Work In Process (WIP). Especially, the product ratio-driven FMS cyclic scheduling problem using timed Petri nets (TPN) unfolding is described. In addition, it has been proved that the Basic Unit of Concurrency (BUC) is a set of the executed control flows based on the behavioral properties of the net. Using our method, one could divide original system into some subnets based on machine’s operations using BUC and analyze the feasibility time in each schedule. Herein, our results showed the usefulness of transitive matrix to slice off some subnets from the original net, and explained in an example. © 2005 IMACS. Published by Elsevier B.V. All rights reserved. Keywords: FMS; Cyclic schedule; Slices; Transitive matrix; Unfolding 1. Introduction FMS (flexible manufacturing system) is composed of a set of versatile machines, zig and fixture, and automatic transport system for moving parts between each job. In FMS, one of the important issues is to formulate the general cyclic state-scheduling problem to minimize the WIP in order to satisfy some economical constraints. Various methods have been proposed by researchers [5,7,9,10,16,17,19,20] to solve this problem. In this paper, we focus on evaluating the dynamic performance of such a linear system. Hillion [5] proposed a heuristic algorithm based on the computation of the degree of feasibility after giving a Petri net (PN) model of the system. Also, Valentin [19] improved this algorithm by using timed hybrid Petri nets and by introducing available intervals concept. The problem was that this algorithm could not guarantee the feasibility of the solutions in one run. Korbaa [9] developed an algorithm to find near-optimal solution using the regrouping algorithm. Korbaa tried to get near-optimal solutions and to minimize the WIP. For getting an optimal solution long computational time has been required. This means that all these methods have the problem of complexity and computational time. Corresponding author. Tel.: +82 55 279 7421; fax: +82 55 279 7179. E-mail addresses: [email protected] (J.-K. Lee), [email protected] (O. Korbaa). 1 Tel.: +33 3 20 33 54 04; fax: +33 3 20 33 54 18. 0378-4754/$32.00 © 2005 IMACS. Published by Elsevier B.V. All rights reserved. doi:10.1016/j.matcom.2005.11.010

Scheduling analysis of FMS: An unfolding timed Petri nets approach

Embed Size (px)

Citation preview

Page 1: Scheduling analysis of FMS: An unfolding timed Petri nets approach

Mathematics and Computers in Simulation 70 (2006) 419–432

Scheduling analysis of FMS:An unfolding timed Petri nets approach

Jong-Kun Leea,∗, Ouajdi Korbaab,1

a LIS/Computer Engineering Department, Changwon National University, Sarim-dong 9, Changwon,Kyungnam 641-773, South Korea

b LAGIS, Ecole Centrale Lille Cite Scientifique BP 48, F-59651 Villeneuve d’Ascq Cedex, France

Available online 20 December 2005

Abstract

We are interested in Flexible Manufacturing Systems (FMS) scheduling problem. Different methods have been explored to solvethis problem and mainly to master its combinatorial complexity: NP-hard in the general case. This paper presents an analysis of thecyclic scheduling for the determination of the optimal cycle time and the minimization of the Work In Process (WIP). Especially,the product ratio-driven FMS cyclic scheduling problem using timed Petri nets (TPN) unfolding is described. In addition, it hasbeen proved that the Basic Unit of Concurrency (BUC) is a set of the executed control flows based on the behavioral propertiesof the net. Using our method, one could divide original system into some subnets based on machine’s operations using BUC andanalyze the feasibility time in each schedule. Herein, our results showed the usefulness of transitive matrix to slice off some subnetsfrom the original net, and explained in an example.© 2005 IMACS. Published by Elsevier B.V. All rights reserved.

Keywords: FMS; Cyclic schedule; Slices; Transitive matrix; Unfolding

1. Introduction

FMS (flexible manufacturing system) is composed of a set of versatile machines, zig and fixture, and automatictransport system for moving parts between each job. In FMS, one of the important issues is to formulate the generalcyclic state-scheduling problem to minimize the WIP in order to satisfy some economical constraints. Various methodshave been proposed by researchers[5,7,9,10,16,17,19,20]to solve this problem. In this paper, we focus on evaluatingthe dynamic performance of such a linear system. Hillion[5] proposed a heuristic algorithm based on the computationof the degree of feasibility after giving a Petri net (PN) model of the system. Also, Valentin[19] improved this algorithmby using timed hybrid Petri nets and by introducing available intervals concept. The problem was that this algorithmcould not guarantee the feasibility of the solutions in one run. Korbaa[9] developed an algorithm to find near-optimalsolution using the regrouping algorithm. Korbaa tried to get near-optimal solutions and to minimize the WIP. Forgetting an optimal solution long computational time has been required. This means that all these methods have theproblem of complexity and computational time.

∗ Corresponding author. Tel.: +82 55 279 7421; fax: +82 55 279 7179.E-mail addresses: [email protected] (J.-K. Lee), [email protected] (O. Korbaa).

1 Tel.: +33 3 20 33 54 04; fax: +33 3 20 33 54 18.

0378-4754/$32.00 © 2005 IMACS. Published by Elsevier B.V. All rights reserved.doi:10.1016/j.matcom.2005.11.010

Page 2: Scheduling analysis of FMS: An unfolding timed Petri nets approach

420 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

To simplify the calculation process in the scheduling problem and to make shorter computational time for gettingmany feasible solutions, we consider unfolding Petri nets to analyze the sequence process and to explain the reducedprocess. We call “unfolding” a PN unfolding, which has the reachability properties of the original net. Structuralanalysis on the “unfolding” is much easier than on the initial model. The advantage of the unfolding is that the statespace explosion can be avoided since it is based on partial order semantics. To reduce the processing time, we consideran algorithm to select an environment of a shared resource, which has priority over the other ones, using the transitivematrix. In our case, the system has been analyzed to get the best possible solutions based on this environment of sharedresource. The model has been divided into slices and create PN slice using this concept.

The properties of a PN can be classified into two categories: behavioral and structural properties. The behavioralproperties are investigated in association with the marking of PN, e.g., reachability, boundness and liveness[13]. Bothtransition and place invariants belong to structural properties in PN. If the behavioral properties used by the transitivematrix are exhibited, it could be easier to analyze the system after slicing off some subnets.

This paper is organized as follows: some definitions of time Petri nets (TPN) and unfolding are given in Section2,and time Petri net slice is presented in Section3. The scheduling objectives and outline the problems arising duringthe transformation of the initial model into an unfolding TPN are described in Section4. In Section5, we introduce anillustration model for FMS, and specially emphasize the different ways of obtaining a closed loop model. A conclusionand some perspectives will end this paper.

2. Basic notions of timed Petri nets and slices

In this section, certain terms that are often used in this paper are defined[1–4,10,13,15,18].Let N =<P, T, I, O, M0, τ > be a timed Petri net, whereP is the set of places (of sizem), T is the set of transitions

(of sizen), andI: T -> P∞ is the input function,O: T -> P∞ is the output function.M0 ∈ M = {M|M : P → IN}, M0is an initial marking,IN is the set of positive integers.τ: T → IN is a time function which associates to each transitionof T a deterministic rational.

A transition t ∈ T is enabled at a markingM′ = M − ·t + ·t, where·t represents the incoming weights of the firedtransition andt· the outgoing weights of the fired transition.

We denote byM (t > M′). The set of reachable marking ofN is the smallest set (M0 > containingM0 and such that ifM ∈ (M0 > andM (t > M′ (for somet ∈ T)) thenM′ (t > M0)). A time Petri netsN is safe if for every reachable markingM, M(P) ⊆ {0,1} and bounded if there isk ∈ IN such thatM(P) ⊆ {0, . . ., k}, for every reachable markingM. The setof successors of a nodex ∈ P ∪ T is x ={y ∈ P ∪ T; (x, y) ∈ F: I ∪ O}, and the set of its predecessors is·x ={y ∈ P ∪ T;(y, x) ∈ F: I ∪ O}.

A timed Petri netsNS =<PS, TS, FS, MS, τS>, wherePS⊆ P, TS⊆ T, FS∈ F, MS∈ (M0> andτS∈ τ then we cansay thatNS is a sub-net ofN).

The number of occurrences of an input placePi in a transitiontj is given by #(Pi,I(tj)), and the number of occurrencesof an output placePi in a transitiontj is given by #(Pi,O(tj)).

The matrix of the PN structure,S is S =<P, T, C−, C+>, whereP, T are the finite sets of places and transitions,respectively.C− andC+ are matrices of m rows (one for each place) by n columns (one for each transition) defined by:

C− = [I, j] = #(Pi, I(tj)), matrix of input function,C+ = [O, j] = #(Pi, O(tj)), matrix of output function.And the incidence matrixC is given byC = C+ − C−.

3. Invariant and transitive matrix

3.1. Invariant

For completeness, we recall the terminologies which were used in[11,13].

Definition 1 (Invariant). A row vectorX = (x1, x2, . . ., xm) ≥ 0 is called aP-invariant if and only ifX · C = 0, whereX = 0 and· denotes the vector product.

A column-vectorY = (y1, y2, . . ., yn)T ≥ 0 is called a T-invariant, if and only ifC · Y = 0, whereY is an integer solutionof the homogeneous matrix equation andY = 0.

Page 3: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 421

Fig. 1. A Petri net.

Definition 2 (Place transitive and transition matrixes). The place transitive and transition matrixes are defined,respectively as follows:

CP = C−(C+)T

CT = (C+)TC−

Example.

CP =

0 1

1 0

1 0

[

1 0 0

0 1 1

]=

0 1 1

1 0 0

1 0 0

This matrix allows representing the relation between places in terms of output and input. For previous example, wecan find that p2 and p3 receive a token after p1 and that p1 receives one token from p2 and another from p3 (Fig. 1).

Definition 3 (Labeled place transitive matrix). Let LCP be the labeled place transitive matrix:

LCP = C− diag(t1, t2, ..., tn)(C+)T

The elements ofLCP describe the direct transferring relation that is from one place to another through one or moretransitions.

Definition 4. Let LCP be them × m place transitive matrix. If a transitiontk appearss times in the same column ofLCP, then we replacetk in LCP by tk/s in L∗

CP .By introducing them × m place transitive matrix, we can evaluate the transition enabling firing, and calculate the

quantity and the sequence of transition enabling firing.

Definition 5. Let a reachable markingMR(k + 1) fromM(k) be anm-vector of nonnegative integer. The transformationis defined by:

MR(k + 1)T = M(k)TL∗CP

Example. This example shows thatM(k) = [P1(k), P2(k), P3(k)]T and we can obtain (Fig. 2):

LCP =

0 0 t1

0 0 t2

0 0 0

and

MR = [0, 0, t1(P1(k)) + t2(P2(k))]T

Page 4: Scheduling analysis of FMS: An unfolding timed Petri nets approach

422 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

Fig. 2. Illustrative example.

3.2. Algorithm and properties

A Basic Unit of Concurrency (BUC) is a sub net corresponding to a resource. It contains the incoming transitionsof the resource and also the outgoing transitions. We chose the BUC based on the place transitive matrix which wasdefined in previous section; in this paragraph we propose an algorithm to determine the BUC.

Algorithm (BUC construction algorithm). Input:N = <P, T, I, O, M0, τ>Output: BUC ofN, Ns = <Ps,Ts, Is,Os,M0s,τs>DefineLCP and consider one shared resource (machine)

(1) Find the all-relational places, of the shared resource, in each column and rowLCP and make an element of ownBUC with this initial marking place.

(2) Find the relational places of the selected places in (1).(3) Link all selected places and transitions with existing arcs on the initial Petri net.

The method of partitioning the model divides the system into BUCs. The obtained BUC is defined as follows:

Definition 6 (BUC). In the timed Petri netN = <P, T, I, O, M0, τ>, when the set of places is divided by the previousalgorithm, the BUCs are defined by (BUCi | i = 1, . . ., n) and each BUCi = <Pi, Ti, Fi, Mi, τi,> satisfies the followingconditions:

Pi = P BUCi,

Ti = {t ∈ T |s ∈ Pi, (s, t) ∈ F or (t, s) ∈ F },

Fi = {(p, t) ∈ F, (t, p) ∈ F |p ∈ Pi, t ∈ Ti}

∀τi ∈ τ, τi(t) = τ(t) and∀p ∈ Mi, Mi(p) = M(p)

We can say that the flow of control in the Petri nets is based on the tokens flow. If the token is divided into some tokensafter firing a transition, the flow of control is divided into several flows. Accordingly, we define that the BUC is a set ofthe executed flows of control based on the functional properties of the net. In the timed Petri net model, the behavioralconditions of a transitiont are all predecessors’ places (·t), which are connected with the transitiont. Petri net slices aresubnets based on BUC at a transition level, and a functional condition is defined according to the following conditions:

• When transitiont is not shared: satisfy the precondition of transitiont only.• When several slices share transitiont: satisfy the preconditions in all BUC, which have transitiont.

Theorem 1. Let N be a time Petri net andNs be a set of time Petri net slices that is produced by the slice algorithm.If Ns satisfies the functional conditions,N andNs are behavioral equivalent (N ≡ Ns).

Page 5: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 423

Fig. 3. Cyclic Petri net.

Proof (We prove this theorem based on p ∈ · ti ⇔ p ∈ · tT). (⇒) Since thep is an element ofPi, ∃ ti ∈ Ti, such thatp ∈ ·ti. And by the BUC definition,Pi = P BUCi, P BUCi is a set of place which is obtained by the BUC algorithm,such thatP BUCi ⊆ P. So, we say that ifp ∈ ·ti is thenp ∈ ·tT is true.

(⇐) Consider ifp ∈ P andp /∈ P BUCi thenP ⊂ P BUCi. If p ∈ P, t ∈ T such thatp ∈ ·t. And p /∈ ∪t ∈ Ti

· t, in this

case, we can say that∪t ∈ Ti

· t = ∪i=1

Pi but by the definition of BUC,Pi is a set of places which is obtained by the BUC

algorithm, such thatPi ⊆ P. So if p ∈ P andp /∈ P BUCi thenP ⊂ P BUCi is not true. �

4. Unfolding timed Petri nets (UTPN)

Unfolding technique, originally proposed by McMillan[14], is a method used to avoid the state explosion problemin the verification of concurrent systems modeled with finite-state Petri nets. The technique is based on the concept ofnet unfolding; well-unknown partial order semantics of Petri nets[6,8,12,14].

4.1. Occurrence nets

An occurrence net is a net, which represents clearly causal relations between places, especially transitions, of theoriginal net. In this section, we briefly recall the main definitions (Figs. 3 and 4).

Definition 7 (Occurrence net (OCN)). An occurrence net is an acyclic time Petri netN = <P, T, F, M0, τ> in whichevery placep ∈ P has at most one input transition (|·p| ≤ 1, F ⊆ (P × T) ∪ (T × P)) is the flow relations.

An OCN algorithm is summarized as follows[6,14]:

Algorithm (Occurrence net construction). Input:N = <P, T, F, M0, τ>Output: the OCN ofN, N′ = <P′, T′, F′, M0

′, τ′>.

(1) Make a copy of the place into the OCN and label it asp′. Repeat (2)–(6) until the transitions set becomes empty.(2) Choose a transitiont ∈ T.(3) For each place in·t, find a copy in the OCN, and if not found then go back to (2). Do not choose same subnet in

OCN twice for a givent.(4) If any pair of chosen places is not concurrent, go to (1).(5) Make a copy oft in OCN and labeled ast′. Draw an arc from every places which was chosen tot′.(6) For each place int·, make a copy in the OCN.

Also, we can see a relationship between OCN and cyclic nets in the following definition.

Definition 8. Let N′ = <P′, T′, F′, M0′, τ′> be an OCN andN = <P, T, F, M0, τ> be a cyclic net, and∃ labeling

functionL′: P′ ⊆ P andT′ ⊆ T so that the OCN is satisfying follows conditions:

Page 6: Scheduling analysis of FMS: An unfolding timed Petri nets approach

424 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

Fig. 4. Occurrence net ofFig. 3.

(1) {∃ s′| s′ ⊂ T′,F′* ⊆ (P′ × T′) ∪ (T′ × P′)}.(2) ∀p ∈ P′, p ∈ t1· andp ∈ t2· impliest1 = t2.(3) ∀t1, t2, t3 ∈ T′, t1 F′* t3 andt2 F′* t3 and·t1 ∩· t2 = ∅ impliest1 = t2.(4) ∀t1, t2 ∈ T′, L′(t1) = L′(t2) and·t1 = ·t2 impliest1 = t2.

4.2. Unfolding

Unfolding is used to verify the occurrence net after cut or truncate, based on local configuration and basic marking[8,14].

Definition 9 (Configuration). A set of transitionsC′ ⊂ T′ is a configuration in an OCN if:

(1) for eacht′ ∈ C′ the configurationC′ containst′ together with all its predecessors;(2) C′ contains no transitions in mutual conflict.

Definition 10. Let C′ be a configuration of an occurrence net. A final marking ofC′, denoted by FM (C′), is a markingreachable from the initial marking after firing all transitions ofC′ and only those transitions are fired. A final markingof a local configuration oft′ is called a basic marking oft′ and denoted BM (t′). The set of predecessor transitions oft′ of theC′ is called the local configuration oft′ and is denoted as⇒t′.

Definition 11 (Cut off). A transitionti′ of an occurrence net is a cut off transition, if there exists another transitiontj′such that BM (ti′) = BM (tj′) and|⇒ti′| > |⇒tj′|, where|⇒ti′| is the cardinality of{⇒ti′}. An unfolding is the greatestbackward closed subnet of an occurrence net containing no nodes after cut-off transition.

Definition 12. An unfolding timed Petri net = <P′, T′, F′, M0, τ′> is obtained from the occurrence net by removingall the places and transitions, which succeed the cut-off (Fig. 5).

Page 7: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 425

Fig. 5. Unfolding net ofFig. 3.

Let UTPN be an unfolding timed Petri net,M0 be the initial marking and FM be a final marking, find a sequencexsuch that: BM (x > FM, and the reachability delay is minimal[17]):

Min z =∑t ∈ T

xi

Subject to BM (x > FM whereX = (xt) is the characteristic vector of the sequencex).

5. Modeling of UTPN

An important sub-class (sliced net) of a timed Petri net is a net in which has an independent control flow and forwhich all weights associated to arcs are equal to one. In this work, we select an independent control flow based on themachines operations. This Timed Petri Net can perfectly model the command we want to implement. At the end of theoptimization approach we obtain a model where all the operating sequences are linear and the next step is to computethe best schedule.

5.1. Computing the optimal schedule

The schedule of a sliced net can be easily computed by playing the tokens and firing the transitions as soon aspossible. We can compute firing dates of the transitions by computing potentials on the sliced net after unfolding. Inthe unfolding net UTPN, it has one function for computing the makespan time, asf(UTPN). The functionf(UTPN) isthe necessary time to go from the initial marking M0 to the object marking.f(UTPNi) is composed ofh(ti) andg(ti),whereh(ti) is the operating time of transitionti, and g(ti) is the operating time of the next transition ofti (we call itminimum waiting time for firing transitionti). Then, the schedule duration can be computed by the following recurrentformula:

f (UTPNi) = h(ti) + g(ti)

and

f (UTPN) = Max1≤j≤n

{(j∑

i=1

h(ti)

)+ g(tj)

}

The best schedule of the UTPN is obtained by minimizing the functionf(UTPN). We can say that if we find a minimizedunfolding net, the schedule of marking is an optimized schedule. So let UTPN be the makespan time of the optimized

Page 8: Scheduling analysis of FMS: An unfolding timed Petri nets approach

426 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

Fig. 6. A two shared resources example.

unfolding schedule. Then the time can be computed using the unfolding net as follows:

Optimization UTPN= min(f (UTPN))

To apply our method continuously, we consider some notations about degree of operation time in the machine andminimized WIP. The deciding order is one of the important things in the scheduling problem. We consider a throughputof the operation time in the machine, based on the number of tokens (number of resource share), and the operatingtime of machine.

Let d(mi) be the degree of operation time in the machine, then

d(mi) = ϕ(mi)

γ(mi)

where,ϕ(mi) is total operation time of the machinei, andγ(mi) is the number of token (resource share transition) inmachinei. So, this degree of d(mi) is one parameter to choose the order to be used in the Unfolding net. In the linearcyclic scheduling problem, the minimization of the number of pallets is one of the important factors.

Definition 13. Let CT be the optimal cyclic time based on the machines workload, then WIP lower bound is

WIP =∑

i

(∑OS to be carried byiOperating time

)CT

5.2. Dispatching rules

We consider a system with two machines such as M1, M2 and two jobs such as OP1 and OP2 as shown in[2]. Letus assume that the production ratio corresponds to the production of 50% of OP1 and 50% of OP2 (Fig. 6).

Now, we show the transitive matrix of the example as shown inTable 1. For simplicity reason, we ignore two placesw1, w2 and one transition tw. In this table, initial tokens exist in M1 and M2. The cycle time of OP1 and Op2 are11 and 9, and the working time of machine M1 and M2 are both 10, respectively. So the cycle time CT is 10. Theminimized WIP is:

WIP =⌈

11+ 9

10

⌉= 2

Page 9: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 427

Table 1Transitive matrix of the illustration example

LCP =

0 t1/2 0 t4/2 0 t1/2 t4/20 0 t2/2 0 0 0 t2/2

t3/2 0 0 0 0 t3/2 00 0 0 0 t5/2 t5/2 0

t6/2 0 0 0 0 0t1/2 t6/2t3/2 t1/2 0 0 t5/2 t3/2t5/2 0t6/2 0 t2/2 t4/2 0 0 t6/2t2/2

Fig. 7. The five BUCs of M1.

Fig. 8. Examples of the unfolding of M1.

Page 10: Scheduling analysis of FMS: An unfolding timed Petri nets approach

428 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

Fig. 9. Results of the permutations of the BUC in M1.

Also, the degrees of the operating time of the machine, M1 and M2 have the same priority:

d(M1) = 10

3= 3.3

d(M2) = 10

3= 3.3

These machines have the same operating time (i.e. 10) for three operations showing that it is not important to give thepriority for first approach. So we select M1 to start with.

Now, we select row and column of p1, p3, p5, and M1 in (Table 1), and make one slice net based on the selectedplaces and transitions.

Fig. 10. The BUC of M2.

Page 11: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 429

Fig. 11. Examples of unfolding of M2.

(1) Slice BUC of M1 and its unfolding netsMachine M1 is involved in 2 tasks (OP1and OP2) in three processes (t1, t3, t5) (Figs. 7 and 8).In this net, we can find that six processes of M1:

Suf1 = t1-t5-t3 (15), Suf2 = t5-t1-t3 (15), Suf3 = t1-t3-t5 (12),Suf4 = t3-t1-t5 (12), Suf5 = t3-t5-t1 (15), Suf6 = t5-t3-t1 (15),

where ( ) is the operating time of the Suf (Fig. 9).In M1, we can choose two schedules as the transitions sequences: t3-t1-t5 and t1-t3-t5.

(2) Modeling of M2 and its unfolding netsMachine M2 is involved in 2 tasks (OP1 and OP2) in three processes (t2, t4 and t6) (Figs. 10).

Fig. 12. The optimal schedules of Bs1.

Page 12: Scheduling analysis of FMS: An unfolding timed Petri nets approach

430 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

Fig. 13. The optimal schedules of Bs2.

We can show the six processes as follows:

Suf1 = t2-t4-t6 (13), Suf2 = t2-t6-t4 (14), Suf3 = t4-t6-t2 (11),Suf4 = t4-t2-t6 (13), Suf5 = t6-t4-t2 (11), Suf6 = t6-t2-t4 (13).

In M2, we can find two solutions like as Suf3 and Suf5. Now, we apply the selected solutions of BUC of M2:{Suf3and Suf5} to obtain the solution BUC on M1:{Suf3 and Suf4}, then we obtain two solutions. The optimal schedulesof two cycles are inFigs. 11 and 12.

Fig. 14. The linear schedules of Bs1.

Page 13: Scheduling analysis of FMS: An unfolding timed Petri nets approach

J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432 431

Fig. 15. The linear schedules of Bs2.

Bs1: A3-A1-B2 (M1) B3-B1-A2 (M2)Bs2: A1-A3-B2 (M1) B3-B1-A2 (M2)

Finally, we get three pallets rather than two, which is lower bound WIP. Indeed, in this model, it is impossible tooptimize CT with two pallets, as proved in[2]. So, we can say that this solution is best possible one (Figs. 13–15).

6. Conclusion and future study

We proposed a model having two jobs and two machines for the analysis of a cyclic schedule for the determinationof the optimal cycle time and the minimization of the Work In Process. And TPN slices and unfolding were applied toanalyze this FMS model.

Using the method, we could divide the original system into subsystems using TPN slices and change iterated cyclemodule into acyclic module without any loss of behavior properties. In addition, we could simulate our approach withIBM PC windows 2000 using Visual C++. As a result we observed that our approach was faster previous ones in mostof cases while obtaining good results. In addition our methods can be very useful for analyzing all Petri net modelsand for applying to a complex computer simulation, a parallel computer design and analysis, and a distributed controlsystem, etc. Current researches deal with the use of this method to solve problems with deadlocks.

References

[1] E. Best, L. Cherkasova, J. Desel, J. Esparza, Characterization of Home States in Free Choice Systems, Hildesheimer Informatik-Berichte 9/90,Universitat Hildesheim, 1990.

[2] H. Camus, O. Korbaa, H. Ohl, J.-C. Gentina, Cyclic schedules in Flexible Manufacturing Systems with flexibilities in operating sequences,International Conference on Application and Theory of Petri Nets (ICATPN), Osaka (Japan), 06-1996, pp. 97–116.

[3] J. Carlier, P. Chretienne, Timed Petri nets Schedules, Advances in Petri Nets, LNCS, 340, Springer-Verlag, Berlin, Germany, 1988, pp. 62–84.[4] J. Esparza, S. Lomer, W. Vogler, An improvement of McMillans unfolding algorithms, LNCS (1996) 87–106.

Page 14: Scheduling analysis of FMS: An unfolding timed Petri nets approach

432 J.-K. Lee, O. Korbaa / Mathematics and Computers in Simulation 70 (2006) 419–432

[5] H. Hillion, J.-M. Proth, X. Xie, A Heuristic algorithm for scheduling and sequence job-shop problem, in: Proceedings of the 26th CDC, 1987,pp. 612–617.

[6] C.H. Hwang, D.I. Lee, A concurrency characteristic in Petri net unfolding, in: Proceeding of SMC’97, 1997, pp. 4266–4273.[7] S. Julia, R. Valette, M. Tazza, Computing a feasible schedule under a set of cyclic constraints, in: Proceedings of the 2nd International Conference

on Industrial Automation, Nancy, France, 1995, pp. 141–146.[8] A. Kondratyev, M. Kishinevsky, A. Taubin, S. Ten, Analysis of Petri Nets by Ordering Relations in Reduced Unfolding, Kluwer Academic

Publishers, Boston, 1996.[9] O. Korbaa, H. Camus, J.-C. Gentina, A new cyclic scheduling algorithm for flexible manufacturing systems, Int. J. Flexible Manufac. Syst.

(IJFMS) 14 (2) (2002) 173–187.[10] D.Y. Lee, F. DiCesare, Petri net-based heuristic scheduling for flexible manufacturing, in: Petri Nets in Flexible and Agile Automation, Kluwer

Academic Publishers, USA, 1995, pp. 149–187.[11] J.K. Lee, O. Korbaa, Modeling and analysis of ratio-driven FMS using unfolding time Petri nets, Comput. Ind. Eng. (CIE) 46/4 (2004) 639–653.[12] J.K. Lee, O. Korbaa, J.-C. Gentina, Scheduling analysis in FMS using the unfolding time Petri nets, in: Proceedings of INCOM’01, Vienna,

Austria, 2001, Control Problems in Manufacturing, Elsevier Science, ISBN: 0-08-043246-8.[13] J. Liu, Y. Itoh, I. Miyazawa, T. Seikiguchi, A research on Petri nets properties using transitive matrix, in: Proceedings of IEEE SMC’99, 1999,

pp. 888–893.[14] K. McMillan, A technique of state space search based on unfolding, Formal Methods Syst. Design 6 (1) (1995) 45–65.[15] T. Murata, Petri nets: properties analysis an applications, Proc. IEEE 77 (4) (1989) 541–580.[16] H. Ohl, H. Camus, E. Castelain, J.-C. Gentina, Petri nets modelling of ratio-driven FMS and implication on the WIP for cyclic schedules, in:

Proceedings of SMC’95, 1995, pp. 3081–3086.[17] P. Richard, Scheduling timed marked graphs with resources: a serial method, in: Proceedings of INCOM’98, 1998.[18] A. Taubin, A. Kondratyev, M. Kishnevsky, Application of PN unfolding to asynchronous design, in: Porceedings of IEEE-SMC, 1997, pp.

4279–4284.[19] C. Valentin, Modeling and analysis methods for a class of hybrid dynamic systems, in: Proceedings of ADPM’94, 1994, pp. 221–226.[20] W. Zuberek, W. Kubiah, Throughput analysis of manufacturing cells using timed Petri nets, in: Proceedings of ICSYMC, 1993, pp. 1328–1333.