Adaptive production scheduling of virtual production

0 downloads 0 Views 809KB Size Report
In the above OPNs-CS, SPi, ATi, IMi, OMi and Ai in object Oi do not change with .... to be removed; a) machine pm iw tm su pm. w u tm ul. Machine m imm rsu pm.
int. j. prod. res., 2002, vol. 40, no. 8, 1759±1785

Adaptive production scheduling of virtual production systems using object-oriented Petri nets with changeable structure R. Y. K. FUNGy*, Z. JIANGz, M. J. ZUO§ and P. Y. L. TU} Virtual Production Systems (VPSs) are logically constructed by organizing production resources belonging to one or more physical manufacturing systems. VPSs can enhance the agility of manufacturing systems. However, an e€ ective scheduling approach is required to cope with disturbance and changes to these systems. An adaptive production scheduling method is proposed. Object-oriented Petri nets with changeable structure (OPNs-CS) formulate the scheduling problem of VPSs. To resolve resource constraints in a VPS, the OPNs-CS is modi®ed by introducing limited token available time and by revising the enabling and ®ring rules. The arti®cial intelligent heuristic search (A*) algorithm is modi®ed and applied to generate the optimal or near optimal schedule. When a VPS encounters any disturbance, an estimate of the e€ ects of the disturbance can be estimated by simulation on the OPNs-CS model. If the scheduling target (completion time) is not a€ ected, rescheduling is not required. Whenever there is a change to the VPS, the TOPNs-CS model is updated to refresh VPS schedule. A case study is presented to demonstrate the procedures for applying the proposed scheduling approach. The given case study shows that the proposed approach is capable of scheduling a VPS dynamically in response to disturbances and changes are involved.

1.

Introduction To enhance the ¯exibility and response of manufacturing systems in a customerdriven manufacturing (CDM) environment (Wortmann et al. 1997), a paradigm for organizing virtual production systems (VPSs) was proposed by Jiang et al. (2000a, c). In the paradigm, several VPSs are logically formed by organizing resources belonging to one or more physical manufacturing systems (e.g. shop ¯oors, ¯exible manufacturing systems [FMSs]) according to speci®c customer-ordered products. Since this paradigm combines the functional and product-oriented resource structures (Wortmann et al. 1997), it can make a manufacturing system more ¯exible and easier to manage and control. Additionally, concurrent management and control of individual VPSs may speed up the responses of manufacturing systems to changes and disturbances. To extend the previous work of the authors, the production scheduling of VPSs is discussed. Revision received November 2001. { Department of Manufacturing Engineering & Engineering Management, City University of Hong Kong, 83 Tat Chee Avenue, Kowloon, Hong Kong. { Department of Industrial Engineering, Shanghai Jiao Tong University, and Department of Manufacturing & Industrial Engineering, Hefei University of Technology. } Department of Mechanical Engineering, University of Alberta, Canada. } Department of Mechanical Engineering, University of Canterbury, Christchurch, New Zealand. * To whom correspondence should be addressed.e-mail: [email protected] International Journal of Production Research ISSN 0020±7543 print/ISSN 1366±588X online # 2002 Taylor & Francis Ltd http://www.tandf.co.uk/journals DOI: 10.1080/00207540110118631

1760

R. Y. K. Fung et al.

According to Parker (1996), scheduling is the optimal allocation or assignment of resources over time to a set of tasks or activities. In a manufacturing system, these resources include machines, robots, transfer facilities, etc. Production scheduling can be o€ -line (or static) or dynamic (or real-time) (Hatono et al. 1996). O€ -line production scheduling allocates tasks for production resources over a relative long period before the beginning of production, and the production follows the given production schedule exactly. On the other hand, in real-time scheduling, jobs to be processed next should be determined right after the previous jobs are ®nished. To make realtime production scheduling practical, e€ orts should be made to reduce the computation time. Consequently, dynamic production scheduling is more di cult than the static one. O€ -line scheduling is suitable for stable manufacturing systems in which tasks are planned before the production starts, and disturbances, such as failures of production resources, are seldom encountered. Obviously, static production scheduling cannot be adopted for a VPS since its tasks arrive dynamically and may also be changed during the production process. Real-time production scheduling can cope with the dynamic arrival of and modi®cations to tasks that have been previously scheduled. However, it cannot deal with disturbances to the system or changes to a VPS satisfactorily. In this case, updating of scheduling should be made not only to those production resources and routings that are logically included in the VPS, but also to any new tasks added into the current VPS. The proposed approach is di€ erent from conventional real-time scheduling in which the updating of schedule involves only the reallocation of tasks over the existing resources and routings in the system. The starting point for scheduling a manufacturing system is the explicit and concise formulation of a scheduling problem. The available methods for modelling a scheduling problem are based on techniques such as linear programming, the network model, AND/OR graph, the algebraic model, the ®nite acyclic-directed graph, and Petri nets (PNs) (Lee et al. 1993). Among all these methods, PNs are most suitable for modelling complex manufacturing systems by concisely representing the state and evolution, concurrency, shared resources, etc. (Desrochers and AlJaar 1995). PNs can formulate complex constrains on process sequences, resource capacity and availability; multiple objective functions can be derived from the same PN model; and resolving con¯icts in transitions supply chances for applying dispatching rules, e.g. earliest due date (EDD), ®rst-come-®rst-served (FCFS), shortest job processing time (SJPT), etc. As a result, PNs have been applied to formulation of the scheduling problem of complex manufacturing systems (Lee 1993, Lee and Dicesare 1994a, b, Jeng and Chen 1998). Since a VPS may have additional production resources and routings as required, its scheduling model has to be updated accordingly. From a discrete event dynamic systems (DEDS) point of view, a manufacturing system is composed of states, events and relations between states and events (Cassandeas 1993), and a VPS can be considered as a time-varying DEDS (Garcia and Ray 1996). There are two approaches for modelling a time-varying DEDS. One is to model it by a set of automata (Garcia and Ray 1996). Each automatum in the set corresponds to one condition of the DEDS. A mechanism is supplied to detect the condition of the DEDS to switch among di€ erent automata. The approach may be impractical when not all the conditions for the DEDS can be determined in advance. In addition, an automaton is a mathematicall y modelling approach unsuitable for complicated DEDS. Furthermore, no e€ ective algorithm is available for resolving a scheduling problem

Adaptive production scheduling of virtual production systems

1761

using automata modelling. Another modelling approach for time-varying DEDS is object-oriented Petri nets with changeable structure (OPNs-CS) (Jiang et al. 1999, 2000b), which is an extension of PNs and thus is very suitable for formulating scheduling problems. OPNs-CS is equipped with mechanisms to describe the changes to DEDS by updating the structure of OPNs-CS model, and thus it can be used for formulating a scheduling problem of a VPS as a time-varying DEDS. Another requirement for the scheduling approach is that it should provide an e cient and generic technique to solve the formulated problems (Lee 1993). PNsbased scheduling is to generate a ®ring sequence of transitions from the initial marking to the ®nal marking. This sequence is based on a selected occurrence graph (O-graph) or a reacheability graph of PNs under a speci®c optimal target such as minimizing the make-span and maximizing utilization. Since the O-graph of even a simple system may become quite large, the generation of the sequence by constructing the whole O-graph and selecting the sequence that meets the optimal target requires an unacceptably long computationa l time. To reduce the computational time, Lee (1993) used an arti®cial intelligence (AI) heuristic search algorithm to narrow the selection of the sequence to a partial O-graph. The resulting schedule is optimal or near optimal, and the computational time is reasonable. Jeng and Chen (1998) used an approximate solution to the PNs state equation to help search for a optimal or near-optimal sequence. They reported better scheduling results in a shorter computational time than that obtained by Lee (1993). However, formulating and solving the PNs state equations is by nature quite complex, and this method cannot be applied when coloured PNs (CPN) (object in the OPNs-CS approach is modelled by CPN) is used to formulate the scheduling problems because no approaches for CPNs state equations are available. Since resources are limited over a speci®c time rather than being continuously available throughout the planning horizon in VPS scheduling, OPNs-CS has to be modi®ed to model a VPS subject to the limited resources. In addition, an AI heuristic search should be also revised to under limited resources. An essential requirement for a VPS is to respond quickly to changes and disturbances. Consequently, we will have to minimize the make-span by allocating tasks to existing resources of a VPS and possibly other resources newly added into the VPS subject to limited resources available. However, at the same time, computation time for resolving the scheduling problem should be kept as short as possible. Trade-o€ between optimization and computation time should be considered. To do so, a nearoptimal solution has to be selected (Lee 1993). The rest of the paper is organized as follows. Section 2 outlines OPNs-CS and modi®es OPNs-CS to subject it to limited resources in a VPS. In Section 3, a scheduling algorithm based on the modi®ed OPNs-CS modelling and modi®ed AI heuristic search is presented. A case study is given in Section 4 to show how the scheduling methodologies proposed can be applied. Conclusions are given in Section 5.

2. Modi®cations of OPNs-CS for modelling under resource constraints 2.1. OPNs-CS Using OPNs-CS, a manufacturing system can be modelled by a set of objects and message-passing relations among distinct objects. For a changeable manufacturing system, an object (e.g. a machine) after the ith change can be formally described:

R. Y. K. Fung et al.

1762

Oki ˆ …SPi ; ATi ; IMi ; Omi ; Ai ; Eki ; Cki ; Mki;0 †; where k i Oki SPi

ATi

IMi

Ai

Eki

Cki …SPki †; Cki …IMi † and Cki …OMi † Mki;0

is the counter that indicates the number of times that the system has been changed, k 2 N , is the index of the object, is the object PN (OPN) model of object Oi after the kth change to the system, is a ®nite set of state places for Oki , specifying all the states associated with object Oi , e.g. states idle, waiting, processing of a machine, is a ®nite set of activity transitions for Oki describing all the activities or events associated with object Oi , e.g. activities setting up, loading, starting processing, ending processing, unloading of a machine, is a ®nite set of input message places for Oki , while OM i is a ®nite set of output message places for O ki . IM i and OMi are the message exchange interfaces for object Oi to communicate with other objects, is the input and output relationships (directed arcs) between activity transitions and state/message places, de®ning the relationships between states, activities, and messages inside object Oi , are the input and output arc expression functions between activity transitions and state/message places in O ki after the kth change. It speci®es which kind (distinguished by colours) and how many tokens or messages are to be exchanged among relevant states and the message exchange interfaces through an activity, are the colour sets associated with all the state places, and the input and output message places of Oki , respectively. Cki de®nes the attributes of tokens or messages, e.g. product states, and ˆ …MMki;0 ; SMki;0 † is the set of initial markings of all state and message places inside Oki in the system after the kth change, in which SM ki;0 and MMki;0 are the sets of initial markings of all state places and message places inside Oki , respectively.

In the above OPNs-CS, SP i , AT i , IMi , OMi and Ai in object Oi do not change with the changes to the system. They determine the static structure of an object and are referred to as statistic attributes of the OPN. Eki and Cki may be subject to changes, and are regarded to as dynamic attributes of the OPN. The dynamic structure of an object is determined by the static and the dynamic attributes of its OPN. Mki;0 speci®es the initial state after a change to the system. A static OPNs may be set for each object class (each class object represents a type of production resource, e.g. machine), and the dynamic OPN of a speci®c resource belonging to a object class can be determined by recalling its static OPN and giving its dynamic attributes. Figure 2 shows the static OPNs of four resource classes that will be used in the case study.

Adaptive production scheduling of virtual production systems U1

D1

T 3 (a 1 )

T 3 (a 1 )

G1

B2

R2 2

