**4. Modeling and optimizing production systems**

As it has been mentioned in Section 1, modeling, simulation and controlling the production process in automated, robotized, discrete production systems is the main area of using the Petri network technique in production. The systems are typical examples of asynchronous concurrent systems. The problem of management of limited resources, classifying tasks and autodiagnosis in such systems is a very complex issue and requires optimizing procedures both at the stage of design and during use. Building a model of a designed production systems allows to avoid a range of conceptual errors and facilitate modifications of a project. Simulation techniques implemented on abstract models allow to optimize the operation of a system, define its potential efficiency, identify any bottlenecks and define the actual utilization rate on production resource. Simulation of models developed in the Petri network technique allows to generate a network availability graph and, consequently, at the stage of using the system, to avoid downtime, diagnose the system and facilitate making correct decisions.

The following organized eight items are the appropriate class of Petri networks for the aforementioned tasks:

$$\text{PN}\_2 = \{P, T, E, W, I, S, R, M\_0\} \tag{4}$$

margin, so the manufacturer places more emphasis on improving production quality. It can be indirectly completed by attaching higher priority to transitions serving the mea-

The following example presents a production system model (**Figure 3**) with two lathes CNC

porter (IN) and an output transporter (OUT), a measurement station (MS) and an intra-operation buffer. It has been designed for the purpose of processing rear axle guide pins—right (*B*)

**Figure 4** presents Petri network for a robotized production system of processing rear axle guide pins. Marking the network corresponds to the production launch status. Only one

(p30) = 4 should be set to ensure correct course of simulation. Arc multiplicity function has

, *B* pin at L<sup>2</sup>

) is possible in this status. The green spot means that it has at least one marker.

), two industrial robots (R1

and M2

. L<sup>1</sup>

only processes one.

Petri Networks in the Planning of Discrete Manufacturing Processes

http://dx.doi.org/10.5772/intechopen.75135

45

and L<sup>2</sup>

, R2

), an input trans-

lathes are identical,

, M2

and M1

processed four pins at the same time and M2

surement station.

