international journal of computer integrated manufacturing a … · 2014. 11. 15. · edif. q,...

20
PLEASE SCROLL DOWN FOR ARTICLE This article was downloaded by: [Consorci de Biblioteques Universitaries de Catalunya] On: 20 January 2011 Access details: Access Details: [subscription number 919083339] Publisher Taylor & Francis Informa Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37- 41 Mortimer Street, London W1T 3JH, UK International Journal of Computer Integrated Manufacturing Publication details, including instructions for authors and subscription information: http://www.informaworld.com/smpp/title~content=t713804665 A compact timed state space approach for the analysis of manufacturing systems: key algorithmic improvements Miguel M. Mota a ; Miquel A. Piera a a Department of Telecommunications and Systems Engineering, Universitat Autonoma de Barcelona, Campus Universitario, Bellaterra, Barcelona, Spain Online publication date: 15 January 2011 To cite this Article Mota, Miguel M. and Piera, Miquel A.(2011) 'A compact timed state space approach for the analysis of manufacturing systems: key algorithmic improvements', International Journal of Computer Integrated Manufacturing, 24: 2, 135 — 153 To link to this Article: DOI: 10.1080/0951192X.2010.543153 URL: http://dx.doi.org/10.1080/0951192X.2010.543153 Full terms and conditions of use: http://www.informaworld.com/terms-and-conditions-of-access.pdf This article may be used for research, teaching and private study purposes. Any substantial or systematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply or distribution in any form to anyone is expressly forbidden. The publisher does not give any warranty express or implied or make any representation that the contents will be complete or accurate or up to date. The accuracy of any instructions, formulae and drug doses should be independently verified with primary sources. The publisher shall not be liable for any loss, actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directly or indirectly in connection with or arising out of the use of this material.

Upload: others

Post on 28-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

PLEASE SCROLL DOWN FOR ARTICLE

This article was downloaded by: [Consorci de Biblioteques Universitaries de Catalunya]On: 20 January 2011Access details: Access Details: [subscription number 919083339]Publisher Taylor & FrancisInforma Ltd Registered in England and Wales Registered Number: 1072954 Registered office: Mortimer House, 37-41 Mortimer Street, London W1T 3JH, UK

International Journal of Computer Integrated ManufacturingPublication details, including instructions for authors and subscription information:http://www.informaworld.com/smpp/title~content=t713804665

A compact timed state space approach for the analysis of manufacturingsystems: key algorithmic improvementsMiguel M. Motaa; Miquel A. Pieraa

a Department of Telecommunications and Systems Engineering, Universitat Autonoma de Barcelona,Campus Universitario, Bellaterra, Barcelona, Spain

Online publication date: 15 January 2011

To cite this Article Mota, Miguel M. and Piera, Miquel A.(2011) 'A compact timed state space approach for the analysis ofmanufacturing systems: key algorithmic improvements', International Journal of Computer Integrated Manufacturing,24: 2, 135 — 153To link to this Article: DOI: 10.1080/0951192X.2010.543153URL: http://dx.doi.org/10.1080/0951192X.2010.543153

Full terms and conditions of use: http://www.informaworld.com/terms-and-conditions-of-access.pdf

This article may be used for research, teaching and private study purposes. Any substantial orsystematic reproduction, re-distribution, re-selling, loan or sub-licensing, systematic supply ordistribution in any form to anyone is expressly forbidden.

The publisher does not give any warranty express or implied or make any representation that the contentswill be complete or accurate or up to date. The accuracy of any instructions, formulae and drug dosesshould be independently verified with primary sources. The publisher shall not be liable for any loss,actions, claims, proceedings, demand or costs or damages whatsoever or howsoever caused arising directlyor indirectly in connection with or arising out of the use of this material.

Page 2: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

A compact timed state space approach for the analysis of manufacturing systems: key algorithmic

improvements

Miguel M. Mota* and Miquel A. Piera

Department of Telecommunications and Systems Engineering, Universitat Autonoma de Barcelona, Campus Universitario,Edif. Q, 08193, Bellaterra, Barcelona, Spain

(Received 15 November 2009; final version received 23 November 2010)

The state space (SS) analysis of a timed coloured Petri net (TCPN) has been used traditionally for validation andverification of system properties. Performance modelling using TCPN has also received the widespread attention ofresearchers in recent years as a promising alternative to improve productivity and competitiveness of present flexiblemanufacturing systems. In this article, a new computationally effective approach is introduced for designing efficientdecision support tools based on the analysis of SSs, in which the computational time is an important requirement todeal with optimal scheduling, routing or planning policies. The SS analysis of a system specified in the TCPNformalism is faced with an algorithm in two stages, key implementation algorithmic aspects are considered toimprove the time consuming tasks (transition evaluation, data management and information search). In order toprovide good benchmarking results when applied to the optimisation of industrial scheduling problems, someexamples are given and future work is addressed at the end of the article.

Keywords: timed coloured Petri nets; state space; simulation; decision support tools; optimisation; manufacturing;scheduling

1. Introduction

In the design of decision support tools for manufactur-ing systems, it is a common practice to analysedifferent system configurations by means of a simula-tion model that is the so called simulation-basedoptimisation approach. Unfortunately, this approachhas the drawback of only covering a small set of allpossible scenarios of a flexible system, which does notensure reaching the optimal scenario configuration. Inmost of the cases, the reliability on the decision taken isonly ensured with multiple experiments or simulationruns of the system’s model.

Given its capabilities to properly model the beha-viour of discrete event systems, the Petri net formalismhas been extensively used during many years by thescientific community to develop manufacture andindustrial models in order to determine several aspectsof the modelled system. These aspects range from somedesign shortages of the real system through the analysisof the models properties (Liu and Wu 1993), to efficientpolicies to manage and control the resources of a floor-shop (Tchako et al. 1994) for improving some keyperformance indicators (Gradisar and Musi�c 2007),amongst others. From some years ago, a focus has beenput on employing Petri net models to cope withinteresting managerial point-of-view problems such as

the scheduling problems of flexible manufacturingsystems (FMS) (Lee and DiCesare 1994). Furthermore,some authors have devised approaches that put togetherthe capabilities of the simulation approaches withheuristics and meta-heuristics parameterising a subsetof decision variables within the model and thenoptimising the allocation of the variables through theuse of the heuristics (Yu et al. 2003). The characteristicsof flexible systems are suited to be modelled with thePetri net formalism without losing in the abstractionprocess important details that must be taken intoaccount (Reyes et al. 2002); however, the use of thisapproach sometimes produces models with a similarcomplexity level as the original system, which hindersthe understanding of the cause and effect relationships.

Recently, the use of high-level modelling formal-isms such as coloured Petri nets (CPN) or timedcoloured Petri nets (TCPN) have been introduced tomodel FMS problems in a higher abstraction level,allowing not only to model the key attributes thataffect the system performance but also to facilitate theunderstanding of the cause and effect relationships ofthe original system. Furthermore, these formalisms canbe used together with heuristics to develop optimisa-tion approaches that are able to find optimal or closeto the optimal configurations for these types of systems

*Corresponding author. Email: [email protected]

International Journal of Computer Integrated Manufacturing