2 T 6 (a 1 )

T 2 (M 8 )

2 B1

1763

2

C1

2

4

E1

T 2 (M 4 )

4 F1

T 1 (M 1 3 )

T 4 (M 1 3 )

T 5 (M 3 )

A0

E0

F0

(a)

R1

Jobs 1&2

Figure 1.

2

S1

T 1 (M 1 3 )

H0 (a) Job 2

PPS of the case product.

Figure 3a shows an example of a dynamic OPN of a machine (M13 ), which is obtained by recalling the static OPN of machine class as shown in ®gure 1a and specifying the dynamic attributes of the OPN for M13 . A changeable manufacturing system, after the ith change, can be formally modelled as follows: ( ) X Sk ˆ Ok ; Rk ; ; Lk ; Mk;0 after the kth change: k

P where S k is the OPNs-CS model of the system; k is colour set of OPNs-CS; Mk;0 ˆ …MM SM † is the set of initial markings of OPNs-CS, in which ; k;0 P kk;0 MMk;0 ˆ Iiˆ1 MMki;0 is the markingPof input and output message places of all k objects in the system, while SMk;0 ˆ Iiˆ1 SMki;0 is the marking of state places of all objects in the system; Ok ˆ fOki ; i ˆ 1; 2; . . . ; Ik g is a set of physical objects in the system; R k ˆ fRkij ; i; j ˆ 1; 2; . . . ; Ik ; i 6ˆ jg is a set of message-passing relations among distinct objects in the system after the kth change. Rkij speci®es the message-passing relations between the message-sending object Oki and the messagereceiving object Okj in the system. It is determined by a four-tuple Rkij ˆ …OAkij ; G kij ; IAkij ; Ekij †, where G kij is the set of special type of transitions called gates and located between output message places OM ki of Oki and input message places IM kj of Okj in the system; OAkij is the set of output connection arcs from OMki of Oki to Gkij ; IAkij is the set of input connection arcs from Gkij to IMkj of Okj ; and Ekij ˆ Ekj …OAkij †, Ekij …IAkij †Š is the expression function of connection arcs between OMki and IM kj , in which Ekij …OAkij † and Ekij …IAkij ) are the

R. Y. K. Fung et al.

1764

Machine m

pm iw

im m r su

om m cs u

tm su

om m rr

pm wl

imm rl : om m cc :

t m ul im m rl

om m rr :

tm l p pm

tm su : tm l : tm p : tm ul : p m iw : p m w l: pm r p : pm w u : imm rc :

m

wu

rp

tm p

p

im a rs u

a

a) machine

Assembling Station a w

om a c s u

ta su

om a rr

pa wl t a ul im a rl

Machine m starts setting for processing a part; Machine m starts loading a part; Machine m st art s processing a part; Machine m start unloading a part; Machine m is idle and available; Machine m is waiting for loading a part; Machine m is ready for processing a part; Machine is waiting for unloading a part; A request for setting up machine m for processing a part; A part is ready to be loaded into machi ne m; The message of completing setting up machine m for processing a part; The message that a finished part is ready t o be removed;

ta l

t a su : tal: taa : t a ul : p v iw : p a w l: pa r a : pa w u : ima rsu : imv rl : om a cs u : om a rr :

pa w u

Assembling station a starts setting up; Assembling station a starts loading a part; Assembling station a starts assembling parts; Assembling station starts unloading a part; Assembling station a is idle and available; Assembling station a is waiting for loading parts (parts needed to be loaded for the assembling); A part is ready to be assembled; An assembly is waiting to be unloaded; A request for setting up assembling station; A part is ready to be loaded; The message of completing setting up; The message that a finished assembly is ready to be removed;

pa ra

(b) assembling station

taa

pv iw

im v rt

Vehicle v

om v ct

tv h

im v p r

im b w l

pv rt

tv ul

tv t

p v td

tv h : t v t: t v ul : p v iw : p v r t: p v td : imv rt : imv p r : om v ct

(c) vehivle

t bl : t bu l : p bi w

tb l

p bl : imb w 1 :

Buffer b pbl

p b iw

om b w r :

t b ul om b wr

Figure 2.

Vehicle v starts loading a part; Vehicle v m starts transporting a part; Vehicle v start unloading a part; Vehicle v is idle and available; Vehi cle is ready to transport a part; Vehicle v has transport ed a part into the destination; A request for transporting a part A part is ready to be transported; The message of completing transporting a part;

Start loading a part into buffer b Start unloading a part from buffer b Loading/unloading facility of of buffer b is available A part locates in buffer b A message that a part is waiti ng to be loaded into buffer b A message that a part is waiti ng to be removed from buffer b

(d) buffer

Static OPNs of some resource classes.

Adaptive production scheduling of virtual production systems (e)

p M 13iw

1’e

1’e

(A 0 , E 0 ) im M 1 3 rs u

1’A 0 v1’E 0

t M 1s u

