DYNAMIC TOOLS TO CONTROL COMPLEX SYSTEMS
Mahfoud MABED
Laboratoire d’Ingenièrie des systèmes automatisés LISA FRE 2656 CNRS
Université d’Angers, 4 boulevard Lavoisier 49100 Angers, France
Keywords: Discrete event systems, Modeling, Petri nets, Scheduling
Abstract: The idea of complex sequencing is strongly related to scheduling and real time systems. It appears when a
resource has to be shared by more than one user or when a job must be handled by some concurrent entities.
The originality of our research is mainly to build a dynamic link between a scheduling solution and a
simulation approach based on Petri Nets (PN). This paper addresses with the modeling of an electroplating
line with max plus algebra theory and Petri Nets. As a schedule representing a sequence that contains a
series of jobs, we can obtain a corresponding polynomial by using Lagrange interpolation. Then, we can use
these polynomials to ensure a real time connection between a schedule procedure and a Petri nets
simulation. The use of this approach will lead us to deal with different disturbances. Indeed, for any
disturbance we should calculate a new schedule and a new polynomial will be found. This polynomial will
be assigned to Petri nets Model without modifying its structure.
1 INTRODUCTION
The scheduling approach is realized by using max
plus algebra theory. It is based on a model that we
have previously developed. We first look for a
mathematical model to find a cyclic schedule for
the hoist Scheduling Problem (HSP) (Bloch, 1999).
Therefore, concurrence appears for resource
utilization and only deterministic discrete event
systems can be described in the max algebra
(Gaubert, 1992). A relaxation is then proposed to
find a first solution. Then some heuristics (rules)
are introduced to respect resource constraints and
an admissible solution (schedule) is proposed.
The second approach is based on Petri nets
(PN) their practical use for discrete event systems
are well known in the literature. Nevertheless,
more powerful tools are necessary to deal with
some complex systems. The functions attached to
arcs in Colored Petri nets (CPN) sometimes seem
to be more difficult to understand. We propose
here to use Z/pZ Petri nets to model some complex
sequencing. A mathematical structure is defined to
represent the relation between the colors (Mabed,
2003).
This algebraic structure is an isomorphism
between a set of colors and a finite field Z/pZ.
2 PETRI NETS AND EVENT
GRAPH
A PN is a bipartite directed graph with two types
of nodes: the places and the transitions. These
nodes are joined by directed arcs. A transition X
i
is
enabled if and only if each of its input places
contains at least one token (assuming that the
weight of each arc is equal to 1).
It is also possible to assign a time to each place
or transition. In that case, the Petri net is called
respectively P-timed or T-timed Petri nets. Such a
time represents the time taken by the related
transition to fire.
In a P-Timed Petri Nets (P-TPN), a firing is
initiated by removing token from each of the input
places after a period of time equals to the time
assigned to the place. Then, one token appears in
each output place at the instant when the firing
terminates. The reader is referred to (Mabed, 2002)
for details.
An event graph is a Petri net such that each
place has exactly one input transition and one
output transition and such that every arc is 1-
weighted. In this way only synchronization
constraints (logical AND) can be represented,
whereas alternative choices (corresponding to
277
MABED M. (2004).
DYNAMIC TOOLS TO CONTROL COMPLEX SYSTEMS.
In Proceedings of the First International Conference on Informatics in Control, Automation and Robotics, pages 277-284
DOI: 10.5220/0001144402770284
Copyright
c
SciTePress
logical OR) cannot be represented. Figure (1) gives
an example of a P-timed event graph. Transition X
1
(resp X
2
) will be fired if there is a token in both
places P
1
and P
6
(resp P
3
and P
5
). In P
1
and P
3
,
token must spend a period of time equals
respectively to 1 and 2. This is the time assigned to
these tokens in these places before leaving.
3 MAX PLUS THEORY
The dioid IRmax = (IR{-},max,+) is an
algebraic structure with two operations, max as
addition (denoted by ) and + as multiplication
(denoted by or simply omitted). e= - plays the
role of the null element for (such that ea=a)
and ε=0 plays the role of the unit element for
(such that a⊗ε=ε⊗a=a). We refer the reader to
(Cohen, 1989) (Spacek, 1998) to learn the main
properties of this structure.
The combinatorial properties of dioids (i.e.
associativity, commutativity of and and
distibutivity of over ), allow matrix
manipulations in a conventional way. It is no hard
to see that the following equations must hold for
the above example in figure 1.
X
i
(k) represents the date of the k
th
firing of
transition X
i
.
X
1
(k) U
1
(k) + 1 and X
1
(k) X
2
(k-1)
X
2
(k) U
2
(k-1) + 2 and X
2
(k) X
1
(k)
X
3
(k) X
1
(k) and X
3
(k) X
2
(k)
or
X
1
(k) max (X
2
(k-1),U
1
(k) + 1)
X
2
(k) max (X
1
(k), U
2
(k-1) + 2)
X
3
(k) max(X
1
(k), X
2
(k))
For instance X
2
(k) can be fired if the transitions
X
1
(k) and U
2
(k-1) have been fired and if the
minimum duration allowed to the places has been
respected.
X(k)
ε
εε
εεε
ee
e
X(k)
εεε
εεε
εε e
X(k-1)
εε
εε
ε1
U(k)
εε
ε
εε
2
U(k-1)
We can easily write :
)k(X
v
0i=
A(i) X(k-i)
w
0j=
B(j) U(k-j)
We can solve this problem via rational methods
familiar in language theory (introducing “star”
operation A*=e A A
2
A
n
)
X(k)
v
1i=
)ik(X)i(A
w
0j=
)jk(U)j(B
With
)i(A = (A(0))* A(i) and )j(B = (A(0))* B(j)
Figure 1:An event graph
ICINCO 2004 - ROBOTICS AND AUTOMATION
278
4 DESCRIPTION OF THE
PROBLEM
Production line fed with one or more hoists are
used in a large number of cyclic industrial
applications. The moving devices (hoists) transport
products from one station to another, according to
a sequence order. This problem is characterized by
the nature of the processing times, which are
variables of the model. Each of them has to take a
value in a given interval [t
i
, T
i
]. The result of a
schedule is firstly the sequence of the movements
and secondly the values of all processing times.
We consider a production line with 13 different
stations and one hoist. These stations are arranged
in a row and are fed with one hoist (Baptiste, 1993)
(Bloch, 1999).
The first station represented by tank (0), is a
shared station for both loading and unloading
purpose. A soak operation is performed in each
other station see figure 2. The hoist is programmed
to perform inter-process moves of the products.
Each one consists of four simple hoist operations:
Raise a product from a process tank;
Pause over the tank to allow drip-off;
Transport the product to the next process tank
Lower the product in that process tank
After performing an inter-process move, the
hoist travels to another process tank for the next
scheduled move. The following assumptions will
be respected throughout this presentation:
The processing time in each tank is bounded
between a minimal and a maximum duration [t
i
, T
i
]
: i = 0 to 12;
Each tank can receive only one product at the
same time;
No buffer exists between tanks;
We deal with mono-product case: each
product must respect the same sequence S=0,1,2,
3, …, 11, 12, 0.
5 SCHEDULING
Let us study the mono-products modeling case
(one hoist, tanks with unit capacity, same
processing for all the products, n products on the
line).Each product will be successively treated in
several tanks and then deposed into the load \
unloading station (tank(0)). There are two major
statuses: product transfer from a tank to another
one and processing. We will consider the notations
given below.
X
i
(k) : the starting time to enable transition
Xi for the kth time;
r
(i, i+1)
: the in charge hoist traveling time
from tank i to tank (i+1);
t
i
, T
i
: minimum and maximum soak time
limits in tank i ;
P
j
: Place number j
Dv
(i, i+1)
: the empty hoist traveling time
from tank i to tank (i+1) ;
U
i
(k) : command vector representing the
availability of the hoist;
Figure 2: An Electroplating line (1 hoist and 13 tanks)
DYNAMIC TOOLS TO CONTROL COMPLEX SYSTEMS
279
5.1 P-Timed Event Graph
Two labels are given with each place. The first one
(t) is the minimum time that a token entering the
place must spend. The second label (T) is the
maximum time that this token can spend in this
place. Each tank has its own given bounded time
intervals. If a token enters a place of Timed
Colored Petri Nets (TCPN), it must spend a
minimum time t
i
in this place and leave it at a
maximum time T
i
at the latest. Each time a tank is
emptied, it is immediately available for the next
product on the line. The last operation of each
product sequence is to unload it. We represent this
problem by an event graph figure 3.
The first tank (token(0)) filling the unloading
and loading tank, we will assume that there is no
event before this.
In figure 3 each time a transition is fired, it will
mean either a product is being transported from a
tank to another or that it is processed. We suppose
that the hoist is always available (otherwise
concurrence will appears for resource utilisation)
5.2 Mathematical Model
According to the previous example, we can
represent the event graph presented on figure 3 by
the following equations:
X
1
(k) X
3
(k-1) (X
2
(k)(-T
1
)) V(k)
X
2
(k) U
1
(k) (X
1
(k)t
1
) (X
3
(k)(-r
1,2
))
X
3
(k) X
5
(k-1) (X
4
(k)(-T
2
)) (X
2
(k)r
1,2
)
X
4
(k) U
2
(k) (X
3
(k)t
2
) (X
5
(k)(-r
2,3
))
.
.
X
26
(k) U
13
(k) (X
25
(k)t
13
) (X
27
(k)(-r
13,1
))
X
27
(k) X
26
(k)r
13,1
This system can be also written with matrix
notations:
and gives the vector :
)k(Vb)k(UB)1k(XA)k(*X
1
=
These vectors (k=1, 2,…,n) are represented by
a matrix. In each column, we can find the starting
time of transport or processing for each product k.
Nevertheless, this solution must be performed
according to the hoist constraints (ie. only one
hoist is available in the line). The hoist availability
constraint is the most restrictive one as the hoist
corresponds to a critical resource of the problem.
Each move of product k from the tank where its i
th
treatment occurs to the tank where its i+1
th
one
occurs, takes place in the following interval [X
i
(k),
X
i
(k)+ r
(i, i+1)
]. As all the movements are realized
by the same hoist, we must express that all these
intervals are disjoined. The objective here is to find
an admissible schedule from the solution proposed
by the (max, +) theory and then improve it to find
an optimal or a near optimal solution.
For all couples of transport operations of the
product k (resp k+1) from tank (i) (resp j) to tank
(i+1) (resp. j+1) either transport operation of k
preceeds transport operation of k+1 (case 1) or
Figure 3: Hoist scheduling P-Timed event graph
))k(UB())1k(XA())k(XA()k(X
10
))k(Vb(
ICINCO 2004 - ROBOTICS AND AUTOMATION
280
transport operation of k+1 preceeds transport
operation of k (case 2).
This kind of constraints are called disjunctions,
it corresponds to two mutually exclusive
constraints.
As we can see on the example detailed on
figure 4, we have two products k and (k+1) and
two operations request the same resource (hoist)
during a period of time:
Move product k from tank 4 to tank 5, during
the interval [461,485]
Move product k+1 from tank 2 to tank 3,
during the interval [443,472]
To deal with this conflict, we have to choose
between two cases as seen before. In figure 4 we
choose the case 2: transport operation of k+1
preceeds transport operation of k. It means that a
delay will affect the others tasks for this product.
The question is: how to choose how a conflict can
be treated? The transcription of our model into a
computable version is simply the translation of all
linear equations. When a solution is found, we
check that the hoist constraints are respected, if not
we try to resolve this conflict by an adapted
heuristic. We can notice that each conflict
corresponds to two alternatives and needs to make
a choice during the resolution.
In fact, when the resolution procedure reaches
a choice point it divides the search space into two
branches. Exploring all these solutions will take us
a long time. The situation has led us to develop a
new robust method governed by stochastic
methods. These methods (not developed in this
paper) serve as a meta-strategy to choose the best
way to deal with the management of the hoist
conflicts. The objective of this work is to explain
how to build a dynamic link between a scheduling
solution and a simulation approach based on PN.
Before modeling the electroplating line we
should present how we can translate this schedule
to a polynomial. As a schedule represents a
sequence that contains a series of jobs, we can
obtain a corresponding polynomial by using
Lagrange interpolation. Then, this polynomial will
be used to valuate PN arcs.
5.3 Example
Let us consider a simple sequence S representing a
schedule:
S =(S
0
,S
1
,…,S
(p-1)
)
We can obtain the corresponding polynomial
P(X) by defining a finite ring structure with p
distinct elements {0, 1, 2, …, p-1} isomorphic with
Z/pZ (p: prime). On this set, we define a
polynomial function P(X) as an automorphism of
Z/pZ.
=
=
1p
0i
P(X)
a
i
X
i
Fi
g
ure 4: How to deal with conflicts
(
case 2
)
DYNAMIC TOOLS TO CONTROL COMPLEX SYSTEMS
281
1p1p1p1p
1)2p()1p(0
1p)2p)(1p()1p)(1p(0
1)2p()1p(0
0001
)4p()4p(
)3p()3p(
)2p()2p(
K
KKKKK
K
K
K
K
6666666
1234560
6355360
1161660
6533560
1452360
0000001
A polynomial in Z/pZ[X] is completely given
by its coefficients A
0
to A
(p-1)
. We already prove
that a matrix [L
p
] exists there, making the
correspondence between the p elements of S.
t
[A
0
, A
1
, …, A
(p-1)
]=[L
p
].
t
[S
0
S
1
… S
(p-1)
]
[
p
k
L
(X)]= [1 X X
2
… X
(p-1)
]. [L
p
]. [I
k
]
Where I
k
is a column matrix whose elements: equal
1 in k
th
row and = 0 elsewhere.
[
p
k
L
(X)] is a (p-1) degree polynomial verifying the
conditions:
[
p
k
L (k)]=1 and [
p
k
L (X)]= 0, Xk
This polynomial is the interpolation Lagrange
polynomial, which can be written, if considering
the first theorem of Fermat :
[
p
k
L (X)]= 1+(p-1)(X+p-k)
(p-1)
When we develop (X+p-k)
(p-1)
by Newton’s
binomial in Z/pZ, we obtain [L
p
] matrix:
[L
p
]=
Let us apply this method to the sequencing
vector S=(0,6,1,4,2,5,3), for p=7 the matrix [L
7
] is
:
[L
7
]=
P(X)= [1 X X
2
… X
6
].[L
7
].[F]
with [F]=
t
[P(0) P(1) P(2) P(3) P(4) P(5) P(6)] thus
equal to
t
[6 4 5 0 2 3 1].
We obtain P(X) =6+6.X+6.X
2
+X
4
+6.X
5
and easily verify that P(0)=6, P(6)=1, P(1)=4,
P(4)=2, P(2)=5, P(5)=3, P(3)=0;
As said before if the length of the sequence
does not correspond to a prime number (n<p), we
go back to the previous case and consider (p-m)
fictitious tasks that will not be used.
6 MODELING :Z/PZ TPN
REACTIVE MODEL
A complex system needs to be dynamically
controlled. Even, if the polynomials introduced in
this presentation show a clear evolution of the
standard functions used in traditional TCPN, a
characteristic does remain specific to all these
polynomials. It consists of the definition of the
color set. In Z/pZ TPN, there is only a global color
set and all the polynomials take its values in it.
This is why a circumstantial readjustment is
always possible (Mabed, 2003).The first tank
(token (0)) filling the unloading and loading tank,
we will assume that there is no event before this. In
this Petri Nets, tokens represent tanks. Each time a
transition is fired, it means either a product is being
transported from a tank to another, or that it is
processed.
We are interested here in modeling an
electroplating line with Z/pZ Timed Petri Nets
(TPN). It illustrates that these nets can be easily
applied to various industrial problems. Modifying
a sequence leads to change the Z/pZ TPN
parameters (i.e. polynomial) while the net structure
remains the same.
NB: For a simple use of Petri Nets parameters we
replace T
i
(the maximum duration in tank i) by δ
i
,
T
i
will represent the transition i.
Petri nets have been traditionally employed in
simulating approaches based on discrete event
systems. Here we create a dynamic link between
two fields:
Scheduling approach: based on several
stochastic or deterministic methods.
Simulation approach based on Petri nets.
We present in figure 5 a global model for the
HSP problem. This model was built in two
sections: first, we create a PN model and secondly
we assign polynomials to this PN. When we
elaborate this model, several difficulties were
encountered due to the two associated stations
(loading, unloading) represented by tank (0). The
first operation is to load the product, which is
represented by a processing (color (0) in place P
3
).
After a minimal duration of soak the product can
leave this tank (represented by color (0)) to another
one (represented by the successor of (0)+1=(1))
according to the set definition
E={0,1,2,3,4,5,…,10,11,12}. Each product will be
successively treated in several tanks and then
deposed into the load \ unloading station (tank(0)).
There are two major statuses:
ICINCO 2004 - ROBOTICS AND AUTOMATION
282
Product transfer from a tank to another one:
The sequence representing the schedule has been
realized by the calculus of a polynomial SC. This
polynomial characterizes the results of max plus
approach.
Processing
These operations will continue until we use the
color (12), its successor will be (0) and the
transition T
8
will be fired to unload the product.
Each evolution or disturbance lead this set
unchanged. Only the parameters are to be changed.
The model presented below allows a dynamic
management.
7 CONCLUSION
The originality of this study is mainly to apply
both: max plus algebra theory and Z/pZ TPN for
modeling and evaluating an industrial problem. We
have seen in this paper that a model can be
dynamically controlled by combining existing
tools.
We first use max plus algebra theory to find a
schedule for an industrial application known as a
hoist scheduling problem. Using the analogy
between timed event graphs and conventional
linear systems lead us to propose a schedule
approach. The critical point in this work is to
improve the results in order to find an optimal
solution. The use of stochastic methods to explore
more solutions can be the best way to reach this
objective.
After this, we present a model by using Z/pZ
Timed Petri Nets in order to control this system. A
structure of field Z/pZ is proposed to allow the
processing of colors succession with mathematics.
This mathematical structure allows an easy
modeling of sequences by polynomials and
symbolic calculation.
Furthermore, mathematical support may enable
us to consider various problem of optimization,
particularly those dealing with the resolution of
scheduling problems, one of our points of interest.
Figure 5: Z/pZ TPN Reactive Model
DYNAMIC TOOLS TO CONTROL COMPLEX SYSTEMS
283
We also note that this approach offers many
advantages to deal with complex models.
Developing these polynomials to evaluate models
facilitates modeling any kind of systems. This new
tool can be used as basis for further studies on
scheduling.
REFERENCES
Bacelli, F., Cohen, G., Olsder, G.J., Quadrat, J.P. (1992).
Synchronisation and linearity : An algebra for
discrete Event Systems. John Wiley and Sons, New
York.
Baptiste, P., Legeard, B. (1993). Optimisation with
constraint logic programming : The Hoist scheduling
problem solved with various solvers. 8th
International Conference on Applications of
Artificial Intelligence in Engineering, AIENG/93,
Toulouse, France.
Bloch, C. (1999). Contribution à l'ordonnancement
dynamiques de lignes de traitement de surface.
Thèse de Doctorat, Laboratoire d'Automatique de
Besançon (UMR CNRS 6596), Université de
Franche-Comté.
Borevitch, Z-I., Chafarevitch, I-R (1967). Théorie des
Nombres, (Gauthier-Villars), Paris.
Bourcerie, M., Morel, J-Y. (1997). Algebraically
structured coloured Petri nets to model sequential
processes. IEEE Transactions on Systems, Man and
Cybernetics, Part B : Cybernetics, Vol. 27, n°4.
Cohen, G., Dubois, Quadrat, J.P., Viot, M. (1985). A
linear system theoric view of discret-event processes
and its use for performance evaluation in
manufacturing. IEEE Trans. Automatic Control, 30 :
210-220.
Cohen, G., Moller, P.,Quadrat, J.P.,Viot, M.,: Algebraic
tools for the performance evaluation of discrete
event systems. Proceeding of the IEEE, Vol.77, pp.
39-58, 1989.
Gaubert, S. (1992). Théorie des systèmes linéaires dans
les dioïdes. Thèse de doctorat, Ecole des mines de
Paris.
Mabed, M. (2002).Thèse de doctorat intitulée,
Utilisation de l’Algèbre (Max, +) et des réseaux de
Petri Z/pZ dans l’étude d’un processus industriel.
Université d’Angers, octobre 2002.
Mabed, M., Bourcerie, M., Bousseau, F. (2001). Z/pZ
Petri nets model with application to an electroplating
line. IEEE International Conference on Systems,
Man and Cybernetics october 7-10, 2001, Tucson,
Arizona, USA.
Mabed, M., Bourcerie, M. (2003). Real-time model for
processing both scheduling and petri nets
approaches. European Simulation and Modelling
conference ESMC’03, October 27-29, 2003, Italy.
Marteau, S., Bourcerie, M. (1995).Complex sequencing
by methods of interpolation in Z/pZ colored Petri
nets, 4th International Conference on Emerging
Technologies and Factory Automation INRIA /
IEEE ETFA'95, p 573-581, France.
Marteau, S., Bourcerie, M. (1996). Dynamic evolution of
Z/pZ colored Petri nets models. In : Computational
Engineering in Systems Applications, Symposium
on Discrete Events and Manufacturing Systems
(IEEE-SMC CESA'96), p. 48-52, Lille, France.
Proth, J-M. Xie, X.(1994) Les réseaux de Petri pour la
conception et la gestion de systèmes de production,
Masson, Paris.
Spacek, P. (1998). Modélisation, analyse et commande
des systèmes à événements discrets par l'algèbre des
dioïdes, Application aux lignes de galvanoplastie.
Thèse de troisième cycle, Université de Franche
Comté
ICINCO 2004 - ROBOTICS AND AUTOMATION
284