**5.1. Description of the plant**

The process under consideration is a batch process that produces two liquid substances, one blue, one green, from three liquid raw materials. The first is coloured yellow, the second red and the third is colourless. The colourless sodium hydroxide (NaOH) will be referred to below as white. The chemical reaction behind the change of colours is the neutralisation of diluted hydrochloric acid (HCl) with diluted NaOH. The diluted HCl acid is mixed with two different pH indicators to make the acid look yellow if it is mixed with the first one and red when mixed with the second one. During the neutralisation reaction the pH indicators change their colour when the pH value reaches approximately 7. The first indicator changes from yellow to blue, and the second from red to green.

The plant consists of three different layers, see Figure 11. The first layer consists of the buffering tanks B11, B12 and B13, which are used for holding the raw materials "Yellow", "Red" and "White". The middle layer consists of three stirred tank reactors, R21, R22 and R23. Each reactor can be filled from any raw-material buffer tank. The production involves filling the reactor with one batch of "Yellow" or "Red" and then neutralising it with one batch of "White". The lower layer consists of two buffer tanks, B31 and B32, in which the products are collected from the middle layer. Each of them is used exclusively for "Blue" or "Green" and can contain three batches of product. The processing times of the plant are presented in Table 3. The system can be influenced through different inputs, pumps P1-P5 and valves V111-V311.

#### **5.2. The scheduling problem**

The plant provides a variety of scheduling problems. In our case we are dealing with a problem, where we have a demand to produce a certain amount of finished products. Also the starting times of every work order are given. Our task is to determine when raw materials must be available and when the overall production process will be finished. Our goal is to finish the production in the shortest time.

18 Petri Nets – Manufacturing and Computer Science Automated Petri-Net Modelling for Batch Production Scheduling <sup>17</sup> Automated Petri-Net Modelling for Batch Production Scheduling 19

**Figure 11.** Multiproduct batch plant.

16 Will-be-set-by-IN-TECH

In contrast to objective measures, which are related to final marking, the initial marking can be used to specify release dates of work orders. If a token in *pWO*\_*j*\_*st* corresponds to the initial request of work order *WOj*, and *rj* is a corresponding release date then *M*0(*pWO*\_*j*\_*st*) should

The applicability of our approach will be demonstrated on the model of a multiproduct batch plant designed and built at the Process Control Laboratory of the University of Dortmund. The demonstration plant is relatively simple compared to industrial-scale plants, but poses

In the following a brief description of the plant will be given. From the data given in production management systems a timed Petri-net model is built. With the help of a simulator/scheduler using different scheduling rules, different schedules can be achieved. At the end the results for the given problem are presented and compared with the results

The process under consideration is a batch process that produces two liquid substances, one blue, one green, from three liquid raw materials. The first is coloured yellow, the second red and the third is colourless. The colourless sodium hydroxide (NaOH) will be referred to below as white. The chemical reaction behind the change of colours is the neutralisation of diluted hydrochloric acid (HCl) with diluted NaOH. The diluted HCl acid is mixed with two different pH indicators to make the acid look yellow if it is mixed with the first one and red when mixed with the second one. During the neutralisation reaction the pH indicators change their colour when the pH value reaches approximately 7. The first indicator changes from yellow to blue,

The plant consists of three different layers, see Figure 11. The first layer consists of the buffering tanks B11, B12 and B13, which are used for holding the raw materials "Yellow", "Red" and "White". The middle layer consists of three stirred tank reactors, R21, R22 and R23. Each reactor can be filled from any raw-material buffer tank. The production involves filling the reactor with one batch of "Yellow" or "Red" and then neutralising it with one batch of "White". The lower layer consists of two buffer tanks, B31 and B32, in which the products are collected from the middle layer. Each of them is used exclusively for "Blue" or "Green" and can contain three batches of product. The processing times of the plant are presented in Table 3. The system can be influenced through different inputs, pumps P1-P5 and valves V111-V311.

The plant provides a variety of scheduling problems. In our case we are dealing with a problem, where we have a demand to produce a certain amount of finished products. Also the starting times of every work order are given. Our task is to determine when raw materials must be available and when the overall production process will be finished. Our goal is to

complex control tasks. A detailed description of the plant can be found in [17].

contain a token 1@*rj*.

achieved with other techniques.

**5.1. Description of the plant**

and the second from red to green.

**5.2. The scheduling problem**

finish the production in the shortest time.