Vol. 24, No. 2, February 2011, 135–153

ISSN 0951-192X print/ISSN 1362-3052 online

� 2011 Taylor & Francis

DOI: 10.1080/0951192X.2010.543153

http://www.informaworld.com

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 3: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

(Dashora et al. 2008, Mujica et al. 2010). In particular,the timed version of the formalism (TCPN) has asimple but efficient clock policy that permits toproperly model the concurrent behaviour of systems.The use of the reachability graph or state space (SS)together with the model allows exploring the differentconfigurations of the studied system. This approach iscapable of ensuring optimal configurations when it isallowed to explore the complete SS of the timedcoloured Petri net model. The main problem with thisapproach is the state explosion (Valmari 1998) whichsaturates computer memory, and consequently in mostof the cases the complete SS can neither be generatednor evaluated. This is the reason why there is thenecessity for developing alternative approaches whichallow analysing greater SSs and allow the implementa-tion of search techniques to explore the SS in a moreefficient way, i.e. heuristics. The authors have devel-oped an approach that uses TCPN models togetherwith a compact version of the timed SS to deal with theoptimisation of industrial problems where the multi-plicity of states has been carefully analysed in order topropose reliable solutions.

1.1. Timed coloured Petri nets

CPN is a simple yet powerful modelling formalism,which allows the modelling of complex systemscharacterised by an asynchronous, parallel or con-current behaviour (Jensen 1997a).

In order to investigate the key performanceindicator values at which the industrial systems operateunder different policies, such as scheduling, resourceoccupancy, costs and inventory among others, it isconvenient to extend CPN with a time concept, i.e.TCPN. This extension is made by introducing a globalclock representing the model time, time stamps whichdetermine token availability (Jensen 1997a,b) and timeconsumption associated to the model transitions.Taking into account all of these elements the evolutionof systems can be properly modelled through timestamp-updating when the transition firing takes place(Mujica et al. 2010).

The formal definition of the TCPN is as follows.

Definition 1. The non-hierarchical TCPN can bedefined by a tuple:

TCPN¼(P, T, A, S, V, C, G, E,D, I) where

(1) P is a finite set of places.(2) T is a finite set of transitions T such that