[1’e@+ 10] v [(1’e 1 @+ 8 ] [1’A 0@+12] v [(1’E 0+ @+ 10 ]

im M1 3 rl

1’A 0 v1’E 0

t M13 l

(B 1) im M 8 rl

(F 0 ) im M 3 rsu

(F0 )

1’F 0 @+1 0

im M 3 rl

4’F 1 @+ 1 0

p M3 wl tM 3ul

1’F 0

1’F 0

1’F0 @+ 8 (F 0 )

(B 2 )

(F 0 )

1’B 1@+ 8 0 t M8 p

[1’e @+ 2 0] v [1’e @+ 1 5]

om M 3 cs u

om (F1 )

M3

(B 2 , C 1 , (B 2 , C 1(1’B , 2 +2’C 1 )v [(1’B2 +2 ’C 1) @+30 ] v E 1 , F 1) E 1, F 1) (2’E 1 +4F 1) [(2’E 1+4 F 1 )@+25 ] ta1 c im a 1 rsu om a 1 cs u [(1’B2 +2 ’C 1) @+30 ] v [(2’E 1+4 F 1 )@+25 ]

rr

(B 2 , C 1 , E 1 , F 1 ) (B 2 , C 1, E 1 , F1 ) im a 1 rl

(F 1)

p M3 wu

p M3 rp 1’F 0

(c) M achine M 3 : O t 0 M 3

Figure 3.

p M8 w u

pM 8 rp 1’B 1

4’F 1

t M3 l

( B 2)

1’B 2

t M8 l

1’e@+ 1 0

1’F0 @+ 1 0 (F 0)

1’B 1

p a1w

p M 3i w

tM 3 s u

t M 8ul

1’B 1

(b) M achine M 8 : O t 0 M 8

1’e 1’F0

om M 8 rr

p M8 w l

(B 1 )

(a) M ach in e M 1 3 : O t 0 M 1 3

(e) 1’e

om M8 cs u

1’B 1@+ 1 0

1’B 1 @+ 1 0

[(1’B 1+2’C 1 )@+5 0] v [(2’E 1 +@+ 40 ] t M13 p

(B 1 )

1’B 1 @+ 1 5

ul

( B 1, C 1 , E 1 )

1’A 0 v1’E 0

t M8 su

( B1 )

(B 1 , C 1 , E 1 )

p M13w u

p M13rp

1’B 1

1’B 1 @+ 1 5

(1’B1 +2 ’C1 ) v2’E 1

[1’A 0@+8 ] v [(1’E 0+ @+ 9 ] (A 0 , E 0)

im M 8 rsu

om M 1 3 rr tM 13

1’e@+1 0

1’e

( B1 )

om M 1 3 cs u

p M13 wl

1’A 0 v1’E 0

(A 0 , E 0 )

(e) p M 8i w 1’e @[ 300, 600] +1’e@800 1’e

[(1’B1 +2 ’C 1)@+1 0] v [(2’E 1+ @+ 8 ]

[1’A 0@+1 2] v [(1’E0 +@+1 0 ] (A 0 , E 0 )

( A0 , E0 )

4’F1 @+ 4 0 t M3 p

(1’B 2+2 ’C 1)v (2’E 1 +4 F 1 )

[1’D1 @+ 2 0] v [1’G1 @+ 15 ] a 1 om rr

p aw l (1’B2 +2 ’C 1)v (2’E 1 +4F 1 ) t a1l

[(1’B2 +2 ’C1 )@+ 25] v [(2’E1 +4 F 1 )@+20 ] (B 2, C 1 , E 1 , F 1)

p a1 ra

(D 1, G1)

t a ul 1’D 1 v1’G 1 p a1 w u

(D 1 , G 1)

[1’D1 @+ 2 00 ]v [1’G1 @+ 1 50 ]

(1’B 2+2 ’C 1)v (2’E 1+4 F 1 )

t a1 a

(d) A ssem bling st atio n a 1 : O t0 a 1

TOPNs of resources in the VPS.

1765

1766

R. Y. K. Fung et al.

expression functions of output connection arcs and input connection arcs, respectively. Whenever changes happen to the manufacturing system, its OPNs-CS model can be updated accordingly in either of the following three ways. (1) Update the dynamic attributes of dynamic OPNs of objects in the current system. (2) Add/remove OPNs of objects into/from the current system. (3) Modify the message-passin g relations among distinct OPNs of objects already in the current system. For details of OPNs-CS, see Jiang et al. (1999). 2.2. Limited token available time In OPNs-CS, timing is not involved. Timing should be considered for modelling a manufacturing system. Thus, OPNs-CS is extended into temporized one, namely, TOPNs-CS by associating the delay times with arc expression functions, token available time with markings (including the initial marking). A delay time represents the time duration for an event (e.g. processing a part), while a token available time determines the earliest model time at which a token in a place can be used for enabling an output transition of the place. TOPNs-CS are presented in details in Jiang et al. (2000b). In TOPNs-CS, a superscript `t’ is introduced for expression function E, marking M and object O to indicate that they are timing relevant. A problem may arise in modelling a VPS when some production resources have been assigned to other tasks in some time intervals, i.e. subject to the limited availability of resources. To model the availability of a resource, say a machine M1 that will be available r time unit later, we may set the initial marking of the place representing that one machine M1 is idle and available as 1 0 e@r, where token e denotes that machine M1 is idle and available, where r is the token available time (or time stamp) of token e. However, like other timed PNs approaches, existing TOPNs-CS approach cannot model the situation in which M1 is usable only within a time interval, say from rs to re . We may model the limited availability of a production resource by limited token availability as de®ned below.

De®nition 1: The limited token available time of n tokens with colour c is a time interval [rs ; re ] during which the tokens carrying it can be further used, where rs and re are the starting and ending times of the interval concerned. It is formally represented as n 0 c@[rs ; re Š. Especially, when re ˆ ‡1 such that the token can be used from model time rs onwards, the limited available time becomes a token available time rs in terms of timed coloured Petri nets (TCPNs-CS), represented by n 0 c@r. For example, the situation that the two machine in a manufacturing system is available from time 60 to 120 and from time 450 later on can be described by expression 2 0 e@[60, 120]+2 0 e@[450, ‡1] (or +2 0 e@450), with colour e representing the semantic of `machine is idle and available’. According to De®nition 1, the fact that there are m available times f rsi ; rei Š, I ˆ 1 ¡ mg, and ni tokens with colourPare available within the ith time interval 0 rsi ; rei Š…i ˆ 1 ¡ m† can be expressed by m iˆ1 ni c@ r si ; r ei Š.

Adaptive production scheduling of virtual production systems

1767

2.3. Modi®ed ®ring rules for TOPNs-CS Suppose that the limitation to the availability of a resource should be obeyed, i.e. the resource can be used only within m time intervals: rs1 ; re1 Š, rs2 ; re2 Š; . . . ; rsm ; rem Š, then the next use of the resource can be arranged within the earliest available time interval, i.e. one with the earliest starting time among those time intervals that are long enough to accommodate a resource described as follows: rsq ; req Š; rsq ˆ minfrsi =rsi ¶ r ^ rd ¶ rei ¡ rsi ; i ˆ 1 ¡ mg; where rd is the time duration in which the resource is to be used, r is the current model time, and rsq =re q is the starting/ending time of the earliest available time interval (with q as the index) arranged for the use of the resource. For example, if there are four time intervals, [3, 5], [6, 7], [8, 11] and [12, 14], for a resource, the current model time r will be 4, and the time duration for using the resource is rd ˆ 2. This use of the resource cannot be in the ®rst intervals, when rs1 ˆ 3 < r ˆ 4; or in the second interval when rr ˆ 2 > re2 ¡ rs1 ˆ 1. [8, 11] and [12, 14] are two available time intervals, while [8, 11] is the earliest available time interval. The earliest available time interval rsq ; req Š will be refreshed into a new time interval for the subsequent use of the resource, that is r 0 ; req ], where r 0 , the starting time of the new available time interval, is the time at which the current use ends. For example, in the above example, if the current use is arranged within [8, 10], then a 0 new time interval [10, 11] will be obtained, where rsq ˆ 10. To cope with limited availability of resources, places representing the availability of resources, denoted by Pr are separated from the set of places P. Then, if no input or output places of a transition belong to Pr , the enabling and ®ring of the transition work in the same way as in TOPNs-CS (or TCPNs) (Jensen 1995); otherwise, the rules for enabling and ®ring of the transition should obey De®nitions 2 and Algorithm 1 respectively described as follows.

De®nition 2: Given a speci®c sequence of transitions ts1 ; ts 2 ; . . . ; tsn , 9p 2 ° ts1 ^ p 2 tsn ° : p 2 Pr , the sequence of transitions with their individual bindings at individual times, i.e. ts1 hb1 ir1 , ts2 hb2 ir2 ; . . . ; tsn hbn irn , is enabled i€ : (1) ts1 hb1 ir1 is enabled at a marking Ms0 , and all other transitions are sequentially enabled with their binding at individual times in term of enabling rules for TCPNs while the limited token available times are treated as time stamps, i.e. rs ; re Š>rs ; and (2) 8p 2 Pr ^ …9t 0 ; t 00 2 …ts1 ; ts2 ; . . . ; tsn †: p 2 °t 0 ^ p 2 t 00 °: rr …p; e† µ req …p; e†, where rr …p; e† is the time at which token e in place p representing the availability of the resource returns to p, and req …p; e† is the ending time of the time interval within which token e has been removed by ®ring the sequence of transitions. A binding of a transition is to evaluate variables related to the transition for determining the tokens removing from output places and getting into input places of the transition (Jensen 1995). However, in TONs-CS, an expression function is speci®ed as one or more choices. Thus, one may directly select a choice for enabling a transition, rather than evaluating variables of the transition (Jiang et al. 1999, 2000b). De®nition 2 is only suitable for a sequence of transitions that has a place with limited token available time as both an input place of the ®rst transition and an output place of the last transition of the sequence. Typically, this sequence models a cycle from a

1768

R. Y. K. Fung et al.

point that a resource is occupied until it is released. Condition (2) declares that a token e in the place representing the limited availability of a resource should return to the place from which it has been removed within a given time interval. This condition enables the limitation to the availability of a resource to function. It should be noted that we cannot only consider if a transition with a place belonging to Pr is enabled or not, instead, we have to consider the enabling of a sequence as a whole under Condition (2). Once a sequence is enabled, it may ®re by Algorithm 1 M8 described as follows. For example, let us consider the sequence tM8 su h i410 , tl h i415 , M8 M8 tp h i425 , tul h i505 in ®gure 3a, where there is only one choice for enabling each transition in the sequence such that we do not make the choice in h i. We may easily observe that this sequence meets the above condition (1). Since pM8 iw representing the availability of machine M8 , is involved in the limited availability, and pM8 is the i M8 input place of tM8 su and the output place of tul , we need to check the condition (2) for enabling the sequence. We may ®nd that the token e leaves pM8 iw at 400 within [300, M8 600], and this token returns at time rr …pM8 , e† ˆ 515 µ r …p iw eq iw ; e† ˆ 600, meaning that the Condition (2) can be satis®ed. Consequently, the sequence is enabled.

Algorithm 1 When the sequence ts1 hb1 ir1 , ts2 hb2 ir2 ; . . . ; tsn hbn irn is enabled, transitions in the sequence may ®re one by one to change the marking of the system sequentially such that: M s0 ts1 hb1 ir1>Ms2 ts2 hb2 ir2>¢ ¢ ¢ Msn¡1 tsn hbn irn>M sn : where Ms0 is the starting marking from which the ®rst transition in the sequence is enabled, Msn is ending marking obtained by ®ring the sequence, and Ms2; ¡M sn¡1 are the intermediate markings in the process of ®ring the sequence. Each individual transition in the sequence ®res in the following ways. (1) 8p 2 °t [ t ° ^p 2 = Pr : M2 …p† ˆ M1 …p ¡ E…p ¡ t†hbir ‡ E…t ¡ p†hbir where M1 , M 2 2 fM s1 ; Ms2 ; . . . ; Msn g, M2 is the marking from which t in the sequence is enabled according to the ®ring rules for TCPNs (Jensen 1995), and M2 is the marking reached from M 1 by ®ring t with binding b at time r. (2) 8p M2 …p† ˆ M1 …p†¡E…p ¡ t†hbir where M1 …p† ˆ Pm2 °t0 ^ p 2 Pr : n e@ r r Š indicates that n units of resources (of the same kind) are ; si ei i iˆ1 i available within time interval rsi , rei Š …i ˆ 1 ¡ m†;

E…p ¡ t†hbir ˆ n 0 e@r tells that n units of resources (of the same kind) are required at time r for enabling the transition with E…p ¡ t†hbir as its input arc expression, usually indicating the beginning of the use of these resources; M2 …p† ˆ M1 …p† ¡ E…p ¡ t†hbir

ˆ n10 e@ rs1 ; re1 Š ‡ n20 e@ rs2 ; re2 Š ‡ ¢ ¢ ¢ ; ‡…nsq ¡ n† 0 rsq ; req Š ‡ n 0 @ ; req Š 0 ‡ nq‡1 rsq‡1 ; req‡1 Š ‡ ¢ ¢ ¢ ‡ nm0 rsm ; rem Š

In the above expression, q is the index of the earliest available time interval; n 0 @ ; req Š…ˆ n 0 e@ rsq ; req Š ¡ n 0 e@r†; rsq µ r < req ) indicates that n units of resources (of the same kind) are being used and should be released no later than time req . Since among nsq units of resources usable within the earliest available time interval rsq ; req Š,

Adaptive production scheduling of virtual production systems

1769

n units are being used, nq ¡ n units are still available within this time interval for other purposes as indicated by …nq ¡ n† 0 e@ rsq ; req Š. (3) 8p 2 t ° ^p 2 Pr : M 2 …p† ˆ M1 …p† ‡ E…t ¡ p†hbir , where

M 1 …p† ˆ n10 e@ rs1 ; re1 Š ‡ n20 e@ rs2 ; re2 Š ‡ . . . ; ‡…nsq ¡ n† 0 rsq ; req Š ‡ n 0 @req Š 0 ‡ nq‡1 rsq‡1 ; req‡1 Š ‡ ¢ ¢ ¢ ‡ nm0 rsm ; rem Š

E…p ¡ t†hbir ˆ n 0 e@r 0 ; r 0 ˆ r ‡ rd , where r is the time at which tokens begin to return, and rd is the time duration for the tokens to return. M2 …p† ˆ M1 …p† ‡ E…t ¡ p†hbir

ˆ n10 e@ rs1 ; re1 Š ‡ n20 e@ rs2 ; re2 Š ‡ ¢ ¢ ¢ ; ‡…nsq ¡ n† 0 rsq ; req Š ‡ n 0 @ r 0 ; req Š 0 ‡ nq‡1 rsq‡1 ; req‡1 Š ‡ ¢ ¢ ¢ ‡ nm0 rsm ; rem Š

By ®ring t, n tokens e return to the place p at time r 0…µ req ), indicating n units of resource (of the same kind) are released after use, and become available within a new time interval r 0 ; req Š (originally rsq ; req Š†, indicated by n 0e@ r 0 ; req Š…ˆ n 0 e@r 0 ‡ n 0 e@ ; req Š†. When r 0 ˆ req , n units of resources are released just at the ending time of the time interval in which they begin to be occupied, hence n 0 @ r 0 ; req ] needs to be omitted from M 2 …p†. Let us also consider the M8 M8 M8 sequence tM8 su h i410 , tl h i415 , tp h i425 , tul h i505 in ®gure 3a. In this sequence, by M8 0 ®ring the ®rst transition, we have Ms1 …pM8 iw † ˆ Ms0 …piw † ¡ 1 e@410 ˆ 0 0 0 0 0 1 e@ 300; 600Š ‡ 1 e800 ¡ 1 e@410 ˆ 1 e ; 600Š ‡ 1 e@800; and by ®ring the M8 0 M8 ®nal transition, we have Ms4 …pM8 iw † ˆ Ms3 …piw † ‡ 1 e@…505 ‡ 10† ˆ Ms1 …piw † ‡ 0 0 0 0 0 0 1 e@510 ˆ 1 e@ ; 600Š ‡ 1 e800 ‡ 1 e@510 ˆ 1 e@ ; 510; 600Š ‡ 1 e800 (Since ®ring tM8 tM8 does not a€ ect the marking of pM8 then l h i415 , p h i425 iw , M8 Ms3 …pM8 iw † ˆ Ms1 …piw †.) We know that the use of M8 is within the ®rst available time interval [300, 600], the use begins at time 410 and ends at time 510, and after the use M8 may be further used within a smaller available time interval [510, 600]. This simple example shows that the above method can really deal with limited availability of resources.

3.

Scheduling algorithm based on TOPNs-CS modelling Once a VPS is modelled by TOPNs-CS, it can be scheduled by searching among the occurrence graph, or reachability graph of the TOPNs-CS model. The result is an occurrence sequence of steps leading from the initial marking to the goal marking. A Step in CPNs includes one or more transitions and their bindings (Jensen 1995). However, in scheduling, a step always includes only one transition. In this proposed scheduling algorithm, the target is to generate a production schedule with the smallest make-span. This corresponds to the key requirement for CDM, i.e. promising customer an earliest delivery date to win an order. To speed up the response to disturbances and changes, the scheduling algorithm should seek as short a computationa l time as possible. As mentioned in Section 1, TOPNs-CS, as a powerful modelling approach, has to be applied in formulating a VPS scheduling problem since its complex relation among operations need to be described in details and its time-varying features should be coped with. However, like other PN-based scheduling approaches, the TOPNs-CS model of a system will result in a quite large reachability graph such that it is rather time consuming to obtain an

1770

R. Y. K. Fung et al.

optimal production schedule by generating the total reachability graph. Instead, an AI heuristic search algorithm A* (Pearl 1984) is adopted to limit the generation of reachability graphs within a partial domain. In the algorithm, as a guide for heuristic research, a function f …Mkt † is used to an estimate of cost, that is the make-span of an t occurrence sequence from the initial marking Mk;0 through the marking Mtk to the t ®nal marking Mk;f : f …Mtk † ˆ g…Mtk † ‡ h…Mtk †;

where Mtk is a timed marking (for simplicity, called marking hereafter) of the system after the kth change, g…Mtk ) is the cost involved from the initial marking Mtk;0 to the marking Mtk , whereas h…M tk ) is the heuristic function giving an estimate of the cost from the marking Mtk to the ®nal marking Mtk;f . It should be noted that the scheduling process is carried out by pushing the partial reachability graph from the initial marking to the ®nal marking step by step. While the process reaches the current marking Mtk , the cost from the initial marking to the current marking, that is g…M tk ), is known, while the cost from the current marking Mtk is unknown since it cannot decide which path to go from the current marking. Consequently, the cost has to be determined by the heuristic function h…Mtk †. Among all the markings reachable from a given marking, a marking M tk should be chosen, such that f …Mtk † ˆ g…Mtk † ‡ h…M tk † is minimum, then a sequence of Mtk generated by minimizing f …Mtk † ˆ g…Mtk † ‡ h…Mtk † will be optimal or near optimal. The steps leading to this sequence of markings will be an optimal or near-optimal schedule. The term `near-optimal’ is used to indicate that the schedule is optimal based on the searched partial reachability graph. In this scheduling algorithm, let g…Mtk † ˆ r…Mtk †, where r…Mtk † is the model time at which Mtk is obtained; and let h…M tk † ˆ ¡w £ dep…Mtk †, where dep(Mtk ) is the depth of marking Mtk in the reachability graph, and w is the weight (constant) of dep(M tk ). The depth of the current marking Mtk is the total number of ®red steps (transitions) to reach this marking from the initial marking. The deeper the current marking M tk , the closer it is to the ®nal marking. As a result, minimizing g…Mtk † ˆ r…Mtk † ¡ w £ dep…Mtk † will favour the current marking M tk that causes a lowest cost from the initial marking to the current marking, and it is also closest to the ®nal marking. The former preference allows for the ®rst objective, i.e. obtaining an optimal schedule with the smallest make span, while the latter one tries to reduce the number of iterations required for generating the optimal schedule, which is another objective. According to (Lee 1993), when h…M tk † ˆ ¡w £ dep…Mtk †, the least number of iterations is needed to obtain a schedule. In a heuristic search, the number of iterations is a measure to evaluate the e ciency of the search algorithm. The smaller the number, the shorter the computational time. The above two objectives contradict each other, thus there should be trade-o€ through adjusting the weight w, which a€ ects both the scheduling result and computational time. Generally, the larger the w, the larger will be the contribution of the depth of marking to the cost function, and the less number of iterations will be required to obtain the result, however, a longer make-span may result (Lee 1993). Lee suggests that when w ¶ 5, the search for generating schedule perform desirably when the number of iterations tends to reduce slightly while the cost increases slightly along with further increase in w. In the de®nition of OPNs-CS, the input/output logic relationship function of gate Lk is introduced to specify the con¯icts of a gate. To resolve a con¯ict, strategy or

Adaptive production scheduling of virtual production systems

1771

decision should be made. While minimizing the cost (minimum make-span), the con¯icts of gates will be automatically resolved by the strategy of minimizing the make-span. To simplify the computation and save time, an equivalent TOPN (ETOPN) is built for each TOPN. According to Jiang et al. (1998) , if the OPN is internally deadlock free, tokens departing from relevant input message places will eventually arrive in relevant output message places. These relationships between input and output message places are determined by the input and output relationships among the state places, activity transitions, and message places. The relationships between output message places and input message places of an object can be represented with equivalent transition(s), resulting in the EOPN of the object. Reduction methods (Zhou and Venkatesh 1999) are used to help determine the equivalent transitions. Please refer to (Jiang et al. 1998) for the details of EOPNs. In addition to representing the relationships between output message places and input message places of an object with equivalent transition(s), a compound time delay that is equivalent to time delays of all arc expression functions related to the equivalent transitions needs to be determined. ®gure 3a shows the ETOPN of the TOPN for 13 machine M13 in ®gure 1a, in which the equivalent transition etM is equivalent to 1 M13 M13 M13 M13 13 transitions tM , t and t , and places p , and p . The delay time 58 is p rp wu l ul obtained by adding the three time delays of output arc expression functions of M1 M1 1 transitions tM l , tp , and tul , that is 8 ‡ 50 ‡ 10 ˆ 68. The other time delay is obtained in the same way. Replacing of the TOPN by the corresponding ETOPN will reduce the number of places and transitions involved in the model, and thus save the computational time for scheduling. Given a current TCPNs-CS model of a system: Stk , the initial marking Mtk;0 and the ®nal marking Mtk;f , the production of the system can be scheduled by Algorithm 2. Algorithm 2: Scheduling with TOPNs-CS modelling and based on a heuristic search (1) Put the initial marking Mtk;0 in OPEN. (2) If the OPEN is empty, exit with failure; otherwise go to Step 3. (3) From OPEN select a marking (denoted by Mtk ) that has the smallest f, remove it from OPEN, and put it in CLOSE. (4) If the marking is the ®nal one, terminate successfully with the near-optimal occurrence sequence from the initial marking to the ®nal marking; otherwise, go to Step 5. (5) Find the enabled steps of the current marking Mtk by checking the enabling requirements given in TCPNs (taking the limited token available time as normal token available time), generate the next marking(s), called successors, of each enabled step by the ®ring rule in TCPN, but deal with the limited available token time by Rules 2 and 3 in Algorithm 1, then do the following: (a) if the ®red transition in the step has no output places recorded in Limited_Availability, then go to Step d; (b) for the output places of the transition recorded in Limited_Availability, check the newly obtained limited token available time r; req Š. If r µ req , go on checking other output places of the transition recorded in Limited_Availability; otherwise trace back all the ®red transitions until the one involving the output place recorded in Limited_Availability. Put

1772

R. Y. K. Fung et al.

this transition along with the model time at which it tries to ®re into Trash, and remove all markings through the successor in the trace from OPEN, then go on checking other successors; (c) remove all the output places of the transition previously recorded in Limited_Availability; (d) recorded all the input places of the transition involving the limited token available in Limited_Availability. (they will be output places of transitions involving the limited token available time in the future); and (e) compute g for all the remaining successors. 0 (6) For a successor, M tk of Mtk , do the following: 0 (a) if M the current occurrence sequence leading to k is already in OPEN and 0 t0 Mk has a smaller f …Mtk † than the preciously recorded occurrence sequences; select and record the current occurrence sequence leading 0 0 to Mtk by redirecting the pointer of Mtk to Mtk ; 0 (b) if Mtk is already in CLOSE0 and the current occurrence sequence leading 0 to M tk has smaller f …Mtk ) than the preciously recorded occurrence sequences; select and record the current 0occurrence sequence leading 0 0 to Mtk by redirecting the pointer of Mtk to Mtk ; then put Mtk into OPEN; and 0 (c) Compute h and g, and put Mtk into OPEN. (7) Go to Step 3. According to (Pearl 1984), markings are divided into two categories, i.e. `generated but not yet explored’ and `generated and explored’. The latter is a generated marking whose successors have been expanded. OPEN stores the markings generated but not explored. These markings form the frontier of the reachability graph. The reachability graph grows by pushing this frontier forward from the initial marking until the ®nal marking is reached (Lee 1993). That is why the heuristic reach is partial, i.e. reachability graph is partially generated. CLOSE stores all the markings generated and explored so far. If a generated marking is found to be already in OPEN, it means that a new occurrence sequence leading to a marking generated but not explored has been found. By Step 6a, if this new one costs less than the old one, the old one is replaced by the new one. If a generated marking is found to be already in CLOSE, it also means that new occurrence sequence leading to a marking generated and explored has been found. By Step 6b, the old one is replaced by the new one if the new one costs less. In addition, this marking needs to be put back in OPEN to be re-explored. The reason is that since this marking has a lower cost, its successors will have lower costs than those successors generated by the same marking but with old occurrence sequence. Owing to the token availability time, the algorithm given in (Lee 1993) is modi®ed to conform to the above Algorithm 2. . Add Limited_Availability to record the situation that some tokens of a speci®c colour with limited availability time have been removed from an input place of a ®red transition at a model time ru (within the earliest available time interval rsq ; req Š†, indicating that a resource has been scheduled to begin its use at time ru . . By Steps 5a±d, check if the token availability time can be followed, i.e. a token involving the limited availability time that has been removed at a time within a usable time interval should return to the place before the ending time of this

Adaptive production scheduling of virtual production systems

1773

time interval. Along with applying rules for enabling a transition in TCPNs (or TOPNs-CS), and determining token changes of input and output places by applying ®ring rules de®ned in TCPNs (Or TOPNs-CS) but dealing with limited available token time by Rules 2 and 3 in Algorithm 1. This check makes sure that De®nition 2 and Algorithm 1 function actually. This overcomes the di culty in search the sequence of transitions while De®nition 2 and Algorithm 1 are directly applied. . If ®ring a transition that is relevant to limited token availability time results in any sequential marking that cannot pass the check of limited availability in Step 5, this transition can no longer be ®red at the same model time once it has tried to ®re (possibly, it may be e€ ectively ®red at other model times). To do so, add Trash to store these ®red transitions along with the model times at which they have once tried to ®re. This measure frees from the unnecessary search resulted from the repeated ®ring of these transitions. Changes to the current system may be divided into the following two categories. (1) Disturbances: these kinds of changes are unintentional and will result in deviation of actual production process from the scheduled one. One example of disturbances is the delay of completion time of a process. This may be caused by improper process planning which underestimates processing time on a production resource, or extra waiting time at a machine for a part to be processed. Machine breakdown is also a disturbance, which can disable all the scheduled assignments on the machine. (2) Modi®cations: these kinds of changes are intentional. Modi®cations include adding into or removing production resources from the current system, the modi®cations to assignments of production resources in the current system, and/or modi®cations to production routing. The changes are made intentionally to ®nish additional tasks, to respond to changes in product design and/or to cope with disturbances. To support real-time capability and the adaptability of manufacturing systems in the CDM environment, the production system has to be scheduled in real time subject to disturbances and modi®cations. To obtain a revised schedule promptly, the following procedures are to be followed. (1) If a process is delayed, from the current model time and the current marking of TOPNs-CS mode of the system, the previous schedule is simulated by ®ring steps (transitions) following the sequence previously scheduled. If the make-span previously scheduled is not delayed or it meets the due date, ignore the disturbance. This is possible if the delayed process is not on the critical path. Otherwise, reschedule the production system using Algorithm 2, starting with the current model time and the current marking. (2) If a production resource breaks down or the system is intentionally modi®ed, the TOPNs-CS model of the system needs to be updated. Then the system is rescheduled using the above Algorithm 2 based on the updated TOPNs-CS model, starting with the current model time and the initial marking of the updated TOPNs-CS model. Since simulation of the system by following the schedule needs a much shorter time compared with rescheduling, Step 1 above does not signi®cantly increase the total

1774

R. Y. K. Fung et al.

time even though rescheduling is required after the simulation. However, it saves a signi®cant amount of time if rescheduling is unnecessary. 4.

Case study This case study illustrates a VPS logically organized by resources in a job shop. The VPS is composed of a gas-cutting machine (M13 ), a roller bender (M8 ), a sawing machine (M 3 ), an assembling station (a1 ) and a crane (v1 ) to process on two jobs. The raw materials are supplied from a stack modelled by bu€ er b1. The ®nished products are also stored in the same stack. The crane transfers parts to and from the bu€ ers, machines and assembling stations. The jobs are to produce one steel frame D (job 1) and two steel frames G (job 2). The Product Production Structure (PPS) (Jiang et al. 1999) describes the product structure and production process. The PPS of the products in this case are shown in ®gure 1. The initial TOPNs of the production resources included in the VPS are as shown in ®gure 3. To reduce the scheduling computation, ETOPNs, as shown in ®gure 4, are built for TOPNs of production resources in ®gure 3. The initial TOPNs-CS model of the VPS is shown in ®gure 5, where time duration for communications are not considered. An optimal or nearoptimal production schedule for the system is to be generated. As shown in ®gure 5, there are complex con¯icts for three gates among the TOPNs of the production resources. The decision in resolving these con¯icts can be automatically made with minimized make-span. For easy identi®cations of he decisions, the three gates are decomposed into equivalent gates without con¯icts as shown in ®gure 6. The production schedule for the two jobs for the VPS is made by Algorithm 2. As stated above, weight w should be ¶ 5. Bearing in mind that speedy generation of the schedule is important for scheduling VPSs to ensure a quick response, weight w was set as 20, being much > 5. This larger weight will de®nitely further reduce the number of iterations. However, taking the risk of causing a larger deviation of the generated schedule from the optimal one. After 272 iterations on a PC (Pentium II 450 MHz, 64 Mb) over about 3 min, a production schedule is generated. The generated occurrence sequence of transitions for the schedule is shown in table 1. Figure 7 shows the schedule of the detailed activities in the system derived from table 1. According to this schedule, all the jobs need 1203 min to complete. The decisions on resolving the con¯icts of the three gates are shown in table 2. Now, let us see how much the generated schedule di€ er from the optimal one. As a high-level PN, TOPNs-CS can describe a complex manufacturing system characterized by shared resources, routing ¯exibility and concurrency in a compact way. However, it is quite di cult to conduct formal analysis. Consequently, we have to carry out the proof by constructing reachability graph of the initial TOPNs-CS model of the VPS. Each path from the initial marking to the ®nal marking represents a schedule. Since the target is to minimize the make span, the optimal and the worst schedule (®gures 8 and 9) correspond paths with minimum and maximum make spans, i.e. 1162 and 1250 min respectively. Since the selected schedule with 1203 make span is quite closed to the optimal one, it is considered near optimal. It can be seen that the risk mentioned above is relatively low and the selection of a larger weight is reasonable. Suppose a new job (Job 3) is added to the VPS 500 min after the beginning of the production, following the above schedule. The new job is to produce one steel frame U (job 3) according to PPS shown in ®gure 1b. Assuming the production is carried

Adaptive production scheduling of virtual production systems (e) 1’e

p M 13 i w 1’e

(A 0 , E 0 )

1 ’A 0 v1 ’E 0

im M 1 3 r s u

tM 1su

[1’e @+ 6 8 ] v [( 1 ’e 1 @+ 5 7 ] [1 ’A 0 @+1 2 ] v [ ( 1’E 0 + @+ 1 0 ]

( A 0 , E 0)

1’A 0 v1 ’E 0

im M 1 3 r l

1’B 1

i m M 8 rsu

p M 13 w l

(B1)

(B 1 , C 1 , E 1 )

im M 3 r s u

p M 3i w

1 ’F 0

1’e @ +5 8

(B2, C1, E 1, F 1) ( F 0)

1 ’F 0 @ + 1 0

t M3 su

( F 0)

im

M3

1 ’F 0

im

o m M 3 cs u

a1

( F 1)

1’F 0 et M 3

1’B 1 @ + 1 0 0

[1 ’e @+ 2 4 5 ] v [1’e @+ 1 8 5 ]

t

( A 0, B 1 , B 2, C 1, D 1 E 0 , E 1 ,F 0 ,F 1 ,G 1 )

E 5 =1 ’A 0 v 1’B 1 v 1’B 2 v 2’C 1 v1 ’ D 1 v1 ’E 0 v2 ’E 1 v 1’F 0 v4 ’F 1 v 1’ G 1 ) @ +4 0

( 1’B 2 +2’ C 1 )v ( 2’E 1 +4 F 1 ) rl

(B 2 , C 1 , E 1, F 1) om

a1

cs u

o m a 1 rr paw l

( D 1, G1 )

( 1’B 2 +2’ C 1 )v ( 2’E 1 +4 F 1 ) et a1

1 ’D 1 v 1 ’G 1

l

[ 1 ’D 1 @+2 4 5 ] v [ 1’ G 1 @+ 1 8 5 ]

a 1 : O t 0a 1

om v1ct

1’e

tb 1l 1 ’e @+ 1 5

(1 ’D 1 v 1’G 1 ) @ +1 5 ( A 0 , D 1 , E 0 ,F 0 ,G 1 ) 1’A 0 + 2’E 0 + 2’F 0

(e)

p b1 i w

p b 1l

1’e

1 ’A 0 v 1’E 0 v 1 ’F 0

1’e

1 ’e @+ 1 5 t

b1

ul

( A 0 ,E 0 ,F 0 )

(1 ’A 0 v 1 ’E 0 v 1’F 0 ) @ + 1 5

(e) Vehicle v 1 : O t 0v1

Figure 4.

c

1 ’e @+1 0

E5 E 1 =1’A 0 v 1’B 1 v 1’B 2 v 2’C 1 v 1 ’D 1 v 1 ’E 0 v2 ’E 1 v 1’F 0 v4 ’F 1 v1 ’G 1

( A 0 , B 1 , B 2 ,C 1 ,D 1 E 0 , E 1 ,F 0 ,F 1 , G 1 )

a1

im b 1 w l

et v 1 1 E1

t

[ (1 ’B 2 +2 ’C 1 ) @+ 3 0 ] v [( 2 ’E 1 +4 F 1 ) @+2 5 ]

(d) Assembling station

1’e

im v 1 p r

(B 2 , C 1 , E 1, F1 )

0 M3

p v 1 iw

im v 1 rt

( B 2, C 1 , E1 , F 1)

4’F 1 @ +5 8

(c) Machine M 3 : O

( A 0, B 1, B 2, C 1, D 1 E 0 ,E 1 , F 0 ,F 1 ,G 1 ) E1

rsu

a1

[ ( 1’B 2 +2’ C 1 ) @ +3 0 ] v [ (2 ’E 1 +4 F 1 ) @+ 2 5 ]

im

1

(e )

( 1’B 2 +2’ C 1 )v ( 2’E 1 +4 F 1 )

o m M 3 rr

p M 3w l

rl

( A 0 , B 1, B 2, C 1, D 1 E 0 ,E 1 , F 0 ,F 1 ,G 1 )

et M 8 l

p a1 w

1 ’F 0 @ + 1 0

( F 0)

( B 2)

(b) Machine M 8: O t 0 M8

1’e

(F 0 )

o m M 8 rr

p M8 w l

1 ’B 1

im M 8 rl

[( 1 ’B 1 +2 ’C 1 )@+6 8 ]v [ (2 ’E 1 + @+ 5 7 ]

(a) Machine M 13 : O t 0M 13

1’e

o m M 8 cs u

1 ’B 1

(B 1 )

et M 1 3 1

( e)

(B 1 )

1 ’B 1 @ +1 5

tM 8 su

1 ’B 1 @ + 1 5 o m M 1 3 rr

1’A 0 v 1’E 0

( A 0 , E0 )

1’e @ + 1 0 0

1’e

(B1)

o m M 13 csu

[1 ’A 0 @ +1 2 ] v [ (1 ’E 0 + @+ 1 0 ] (A 0 , E 0 )

( e) p M 8i w 1’ e@ [ 3 0 0 , 6 0 0 ] +1 ’ e@ 8 0 0

1775

o m b1wr

(f) Buffer b 1 : O t 0b 1

ETOPNs of resources in the VPS.

out exactly according to the above schedule, the system is at the state represented by the following marking: Ms Ms 13 Mtk;c ˆ …pM iw ; e†@401 ‡ …piw ; e†@556 ‡ …piw ; B2 †@556

‡ 2 0 …pviw1 ; C1 †@401 ‡ …omvct1 ; G1 †@518 ‡ 4 0 …imvpr1 ; F1 †@231 ‡ 2 0 …imvpr1 ; E1 †@270 ‡ 2 0 …imvpr1 ; C1 †@401 ‡ 2 0…imvpr1 ; E1 †@270 ‡ 4 0 …imvpr1 ; F1 †@231

‡ 1 0 …imvct1 ; G1 †@518 ‡ 1 0 …imviw1 ; e†@518 ‡ 2 0 …pawl1 ; E1 †@503 ‡ 4 0 …pawi1 ; F1 †@503 1 1 1 ‡ 2 0 …imarsu ; C1 †@401 ‡ 2 0 …pacsu ; E1 †@503 ‡ 4 0 …pacsu ; F1 †@503

R. Y. K. Fung et al.

1776 1’F 0 @ +9

(1’A 0 v 1’E 0 ) @ +1 0 i m M3

rs u

om

M 3

Ot0M3 1’F 0 @ +1 0

im M 1 3

c su

rs u

o m M 1 3 cs u

1’A 0 v 1’ E 0

Ot 0 M1 3 o m M3

i m M 3 rl

o m M13

rr

i m M 1 3 rl

1’B 1 v 2’C 1 v2’E 1 rr

4’ F 1 im M8

rs u

(1’A 0 v 1’E 0 ) @ + 8

1’B 1

o m M 8 cs u

1’B 2 v2’C 1 v2’E 1 v4’ F 1

Ot 0 M 8 o m M8 i m M 8 rl

im a 1 rs u

[1’ B 2 @+1 1] v[( 2’C 1 v2’E 1 v4’ F 1 )@ +12 ]

rr

O t0 a 1

1’B 2 g 2v 1

1’B 1 @ + 7

[(1 ’A 0 v1’E 0 )@ +8] v[ 1’F 0 @+1 0]v[ 1’ B 1 @+ 7] v [(1’B 2 v2’C 1 v2’E 1 @+11 ]v [4 ’F 1 @+ 1 0]

im a 1 rl

i m v 1 rt

O t 0 v1

(1 ’D 1 v1’ G 1 ) @ + 8

im b 1 w l

O t0 b 1

g 1v 1

1’ A 0 v 1’ E 0 v1’ F 0 om

b1

o m v 1 ct

o m a 1 csu o m a1 rr

(1’B 2 v2’C 1 v2’E 1 v4’ F 1 ) @ +1 1

g 3 v1

1’ A 0 v1’E 0 v1’ F 0 v1B 1 v2’C 1 v2’E 1 v 1’B 2 v4 ’F 1 v1’D 1 v1’ G 1

im v 1 pr

wr

1’D 1 v1’ G 1 (1’D 1 v1’ G 1 ) @ 6 [(1’A 0 v1’E 0 v1’F 0 ) @+6 ]v [( 1B 1 v2’c 1 v2’E 1 ) @+ 8] v [1’ B 2 @+7 ]v[ 4’F 1 @+1 0]v [( 1’D 1 v1’ G 1 )@ +11 ]

3

4

5

6

7

8

9

g3v 1

11

12

1 ’A 0 v 1’ E o

1’ B 1

i m M 1 3 rl

i m M 8 rl

13

o m a 1 rr

o m b1 wr

15

14

i m a 1 rl

i m b 1 rl

o m b1wr 1’ F 0

1 ’B 2

1 ’B 1

4 ’F 1 10

i m M 3 rl

i m v 1 rt

o m M 1 3 rr o m M 1 3 rr o m M 8 rr 2’C 1 v 2 ’E 1

o m M 3 rr

1 ’F 0

i m v 1 rt

i m v 1 rt

1 ’D 1 v1 ’G 1

1’ B 2 v2 ’C 1 v 2’ E 1 v4’F 1

1 ’B 1

1’ A 0 v1 ’E o

g 2v 1

i m v 1 rt

o m v1ct 1’ D 1 v1 ’G 1

1’ F 0

2

1

o m v1 ct

1’ D 1 v1 ’G 1

1’B 2 v2 ’C 1 v 2’ E 1 v4’F 1

o m v1 ct

1’B 1

o m v1ct

1 ’A 0 v 1’ E o

1 ’F 0

o m v1ct

1 ’B 2 v 2’C 1 v 2 ’E 1 v 4’ F 1

o m a1c s u

u

1 ’B 2 v 2’C 1 v 2 ’E 1 v 4’F 1

o m M 8 cs

1 ’B 1

o m M 1 3 c su

0

u

1’ A 0 v1 ’E

o m M 3 cs

The Initial TOPNs-CS model of the VPS.

1’A 0 v1 ’E o

Figure 5.

1’ F 0

16

i m v1 pr

i m v1 pr

i m v1 pr

i m a 1 rl

i m M 8 rl

i m a 1 rl

i m v 1 rt

i m M 1 3 rl

i m M 3 rl

1’ F 0

i m v1 pr

0

i m v1 pr

1’ A 0 v1 ’E

1 ’B 1

i m v1 pr

1 ’B 2

2 ’C 1 v 2’ E 1

i m v1 pr i m a 1 rl

Figure 6.

1 ’D 1 v1 ’G 1

g 1v 1 4’F 1

1’B 1 @ + 8

1’ F 0

The decomposition of gates in the TOPNs-CS model of the VPS.

Adaptive production scheduling of virtual production systems

1777

No.

Obj.

Tr.

Cho.

Time

No.

Obj.

Tr.

Cho.

Time

526 525 524 523 521 517 513 491 454 351 350 346 343 340 339 337 334 329 323 296 236 230 228 224 219 215 211 209 207 202 200 197 194 190 188 184 179 177 174 159 158 155

6 0 5 0 6 4 0 0 5 5 0 0 0 4 5 0 0 4 0 0 5 5 6 0 0 0 4 5 0 3 0 5 0 3 0 0 2 0 5 4 0 0

1 9 1 14 1 2 8 8 1 1 9 4 4 1 1 14 13 2 8 8 1 1 1 9 4 4 1 1 14 2 7 1 3 1 11 12 2 6 1 2 8 2

1 1 5 1 2 1 1 2 4 3 2 1 2 1 10 2 1 2 3 4 9 7 2 2 3 4 2 10 2 1 1 2 1 1 1 1 1 1 1 2 3 1

1188 1188 1148 1148 823 903 863 903 863 823 823 813 813 783 783 783 556 598 558 598 558 518 518 518 503 503 478 478 478 456 456 416 416 401 401 401 333 333 283 293 293 282

153 152 148 145 141 134 132 128 123 119 114 111 107 105 98 95 92 87 83 77 75 70 67 65 59 57 54 51 49 43 38 36 33 28 24 23 18 12 11 7 3

2 0 5 0 0 2 5 0 0 0 1 5 0 0 2 4 0 5 0 1 0 2 0 0 1 5 0 6 0 0 2 6 0 6 5 0 0 1 6 0 6

1 11 1 8 10 2 1 6 4 4 2 1 2 5 1 1 11 1 1 1 10 2 6 15 2 1 5 2 15 2 1 2 15 2 1 16 1 1 2 16 2

1 2 7 4 1 2 9 2 3 4 1 6 2 1 2 2 2 8 1 1 1 2 2 1 1 6 1 1 2 2 2 2 2 2 8 1 1 1 3 1 3

270 270 253 253 231 213 213 213 187 187 173 173 172 173 162 162 162 133 133 123 123 105 105 75 65 65 65 60 60 55 45 45 45 30 25 30 25 15 15 15 0

No. of iterations=272; no. of generated markings=526; output_®le=Ch_8_Case_1_Out.txt ; weight=20.

Table 1.

net

®le=Ch_8_Chase_1_ln.txt ;

Occurrence sequence for initial TOPNs-CS of the VPS.

From the above marking, assembling station has completed setting-up to assemble another group of parts 2 0 E1 ‡ 4 0 F1 , it also receives a request for setting up for assembling 2 0 C1 . Crane v1 is transferring a ®nished part G1 , M8 is processing B2 , machines M 3 and M13 are idle. The following changes to the VPS is changed are recommended.

R. Y. K. Fung et al.

1778

(1) To ®nish the new job, machine M4 needs to be added into the system. M4 is only available for the time interval [700, 1000] (min). (2) M 3 needs to be released from the system (for use by other systems) because it assignment has ®nished its assignment. (3) The assignments of M13 , a1 , v1 and b1 are to be changed because of the assignment of job 3.

401

78 3

1 1 88 11 8 8 12 0 3

1’ D 1

1 ’D 1

1 ’G 11’B 2 2’C 1

1 ’D 1 1 14 8

9 03

863

1’ B 2+2 ’ C 1

78 3 82 3

1 ’G 1

1 ’ G1

1 ’G 1 2’E 1 4’F 1

1 ’G 1 5 1 8 5 33

Figure 7.

59 8

2’E 1+4 ’F 1

1’B 1

1 14 8

un av ai lab le

8 23 83 8

1’F 0 1’E 0 4’ F 12’ E 1 1’ A 0

Gate

1’B 2

45 6 47 8 51 8

416

29 3

21 3

25 3

17 3

1 ’G 1

3 33

162 10 5 133

25

1’ F 0 1’E 0

2’ E 1 +4 ’ F 1

1 ’F 1 ’F 0 0 1 5 30 1 ’E 1 ’E 01 ’A 0 4 5 6 0 0 75

b1

65

a1

v1

600

1’ B 1

47 8

un av ai lab le

558

M8

8 00

1’ B 1 +2 ’ C 1 5 56

2’ E 1 1’A 0

2’ E 1 1’E 0

30 0

1’E 0

4 01

M 13

4’F 1 27 0

12 3 4’ F 1 1’ F 0 1 62

15 1’F 0 45

M3

23 1

To cope with change in (3), the TOPNs of M 13 , a1 , v1 and b1 are modi®ed by altering their colour sets and timed expression functions as shown in ®gure 10. To model change in (2), the TOPN of M3 is removed from the initial TOPNs-CS model S0 and the timed message-passing relations between it and TOPNs of other production

Activities scheduling for the VPS.

Decisions: (subgate, hchoicei@model time

g1v1

…g16 ; hF0 i@15; …g16 ; hF0 i†@30; …g15 ; hE0 i†@45; …g15 ; hE0 i†@60; …g15 ; hA0 i@75; …g10 ; h4 0 F1 i†@123; …g11 ; h2 0 E1 i†@162; …g ‡ 10; h4 0 F1 i†@231; …g11 ; h2 0 E1 i†@270; …g12 ; hB1 i†@401; …g11 ; h2 0 C1 i†@401; …g14 ; hG1 i†@478; …g13 ; hB2 i†@556; …g14 ; hG1 i†@783; …g14 ; hD1 i†@1148;

g2v1

…g1 ; hF0 i†@25; …g2 ; hE0 i†@55; …g1 ; h†F0 i@133; …g2 ; hE0 i†@173; …g4 ; h4 0 F1 i†@187; …g2 ; hA0 i†@282; …g3 ; hB1 i†@416; …g4 ; h4 0 F1 i†@503; …g4 ; h2 0 E1 i†@503; …g4 ; h2 0 C2 i†@503; …g4 ; h2 0 C2 i†@813; …g4 ; hB2 i†@813; 9g9 ; hD1 i†@1188;

g3v1

…g5 ; hF0 i†@65; …g6 ; hE0 i†@105; …g5 ; hF0 i†@173; …g6 ; hE0 i†@213; …g8 ; h4 0 F1 i†@253; …g8 ; h2 0 E1 i†@293; …g6 ; hA0 i†@333; …g7 ; hB1 i†@456; …g9 ; hG1 i†@518; …g8 ; h4 0 F1 i†@598; …g3 ; h2 0 E1 i†@558; …g9 ; hG1 i†@823; …g8 ; h2 0 C1 i†@903; …g8 ; hB2 i†@863; Table 2.

Decisions for resolving con¯icts made by scheduling.

1 107

732

11 47

11 07

852

812

732 772

54 7

1’ D 1 1147 1162

1’G 1

1’G 1 467 482

Figure 9.

830

1195

1235 1250 1’ D 1

1’D 1

1’G 1

1’G 11’ B 2 2’ C 1

1’D 1 123 5

9 50

9 10

870

1’ B 2+2’C 1

870 885

1’ G 1 2’ E 1 4’ F 1

1’ G 1

830

645

605

2’E 1 +4’ F 1

1’G 1 565 578

1’F 1’ A 0 0 15 30 1’E 1’E 01’F 0 45 60 0 75

4’ F 1 1’E 0 1’F 0 1’ E 0 2’E 1 1’B 1

11 95

unavai lable

525

1’B 2

525 565

380

340

203

243 260 300

163

1’G 1

8 00

6 00

48 0

3 00 123 10 5 123

65

25

507

427 467

430

357

17 3

260

1’ B 1

2’ E 1 +4’F 1

1’ F 0 1’ A 0

1’D 1

1’ G 11’ B 2 2’ C 1

2’ E 1

unavailable

a1

b1

1’ G 1 2’ E 1 4’ F 1

1’ B 1

1’ D 1

The otimal schedule for the VPS.

1’E 0 2’ E 1

1’B 1 +2’ C 1 1’E 0

M8

v1

1’ B 2+2’ C 1

4’F 1

1’ F 0

30 1’ A 0

1’ G 1

301

123

15

4’ F 1

1’F 0

M 13

2’E 1 +4’ F 1

772 787

2’E 1 1’E 0 4’F 1 1’ F1 1’ A 0

1’E 0 1’F 0

Figure 8.

M3

390

322

28 2

24 2

202

16 2

1 05 1 22

65

25 b1

1’G 1

1’E 1’F 0 0 15 30 1’E 1’F 01’A 0 4 5 60 0 75

v1

unavailable

42 7

1 22

2’ E 1 +4’F 1

a1

80 0

1’B 2

1’ B 1

unavai lable

600

490

1’ B 1 +2’C 1 300 390

M8

2’E 1 1’ A 0

39 0

25 2

2’ E 1 1’ E 0

1’ E 0

4’F 1

1’ F 0

122

M 13

1779

3 40

16 3 4’ F 1

1’F 0 15

M3

30

Adaptive production scheduling of virtual production systems

The worstschedule for the VPS.

R. Y. K. Fung et al.

1780 (e)

p M 1 3 iw

1’ e @4 0 1

1’e

( H0 ) im

M 13

1 ’ H0

t

rs u

2

( H0 )

5

1 ’H 0 @ + 1 2

om

1

M13

1’e

( B1 ) im

cs u

M8

1’ B 1

1

( B1 )

( R1 , S1 )

4

im

1 ’H0

et

rl

im M 8 rl

1

2

3

(1 ’ R1 + 2’ S1 )@ + 9 8

1’ B 1

(e) 1’e@ + 1 4 0

1

1’R 1

im M 4 rs u 2

(R 1 )

1’ R 1 @ + 1 5

t M 4 su

om M 4 cs u

om M 4 rr

pM 4 w l

( R2 )

4 (R 1 ) im M 4 rl

5

1’R 1 @ + 1 5 ( R1 )

1’R 1

et M 4 1

(c) Machine M 4 : O

[1 ’e@ + 2 4 5 ] v [1 ’e@ + 1 8 5 ] v [1 ’ e @+ 2 2 5 ]

p a1w

1 [(1 ’B2 + 2 ’ C1 ) @+ 3 0 ] v [(2 ’E1 + 4 F 1 ) @+ 2 5 ] v [(1 ’R2 + 2’ S1 )@ + 2 0 ]

(1 ’B2 +2 ’C1 )v (2 ’E1 + 4 F 1 )v (1 ’R2 + 2’ S1 )

im a1 rs u ta 1 c 1 [(1’ B2 + 2 ’C1 ) @ + 3 0 ] v 2’C 1 @ 4 0 1 [(2’E1 + 4 F 1 )@ + 2 5 ] v [(1’ R2 +2 ’S1 ) @ + 2 0 ] (2 ’E1 + 4 F 1 ) @ 5 0 3 (B 2 , C 1 ,E 1 , F 1 , R 2 , S 1) )

2

3

( A 0 , B 1 , B 2 ,C 1 , D 1 E 0 , E 1 ,F 0 ,F 1 , G 1 , H 0 , R 1 , R2 , S 1 , U 1 ) E1 im v 1 rt ( A 0 , B1 , B 2 ,C 1 , D 1 E 0 ,E 1 ,F 0 ,F 1 , G 1 , H 0 ,R 1 , R 2 , S1 , U 1 ) E 1 im v 1 pr 2’ C 1 @ 4 0 1+ 2’ E1 @ 2 7 0 + 4 F1 @ 2 3 1

p

v1

iw

1

et v 1 1

1’ F 0 v4’F 1 v 1’ G 1 v 1’ H0 v 1’R 1 v v 1’U 1 v E 5 =1’R (1 ’ 2Av’2’S v 1 ’B 1 1 v1 ’B 0 2 2’C1 v1 ’ D1 v1 ’E0 v2 ’E 1 v 1’F0 v4 ’F 1 v 1 ’G 1 v1 ’ H0 v1’R 1 v 1’R2 v’2’S 1 v1’ U 1 ) @ + 4 0

(e) Vehicle v 1 :

Figure 10.

1v 1

6

[1 ’D1 @ + 2 4 5 ] v [1 ’G1 @ + 1 8 5 ] v [ 1 ’ U1 @ + 2 25 ]

2

im b1 w l 2

( A 0 , B 1 , B 2 ,C 1 , D 1 E 0 ,E 1 ,F 0 ,F 1 , G 1 , H 0 ,R 1 , R 2 , S 1 , U 1 ) 4

E 1 = 1 ’A0 v 1 ’ B1 v1 ’B 2 v E 5 2’C1 v 1’ D1 v1 ’E0 v2 ’E 1 v

Ot

om a1 rr

(d) Assembling station a 1 : O t 1 a 1

1’ e @+ 1 0

1’e@ + 5 1 8

1’e

5

(D 1 , G 1 , U 1 )

et a 1 l

1’ D1 v1 ’G 1 v1 ’U (e)

om a1 cs u

(2 ’E 1 + 4 F 1 )@ 5 0 3

4

3

1M 4

(B 2 , C1 ,E 1 , F 1 , R2 , S 1) )

pa w l

(1 ’ B2 + 2 ’ C1 )v (2 ’E1 + 4 F1 )v (1 ’ R2 + 2’ S1 )

( B 2 , C1 , E 1 , F 1 , R 2 , S 1) ) im a1 rl

1’R 2 @ + 1 4 0 t

( B 2 , C 1 ,E 1 , F 1 , R2 , S 1 ) 2

6

1’ R 1

3

1’B 1 @ + 1 0 0

2

(b) Machine M 8 : O t 1 M 8

1’e

( R1 )

6

(B 2 )

et M 8 l

3

(a) Machine M 1 3 : O t 1 M 1 3

(e) pM 4iw 1’ e @[7 0 0, 1 0 0 0 ]

om M 8 rr

pM8w l 1’B 1

( B1 ) M13

5

1’ B 2 @ 5 5 6

4

1 ’ H0 M 13

om M 8 cs u

su

1’B 1 @ + 1 5

pM 13 w l

(B 1 )

1’B 1 @ + 1 5

M8

2 om M 1 3 rr

( H0 )

t

rs u

6

1’ H0 @ + 1 2 ( H0 )

1’e@ + 1 0 0 1

M1 su

(e) pM8 1 ’e @ [ 55 6 , 6 0 0 ] + 1 ’ e @8 0 0 i w

1’e@ + 9 8

1

om v1 ct 1 ’G 1 @ + 5 1 8

1

1

1’e

tb1l 1’ e @+ 1 5

(1’ D1 v 1 ’G1 ) @+ 1 5 ( A 0 , D1 , E0 , F 0 ,G 1 , H 0 ,U 1 )

3 1’ A 0 v1’ E0 v 1’ F0 v 1 ’H 0 2

t

b1

1’e

1 1’e

1’ e @+ 1 5 ul

(e)

p b1iw

p b1l

1 ’ H0 @ 5 0 0

( A 0 ,E 0 ,F 0 , H 0 )

(1 ’A 0 v1’ E0 v1’ F0 v 1 ’H 0 ) @ + 1 5

om b1 w r

4

(f) Buffer b 1 : O t1 b 1

EOPNs of resources in the VPS after the change.

resources. In addition, the TOPN of M4 is built and added into the system with the timed message-passing relations between it and other production resources being established. The changed TOPNs-CS model S1 of the system is shown in ®gure 11, in which the previous TOPNs Ot0M13 , O t0M3 , Ot0a3 Ot0v1 and Ot0b1 and Ot0b1 shown in ®gure 4 have been replaced by their corresponding updated versions as shown in ®gure 11. The decomposition of the three gates in the changed TOPNs-CS model is

Adaptive production scheduling of virtual production systems 1’B 1

2

O 1M 8 im M 8 rl

10

im M4 rsu

5

1

O

t

1M13

o m M13 rr

i m M 13 rl

6

3

6

1’H 0 8

u

1’R 2v 2’S 1 7

1’H 0

1’R 1

2’C 1 @403

u

6

3

5

5 o m M 13 cs

1’B 2

o m M 4 cs

om im M 4 rl

12

1’B 2@55 6 11

3

2

im M13 rs u

o m M8 rr

4

O t1 M 4

2

u

6

1’B 1

2

1’H 0 1’B 1

o m M 8 cs

t

9

1’R 1

5

i m M8 rsu

M4

1’B 2v2’C 1 v2’E 1v4’F 1 vv v1’H 0v1’R 1 v1’R 2v2’S 1

g 2v1

im v1 rt im

b1

2 wl

2

O t1 b 1 4

g 1v1

1’H 0 o m b1 wr

o m v1 ct 21

i m v1 pr 3 20 2’C 1@401 v2’E 1 @270 v4’F 1 @231

18

5 o m a1 csu

16

o m a1 rr 3

6

15

1’B 2v2’C 1v2’E 1 v 4’F 1v1’R 2v2’S 1

1’G 1@+518

4 O t1 v 1

1’D 1v1’G 1v1’U 1

O t1 a 1 im a 1 rl

14 19

2

13

3 1’R 2

(2’E 1 +4’F 1 )@503

i m a 1 rsu

1’B 2v2’C 1v2’E 1 v4’F 1v1’R 2 v2’S 1

rr

1’R 1

17

1781

1’B 2v2’C 1v2’E 1 v 4’F1 v1’R 2v2’S 1

g 3 v1

1’B 2v2’C 1v1’D 1v2’E 1 v4’F 1v1’G 1 v v1’H 0 v1’R 1v1’R 2v2’S 1 v1’U 1

1’D 1v1’G 1 v1’U 1

1’D 1v1’G 1 v1’U 1 1’B 2v2’C 1 v1’D 1v2’E 1v4’F 1v1’G 1 v v1’H 0v1’R 1 v1’R 2v2’S 1v1’U 1

Figure 11.

The TOPNs-CS model of the VPS after the change.

1

3

6

o m v1ct

7

o m v 1 ct

8

9

10

11

1 ’ B2 13

1 ’D 1 v1 ’G 1 v1 ’ U 1

2 ’S 1 12

o m a1 rr

14

i m M 8 rl

i m a1 rl

1 ’ D 1 v 1 ’ G 1v 1 ’ U1

i m M13 rl

1 ’B 2 v 2’ C 1 v 2’ E 1 v 4’ F 1 v 1’ R 2 v 2’ S 1

1 ’ H0

i m M4 rl

i m v1rt

o m M13 rr o m M13 rr o m M8 rr 1 ’ R1

1 ’R 2

o m M 4 rr

1 ’R 1

1 ’B 1

1 ’B 2 v 2’ C 1 v 2’ E 1 v 4 ’F 1 v 1’ R 2 v 2’ S 1

i m v1 rt

i m v1 rt

1 ’B 1

g 3v 1 1 ’ H0

1 ’R 1

o m v1ct

5

4

g 2v 1

i m v1 rt

o m v 1 ct

1 ’ D 1 v 1 ’ G 1v 1 ’ U1

1 ’B 1

2

o m v 1ct

o m a1 csu

1 ’B 2 v 2’ C 1 v 2’ E 1 v 4 ’F 1 v 1’ R 2 v 2’ S 1

1 ’ H0

1 ’R 1

u

1 ’B 1

o m M8 cs

1’ B 2 v 2’ C 1 v 2’ E 1 v 4’ F 1 v 1’ R 2 v 2’ S 1

o m M13 c s u

i m b1 wl

o m b1 wr 1 ’H 0

u

1 ’R 1

o m M 4 cs

1 ’ H0

shown in ®gure 12, which is used for identifying the decision for resolving the con¯icts associated with these gates. The decisions are made automatically in scheduling with minimum make-span. After the change, the initial marking of the TOPNs-CS mode is as follows:

15

Figure 12.

2 ’ S1

i m v1 pr

i m v1 pr

i m v1 pr

i m v1 pr

i m v 1 pr

i m a1 rsu

i m M4 rs u

i m a1 rsu

i m a1 rsu

i m v1 rt

i m M13 rsu

1 ’H 0

1 ’ R1

i m v 1 pr

1 ’ B2

1 ’R 2

1 ’D 1v1 ’ G 1 v1 ’ U 1

g 1v 1

The decomposition of gates in the TOPNs-CS model of the VPS after the change.

R. Y. K. Fung et al.

1782

Ms Ms 13 Mtk;c ˆ …pM iw ; e†@401 ‡ …piw ; e†@556 ‡ …piw ; B2 †f@ 556; 600Š ‡ @800g

‡ 2 0 …pviw1 ; C1 †@401 ‡ …omvct1 ; G1 †@518 ‡ 4 0…imvpr1 ; F1 †@231 ‡ 2 0 …imvpr1 ; E1 †@270 ‡ 2 0 …imvpr1 ; C1 †@401 ‡ 2 0 …imvpr1 ; E1 †@270 ‡ 4 0 …imvpr1 ; F1 †@231

‡ 1 0 …imvct1 ; G1 †@518 ‡ 1 0 …im viw1 ; e†@518 ‡ 2 0 …pawl1 ; E1 †@503 ‡ 4 0 …pawi1 ; F1 †@503 1 1 1 ‡ 2 0 …imarsu ; C1 †@401 ‡ 2 0 …pacsu ; E1 †@503 ‡ 4 0 …pacsu ; F1 †@503

b1 4 ‡ …pM iw ; e†@ 700; 1000Š ‡ …pl ; H0 †@500

M4

unavailable

1’R 2

un av ai lable

736

1’R 1

515 1’H 0

1’R 1 +2 ’S 1

556

M 13

931

700 736

In the above marking, the last two items are resulted from the change to the system. The ®rst item indicates that M 4 is available only in time interval [700, 1000], and the second one represents that the raw material (at state H0 ) is released to the system at the model time 500. Starting with the model time 500 and the initial marking, as shown in ®gures 7 and 8 of the changed TOPNs-CS model, the changed system is rescheduled by Algorithm 1. After 199 iterations (in about 3 min), a new occurrence sequence is generated as shown in table 3, and the resulting production schedule is shown in ®gure 13. According to this new schedule, the time required for completing all the jobs is 1556 min. By examining availability graph of the updated TOPNs-CS model, it can be seen that this schedule is optimal. The decision for resolving the three gates in the changed TOPNs-CS model of the system is shown in table 3. Reading table 3 along with ®gures 10 and 11, one can have a much clearer picture of message-passing routing among all the production resources.

1’B 2

1156

1541

1501

1276

1196

1541 1556 1’U 1

1’U 1

1196 1211

1 ’D 1 2’ S 1 1’R 2

1’U 1

1 ’D 1

1’R 1 1’ G 1 2’C 1’B 2 1

1’R 2 +2’S 1 1236

871

1 ’D 1

911

831

791

638

598

1’ B 2 + 2 ’C 1

791 831

1’ H 0 5 1 5 1’ G 1 5 1 8 533

b1

4’F 1 2’E 1 1 ’H 0

1’ G 1

1’ G 1

v1

558

518

2’E 1+4 ’F 1

751

a1

1501

un av ai lable

1156

1’B 1

783

M8

50 0

Figure 13.

Activities scheduling for the VPS after the change.

Adaptive production scheduling of virtual production systems

1783

No.

Obj.

Tr.

Cho.

Time

No.

Obj.

Tr.

Cho.

Time

377 376 375 374 372 368 364 341 305 273 271 267 264 261 260 258 256 255 249 218 132 130 127 123 118 109

6 0 5 0 6 4 0 0 5 5 0 0 0 4 5 0 4 0 0 0 5 5 6 0 0 1

1 9 1 14 1 2 8 8 1 1 9 4 4 1 1 14 2 8 8 10 1 1 1 9 4 2

3 3 15 3 1 3 6 5 13 14 1 5 6 3 5 1 1 2 1 1 3 4 2 2 2 1

1541 1541 1501 15011 1196 1276 1236 1276 1236 1196 1196 1176 1176 1156 1156 1156 911 871 911 931 871 831 831 831 813 791

106 104 98 97 93 90 86 84 81 76 74 71 56 55 50 49 46 40 35 33 29 24 20 12 3

5 0 4 0 5 0 1 0 0 2 0 5 4 0 5 0 0 0 2 5 6 0 0 0 0

1 5 1 14 1 1 1 11 12 2 6 1 2 8 1 8 13 2 1 1 1 9 15 4 4

10 1 1 2 12 1 1 1 1 1 1 11 2 3 7 4 1 1 1 9 2 2 1 3 4

791 791 783 783 751 751 736 736 736 638 638 598 598 598 558 558 556 527 515 518 518 518 515 503 503

No. of iterations=199; no. of generated output_®le=Ch_8_Case_2_Out.txt ; weight=20.

Table 3.

Gate

markings=377;

net

®le=Ch_8_Case_2_In.txt ;

Occurrence sequence for the changed TOPNS-CS model of the VPS.

Decisions: (subgate, hchoicei@model time

g1v1

…g15 ; hH0 i†@515; …g 13; hB2 i†@556; …f12 ; h2 0 S1 i†@736; …g11 ; hR1 i†@736; …g14 ; hG1 i†@783; …g10 ; hR2 i†@931; …g 14mhD1 i†@1156; …g14 ; hU1 i†@1501;

g2v1

…g4 ; h4 0 F1 i†@503; …g4 ; h2 0 E1 i†@503; …g2 ; hH0 i†@527; …g1 ; hR1 i†@751; …g4 ; h2 0 C1 i†@813; …g4 ; hB2 i†@813; …g4 ; h2 0 S1 i†@1176; …g4 ; hR2 i†@1176;

g3v1

…g; hG1 i†@518; …g8 ; h4 0 F1 i†@558; …g8 ; h2 0 E1 i†@598; …g6 ; hH0 i†@638; …g5 ; hR1 i†@791; …g9 ; hG1 i†@831; …g8 ; h2 0 C1 i†@871; …g8 ; hB2 i†@911; …g9 ; hD1 i†@1196; …g8 ; hR2 i†@1276; …g8 ; h2 0 S1 i†@1276; …g9 ; hU1 i†@1541;

Table 4.

5.

Decisions for resolving con¯icts in the changed system made by the schedule.

Conclusions (1) To equip the manufacturing system for agility, customized product oriented VPSs can be logically organized with resources belonging to one or more physical manufacturing systems. Taking advantages of better ¯exibility, concurrent planning and control of each individual VPS, and more responsive to changes, VPSs can enhance the agility of physical manufacturing systems. However, to cope with changes and disturbances to a VPS more e€ ectively,

1784

(2)

(3)

(4)

(5)

(6)

(7)

(8)

R. Y. K. Fung et al. there is a needs for a new scheduling methodology by which dynamical updating production schedule in response to disturbances and changes to a VPS can be handled. In this paper, TOPNs-CS is used for formulating scheduling problems. As a modelling approach for time-varying DEDS, TOPNs-CS provides the basis for scheduling a VPS subject to disturbances and changes. Since resources are limited in a VPS to be scheduled, TOPNs-CS is modi®ed by introducing limited token available time and modifying the enabling and ®ring rules or TOPNs-CS. To reduce the computational time, equivalent TOPNs can be built for TOPNs of production resources. Substituting ETOPNs for TOPNs in the TOPNs-CS model can reduce the numbers of places and transitions, and in turn save computational time. An algorithm for scheduling a VPS based on TOPNs-CS modelling and AI heuristic search is proposed. This algorithm is modi®ed from those previously proposed in (Lee 1993) which is based on A* heuristic search. The modi®cation allows for searching occurrence of transitions subject to limited token available time. In the algorithm, the con¯icts of gates in the TOPNs-CS models are automatically resolved with the minimized make-span. To identify the decisions made in scheduling, the gates with con¯icts need to be decomposed into subgates without con¯icts. In addition, the production schedule generated by approach proposed in this paper share common property with those by other PNs modelling approaches in being deadlockfree. Once a scheduled VPS is subject to disturbances (e.g. delay in some scheduled processes), the production process can be ®rst quickly simulated by following the existing schedule (using only the process sequences and duration, but not the starting time of each process) from the current state at which the disturbance occurs. If the scheduling target (the due date in this paper) is not a€ ected by the delay, rescheduling is not required. Whenever any change occurs to the VPS, its corresponding TOPNs-CS model has to be updated to refresh the scheduling problem parameters, then reschedule the VPS based on then updated TOPNs-CS model of the VPS. A case study is used to demonstrate the procedures for applying the proposed methodologies. It illustrates how the new approach responds rapidly to disturbances and changes to a VPS, which are commonplace in CDM environment. The scheduling methodologies proposed in this paper can be applied for scheduling any other manufacturing systems that are subject to disturbance and changes. By determining adaptive mechanism for regulating production resources and routing in response to disturbances and changes, and applying the proposed adaptive scheduling methodologies, adaptive control of a manufacturing system will be realized in future. The value of weight w a€ ects the schedule. Although it is suggested that w should be ¶ 5, and good results (generating a schedule quite close to the optimal one in several minutes time) have been shown in this paper by setting it to 20, i.e. > 5, methods for optimally determining the value of the weight should be studied in future work.

Adaptive production scheduling of virtual production systems

1785

Acknowledgements The research discussed in this paper was supported by a Strategic Research Grant (SRG) from City University of Hong Kong (Project No. 7001151) and by a Research Grant from the National Natural Science Foundation of China (Project No. 50085003).

References Cassandeas, C. G., 1993, Discrete Event Systems: Modeling and Performance Analysis (Boston: Aksen Associates). Desrochers, A. A. and Al-Jaar, R. Y., 1995, Applications of Petri Nets in Manufacturing Systems: Modeling, Control, and Performance Analysis (New York: IEEE Press). Garcia, H. E. and Ray, A., 1996, State-space supervisory control of re-con®gurable discrete event, systems. International Journal of Control, 8, 767±797. Hatono, I., Huang, Y., Umano, M. and Tamura, H., 1996, Cooperative scheduling protocol and dispatching algorithm taking account of emergency jobs for distributed real-time scheduling. Japan/USA Symposium on Flexible Automation, ASME 1996, Vol. 2, pp. 1383±1389. Jeng, M. D. and Chen, S. C., 1998, A heuristic search approach using approximate solutions to Petri Nets state equations for scheduling ¯exible manufacturing systems. International Journal of Flexible Manufacturing Systems, 10, 139±162. Jensen, K., 1995, Colored Petri Nets: Basic Concepts, Analysis Methods and Practical Use, Vol. 2 (New York: Springer). Jiang, Z. B., Fung, R. Y. K., Tu, Y. L. and Zuo, M. J., 2000a, A framework for adaptive control of virtual production systems. Proceedings of the 3rd World Congress on Intelligent Control and Automation (WCICA’2000 ), 28 June±2 July 2000. Jiang, Z. B., Liu, M. Z. and Zhao, H., 2000c, Virtual production systems and their modeling by temporized object-oriented Petri with changeable structure (TONPs-CS). Proceedings of ICME 2000, November 2000. Jiang, Z. B., Zuo, M. J., Fung, R. Y. K. and Tu, Y. L., 2000b, Performance modeling of complex dynamic production system by temporized object-oriented Petri nets with changeable structure (TOPNs-CS). International Journal of Advanced Manufacturing Technology, 16, 521±536. Jiang, Z. B., Zuo, M. J., Tu, Y. L. and Fung, R. Y. K., 1999, Object-oriented Petri nets with changeable structure (OPNs-CS) for production system modeling. International Journal of Advanced Manufacturing Technology, 15, 443±459. Jiang, Z. B. and Zuo, M. J., 1998, Object-oriented Petri nets with changeable structure (CPNs-CS): analysis on con¯icts and deadlocks. Proceedings of the 1998 IEEE International Conference on Systems, Man, and Cybernetics, San Diego, CA, pp. 46±50. Lee, D. Y., 1993, Scheduling and supervisory control of ¯exible manufacturing systems using Petri nets and heuristic search, PhD thesis, Rensselaer Polytechnic Institute. Lee, D. Y. and Dicesare, F., 1994a, Integrated scheduling of ¯exible manufacturing systems employing automated guided vehicles. IEEE Transactions on Industrial Electronics, 41, 602±610. Lee, D. Y. and Dicesare, F., 1994b, Scheduling ¯exible manufacturing systems using Petri nets and heuristic search. IEEE Transactions on Robotics and Automation, 10, 123±132. Parker, R. G., 1996, Deterministic Scheduling Theory (London: Chapman & Hall). Pearl, J., 1984, Heuristics, Intelligent Search Strategies for Computer Problem Solving (London: Addison-Wesley). Wortmann, J. C., Muntslag, D. R. and Timmermans, P. J. M. (eds), 1997, CustomerDriven Manufacturing (London: Chapman & Hall). Zhou, M. C. and Venkatesh, K., 1999, Modeling, Simulation, and Control of Flexible Manufacturing Systems: A Petri Nets Approach (Singapore: World Scienti®c).