**5. A case study: Multiproduct batch plant**

*Tj* = *max*(*Mf*(*pWO*\_*j*\_*end*) − *dj*, 0) (3)


**Table 3.** Processing times.

Work orders, given in table 4, illustrate the problem, where six batches of "Blue" (PB) and six batches of "Green" (PG) products have to be produced. It follows that we need six batches of "Yellow" and "Red" raw materials and twelve batches of "White" raw material.


Formula given in Table 7 lists the raw materials needed to produce items "B" and "G". Item "B" represents a sub-product that is needed for operation *Op10* of a recipe "PB". The production of one item "B" requires one "Yellow" ("Y") and one "White" ("WB") batches (items). Each of these two items are produced with two operations. Note that some batch-specific precedence constraints exists. Operation *Op20* of item "Y" precede operation *Op20* of item "WB". The

Automated Petri-Net Modelling for Batch Production Scheduling 21

Item Sub-item Quantity Preced. constr. B Y, Op10 1 0000 Y, Op20 0001 WB, Op10 1 0000 WB, Op20 0000 G R, Op10 1 0000 R, Op20 0001 WG, Op10 1 0000 WG, Op20 0000

In this subchapter production process described previously is modelled with timed Petri nets. To build a model the algorithm from Chapter 3.5 is used. This model can later be used to schedule all the tasks, that are necessary to produce as much final products as required by

From work orders, given in table 4 it is recognised which and how much of each products are required. Let start with the procedure on building the Blue product ("PB"). When applying

pWOPBst pWOPBin pPBop pWOPBout pWOPBend

In the second step, additional information are added into this model (framed part of figure 12). Data about all the details are gathered from recipe list of product "PB" (table 5). Information about emptying the buffer tank *B*31 (*Op30*) and draining the reactor *R*2*x* (*Op20*) are added. As operation (*Op20*) needs resources, that are used by previous operations, not all details are

X 30

pPB2op pPB3op

tPB2 tPB3

6 6

PBout tWOPBout

B31

3 3

3

tPBout

the first step of our algorithm, the PN structure shown in figure 12 is achieved.

tWOPBin tPBin t

added yet at this place. A model, shown in Figure 13 is achieved.

PB

structure of item "G" is given in a similar way.

**Table 7.** Formula for the items "B" and "G".

**Figure 12.** PN model of PB product.

p

**Figure 13.** PN model of PB product.

PB1op

t

PB1out

t PBin

B

**5.4. Modelling**

work orders.

**Table 4.** Work orders.

### **5.3. Structure of the production facility given in production management system**

Data about the production process and its structure can be obtained from the production management information systems. These data can be presented in a form of a recipe and the formula as described in chapter 3.4.

There are two recipes available, which are specifying a sequence of operations needed to produce product "PB" and product "PG". They are given with tables 5 and 6.


**Table 5.** Recipe of a product "PB".


**Table 6.** Recipe of a product "PG".

To produce Blue product ("PB"), firstly operation *Op10* has to be carried out. This operation determines only that a sub-product, defined with formula "B", is needed. When this sub-product is ready, two more operations are needed. *Op20* gives information about draining the product into the buffer tank *B31* and *Op30* about pumping the final product out of that buffer tank. The fact, that buffer tank could not be emptied before three batches of sub-product "B" are poured in it, is described with this notation: (3 × 1) × *B*31.

In batch manufacturing situations when one task has to be executed with a (group of) resource(s), that were used to execute a previous task already are common. These resources are in our case labelled with an additional mark, i.e. code with serial number in square brackets is added in front of this resource(s). For example, this occurs in our case when one of the reactor is being used. Code [*R*\_1] is assigned to the reactor (from a group of reactors *R*2*x*) which is needed for operation *Op*20 when producing product "B" and indicates that this resource can now be released. Note, that this resource was assigned with an operation where code [*R*\_3] was used already (*Op10* of a sub-product "Y").

Formula given in Table 7 lists the raw materials needed to produce items "B" and "G". Item "B" represents a sub-product that is needed for operation *Op10* of a recipe "PB". The production of one item "B" requires one "Yellow" ("Y") and one "White" ("WB") batches (items). Each of these two items are produced with two operations. Note that some batch-specific precedence constraints exists. Operation *Op20* of item "Y" precede operation *Op20* of item "WB". The structure of item "G" is given in a similar way.


**Table 7.** Formula for the items "B" and "G".