P \ T ¼ Ø.(3) A � P 6 T [ T 6 P is a set of directed arcs.(4) S is a finite set of non-empty colour sets.

(5) V is a finite set of typed variables such thatType [n] 2 S for all variables n 2 V.

(6) C: P ! S is a colour set function assigning acolour set to each place.

(7) G: T! EXPR is a guard function assigning aguard to each transition T such that

Type [G(T)]¼Boolean.

(8) E: A! EXPR is an arc expression functionassigning an arc expression to each arc a, suchthat:

Type [E(a)]¼C(p)

where p is the place connected to the arc a.(9) D: T ! EXPR is a transition expression

which specifies the time delay associated to thetransition. This time delay is generally de-noted with the @ sign.

(10) I is an initialisation function assigning aninitial timed marking to each place p suchthat:

Type [I(p)]¼C(p)

EXPR denotes the expressions provided by theinscription language, and TYPE[e] denotes the typeof an expression e 2 EXPR, i.e. the type of valuesobtained when evaluating e. The set of variables in anexpression e is denoted VAR[e] and the type of avariable v is denoted TYPE[v].

Definition 2. The untimed marking MU of a TCPNmodel is a function MU:P ! EXPR that maps eachplace p into a multi set of values of values MU(p)representing the untimed marking of place p andMU(p) 2 C(p). In this case, the expressions do notcontain any time information.

Definition 3. The timed marking of a TCPN is afunction MT:P ! EXPR such that MT(p) 2 C(p). Itmaps each place p into a multi set of values MT(p)representing the timed marking of place p. Theindividual elements of the multi set are called timedtokens and the expressions contain also the timeinformation (timestamps).

A token is ready if the correspondent timestamp isless than or equal to the current model time. If thetoken is not ready, it can not be used in the transitionenabling procedure.

Definition 4. The objective marking is a particularconfiguration of tokens in places disregarding the timeextension, i.e. a particular untimed marking MU.

136 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 4: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

Definition 5. The input place nodes of a transition arethe ones whose directed arcs end in the transition.

Definition 6. The output place nodes of a transition arethose in which the directed arcs of the transition end.

It is said that a transition is enabled if it is possibleto find a binding of the variables that appear in thesurrounding arc expressions of the transition such thatthe arc expression of each input arc evaluates to amulti-set of token colours that are present on thecorresponding input place and the correspondenttokens are ready.

Each time a transition is fired it will remove fromeach input place the multi-set of tokens to which thecorresponding input arc expression evaluates. Analo-gously, it will add to each output place the multi-set oftokens to which the corresponding output arc expres-sion evaluates and it will attach timestamps to thecreated tokens. Following these rules, systems’ evolu-tion is modelled with token consumption and creationtogether with the time elements when a transition isfired.

To illustrate these concepts let us consider thesimple manufacture model of Figure 1.

The model represents a manufacture system inwhich raw materials can be processed by two differentmanufacturing resources. This could be the case of aproduction system with two machines which are beingused by two different processes (left-hand side of thefigure). The system can be properly described bythe TCPN model illustrated at the right-hand side ofthe figure. Place P1 represents the raw materials to beprocessed; process #1 is modelled with transition T1

and T3, and place nodes P2, P3 and P6. Similarlyprocess #2 is modelled by transitions T2 and T4 andplace nodes P4, P5 and P7. The machine-availability ismodelled by the tokens present on places P3 and P5.Transition T1 and T2 model the activity of transport-ing and processing the raw materials to the correspon-dent machines and these activities consume 1 and 10time units, respectively. Transitions T3 and T4represent the moment of unloading the machines bythe dedicated robots of Figure 1; these activitiesconsume different time depending on the type of rawmaterial. If the raw material follows process #1 theunloading takes ‘y’ time units but if process #2 isfollowed it will consume ‘z’ time units. In the right-hand side of Figure 1, the TCPN model depicts theinitial state of the system (global clock ¼ 0) repre-sented by the underlined expressions which depictthe number of tokens present in each place node (thebrackets represent the timestamps associated to thetokens). In the initial state the transition T1 and T2are enabled since the tokens in place P1 togetherwith the ones from places P3 and P5 are ready andsatisfy the restrictions associated to transitions T1and T2.

The colours, multi-sets and the variables used bythe model of Figure 1 are described in Tables 1–3,respectively.

The colour ‘Type’ is used to differentiate the type ofraw material; the ‘PTime’ colour records the informa-tion of the time consumption by the unloading processwhen the machine has finished with the material. Forexample the colour combination in one token 1’(2,2,1)means that the material is of type 2, and if it followsprocess #1 the unloading process will take 2 time units

Figure 1. TCPN of a manufacture model.

International Journal of Computer Integrated Manufacturing 137

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 5: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

while if it follows process #2 the unloading process willtake 1 time unit.

Table 2 describes the multi-sets used in the differentplace nodes of the model and the type of colours usedby the variables in the arc expressions are described inTable 3.

The dynamic behaviour of the TCPN model isillustrated in Figure 2. The right-hand side of the figuredepicts the new state of the model once a firing hastaken place.

The right-hand side of Figure 2 models thesituation when one raw material has been used byprocess #1; in this case modelled by the token in place

P2: 10(2,2,1)@1. This state represents that the rawmaterial of type 2 has been used and the timestampvalue of the token in place P2 means that this tokenwill be ready again when the global clock reaches 1time unit.

1.2. The compact timed state space

The SS or reachability tree (RT) of a timed CPN modelis the set of all possible states or markings that can bereached from an initial one. Traditionally it has beenused to verify CPN properties such as reachability,boundedness, liveness among others (Jensen and Kris-tensen 2009). In the SS of timed models, each noderepresents a timed marking of the TCPN model. Eachnode is connected with its successor nodes throughdirected arcs.

The main characteristics of the RT are:

. The root node represents the initial marking ofthe system.

. The successor nodes represent new markingsonce the firings have taken effect.

. For each node in the tree there must be generatedas many successor nodes as enabling tokencombinations the marking has.

. The connecting arcs represent transition firingsand they also have the information about theelements (tokens and transitions) that generatedthe firing.

. Different paths of the SS represent a series ofdifferent evolutions of the system.

During the generation of the SS, the TCPN modelmust interact with the reachability graph each time anew node is evaluated in order to determine which thesuccessor states of the reached state are. This interac-tion is performed through the transition evaluationprocess of the evaluated node. Thus, the simulation

Table 1. Colour definition of the manufacture model.

Colour sets Definition Description

Type Type¼integer Describes the type ofentity processed

PTime PTime¼{1,2,3} Describes the time elapsedto unload the machine

Constant 1 Describes the availabilityof the resource

Table 2. Multi-sets of the manufacture model.

Place nodes Multisets Description

P1,P2,P4,P6,P7

Product (Type6PTime6Ptime)

Describes the informationof the processed entity

P3,P5 Constant Describes the availabilityof the resource

Table 3. The variable set.

Variables

x: Typey,z: PTIME

Figure 2. The dynamic behaviour of the TCPN model.

138 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 6: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

model interacts continuously with the reachabilitygraph during its construction.

With the use of the SS it is possible to evaluate thedifferent evolutions of a system; therefore the ideabehind the use of the SS is to optimise the system’sperformance transforming the simulation-based opti-misation approach into a search problem. Someauthors have developed simulation-based optimisationapproaches to optimise and verify system’s perfor-mance (Lee and DiCesare 1994, Wells 2002, Lalas et al.2006) but unfortunately, under this approach, systemconfiguration must be parameterised in such a way thatany reachable state could be generated by a propercombination of model parameters, which usuallyrequires a very complex logical model. This is usuallynot feasible in logistic systems, and the complexity isreduced only to a subset of the feasible configurationsdepending on the parameters they consider relevant forthe study.

On the other hand, with the use of the reachabilitygraph it is theoretically possible to explore all the statesof the model. However in a real scenario, in order toavoid the computational burden, the model can beoptimised by specifying a particular desired configura-tion and performing an exhaustive exploration withthe use of a fitness factor to focus on the best solutionthat can be found considering computational time andmemory restrictions. Although the idea sounds reason-able, in flexible systems with a considerable amount ofdecision variables, the models unfortunately sufferfrom the state explosion problem (Valmari 1998),which constraint the exploration to only a partialexploration of the possible configurations due tosaturation of computer resources during the generationof the SS. Due to its nature the SS analysis has thepotential to obtain the best solutions when it isproperly explored. This is the reason for developingdifferent search algorithms which alleviate as much aspossible the saturation of computer resources.

One way of storing the SS information of timedmodels without storing the complete SS is with the useof the so-called compact timed state space (CTSS)(Mujica et al. 2010). The following definitions arenecessary to describe the CTSS.

Definition 7. A state will be considered as an old node ifit is exactly the same (together with its time values) asone that had been previously generated in any otherlevel of the SS.

Definition 8. A dead marking is a state that does nothave any enabled transition.

Definition 9. A new state is a node that is neither a deadmarking nor an old node.

Definition 10. A feasible path is a sequence of nodesthat go from the root node or initial state to theobjective marking by firing enabled transitions. Eachfeasible path represents one system evolution from allthe possible configurations that end in the particularconfiguration.

In order to avoid the complete storage of the timedSS, the CTSS uses the symmetric old node conceptinstead of the old node.

Definition 11. Symmetric old node (S-old node)

The symmetric old node is the timed state (node inthe SS) whose underlying untimed state is the same asthe untimed state of one already generated state. Let uswrite this concept in a more formal way. Being W

T theset of timed markings of a SS. Let MT

i and MTk be

timed markings with their correspondent untimedmarkings mi and mk.

A marking MTi is an S-old node to another MT

k

marking when the following condition holds:

MTi ; M

Tk 2 W

T ^ mi ¼ mk

The use of the S-old node concept, contributes tomitigate the computer requirements (time and mem-ory) because it is possible to avoid the full evaluationof those timed states whose underlying untimedmarkings are the same (Mujica et al. 2010). This isthe case of stochastic timed systems where the untimedmarkings corresponds to a particular system’s config-uration but is reached at different times.

2. Computational efficiency: evaluation methods

In this section, the different elements are explained thatonemust efficiently implement in order to develop a com-puter tool that allows the use of the CTSS together withthe TCPN formalism for facing optimisation problems.

The four main tasks or procedures that must befocused in order to develop an algorithm that generates,evaluates and optimises TCPN models efficiently are:transition evaluation, management of marking informa-tion, detection of repeated states and analysis of the S-oldnodes. Since the last task is explained by Mujica et al.(2010) the first three elements of the algorithm arepresented in the following sections in order to describehow the implementation has to be done for an approachbased on the analysis of the CTSS.

2.1. Transition evaluation as a constraint satisfactionproblem

The transition evaluation procedure is the one thatfinds the tokens that enables a transition. This

International Journal of Computer Integrated Manufacturing 139

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 7: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

procedure takes into account all the restrictions thatparticipate in this procedure: cardinalities of the arcexpressions, variables in the arc expressions, constantvalues in the arc expressions, time restrictions, inputplaces in the transition and the different guards in thetransition. It must be noted that this procedure takesplace in each transition of the model so the moretokens in the model the more time it will take theprocedure to determine the enabled transitions in themodel. It is fair to mention that the search proceduresperformed by the procedure in order to find theenabling tokens has nothing to do with the searchprocedures that take place in the SS. All the performedsearches or procedures to find the enabling tokens areperformed locally that is they take place in eachtransition of the model.

Since these procedures are performed for eachtransition, various authors have mentioned this proce-dure as one key factor that determines the overallperformance of the simulation algorithms based on theCPN modelling formalism (Gaeta 1996, Mortensen2001).

CPN has rules that impose restrictions to thetransition, firing task (Jensen 1997a,b); these restric-tions must be satisfied in order to generate thesuccessor states. Different algorithms have been devel-oped for this objective (Gaeta 1996, Mortensen 2001,Jensen and Kristensen 2009); most of these algorithmsevaluate the expressions stated in the guards in apassive way, that is, the algorithm checks whether thechosen tokens satisfy the guard expressions after theyhave satisfied the restrictions imposed by the arcs. Thisway of evaluating the tokens is not efficient when thenumber of feasible token combinations is poor withrespect to the total amount of tokens in the inputplaces. By considering the arc and guard expressions asconstraints, it is possible to mitigate the evaluationcomputational burden, using some principles of con-straint programming to solve the restriction satisfac-tion problem.

The algorithm faces the problem of satisfying therestrictions associated to transitions as a constraintsatisfaction problem (CSP) (Tsang 1993) is presentedin this section and it consists of three main steps.

Step 1. The algorithm pre-processes the tokens inthe place nodes of the CPN model to avoid computa-tion of worthless token combinations that do notsatisfy the arc restrictions. It constructs a sub-set of theoriginal tokens in the input places satisfying theconstant values present in the arc inscriptions. In thisprocedure, the algorithm does not take into account thevariables present in the arc inscriptions, instead ituses them as wild cards allowing to select only thetokens that match the constant values of the arcinscriptions.

Step 2. When the pre-processing task has takenplace, it uses the restrictions in the guards in an activeway to solve the problem of finding the subset oftokens that satisfy the guard restrictions and enable thetransitions of the CPN model.

Step 3. When the restrictions have been satisfied(arc inscriptions and guard restrictions) and thecorrespondent tokens found, the last step is to firethe transition with all the possible combinations of thetokens in the solution subsets.

Another important aspect of the transition evalua-tion algorithm is how to obtain the token sets thatsatisfy the guard restrictions. It has already beenmentioned that the transition enabling procedure canbe stated as a CSP. It is important to remark that theCSP is solved after the pre-processing task has takenplace using only the sub-sets obtained from thatprocedure. In the example of Figure 3, the arcinscription 10(X,Y,4) will be used to exclude all thetokens that do not satisfy the constant value of thethird colour (step1).

The elements in the CPN model have correspon-dent elements in the CSP as follows:

Z: the variable set that corresponds to the arcinscription variables of the input arcs of the transition.

D: the functions that map the colour tokens in theinput places to variable values, in this particular casethis is done with the identity function.

C: the restriction set that must be satisfied by thevariables Z, this restriction set is given by the guardexpressions in the transition.

Figure 3 is used to illustrate how the CSP is definedfrom a transition evaluation problem.

The arc inscriptions 10(X,Y,4) and 10(R,W) use thevariables X,Y,R and W which will be used to define thevariable set Z in the CSP:

Z ¼ fX; Y; R; Wg

The identity function:

F : Z ! Z

p 7! pð1Þ

is used for mapping the variable values from thetoken colours of the input places obtaining thevariables domain of the correspondent variables, inwhich p corresponds to the token colours in theinput place.

X : f3; 4; 5; 6gY : f2; 3; 4; 6; 8gR : f2; 4; 5; 6; 7gW : f2; 3; 4; 6; 8g:

140 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 8: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

The restrictions that must be satisfied are obtaineddirectly from the guard expressions:

C : fY ¼ Xþ 1; W ¼ XþYg:

When the transition evaluation problem is stated as aCSP it is possible to apply CSP solution algorithms toobtain the solutions to the CSP which correspond to asolution or set of solutions of the transition evaluationproblem.

The solution of the CSP problem has cor-respondence with the tokens that enable thetransition.

Algorithm 1 presents in pseudo code the imple-mentation of the pre-processing of tokens and thesolution to the CSP problem (steps 1 and 2).

Algorithm 1: Generation of valid sets according totransition arc restrictions.

FOR all input places DO

MAKE_SET(MARKING, Arcs_AllVars)NEXT

N:¼1Fp:¼ final placeFOR PLACE. List DO

Token:¼PLACE.list(N)DO

Place:¼Placeþ1List_VarZ:¼ Find_VarZ ( transition,place)FOR all_Variable_set DO

IF Var.status¼not binded THEN bind_value(Token)

PROPAGATE_VALUE(Var.Restricion)

MAKE_SET(MARKING, Arc, Var)If Size(Set)¼0 then EXIT DO

NEXT

REPEAT UNTIL Place¼ FpN:¼Nþ1NEXT

The first loop makes the pre-processing of the tokensto satisfy the arc restrictions. It uses the functionMAKE_SET to construct subsets through filtering theinitial tokens that satisfy the constant values of thearc expressions; it uses the model marking and the arcvariables as arguments. The procedure carried out byMAKE_SET is illustrated by Figure 4.

The MAKE_SET function is used at the beginningof the algorithm to construct the initial sub set whichsatisfies the constant values of the arc inscriptions (i.e.tokens with value 4 in the third colour: 10(x,y,4)).

The nested loops are used to solve the CSP throughthe binding of variable values from the token coloursand the value propagation using the restriction set.

The inner loop uses the PROPAGATE_VALUE

procedure to bind the values of the arc expressions tothe colours of the correspondent token. The bindedvariable and the restriction expression are used asarguments to propagate the variable value to the other

Figure 3. The transition evaluation task.

International Journal of Computer Integrated Manufacturing 141

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 9: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

variables that are part of the restriction. When thevalue bindings take place, the initial subsets arereduced due to the restriction imposed by the valuepropagation in the correspondent place. If no subsetcan be obtained through value propagationSize(Set)¼0 then a backtrack is carried out to selectthe next token from the previous place node.

The external loop is used to carry out thisprocedure in all the input place nodes until all thesubset tokens have been evaluated. At the end of thealgorithm, the sets that satisfy both the arcs expres-sions and the restrictions are found.

Figure 5 illustrates the procedure carried out byAlgorithm 1.

The problem starts when no subsets have beendeveloped (Figure 5a). The first loop uses theMAKE_SET and it constructs the sets with thosetokens that match the constant values of the arcexpressions. As a result of the initial loop, thesubsets that satisfy the arc expressions are obtained(Figure 5b). The nested loops solve the CSP usingthe initial subset as a starting point, and itprogressively generates smaller subsets through valuepropagation and backtracking to obtain the finalsubsets that satisfy all the restrictions (Figure 5c), asit was explained before.

Once the tokens that enable the transitionhave been found, the final step is to fire thetransition using all the possible token combinationsto produce the successor nodes. With the use ofthis approach it is possible to reduce by 90% thenumber of operations needed to solve the transitionevaluation problem as it will be shown later in thearticle.

2.2. State space data structure

As mentioned before, when dealing with SSanalysis, an important computational problem isthe state explosion problem (Valmari 1998). There-fore, it is necessary to develop approaches and datastructures that alleviate as much as possible theamount of space used when storing all the markingsof the RT.

Due to the locality principle (Mortensen 2001)every time a transition is fired, the markinginformation only changes in the input and outputplaces to the fired transition. Due to this character-istic there are only small differences in the markinginformation before and after the firing, so theunchanged information (i.e. places not altered bythe fired transition) is stored several times during asimulation producing a memory burden. This in-formation redundancy can be taken into account todevelop data structures that reduce the memoryburden so that it is possible to store higher amountsof states.

In the following sub sections, a way of storing themarkings by decomposing the marking data into twolayers of information is presented so that it is notnecessary to store all the marking information eachtime a new one is generated during the CPNsimulation.

2.3. Place node information layer

The colour layer (C_Layer) of information is used forgrouping the information related to the markings ofeach place node. The grouping uses two data blocks inwhich one data block groups the colour combinationthat appears in a place and the other stores the numberof appearances (cardinalities) of the tokens with thesame colour combination in the first block. In thislayer the information of appeared cardinalities of aparticular colour are related with the colour block.Therefore, different appearances of markings for aparticular place are stored with the pairs 5cardinal-ities, colour4.

Figure 6 illustrates the structural relationship whenthe marking evolves in a typical SS.

When modelling industrial systems, it is typical tomodel resources such as raw materials, availablemachines, workers, etc. which could be natural torepresent with coloured tokens in which the colourwould be used to differentiate the kinds of resources.In those cases this approach is very useful tosave memory during the generation and storing ofthe SS.

Figure 4. Generation of the initial set.

142 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 10: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

2.4. Marking information layer

The second level of information, the relationship layer(R_Layer), stores the relationship between the positionof the place nodes in the C_Layer and the cardinalities

used in the marking. The R_Layer uses a datastructure to specify the relationship between cardinal-ities and colours used in a place node and another datastructure is used to specify the marking through the

Figure 5. Generation of subsets through value propagation.

International Journal of Computer Integrated Manufacturing 143

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 11: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

relationship between places. Figure 7 illustrates therelationship between the two layers and the kind ofinformation stored at the R_Layer.

Using this relationship, any marking that appearsin the model can be represented with the tuple5cardinalities used, relation chain4. In addition tothe relation chain, the R_Layer stores also informationabout the SS structure like parent–children relation-ship, old nodes, children of a node and time attributes.

2.5. Management of the S-old nodes

The detection of new or repeated states is anotherimportant factor when the search-based optimisationapproach is implemented. Since the amount ofmemory resources is finite, it is essential not toduplicate information. Hence, it is very important toidentify whether a state has already appeared or not inthe SS.

Because there is a strong relationship between theC_Layer and the R_Layer, it is necessary to establishan internal search algorithm to detect new or repeated

states that takes into account these two layers giving anefficient performance when dealing with great amountsof information.

The internal search algorithms implemented in thedifferent blocks of information are based on binarysearch. It is known that, although it is an oldalgorithm, binary search presents certain advantages(Gonnet 1984) that are appropriate for the objectivespursued within this work:

. Computational complexity O(log2(N))

. It maintains a logarithmic order if it is used onlyto compare values

. It is efficient to search data ranges or data values

. It is a stable algorithm, i.e. the search time rangekeeps close to the average search time, and thevariance of search times is O(1).

2.6. The new-state detection

Using the two layers of information for the search ofrepeated states, it is possible to save some CPU time

Figure 7. Relationship between the two layers.

Figure 6. Storing place marking information using two blocks of data.

144 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 12: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

when determining whether a state is a new one or not.Each time a transition is fired, the marking producedin a place is searched (using the binary search) at theC_Layer to check if the place marking has alreadyappeared. If a place marking at the C_Layer is a newmarking then the marking of the whole TCPN modelis a new one.

When one new place marking has been found at theC_Layer it is not necessary to search any further at theR_Layer and the relationship between places is directlystored at the R_Layer.

Algorithm 2 presents in pseudo code the searchalgorithm used for detecting new states each time atransition is fired.

Algorithm 2: Detection of new states

MARKING.STATUS :¼ NEWX:¼0

REPEAT

X¼Xþ1Place¼Output_Place (X)Colour¼Fire_transition(MARKING,Place)In_ Place_List¼FIND_COL (Colour, Place)IF In_Place_List¼ TRUE THEN

MARKING.STATUS¼UNKNOWNEND IF

UNTIL Place¼Final_OUTPUT PLACEIF MARKING.STATUS¼NEW THEN

ADD_MARKING ( MARKING)ELSE

In_Marking¼FIND _MARK(MARKING)IF IN_Marking¼TRUE THEN

Add_List_SOLDNODES (MARKING)ELSE

Add_RT_LIST(MARKING)END IF

END IF

The algorithm consists of one loop which evaluatesthe changes in the place nodes at the C_Layer once thefiring takes place. It checks whether the place markingalready exists in the stored list.

The FIND_COL procedure makes the binarysearch at the place list in the C_Layer indicated bythe argument Place. If the procedure determines thatthe colour combination is a new one then it is stored inthe list of the corresponding place at the C_Layer, andthe Boolean variable In_Place_List takes valueFALSE. On the contrary if the colours combinationis a repeated one, it is not stored in the correspondingplace and the Boolean variable In_Place_List takes thevalue FALSE and the MARKING.STATUS takes thevalue UNKNOWN.

The FIND_MARK procedure uses the binarysearch at the R_Layer to search for the marking

when the marking status is UNKNOWN. In such acase the search is done to check whether the marking isa new marking or a repeated one. If the marking statusis NEW then the marking is directly added to themarking list at the R_Layer with the procedureAdd_RT-LIST but if the search determines a repeatedS-old node (repeated marking in the CTSS) then itstime elements are added to the S-old node list using theprocedure Add_RT_LIST.

3. Computational performance

The algorithms presented in the previous sections wereimplemented for a SS analysis and optimisationapproach which analyses the CTSS in two phases.The first phase generates the CTSS and the secondphase analyses the repeated S-old nodes to optimise thefeasible path that goes from the initial state to aparticular one.

3.1. Exploring the CTSS for scheduling objectives

In Narciso et al. (2009) the approach is addressed thatuses the CPN SS as a search space for finding feasiblepaths starting from an initial state and ending at aparticular one through exhaustive search. A variationof this approach is presented in Mujica et al. (2010)using the CTSS for optimising the makespan ofmanufacture models in two stages. In the first step ofthe approach, it generates the CTSS and it stores the S-old nodes that appear during the generation phase in aseparated list for later analysis. In the first step, aDepth First Search algorithm is used for the generationof the different nodes in the tree and it generates also afeasible path that goes from the initial state to theobjective one. Figure 8 illustrates this optimisationapproach. Starting from an initial state, the differentnodes of the tree are generated. The shaded nodes inthe figure represent the S-old nodes found during thegeneration phase. The dot-line represents the feasiblepath found during the first phase of the algorithm.

In the second step, the S-old nodes are analysed byfocusing on the timestamp values of the repeated S-oldnodes to progressively optimise the feasible path. InMujica et al. (2010), the procedure to analyse the timevalues to determine which branch of the tree producesbetter time values when an S-old node is found isdetailed. Figure 9 shows the flow diagram of theoptimisation algorithm.

The use of the S-old nodes allows minimising of thestate explosion problem, since it is possible to avoidthe storing of the sub trees in the SS that hang from therepeated S-old nodes. Instead, it stores only one sub-treewith the time values of the S-old node that appeared firstin the generation step. The advantage of analysing the

International Journal of Computer Integrated Manufacturing 145

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 13: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

SS in two steps is that it allows to implement heuristicsin both phases that focus on the best way of performingthe correspondent phase, i.e. if the first phase is takingplace, the heuristic must select the best child nodes thatpotentially improve the second step, and the second stepcan be improved by implementing intelligent analysismethods to select the best repeated S-old nodes to beanalysed. Other approaches based on TCPN have beendeveloped (Storrle 1998) but they have been implemen-ted to simulate and verify model properties thatdetermine the behaviour of the model. The use of theapproach presented here allows property verification inthe first step, and the second step is used only foroptimisation purposes.

3.2. State space data information storage

An academic example of a manufacture process wheresome resources are shared has been coded in order toevaluate the amount of memory spent in SS storingand the benefits obtained with the implementation ofthe CTSS. Figure 10 presents the TCPN modeldeveloped for this purpose.

Place node P1 models the raw materials or entitiesto be processed. Transition T1 represents the startingof a process which uses a processing machinemodelled by the available token in place P3. Oncethe process has started, a token is generated to placeP2 and one token is extracted from place P1 andanother one from place P3. The firing of transition T3

models the end of the manufacture process and itgenerates a token to place P3 (modelling the machineavailability) and another token to place P6 whichmodels the processed material. A similar process ismodelled with transitions T2 and T4 and places P4,P5 and P7, but they only differ in the timeconsumption to process the materials.

Several SSs were generated for the same manufac-ture model, varying only the amount of initial productsto be processed. The SS information was stored in aspreadsheet in order to evaluate the amount ofmemory reduction achieved with the proposed im-plementation. Table 4 summarises the information ofthe evaluated models, and the correspondent SSinformation.

With the use of CTSS the amount of generatedstates is considerably less than the one with a typicalTSS. The use of the compact representation of thetimed SS presents a great advantage with systemswhich present big SS, in which the S-old nodes allowavoidance of the storing of sub trees that increase thememory usage. Figure 11 shows a comparison of thememory usage between a typical SS and a CTSS whenthe SS grows for the same model, the figure has beenplotted in a semi-log scale in order to appreciate thelinear growth (exponential in a normal scale) of bothapproaches.

Figure 8. A feasible path when exploring the SS.Figure 9. Flow chart of the generation/optimisationalgorithm.

146 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 14: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

It can be appreciated that due to the combinatorialexplosion, the size of the SS grows exponentially withthe increase of entities to be processed which is also

reflected in the memory needed to store the completeSS. With the use of the CTSS the slope in the graph issmaller than one of the typical timed SS thus theexponential growth using the CTSS is considerablydelayed and it allows evaluation of bigger SSs than theones that could be evaluated using a typical SS.

3.3. Computational efficiency of transition evaluation

The natural way of evaluating the tokens that enablethe transition is to develop all the possible combina-tions of the input place nodes and then test if aparticular one satisfies or not the restrictions imposedby the guards. Based on that assumption, the quantityof operations performed for testing the token combi-nations can be calculated using the following formula

Yr

i¼1Pij ð2Þ

where Pij is the number of tokens in the input place ifor the transition j, with r input place nodes. The base

Figure 10. Manufacture model.

Table 4. Storage comparison between the CTSS and a typical TSS.

No.products

Initialtokens(P1)

Estimatednumber ofnodes inthe TSS

Kbytesused (kb)

Actualnumber ofnodes inthe CTSS

Kbytesused (kb)

Reductionobtained (%)

8 40(2)þ40(3) 1820 253 1205 244 3.510 50(2)þ50(3) 6660 931 2571 5194 44.2514 70(2)þ70(3) 130700 16,550 8408 17084 89.6720 100(2)þ100(3) 1,40,0000 177300 30866 6444-kb 96.36

Figure 11. Memory usage for the CPN manufacture model.

International Journal of Computer Integrated Manufacturing 147

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 15: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

of formula (2) is straightforward because all thepossible token combinations must be tested one-by-one to check their validity. The formula just calculatesthe permutations of the tokens present in the inputplace nodes.

For the case of the CSP algorithm for the transitionevaluation task, the number of operations performedto obtain the tokens combination that enable thetransition can be calculated with the following formula

Xr

i¼1Tij þ

Yr

i¼1Sij ð3Þ

where Tij is the total number of tokens present in theinput place i for the transition j. The first term offormula (3) evaluates all the tokens one-by-one in theinput place nodes to determine those that do notviolate the initial arc restrictions (pre-processing taskof the input place nodes). After the pre-processing taskhas taken place, the obtained subset of tokens S arethose that satisfy the constant values of the arcinscriptions and the second term of formula (3)calculates the permutations of those subsets to findthe final token combinations that enable the transition.From formula (3) it is easy to evaluate that the pre-processing task reduces considerably the originalnumber of permutations necessary to determine thevalidity of the tokens present in the input place nodes.

In order to exemplify the calculations for bothapproaches, let us assume that there is a transition(j ¼ 1), that has three input places (r ¼ 3) with 50tokens in each one (Figure 12).

In the case that the calculations were done using thenatural approach (testing all the possible token combi-nations) the number of operations that would result is:

Qr

i¼1Pij ¼ 50� 50� 50 ¼ 125; 000 operations:

With the use of the developed algorithm and assumingthat the pre-processing task produces sub-sets of 20tokens each:Pr

i¼1 Tij ¼ 50 þ 50 þ 50 ¼ 150_ operations theones needed to obtain the initial sub-sets.Qr

i¼1 Sij ¼ 20� 20� 20 ¼ 8000; the operationsmade by the CS algorithm in the worst case.

Based on those values, the reduction obtained inthis particular example can be computed as:

Reduction¼ (125,000–8150)/125,000)6 100¼93%.