**Figure 2.** The best chromosome.

), two drill-tap machining centers (M1

and left (*A*). *A* pin is processed at L<sup>1</sup>

**Figure 3.** Robotized production system scheme.

(L1 , L<sup>2</sup>

M0

whereas M1

transition (t1

where *P*, *T*, *E*, *I*, *S*, *R*, *M*<sup>0</sup> components meet the *PN*<sup>1</sup> , whereas *W* component is a function of multiplicity the arcs:

*W*:(*E* ∪ *I*) → *N*; *N*:set of natural numbers.

In this case, the conditions of preparing transition t for firing have the following form:

In this case, the conditions of preparing transition \textit{t} for firing have the following form: 
$$\begin{cases} M(p) > = \mathsf{W}(p, t), \forall p \in \mathsf{t} \\ M(p) < \mathsf{W}(p, t), \mathsf{V}(p, t) \in \mathsf{I} \end{cases} \tag{5}$$

It is essential to remember that multiplicity of flow through the arc is assigned to both ordinary arcs assigned to E flow relation and to inhibitor arcs. Assigning multiplicity to inhibitor arcs—which is not a frequent case—allows for giving up another element: function of locations capacity. Inhibitor arcs might be used for controlling flow of markers, for instance, to avoid overflow of intra-operation buffers. Appropriate software of this class of Petri networks is an intuitive, flexible tool of modeling and simulation for an engineer. A lack of opportunity to generate random events, allowed by stochastic Petri networks is a certain limitation of the aforementioned Petri network class [18].

Software processing PN2 class might be easily supplemented with a function optimizing the production system. The following example uses the genetic algorithm to find optimum priorities for individual transitions. The chromosome of each solution includes just as many genes as is found in the sum of transitions (**Figure 2**). Each of the genes is represented as a number between [0, 1], which corresponds to the priority value for the appropriate transition. The reproduction process for a new descendant includes random appropriate gene of their parents or, with certain low probability, the value of the gene is drawn from the range [0, 1], which corresponds to the mutation process. Details of the suggested algorithm have been put forward in the works [28, 29]. **Figure 2** shows an example of optimum chromosome for the production system presented in the further part.

The number of produced parts, the total number of order completion or, for example, the number of measured parts might be used as an optimization criterion. The last example refers to a situation, in which production efficiency is satisfying, there is a production

**Figure 2.** The best chromosome.

the stage of design and during use. Building a model of a designed production systems allows to avoid a range of conceptual errors and facilitate modifications of a project. Simulation techniques implemented on abstract models allow to optimize the operation of a system, define its potential efficiency, identify any bottlenecks and define the actual utilization rate on production resource. Simulation of models developed in the Petri network technique allows to generate a network availability graph and, consequently, at the stage of using the system, to avoid

The following organized eight items are the appropriate class of Petri networks for the afore-

*PN*<sup>2</sup> = (*P*, *T*, *E*, *W*, *I*, *S*, *R*, *M*0), (4)

, whereas *W* component is a function of

*<sup>t</sup> <sup>M</sup>*(*p*) <sup>&</sup>lt; *<sup>W</sup>*(*p*, *<sup>t</sup>*), <sup>∀</sup>(p, t) <sup>∈</sup> <sup>I</sup> (5)

class might be easily supplemented with a function optimizing the

downtime, diagnose the system and facilitate making correct decisions.

components meet the *PN*<sup>1</sup>

In this case, the conditions of preparing transition t for firing have the following form:

*M*(*p*) > = *W*(*p*, *t*), ∀*p* ∈ .

It is essential to remember that multiplicity of flow through the arc is assigned to both ordinary arcs assigned to E flow relation and to inhibitor arcs. Assigning multiplicity to inhibitor arcs—which is not a frequent case—allows for giving up another element: function of locations capacity. Inhibitor arcs might be used for controlling flow of markers, for instance, to avoid overflow of intra-operation buffers. Appropriate software of this class of Petri networks is an intuitive, flexible tool of modeling and simulation for an engineer. A lack of opportunity to generate random events, allowed by stochastic Petri networks is a certain limitation of the

production system. The following example uses the genetic algorithm to find optimum priorities for individual transitions. The chromosome of each solution includes just as many genes as is found in the sum of transitions (**Figure 2**). Each of the genes is represented as a number between [0, 1], which corresponds to the priority value for the appropriate transition. The reproduction process for a new descendant includes random appropriate gene of their parents or, with certain low probability, the value of the gene is drawn from the range [0, 1], which corresponds to the mutation process. Details of the suggested algorithm have been put forward in the works [28, 29]. **Figure 2** shows an example of optimum chromosome for the

The number of produced parts, the total number of order completion or, for example, the number of measured parts might be used as an optimization criterion. The last example refers to a situation, in which production efficiency is satisfying, there is a production

mentioned tasks:

where *P*, *T*, *E*, *I*, *S*, *R*, *M*<sup>0</sup>

44 Petri Nets in Science and Engineering

*W*:(*E* ∪ *I*) → *N*; *N*:set of natural numbers.

aforementioned Petri network class [18].

production system presented in the further part.

Software processing PN2

{

multiplicity the arcs:

margin, so the manufacturer places more emphasis on improving production quality. It can be indirectly completed by attaching higher priority to transitions serving the measurement station.

The following example presents a production system model (**Figure 3**) with two lathes CNC (L1 , L<sup>2</sup> ), two drill-tap machining centers (M1 , M2 ), two industrial robots (R1 , R2 ), an input transporter (IN) and an output transporter (OUT), a measurement station (MS) and an intra-operation buffer. It has been designed for the purpose of processing rear axle guide pins—right (*B*) and left (*A*). *A* pin is processed at L<sup>1</sup> and M1 , *B* pin at L<sup>2</sup> and M2 . L<sup>1</sup> and L<sup>2</sup> lathes are identical, whereas M1 processed four pins at the same time and M2 only processes one.

**Figure 4** presents Petri network for a robotized production system of processing rear axle guide pins. Marking the network corresponds to the production launch status. Only one transition (t1 ) is possible in this status. The green spot means that it has at least one marker. M0 (p30) = 4 should be set to ensure correct course of simulation. Arc multiplicity function has

**Figure 3.** Robotized production system scheme.

**Figure 4.** Robotized production system model.

been used for solving two problems: control of intra-operation buffer overflow and loading and unloading M1 . The buffer allows for storing up to five parts, therefore i(3, 12) and i(3, 22) inhibitor arcs have the multiplicity of 5, which results in blocking 12 and 22 transitions if p3 has 5 markers. Position 5 aims at preventing simultaneous access to buffers of R<sup>1</sup> and R2 robots. The i(31, 30) inhibitor arc, on the other hand, prevents loading non-processing parts to M1 before all processed parts are unloaded. Multiplicity of 4th p31→t 31 arc allows to start processing only when M1 includes a set of four parts. After completing t31 four markers are transferred to p32 and the unloading stage begins. Processed parts might be transferred to the input transporter (t32, t42) directly, or to the measurement station first, provided that it is expecting parts for measurement. The network topology ensures that parts processed at M1 and M2 are transferred for measurement. It is ensured by the marker flowing in the loop p51→ t <sup>51</sup>→p52→t <sup>52</sup>→p53→t <sup>53</sup>→p61→t <sup>61</sup>→p62→t <sup>62</sup>→p63→t <sup>63</sup>→p51.

**Table 1** puts forward a description of module locations, whereas a description of transition of the presented model is put forward by **Figure 5**. The figure is an example of visualizing transformation results with a spreadsheet. Subchapter 6 puts forward the opportunities to integrate specialist software for Petri networks with other software packages.

**Figure 5.** Spreadsheet of production resources utilization rate.

**Table 1.** List of places from **Figure 4**.

Petri Networks in the Planning of Discrete Manufacturing Processes

http://dx.doi.org/10.5772/intechopen.75135

47


**Table 1.** List of places from **Figure 4**.

been used for solving two problems: control of intra-operation buffer overflow and loading

inhibitor arcs have the multiplicity of 5, which results in blocking 12 and 22 transitions if

robots. The i(31, 30) inhibitor arc, on the other hand, prevents loading non-processing parts

transferred to p32 and the unloading stage begins. Processed parts might be transferred to the input transporter (t32, t42) directly, or to the measurement station first, provided that it is expecting parts for measurement. The network topology ensures that parts processed at M1

are transferred for measurement. It is ensured by the marker flowing in the loop p51→

<sup>63</sup>→p51.

**Table 1** puts forward a description of module locations, whereas a description of transition of the presented model is put forward by **Figure 5**. The figure is an example of visualizing transformation results with a spreadsheet. Subchapter 6 puts forward the opportunities to

has 5 markers. Position 5 aims at preventing simultaneous access to buffers of R<sup>1</sup>

before all processed parts are unloaded. Multiplicity of 4th p31→t

<sup>62</sup>→p63→t

integrate specialist software for Petri networks with other software packages.

. The buffer allows for storing up to five parts, therefore i(3, 12) and i(3, 22)

includes a set of four parts. After completing t31 four markers are

and R2

<sup>31</sup> arc allows to start

and unloading M1

46 Petri Nets in Science and Engineering

processing only when M1

**Figure 4.** Robotized production system model.

<sup>52</sup>→p53→t

<sup>53</sup>→p61→t

<sup>61</sup>→p62→t

p3

to M1

and M2

<sup>51</sup>→p52→t

t


**Figure 5.** Spreadsheet of production resources utilization rate.