3.4. Generation and detection of states and overallefficiency

Since the state generation task depends also on theavailability to detect the repeated or new nodes, theefficiency performance of these two activities has beenverified through the evaluation of a very well-knownbenchmark problems, the 363, 565 and 666 job-shops.

3.4.1. Job-shop

The job-shops in its different modalities (Dauzere-Peres and Laserre 1994) are a group of benchmarkproblems which consist in a certain number of jobsthat must follow a specified sequence of tasks throughdifferent machines. Due to its nature the scientificcommunity for several years has paid a lot ofattention to solving these types of problems, whichare considered the toughest to be solved (Dauzere-Peres and Laserre 1994, Lee and DiCesare 1994,Yogeswaran et al. 2009, Chan et al. 2010, Renna2010). The PN modelling formalism possesses the

Figure 12. Transition evaluation example.

Figure 13. The timed CPN model of the 3 6 3 job-shop.

Table 5. Colour definition of the job-shop 363.

Colour Definition Description

W Int 1.3 Machine needed forthe next job

X Int 11.33 Job and task in progressE Int 11.33 Job and task identifierP Integer Spent time by each jobZ Int1.3 Available machines

148 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 16: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

necessary characteristics to model the complexity ofthese problems; therefore it has been widely used as amodelling formalism to cope with the allocationproblem of these types of systems (Van der Aalst1995, Adballah et al. 1998, Kumar et al. 2004). In the363 job-shop three jobs must go through processesin three different machines. The goal of the study is toobtain the sequence that minimises the makespan ofthe whole procedure using the optimisation approachintroduced in section 3.1.

The job-shops were modelled using the timed CPNformalism, the SS was generated implementing thealgorithms presented in the previous sections and thedifferent paths were automatically evaluated andanalysed to find the one that optimised the makespan.

An example of a model developed for a job-shop ispresented in Figure 13 which consists of one transitionwith three places.

The colours used in this model are presented inTable 5 with the correspondent description of thecolour meaning.

Table 6 presents the multi-sets used in each place inthe CPN model; there is also a description of the kindof information that is modelled within those places.

The P1 place stores the tokens which represent theinformation of job and task numbers through acomposite colour X where the first digit represents

the job and the second digit the task number; as anexample let us say that X has the value 13, it representsthat the job 1 is performing task 3. Colour W is used tospecify the machine needed to complete the correspon-dent task, so if W has the value 1 it represents that themachine needed for the next task is machine number 1.

The P2 place stores tokens which have colours usedby the model to generate the output tokens that modelthe evolution of job and tasks of the job-shop. Thisevolution is modelled with the information stored inthe colours of the tokens stored in place P2, togetherwith the restrictions imposed by the guards. The firstcolour in place P2 (E) states the job and task needed(modelled in place P1) to generate the next token whenthe transition takes place. The output token will begenerated using also the information of colour W oftokens in place P2. Once the fires take place the taskidentifier in the output token in place P1 will beincremented by 1 to model the new task and themachine needed for the next task will be modelled

Table 6. Colour sets definition.

Place Multisets Description

P1 Product X6W The tokens in this place holdthe information of whichtask is being processed atthe moment and whichmachine is neededafterwards

P2 Product E6W6P The tokens of this place holdthe relationship betweentasks and the time neededto complete each task

P3 Z The tokens in this placerepresent the availabilityof machines for thedifferent tasks.

Table 8. Search efficiency between sequential and binary search.

Job shoptype

Type ofimplemented

searchDifferentnodes

S-old nodesfound

Performedsearches

Time consumedby the algorithm

363 Sequential search 693 680 10,204 5 min363 Binary search 693 680 10,204 12 s565 Sequential search 7,776 7,750 121,825 35 min565 Binary search 7,776 7,750 121,825 7.5 min666 Sequential search 117,650 117.612 2,302,000 5.5 h666 Binary search 117.650 117.612 2,302,000 1.5 h

Table 7. Initial marking of the 363 job-shop.

Jobshop363

Place node

P1 P2 P3

InitialMarking

10(10,0)@0þ10(20,0)@0þ10(30,0)@0

1 0(10,1,7) @0þ10(10,2,8) @0

10(1) @0þ10(2) @0þ10(3) @0þ10(11,2,4) @0

þ10(12,1,7) @0þ10(12,3,4) @0þ10(20,1,6) @0þ10(20,2,5) @0þ10(21,2,4) @0þ10(21,3,2) @0þ10(22,1,6) @0þ10(23,1,3) @0þ10(23,2,2) @0þ10(30,1,8) @0þ10(30,3,5) @0þ10(31,2,2) @0þ10(32,2,6) @0þ10(32,3,4) @0þ10(33,1,4) @0þ10(33,2,2) @0þ10(34,1,2) @0þ10(34,3,3) @0

International Journal of Computer Integrated Manufacturing 149

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 17: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

using colour W, e.g. 10(Xþ1,W). The P colour of placeP2 will be used by the transition to calculate thetimestamp of the output token once the firing takesplace (@P).

The tokens in place P3 model the availability of thedifferent machines through the use of colour Z.

The initial marking is presented in Table 7. Itmodels the situation when all jobs are waiting for thefirst task to start. For example, the token 10(10,0)@0 inP1 represents job 1 in task 0 using no machine at time0; the machine-availability at 0 time is modelled withthe correspondent inscriptions ‘@0’ in place P3.

The two other job-shops can be developed in astraightforward way using the example presented here.

3.4.2. Search efficiency test

In order to evaluate the efficiency of the searchalgorithm, the two-phase algorithm was implementedusing two different search algorithms. In the first case a

pure sequential search was coded to analyse the storednodes and detect if a node was an S-old node or if itwas a new one. In the second case the binary searchwas implemented in the algorithm to make the sameanalysis. The benchmark problems were run with thetwo search algorithms and the results are those that arepresented in Table 8.

The column S-old nodes found refers to the S-oldnodes that must be analysed by the second phase of thealgorithm in order to decide which sub-tree producesbetter time values. The performed searches columnrefers to the total number of searches performed by thealgorithm to generate and evaluate the S-old nodes.The time consumption column refers to the total timethat takes the algorithm to give a proper solution. It isclear the improvement was obtained with the proposedimplementations in the search algorithm, since in mostof the cases the obtained reduction averages 80%.

3.4.3. Overall performance evaluation

The evaluation of the algorithm consisted of compar-ing the time spent by the algorithm to generate andanalyse the SS and compare the obtained results withan available tool that performs the same type ofanalysis. For this purpose, two models were coded (J-S 363 and J-S 666) and the results were comparedagainst the CPN Tools software (www.daimi.au.dk/*cpntools/). The obtained results are presented inTable 9. This test gives insight about the efficiency ofthe transition-evaluation algorithm together with theimplemented search techniques and analysisapproach.

Table 9. Performance comparison of the RT algorithm.

Evaluation typeNodesexplored

Time spentfor exploration

RT algorithm(job shop 363)

1,232 5 s

CPN tools(job-shop 363)

1,232 3 s

RT algorithm(job-shop 666)

117,680 1.5 h

CPN tools(job shop 666)

117,680 3 h

Figure 14. Gantt diagram of the optimal scheduling for the 3 6 3 job-shop.

150 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 18: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

It can be appreciated from the table that with smallSSs, the algorithm does not perform as efficiently aswith CPN Tools, but with a greater number of nodes,the performance is considerably better. The reason of

this result might lie in the fact that CPN Tools performan exhaustive search while the two-step approachavoids the exhaustive search through the analysis ofthe S-old nodes.

Figure 15. Gantt diagram of the optimal scheduling for the 5 6 5 job-shop.

Figure 16. Gantt diagram of the optimal scheduling for the 6 6 6 job-shop.

International Journal of Computer Integrated Manufacturing 151

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 19: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

The feasible paths that can be obtained with theproposed approach can be easily drawn in a Ganttgraph to visually evaluate the proposed scheduledfor these different problems. In Figures 14–16 theschedulings obtained are presented as Gantt’scharts. These schedulings correspond to the onespresented in literature as the optimised ones (Fanget al. 1993).

4. Conclusions

In this article, the most important elements toimplement a simulator/optimiser based on the explora-tion and analysis of the CPN’s compact timed SS havebeen presented.

The implementations presented focus on how tomake smart data storage, a transition evaluationtechnique based on constraint programming for CPNmodels and an efficient approach to detect the new orrepeated markings which together with the timeanalysis algorithm (Mujica et al. 2010) are the mainelements for developing an efficient simulator/optimi-ser based on the exploration of the state space of timedCPN models.

The proposed algorithms were implemented andseveral tests were performed in order to illustrate theperformance improvement when analysing TCPNmodels. The tests performed in section 3.2 clearlyshow that managing the information in a compactway allows storage of a bigger SS than the one thatcould be stored using a classical approach (storingall the timed markings). Section 3.4 shows theimprovements in results obtained for a typicalacademic problem such as the job-shop problems.In this section, the job-shop problems have beensolved with the proposed algorithm and the resultsobtained were compared to available CPNsoftware (CPN tools). The results clearly show theadvantages of the proposed algorithms over theavailable tools when dealing with models thatpresent big SSs.

The obtained results show that the approach iswell suited for the goal of the state explorationunder time constraints. The search techniquesimplemented provide challenging computationalbenchmarking results when applied to industrialscheduling problems with a considerable amount ofstates to be evaluated.

The evaluation algorithm can be further improvedif some heuristics are implemented for solvingproblems under particular objectives (logistic, manu-facture, etc.). Therefore, this approach is proposed asadequate for dealing with industrial optimisationproblems, which can be also used as the base foroptimisation tools.

Acknowledgements

The authors would like to thank the Spanish Ministry ofEducation for the project CyCIT (TRA2008-05266/TAIR)and the AGAUR agency for the project AGAUR (2009 SGR629) for supporting this research.

References

Adballah, I.B., ElMaraghy, H., and ElMekkawy, T., 1998.An efficient search algorithm for deadlock free schedul-ing in FMS using Petri nets. IEEE InternationalConference on Robotics Automation, 2, 1793–1798.

Chan, F.T.S., et al., 2010. Operation allocation in automatedmanufacturing system using GA-based approach withmultifidelity models. Robotics and Computer-IntegratedManufacturing, 26 (5), 526–534.

CPN Tools, Daimi, Aarhus University, Available from:http://cpntools.org/ [Accessed 21 December 2010].

Dashora, Y., et al., 2007. Deadlock-free scheduling of anautomated manufacturing system using an enhancedcoloured time resource Petri-net model-based evolution-ary endosymbiotic learning automata approach. Interna-tional Journal of Flexible Manufacturing Systems, 19 (4),486–515.

Dauzere-Peres, S. and Lasserre, J.B., 1994. An integratedapproach in production planning and scheduling. Lecturenotes in economic and mathematical systems, vol. 411.Berlin: Springer-Verlag.

Fang,H.L.,Ross, P., andCorne,D., 1993.Apromising geneticalgorithm approach to job-shop scheduling, rescheduling,and open-shop scheduling problems. In: Proceedings of thefifth international conference on genetic algorithms. SanMateo, CA: Morgan Kauffman, 375–382.

Gaeta, R., 1996. Efficient discrete-event simulation ofcoloured Petri nets. Transactions on software Engineering,22 (9), 629–639.

Gonnet, G.H., 1984. Handbook of algorithms and datastructures. London: Addison-Wesley.

Gradisar, D. and Musi�c, G., 2007. Production-processmodelling based on production-management data: aPetri-net approach. International Journal of ComputerIntegrated Manufacturing, 20 (8), 794–810.

Jensen, K., 1997a.Coloured Petri nets: basic concepts, analysismethods and practical use. Vol. 1. Berlin: Springer-Verlag.

Jensen, K., 1997b.Coloured Petri nets: basic concepts, analysismethods and practical use. Vol. 2. Berlin: Springer-Verlag.

Jensen, K. and Kristensen, L.M., 2009. Coloured Petri nets:modeling and validation of concurrent systems. Berlin:Springer-Verlag.

Kumar, R.R., Singh, A., and Tiwari, M.K., 2004. A fuzzybased algorithm to solve the machine-loading problem ofa FMS and its neuro fuzzy petri net model. TheInternational Journal of Advanced Manufacturing Tech-nology, 23 (5), 318–341.

Lalas, C., et al., 2006. A simulation-based hybrid backwardsscheduling framework for manufacturing systems. Inter-national Journal of Computer Integrated Manufacturing,19 (8), 762–774.

Lee, D.Y. and DiCesare, F., 1994. Scheduling flexiblemanufacturing systemsusingPetri nets andheuristic search.Transactions of Robotics and Automation, 10 (2), 123–132.

Liu, C.M. and Wu, F.C., 1993. Using Petri nets to solve FMSproblems. International Journal of Computer IntegratedManufacturing, 6 (3), 175–185.

152 M.M. Mota and M.A. Piera

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011

Page 20: International Journal of Computer Integrated Manufacturing A … · 2014. 11. 15. · Edif. Q, 08193, Bellaterra, Barcelona, Spain (Received 15 November 2009; final version received

Mortensen, K.H., 2001. Efficient data structures and algo-rithms for a coloured Petri nets simulator. In: Proceed-ings of CPN workshop. Aarhus, Denmark: University ofAarhus, 57–74.

Mujica, M., Piera, M.A., and Narciso, M., 2010. Revisitingstate space exploration of timed coloured petri net modelsto optimize manufacturing system’s performance. Simula-tion Modelling Practice and Theory, 18 (9), 1225–1241.

Narciso,M., Piera,M.A., andGuasch, A., 2009. AMethodol-ogy for solving logistic optimization problems throughsimulation. Simulation: Transactions of the Society forModeling and Simulation International, 86 (5–6), 369–389.

Renna, P., 2010. Job shop scheduling by pheromone approachin a dynamic environment. International Journal ofComputer Integrated Manufacturing, 23 (5), 412–424.

Reyes, A., et al., 2002. Integrating Petri Nets and hybridheuristic search for the scheduling of FMS. Computers inIndustry, 47 (1), 123–138.

Storrle, H., 1998. An evaluation of high-end tools for Petrinets. Munich: LMU.

Tchako, J.F.N., et al., 1994. Modelling with coloured Petrinets and simulation of a dynamic and distributedmanagement system for a manufacturing cell. Interna-tional Journal of Computer Integrated Manufacturing, 7(6), 323–339.

Tsang, E., 1993. Foundations of constraint satisfaction.London: Academic Press.

Valmari, A., 1998. The state explosion problem. LectureNotes in Computer Science. Vol. 1491. London: Springer-Verlag, 429–528.

Van der Aalst, W.M.P., 1995. Petri net based scheduling.Computing Science Reports, 95/23. Eindhoven Univer-sity of Technology. Available from: www.win.tue.nl/win/cs [Accessed 27 December 2010].

Wells, L., 2002. Performance analysis using coloured Petrinets. In: Proceedings of the 10th IEEE internationalsymposium on modeling, analysis, and simulation ofcomputer and telecommunications systems (MASCOTS002). Fort Worth, Texas, New York: IEEE, 0217.

Yogeswaran, M., Ponnambalam, S.G., and Tiwari, M.K.,2009. An efficient hybrid evolutionary heuristic usinggenetic algorithm and simulated annealing algorithmto solve machine loading problem in FMS. Interna-tional Journal of Production Research, 47 (19), 5421–5448.

Yu, H., et al., 2003. Combined Petri net modelling and AIbased heuristic hybrid search for flexible manufacturingsystems – Part 1. Petri net modelling and heuristicsearch. Computers and Industrial Engineering, 44 (4),527–543.

International Journal of Computer Integrated Manufacturing 153

Downloaded By: [Consorci de Biblioteques Universitaries de Catalunya] At: 01:03 20 January 2011