Vous êtes sur la page 1sur 12

Applications des réseaux de Petri

par Pascal RICHARD


Maître de conférences en Informatique à l’Université de Poitiers (LISI/ENSMA)
et Christophe HARO
Ingénieur en Informatique
Enseignant-chercheur à l’École d’ingénieurs en informatique pour l’industrie (EIII)
Chercheur au laboratoire d’informatique (LI), Université de Tours

1. Types d’application ................................................................................. S 7 254 – 2


2. Analyse d’un système en cours de conception............................... — 3
2.1 Présentation du cas simplifié...................................................................... — 3
2.2 Modélisation ................................................................................................ — 3
2.3 Évaluation des performances ..................................................................... — 4
2.4 Notes bibliographiques et conclusion ....................................................... — 7
3. Mise en œuvre d’un système ................................................................ — 7
3.1 Contexte industriel ...................................................................................... — 7
3.2 Modèle du système de planification .......................................................... — 9
3.3 Résolution .................................................................................................... — 10
3.4 Mise en œuvre informatique ...................................................................... — 11
3.5 Conclusion.................................................................................................... — 12
4. Conclusion générale................................................................................ — 12
Références bibliographiques ......................................................................... — 12

’article présente l’utilisation de techniques utilisant les réseaux de Petri (RdP)


L pour aider les ingénieurs de production dans leur travail. Après une présen-
tation générale, une première partie aborde, par l’étude d’un cas concret, la
modélisation, le dimensionnement et l’évaluation des performances d’un atelier
de fabrication de type job-shop. Une deuxième partie présente un cas industriel
emprunté à la production verrière et décrit la mise en œuvre d’un système de
planification de production.
Les réseaux de Petri, inventés par Carl Adam Petri en 1962, suscitent toujours
aujourd’hui de nombreux travaux de recherche dans beaucoup de pays. Cet
engouement est dû à l’élégante théorie mathématique sous-jacente à cette tech-
nique de modélisation graphique dont les fondements théoriques sont présen-
tés dans l’article « Outils de modélisation des automatismes séquentiels. Les
réseaux de Petri [R 7 252] ». Malgré cette effervescence dans le domaine de la
recherche, peu d’applications de taille industrielle voient le jour. Cela s’explique
en partie par l’absence de normalisation internationale des réseaux de Petri,
contrairement au grafcet. Cet inconvénient est en passe d’être corrigé puisque la
norme ISO 15909 sur les réseaux de Petri de haut niveau est actuellement en
cours d’élaboration. L’objectif de cet article est de présenter les applications des
réseaux de Petri dans un contexte industriel. La suite de l’introduction établit une
synthèse des types d’applications privilégiées des réseaux de Petri et replace
dans ce cadre les deux cas d’étude qui seront ensuite présentés.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 1
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

1. Types d’application — conception du modèle : le concepteur construit un réseau de


Petri répondant à la description du système à concevoir ;
— analyse qualitative : cette analyse permet de valider les spéci-
fications fonctionnelles du système ; par exemple, vérifier la borni-
tude d’une place permet de valider le respect de la capacité du
buffer qu’elle modélise ;
Deux grandes applications des réseaux de Petri émergent dans la
— analyse quantitative : cette analyse permet de valider les per-
littérature suivant que le réseau est utilisé durant le cycle de concep-
formances du système ;
tion ou bien comme outil de mise en œuvre d’un système. Dans le
— génération de code : la génération de code permet d’établir en
premier cas, le réseau spécifie le système et constitue le point de
général le squelette du programme contrôlant le procédé, par exem-
départ du cycle de conception. Ces spécifications permettent
ple dans le langage de programmation d’un automate programma-
ensuite des analyses qualitatives et quantitatives du système à
ble.
concevoir. Le non-respect de certaines clauses du cahier des char-
ges engendre des modifications du modèle dont les répercussions Ce programme est ensuite complété pour tenir compte de l’envi-
seront évaluées en rejouant les analyses. La seconde catégorie ronnement industriel des entrées/sorties.
d’applications consiste à utiliser le réseau comme structure interne Pour illustrer cette première catégorie d’applications, nous
d’un système de contrôle ou d’aide à la décision. présenterons la conception d’un atelier de fabrication de perforatri-
ces de bureau. La modélisation modulaire du système sera décrite,
puis l’analyse des performances sera étudiée afin de satisfaire les
Un réseau de Petri est un outil graphique de modélisation de commandes prévisionnelles de perforatrices. Dans cette étude de
système complexe. Sa puissance d’expression permet d’étudier cas, l’analyse quantitative et la génération de code ne seront pas
des systèmes composés de sous-systèmes fonctionnant en abordées. La seconde catégorie d’applications des réseaux de Petri
parallèle, communiquant et partageant des ressources. Le réside dans la mise en œuvre d’un système industriel utilisant un
modèle représente les différents états possibles du système. réseau. Dans ce cas, le réseau de Pétri n’est plus un outil méthodo-
logique de conception et de dialogue entre concepteurs mais
devient le modèle interne d’un procédé automatique ou d’un
système de décision. Nous distinguons trois sous-classes d’utilisa-
Afin d’étendre leurs champs d’application aux systèmes continus tion dans la mise en œuvre suivant qu’elle dépend de l’interpréta-
et semi-continus, des extensions des réseaux de Petri ont été propo- tion du réseau (joueur de jetons), de l’utilisation du graphe de
sées dans la littérature : il s’agit, respectivement, des réseaux conti- marquages ou de l’utilisation des relations d’algèbre linéaire sous-
nus et des réseaux hybrides. Nous n’en parlerons pas dans cet jacentes au réseau. En pratique, ces trois techniques visent à résou-
article, bien qu’ils constituent une branche très vivante au niveau de dre des problèmes différents.
la recherche universitaire. Dans la première sous-classe d’utilisation d’un réseau de Petri
L’apprentissage de la modélisation par réseau de Petri n’est géné- pour implémenter un système, un joueur de jeton interprète la règle
ralement pas aisé pour un débutant. Le concepteur du modèle doit de tir du réseau en tenant compte des interactions avec le procédé
raisonner en termes d’états et de transitions d’états ce qui n’est pas contrôlé ou l’utilisateur utilisant un système d’aide à la décision. Ce
une démarche naturelle. Il est nécessaire tout d’abord de maîtriser type de réseau devient dépendant de son contexte d’utilisation et
la modélisation des structures de base comme l’enchaînement est appelé pour cela réseau interprété. L’analogie avec le grafcet et
d’opérations, les communications et le partage de ressources. On les automates programmables est alors immédiate.
peut effectuer le parallèle avec l’apprentissage de la programmation Dans la seconde sous-classe, le réseau de Petri permet d’exprimer
des ordinateurs et la maîtrise des structures algorithmiques de la dépendance et l’indépendance (le parallélisme potentiel) entre les
base. Toutefois, la modélisation par réseau de Petri se prête très actions ou les événements d’un système. L’arbre de marquages du
bien à la conception modulaire des systèmes. Ainsi chaque sous- réseau permet de décrire l’enchaînement des états possibles. Ils
système est modélisé séparément, puis les interactions de ceux-ci décrit précisément toutes les séquences d’actions ou d’événements
reviennent à interconnecter les réseaux par de nouvelles places et réalisables. Cette description détaillée du système permet d’envisa-
transitions. Nous pouvons noter qu’à l’usage, la modélisation par ger la recherche d’une séquence de transitions particulière en opti-
réseau de Petri s’impose très rapidement aux autres outils de modé- misant un ou plusieurs critères de performance. Par exemple, la
lisation pour étudier des systèmes complexes. séquence la plus courte en nombre de transitions permet d’effectuer
La puissance d’expression des réseaux de Petri permet aux une reprise d’erreur efficace entre un état d’erreur et un état sain. De
concepteurs de modéliser un même système de plusieurs façons. même, si les séquences représentent les ordonnancements réalisa-
Par exemple, les activités d’un système peuvent être modélisées par bles des activités d’un atelier de fabrication, la recherche de la
des places ou des transitions. Dans le premier cas, le traitement de séquence de plus courte durée permet d’établir le plan de fabri-
l’opération est symbolisé par la présence d’un jeton dans la place la cation optimal de l’atelier. Le graphe de marquages est alors le
modélisant et dans le second elle est modélisée par le tir de la tran- moyen d’explorer l’ensemble des solutions réalisables pour un
sition la modélisant. Mais il faut avoir présent à l’esprit que le problème complexe. L’implémentation reprendra alors logiquement
modèle sera plus ou moins facile à analyser suivant la stratégie de le réseau comme structure de contrôle et de commande, ou bien
modélisation adoptée. Par exemple, si l’analyse à effectuer est comme structure de données informatiques mémorisant le
fondée sur le calcul des P-semiflots, les activités du système seront problème à résoudre.
modélisées par des places. C’est notamment le cas lorsque l’exclu- Enfin, dans la troisième sous-classe, les réseaux de Petri sont utili-
sion mutuelle d’accès de processus à des ressources doit être vali- sés pour mettre en œuvre un système. Cela revient à utiliser le
dée. L’absence de méthode systématique de modélisation est réseau en modèle interne comme précédemment, mais cette fois en
conjointement la limite de l’approche réseau de Petri en terme de utilisant les relations de l’algèbre linéaire sous-jacentes au graphe
facilité d’utilisation dans un contexte industriel et sa richesse en du réseau ou des outils de programmation mathématique. Ce type
terme de facilité d’analyse de tels systèmes. A contrario, le grafcet d’application se pose dans la conception de système informatique
est une méthode de modélisation systématique, mais dont les capa- d’aide à la décision en interaction, non plus avec un environnement
cités d’analyse sont limitées. industriel, mais avec un utilisateur. La seconde étude que nous
L’apport des réseaux de Petri dans le cycle de conception est aborderons sera dédiée à ce problème dans le contexte de l’aide à la
méthodologique puisque le modèle n’est pas utilisé uniquement planification de production dans l’industrie verrière. Nous verrons
pour exécuter ou implémenter les spécifications du système. La dans ce cas les apports des réseaux de Petri par rapport aux appro-
démarche complète suit les étapes suivantes : ches classiques de type recherche opérationnelle.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 2 © Techniques de l’Ingénieur, traité Informatique industrielle
____________________________________________________________________________________________________ APPLICATIONS DES RÉSEAUX DE PETRI

2. Analyse d’un système P1 M1(3) M2(1) M3(4) P1


en cours de conception
P2 M1(2) M2(2) P2

Dans cette partie, nous présentons un système à fonctionne-


ment cyclique de type job-shop à partir de l’étude d’un cas P3 M1(1) M2(1) P3
concret, mais cependant suffisamment simple pour permettre de ne
pas accumuler les niveaux de difficultés. Nous montrons comment
étudier son comportement dynamique et comment en optimiser les Figure 2 – Gamme de fabrication
performances.

par P3 celui utilisé pour produire les demi-coquilles formant le corps


de l’objet fini. La perforatrice étant constituée des deux demi-
2.1 Présentation du cas simplifié coquilles, d’un poinçon et d’un bouton, il est clair que l’atelier devra
produire à partir de 25 % de P1, 25 % de P2 et de 50 % de P3.
On suppose que les pièces entrent dans l’atelier selon la séquence
Un atelier doit produire des perforatrices de bureau. Celles-ci σ0 = < P3, P1, P2, P3 >. Le séquencement sur les machines, c’est-à-
sont constituées à partir de l’assemblage de plusieurs types de dire l’ordre de passage des pièces sur chacune d’elles, est donné
pièces. par :
Le corps de la perforatrice est constitué de l’assemblage de deux σ(M1) = < P3, P1, P2, P3 > ; σ(M2) = < P3, P1, P2, P3 > ; σ(M3) = < P1 >
demi-coquilles rigoureusement identiques. Chaque demi-coquille
est obtenue par une opération de tournage réalisée sur un tour à Cette ligne de fabrication est associée à une gamme linéaire. Les
commandes numériques, suivie d’un ensemble d’opérations réali- pièces visitent les machines dans l’ordre donné par les gammes
sées sur une fraiseuse. suivantes :
Le poinçon est obtenu par une opération de tournage, suivie P1 : < M1(3), M2(1), M3(4) >
d’une opération de fraisage. Il passe ensuite sur une rectifieuse qui
termine sa préparation. Le poinçon est emmanché à force dans un P2 : < M1(2), M2(2) >
bouton permettant d’actionner la perforatrice. Le bouton subit une P3 : < M1(1), M2(1) >
opération de tournage puis une opération de fraisage.
Les nombres entre parenthèses précisent la durée de l’opération
Les pièces entrent dans l’atelier sur un tapis roulant. Un robot R1 considérée sur la machine correspondante. Ces gammes sont repré-
les saisit et charge le tour M1. Lorsque l’opération est terminée, un sentées sur la figure 2. Dans l’atelier, les machines sont alignées
second robot R2 décharge M1 et charge la fraiseuse M2 avec la pièce dans l’ordre de la gamme.
intermédiaire. L’opération de fraisage terminée, un robot R3
décharge M2. Si la pièce intermédiaire est un poinçon, il la charge
sur la rectifieuse M3. Sinon, il la dépose sur un tapis qui conduit les
pièces à l’atelier d’assemblage. À la fin d’une opération de rectifi- 2.2 Modélisation
cation, le robot R3 décharge la rectifieuse M3 et dépose la pièce sur
le tapis roulant. La modélisation d’un job-shop se fait usuellement en trois
Pour simplifier l’étude de ce cas, nous confondrons les opérations étapes.
de chargement/déchargement des machines avec les opérations
■ On commence par modéliser le processus de fabrication de cha-
réalisées par ces machines. Ainsi, par exemple, le travail de R1 sera
que type de pièce. Pour cela, chaque opération réalisée sur un pro-
intégré à l’opération de tournage réalisée par M1. Le système se
duit dans sa gamme de fabrication est représentée par une
simplifie donc et devient celui représenté sur la figure 1.
transition t. Les différentes transitions associées aux opérations suc-
Dans la suite, on désigne par P1 le produit brut en entrée de cessives que subit le produit sont séparées les unes des autres par
l’atelier destiné à être usiné pour réaliser le poinçon ou le poinçon des places symbolisant des stocks tampons ou plus généralement
lui-même en sortie de l’atelier. De même, on désigne par P2 le des moyens de stockage (buffer B). Ces derniers sont d’abord sup-
produit brut pour produire le bouton ou le bouton proprement dit et posés de capacité infinie. À chaque transition est associé un temps
de franchissement. Celui-ci est égal au temps que prend la machine
pour réaliser l’opération représentée par la transition. Enfin, la
gamme de fabrication d’un produit est répétée autant de fois que
celui-ci apparaît dans la séquence de fabrication afin d’obtenir les
rapports de production (ratio) donnés. Les réseaux obtenus après
cette phase sont représentés par la figure 3.
■ La seconde étape modélise le mode opératoire cyclique de l’ate-
Pièces en entrée Rectifieuse M3 lier en supposant qu’une nouvelle pièce rejoint le système dès
qu’une pièce du même type est terminée. Les produits passent
d’une station à l’autre. Ce transit est réalisé à l’aide d’un moyen de
Tour M1 Fraiseuse M2 transport. La deuxième étape de la modélisation les représente. À
chaque produit est associé un certain nombre de moyens de trans-
Sortie des produits finis port dans la séquence de fabrication. Lorsque la fabrication d’un
produit est terminée, le moyen de transport qu’il utilise est libéré et
il est supposé immédiatement disponible pour un nouveau trans-
port. Une place supplémentaire vient augmenter le modèle précé-
dent. Un jeton dans cette place symbolise un moyen de transport
disponible. Le recyclage des moyens de transport est symbolisé par
Figure 1 – Atelier simplifié un rebouclage sur cette place des transitions d’entrée et de sortie du

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 3
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

t1 B1 t2 B2 t3
p1 c9
P1

t1 B1 t2 B2 t3
M1(3) M2(1) M3(4)

t4 B3 t5 P1

P2 M1(3) M2(1) M3(4)

M1(2) M2(2) c1 p2
c5
t6 B4 t7
t4 t5
P3 P2

M1(1) M2(1)
c4 M1(2) B3 M2(2)
t8 B5 t9 c2 c6 c8

P3 p3

M1(1) M2(1) t6 t7
P3
Figure 3 – Modèle des gammes de fabrication

M1(1) B4 M2(1)
c3 c7
p1
p4
t1 B1 t2 B2 t3
t8 t9
P1 P3

M1(3) M2(1) M3(4)


M1(1) B5 M2(1) jeton
p2
Figure 5 – Réseau RdP du job-shop
P2 t4 t5

modèle précédent. Les circuits obtenus sont représentés par la


figure 4. On les appelle des circuits de fabrication. Leurs places sont
désignées par p.
M1(2) B3 M2(2)
■ La dernière étape introduit le séquencement des produits sur les
machines. Les transitions représentant les opérations exécutées par
p3 une machine donnée sont intégrées dans un nouveau circuit élé-
mentaire. L’ordre de parcours du circuit élémentaire ainsi créé est
l’ordre de transit des produits dans la machine comme il a été défini
P3 t6 t7 dans la séquence d’entrée. Ces nouveaux circuits sont représentés
sur la figure 5. On les appelle des circuits de commande. Leurs pla-
ces sont désignées par c.
Finalement, un jeton dans un circuit de fabrication représente une
M1(1) B4 M2(1) pièce ou un moyen de transport alors qu’un jeton dans un circuit de
commande donne une information sur l’état d’une machine.
Dans le paragraphe suivant, nous envisageons d’évaluation du
p4 système cyclique.

P3 t8 t9
2.3 Évaluation des performances
On s’intéresse d’abord au dimensionnement du système afin
d’assurer les propriétés qualitatives du réseau et les propriétés stati-
M1(1) B5 M2(1) ques du système. Dans un deuxième temps, on cherchera à évaluer
les performances du système modélisé puis à optimiser la produc-
Figure 4 – Circuits de fabrication tion.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 4 © Techniques de l’Ingénieur, traité Informatique industrielle
____________________________________________________________________________________________________ APPLICATIONS DES RÉSEAUX DE PETRI

2.3.1 Dimensionnement Ainsi, dans le mode de fonctionnement FT, le tir d’une transition
débute dès qu’elle est franchissable. On sait que sous ce mode, un
régime périodique s’établit en un temps fini. Plus précisément, on
Le graphe du réseau obtenu est tel que chaque place a une et une définit pour tout circuit γ de l’ensemble Γ des circuits élémentaires
seule transition en entrée et une et une seule transition en sortie. De du GET le temps de cycle associé au marquage M du réseau. C’est
plus, chacun des arcs du réseau est pondéré à 1. Un tel réseau est le nombre π (γ ) défini par :
appelé un graphe d’événements temporisés (GET). Les GET présen-
tent l’avantage essentiel d’être bien adaptés à l’analyse des systè- µ(γ )
π ( γ ) = -------------
mes de production qu’ils modélisent. Leurs propriétés sont M(γ )
relativement simples à établir et un grand nombre de travaux ont
permis de bien comprendre ces propriétés. avec µ (γ ) somme des durées des tirs des transitions du circuit,
Le graphe du réseau obtenu est un GET fortement connexe. On M (γ )nombre de jetons dans ce circuit.
sait qu’un GET fortement connexe est vivant si, et seulement si, Il vient donc, en notant θ (t ) la durée de tir d’une transition t
chaque circuit élémentaire du graphe, c’est-à-dire chaque circuit ne quelconque :
repassant pas deux fois par le même sommet, contient au moins un
jeton. Le GET est alors borné, réversible et consistant. En raison du
nombre de circuits élémentaires γ, nous n’en donnons qu’un sous-
∑ θ(t)
t∈γ
π ( γ ) = ------------------------
-
ensemble.
∑ M(p)
1. Circuits de fabrication : p∈γ
— γ 1 = < t 1 , B 1 , t 2 , B 2 , t3 , p 1 > ; Dans le cas déterministe, pour lequel les durées de tir des transi-
— γ 2 = < t4 , B 3 , t5 , p 2 > ; tions sont connues et constantes, µ (γ ) est constant et connu. On sait
— γ 3 = < t6 , B 4 , t7 , p 3 > ; d’autre part que dans un GET, la somme M (γ ) est constante pour
— γ4 = < t8, B5, t9, p4 >. tout circuit élémentaire γ. Par conséquent, π (γ ) caractérise le circuit γ.
2. Circuits de commande : Considérons par exemple le GET du réseau de la figure 5 dans
— γ5 = < t1, c1, t4, c2, t6, c3, t8, c4 > ; lequel nous supposons pour commencer que chacune des places
— γ6 = < t2, c5, t5, c6, t7, c7, t9, c8 > ; (pi)i = 1,…,4 des circuits de fabrication contient un jeton. On obtient
— γ7 = > t3, c9 >. les circuits suivants.
3. Circuits mixtes : 1. Circuits de fabrication :
— γ8 = < t1, c1, t4, B3, t5, c6, t7, c7, t9, c8, t2, B2, t3, p1 > ;
— γ9 = < t1, c1, t4, c2, t6, B4, t7, c7, t9, c8, t2, B2, t3, p1 > ; 8 4 3 2
π (γ1) = --- = 8 ; π (γ2) = --- = 4 ; π (γ3) = --- = 3 ; π (γ4) = --- = 2 .
— γ10 = < t1, c1, t4, c2, t6, c3, t8, B5, t9, c8, t2, B2, t3, p1 > ; 1 1 1 1
— etc. 2. Circuits de commande :
Les trois circuits de commande contiennent déjà un et un seul
jeton. Chacun des circuits mixtes est marqué en c3 ou en c7. Il reste 7 6 4
π (γ5) = --- = 7 ; π (γ6) = --- = 6 ; π (γ7) = --- = 4 .
donc à dimensionner les circuits de fabrication. Le fonctionnement 1 1 1
d’un GET est habituellement étudié selon deux modes de fonction-
nement. Ces modes déterminent les performances du système 3. Circuits mixtes :
modélisé. 15 14 13
π (γ8) = ------ = 7, 5 ; π (γ9) = ------ = 7 ; π (γ10) = ------ = 6,5 ; etc.
Dans un premier mode, une transition est tirée dès qu’elle est 2 2 2
sensibilisée, à condition qu’elle ne soit pas déjà engagée dans une
phase de tir. On parle de fonctionnement au plus tôt du GET. Dans On définit alors le temps de cycle du GET. C’est le temps de cycle
la suite, nous désignons ce mode de fonctionnement par l’expres- donné par : π* = maxγ ∈ Γ π (γ ). Les circuits élémentaires γ* dont le
sion mode FT. temps de cycle est π* sont appelés les circuits critiques du GET. Ce
Dans un second mode, les transitions sont franchies de façon sont eux qui imposent leur vitesse au système. Dans l’exemple
périodique. On parle alors de fonctionnement périodique ou mode précédent, le GET possède un circuit critique : c’est le circuit de
FP. Dans la suite de cette partie, nous n’envisageons que le mode fabrication γ1 dont le temps de cycle est 8. On démontre que dans le
FT. mode de fonctionnement FT et lorsque le régime permanent est
Nota : le lecteur intéressé trouvera en bibliographie [1] [R 7 252], référence [5] lui per- atteint, le nombre de jetons qui circulent dans le système par unité
mettant d’étudier le mode périodique. 1
de temps est ρ = ------ . Pour augmenter la vitesse de fonctionnement
Pour assurer la non-réentrance des tirs des transitions, c’est-à- π∗
dire pour empêcher le tir d’une transition déjà dans une phase de tir, du système, il faut donc ajouter des jetons dans le circuit critique.
nous supposons qu’à chacune d’elles est associée une place initia- Comme dans un GET, le nombre de jetons dans un circuit élémen-
lement marquée à 1 et telle que cette place est à la fois entrée et taire est invariant, il reste égal au nombre de jetons du marquage
sortie de la transition. Une telle boucle est représentée en figure 6. initial M0. il vient donc :
Ces boucles ne sont pas représentées dans les réseaux que nous
µ(γ∗)
étudions. π∗ = -------------------
M0 ( γ ∗ )
En posant St (k) la date du début du k e franchissement de la transi-
tion t, on a, sous le mode de fonctionnement FT, qu’il existe deux
entiers naturels k0 et K tels que :
(∀t ∈ T ) (∀k > k0) (St (k + K ) = St (k) + K π*)
t p
avec T ensemble des transitions.
Cette équation exprime la propriété annoncée plus haut sur
l’établissement du régime périodique du mode FT.
Nous avons vu dans les paragraphes précédents que le temps de
Figure 6 – Boucle sur une transition temporisée cycle du GET dépend du marquage initial du réseau. Le problème

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 5
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

fondamental consiste donc à atteindre une performance donnée du On démontre alors qu’un marquage M est une solution admissi-
système modélisé en minimisant le coût engendré par la présence ble si, et seulement si :
des jetons dans le réseau. C’est ce problème qui est étudié ci-après.
µ(γ )
(∀p ∈ P)  min γ ∈ Γp  M ( γ ) – ----------- > 0 )
  α  
2.3.2 Optimisation du marquage Γp désigne l’ensemble des circuits élémentaires qui contiennent
la place p. On montre aussi que l’évaluation des
Soit alors le vecteur µ(γ )
min γ ∈ Γ p  M ( γ ) – -----------
W = t (w1, w2, …, w|P |) ∈ R + |P |  α 
avec |P¨| nombre de places (cardinal de l’ensemble P) peut être transformée en un problème de recherche des plus courts
qui associe le coût wi à chacun des jetons de la place (pi)i = 1,…,|P |. Le chemins dans un graphe orienté et ne nécessite donc pas l’énumé-
coût total engendré par les jetons circulant dans le réseau, pour un ration des circuits élémentaires du graphe. Soit alors } (α) l’ensem-
marquage M, est donné par : ble des marquages tels que :

Z W (M ) = t W M µ(γ )
(∀p ∈ P)  min γ ∈ Γp  M ( γ ) – ----------- ∈ [ 0 ;1 [
  α  
On souhaite que la fonction linéaire ZW (M ) à minimiser ne
dépende pas de l’état du système, c’est-à-dire qu’elle reste indépen- Les résultats précédents permettent de démontrer que :
dante du marquage du réseau. Par conséquent, en notant ! (M0), — tout marquage M de } (α) est une solution admissible de PLN
l’ensemble des marquages accessibles depuis le marquage initial (α, FT) ;
M0, cette fonction est telle que : — } (α) contient au moins une solution admissible optimale du
(∀M0 ∈ N |P |) (∀M ∈ ! (M0)) (t W M = t W M0) problème PLN (α, FT).
De ce théorème, on déduit un algorithme appelé algorithme
C’est la définition d’un P-invariant lorsque W est un vecteur de
d’ajustement pour résoudre le problème d’optimisation. Une procé-
rationnels positifs ou nuls.
dure par séparation et évaluation utilisant l’algorithme d’ajuste-
Étant donné un P-invariant W et α un réel positif évaluant la ment pour déterminer les bornes supérieures et la programmation
performance attendue, le problème d’optimisation du marquage linéaire pour déterminer les bornes inférieures, a également été
initial, noté PLN (α, FT) dans la suite, consiste à déterminer le proposée pour résoudre ce problème. Son étude dépasse le cadre
marquage initial M0 minimiser ZW (M0) = t W M0 sous les de cet article.
contraintes :
π* < α (∀pb ∈ Pb) (M0 (pb) = 1) (1)
2.3.3 Application à l’exemple d’introduction
Nota : PLN programmation linéaire en nombres entiers.
Dans ce problème, Pb désigne l’ensemble des places du réseau À titre d’exemple d’application, nous montrons comment résou-
réalisant une boucle pour éviter la réentrance des transitions. Le dre le problème PLN (α, FT) énoncé en (1) pour le cas étudié dans
problème (1) est alors équivalent à minimiser ZW (M0) = t W M0 sous cette partie.
les contraintes : Soient t W un P-invariant et t X = (xij) la matrice définie par :
m < α t X M0 (∀pb ∈ Pb) (M0(pb) = 1) (2)  1 si p j ∈ γ i
tX
x ij = 
avec défini dans le paragraphe 2.3.3.  0 sinon.
Pour le problème PLN (α, FT), un marquage M est une solution Ainsi, la matrice t X est la matrice dont les lignes sont les compo-
admissible si, et seulement si : santes de P-invariants associés à chacun des circuits élémentaires
du GET. En raison de leur nombre, la matrice t X comporte unique-
µ(γ )
(∀γ ∈ Γ)  ------------- < α ment un sous-ensemble des P-invariants. Pour notre exemple, voir
M(γ )  encadré 1.

Encadré 1
p1 B1 B2 p2 B3 p3 B4 p4 B5 c1 c2 c3 c4 c5 c6 c7 c8 c9

γ1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
γ2 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0
γ3 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0
γ4 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0
tX = γ5 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0
γ6 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0
γ7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
γ8 1 0 1 0 1 0 0 0 0 1 0 0 0 0 1 1 1 0
γ9 1 0 1 0 0 0 1 0 0 1 1 0 0 0 0 1 1 0
γ10 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 6 © Techniques de l’Ingénieur, traité Informatique industrielle
____________________________________________________________________________________________________ APPLICATIONS DES RÉSEAUX DE PETRI

Nous avons reconnu précédemment γ1 comme circuit critique. On 2.4 Notes bibliographiques
diminue le temps de cycle du système, autrement dit, on augmente et conclusion
la productivité, si on augmente le nombre de jetons dans le circuit
critique. Une augmentation du nombre de jetons dans un autre
circuit reste sans effet. Comme par ailleurs, le nombre de jetons On trouve une analyse détaillée des résultats utilisés dans cette
dans les circuits de commande est nécessairement fixé à 1, c’est la partie en bibliographie (référence [4]). Ces résultats sont mis en
machine la plus chargée, c’est-à-dire celle dont le temps de cycle est œuvre dans de nombreux exemples appliqués aux systèmes de
le plus élevé, qui impose son rythme. Le problème d’optimisation production, référence [1]. Ces deux références fournissent de plus
consiste donc à augmenter le nombre de jetons dans les circuits une bibliographie abondante sur le sujet. Des informations complé-
critiques, ici γ1, pour ramener leur temps de cycle à celui du circuit mentaires sur les applications des réseaux de Petri aux systèmes
de la machine M1, c’est-à-dire γ5, pour laquelle on a π (γ5) = 7. Soit manufacturiers pourront être trouvées dans l’article de synthèse [3].
alors α = max γ ∈ Γ c π ( γ ) , où Γc est l’ensemble des circuits de Dans ce paragraphe 2, nous avons développé l’étude d’un cas
contrôle. Ici, on a α = 7. Le problème consiste donc à déterminer le concret mais élémentaire. Nous avons successivement abordé la
modélisation, le dimensionnement et l’évaluation des performances
marquage initial M0 du réseau qui minimise ZW (M0) = t W M0 pour d’un atelier de type job-shop cyclique modélisé par un graphe
le P-invariant choisi. On sait que l’un des P-invariants d’un GET d’événements temporisés. Les principaux résultats du domaine ont
modélisant un job-shop à fonctionnement cyclique est le P-invariant été présentés.
W dont toutes les composantes valent 1. Soit alors t (m0, m1, …,
m17) le marquage initial du réseau. On note x l’entier supérieur ou
égal à x. Le problème (2) s’écrit :
i = 17
3. Mise en œuvre
minimiser ∑ mi d’un système
i=0

sous les contraintes : Dans ce paragraphe, la mise en œuvre d’un système de planifica-
8 tion de production fondée sur les réseaux de Petri est présentée.
m0 + m1 + m2 > --- =2 Ce travail a été réalisé dans le cadre de la convention CIFRE
7
(Convention industrielle de formation par la recherche en entre-
prise) entre le laboratoire d’Informatique de l’Université « François
m3 + m4 > 4
--- =1 RABELAIS » de Tours et la société BSN/Emballage (groupe Danone).
7
Dans un premier temps, nous présenterons le contexte industriel, le
problème de planification à résoudre, les techniques classiques de
m5 + m6 > 3
--- =1 résolution et leurs limites. Nous présenterons ensuite la modélisa-
7
tion du problème avec les réseaux de Petri et le principe de la réso-
lution. Enfin, nous détaillerons la mise en œuvre et nous établirons
m7 + m8 > 2
--- =1 le bilan de ce projet.
7

,5
m0 + m2 + m4 + m9 + m14 + m15 + m16 > 7
--------- –1=1
7 3.1 Contexte industriel

m0 + m2 + m6 + m9 + m10 + m15 + m16 > 7


--- –1=0 Depuis plus d’un siècle, la production verrière est devenue une
7 industrie lourde et mécanisée. Cette mécanisation et la diversifi-
cation de la demande ont fait émerger très tôt le besoin de rationa-
,5
m0 + m2 + m8 + m9 + m10 + m11 + m16 > 6
--------- –1=0 liser la production en la planifiant de façon à gérer les variations
7 saisonnières des ventes.

(∀pb ∈ Pb) (M0(pb) = 1) Le processus de fabrication est semi-continu. La partie continue


est constituée d’un four qui réalise la fusion des matières premières
Les nombres soustraits des seconds membres des inégalités et la distribution du verre sous forme de gouttes, appelées paraisons
représentent les jetons déjà présents dans les circuits de ou gobs. Le processus de fabrication est ensuite discret. Les gobs
commande, qui doivent aussi vérifier : sont réceptionnés par les machines à mouler les bouteilles équipées
de différents procédés (pressage et soufflage). De nombreux traite-
m9 + m10 + m11 + m12 = 1 et m11 = 1 ments à chaud et à froid sont ensuite effectués (traitement thermi-
m13 + m14 + m15 + m16 = 1 et m15 = 1 que, tests de la qualité, satinage, emballage…). Nous donnons
figure 7 le synoptique complet du processus de fabrication.
m17 = 1 Les ventes s’articulent autour d’environ 2 000 articles emballés
différemment. La plupart des articles sont produits sur prévision de
On vérifie alors que le marquage défini par
vente et sont soumis à des variations saisonnières très typées
M0 = t (0, 2, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1) (marché de la bière, champagne, jus de fruits…).
La planification consiste à effectuer les commandes prévisionnel-
est une solution optimale du problème. Le critère vaut 8 dans ce cas. les à l’outil de production, c’est-à-dire choisir les usines, les fours,
Il peut paraître étonnant que dans l’état initial du système, la place les machines et les périodes où les commandes seront fabriquées.
B1 soit marquée par deux jetons, ce qui signifie que deux poinçons La particularité de la planification dans l’industrie du verre est que la
sont déjà engagés dans le circuit de fabrication et ont passé la capacité de production est quasi constante en tonnage sur l’année,
première phase d’usinage (tournage). Il s’agit de jetons qui n’exis- tandis que la demande commerciale est très fluctuante. L’art de la
tent que pendant le régime transitoire du système. Lorsqu’ils auront planification va donc résider dans la constitution des stocks par
franchi les transitions t2 et t3, chaque jeton du circuit de fabrication modèle pour passer les pics de saisonnalité. Pour cela, le comporte-
représentera un poinçon. ment du système est étudié sur un intervalle de temps fini appelé

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 7
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

Sable STOCKAGE
+ Soude CIRCUIT DE PRODUCTION
+ Calcaire MÉLANGE
+ Groisil Four
Feeder

1 550 °C 1 200 °C
PESAGE

Paraison
Bassin de fusion Bassin
de travail

550 °C

Machines de choix Traitement Arche de cuisson Traitement Machines de fabrication


à froid à chaud
SECTEUR FROID SECTEUR CHAUD

Palettiseur Évacuation Houssage


navette rétraction

Figure 7 – Synoptique de la fabrication de bouteilles en verre

horizon de planification. Cet horizon se subdivise en périodes système d’équations (c), les fabrications sur les fours permettent de
discrètes de durées égales. Par exemple, l’horizon peut être l’année satisfaire les demandes commerciales dans chaque période. La
et une période le mois. Sur ces périodes, le plan de production indi- formulation du programme mathématique du PTS est donnée par le
que les commandes prévisionnelles qui seront fabriquées sur l’outil système d’équations (3).
de production dans chaque période.
i=m j= n k= K
La planification est généralement étudiée suivant trois niveaux :
stratégique, tactique et opérationnel. Le niveau stratégique surveille
(a) min z = ∑ ∑ ∑ cijk xijk
i =1 j = 1 k = 1
l’adéquation de l’outil de production à l’évolution de la demande. Le
niveau tactique planifie la fabrication des articles sur l’outil de soumis aux contraintes
production, sur un horizon glissant de douze mois. Le niveau opéra- j=n a=k
(3)
tionnel affecte les articles au jour le jour sur les différentes lignes de (b) ∑ ∑ xija = a ik ∀ i = 1, … , m ∀ k = 1, … , K
production. L’objectif est de maximiser à chaque niveau les bénéfi- j = 1 a =1
ces de l’entreprise. Cela revient pour un prix de vente donné à mini- i =m a = k
miser les coûts de fabrication et de transports des livraisons. (c) ∑ ∑ xija = b jk ∀ j = 1, … , n ∀ k = 1, … , K
La taille du problème à résoudre est telle que l’optimisation doit i = 1 a =1
faire place au savoir-faire du décideur. Ce type de comportement est
fondé sur une succession de raisonnements locaux. Il peut conduire avec aik (t) offre du four i à la période k,
à des solutions sous-optimales et ainsi faire passer à côté de solu- bjk (t) quantité demandée à la période k,
tions tant audacieuses que pertinentes. Pour cela, BSN/Emballage cijk coût de transport d’une unité de la demande j depuis l’offre
utilise un logiciel spécifique, appelé ARIANE [5], qui permet de i à la période k,
résoudre le problème d’optimisation. Le problème de planification
est formulé par un programme mathématique reposant sur le xijk quantité de la demande j transportée depuis l’offre i à la
problème de recherche opérationnelle appelé le problème de trans- période k.
port simple (PTS). La formulation du PTS permet de résoudre celui L’approche d’ARIANE est fondée sur l’utilisation de solveurs de
de la planification des fours afin de minimiser les coûts de transport. type boîte noire. Le décideur fournit des données du problème à
Ce programme mathématique repose sur les variables xijk qui résoudre, puis la résolution est lancée sans interaction avec celui-ci.
mémorisent la quantité en tonnes de verre du four i affectée à la La solution est affinée par des mises à jour des données en entrée et
commande j à la période k. Il va de soi que l’objectif est de minimi- en recommençant entièrement le processus de résolution. La plani-
ser la valeur z égale à la somme des coûts multipliée par les quanti- fication se fait donc par essai/erreur. Si un trop grand nombre de
tés affectées (a). Deux systèmes d’équations déterminent les données en entrée sont simultanément modifiées entre deux réso-
contraintes du problème à respecter. Le système d’équations (b) lutions, les résultats correspondants seront difficiles à interpréter.
indique que la somme des fabrications d’un four i affectée aux En d’autres termes, la solution est mal contrôlée et nécessite un
demandes j utilise toutes la capacité du four par période k. Dans le apprentissage de l’utilisation d’ARIANE.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 8 © Techniques de l’Ingénieur, traité Informatique industrielle
____________________________________________________________________________________________________ APPLICATIONS DES RÉSEAUX DE PETRI

3.2 Modèle du système de planification représentée dans le réseau de Petri. Clairement, l’optimisation d’un
programme linéaire peut être vue comme la recherche d’une
séquence optimale pour atteindre un marquage Mf depuis M0.
3.2.1 Modélisation des programmes linéaires Nous avons montré [2] que tout programme linéaire peut être
modélisé par un réseau de Petri. Nous récapitulons dans le
tableau 1 les relations entre un programme linéaire et un réseau de
L’inconvénient du modèle mathématique présenté dans le para- Petri.
graphe précédent (système d’équations (3)) est lié à sa représenta-
tion mathématique en terme d’équations séparées. Nous allons
présenter maintenant comment modéliser ce problème mathémati- 3.2.2 Modélisation de la planification
que avec des réseaux de Petri. L’apport de ce nouveau modèle sera des fours et des machines
la représentation sous la forme d’un graphe. Dans le para-
graphe 3.3, nous présenterons l’intérêt de ce modèle réseau de Petri Sur un horizon T donné, les commandes (prévisionnelles ou
pour guider la résolution du problème par le décideur. fermes) sont connues par bouteille et par teinte. Le couple machine/
Un programme mathématique est dit linéaire si toutes les équa- bouteille fixe la cadence de production. L’objectif de la planification est
tions utilisées sont des équations linéaires. On peut toujours formu- d’affecter les teintes aux fours, puis les commandes aux machines.
ler un tel programme mathématique de la façon suivante (appelée
Le modèle réseau de Petri du système de planification va utiliser
forme standard), défini par les relations matricielles :
trois types de places : les places fours où le marquage indiquera la
t disponibilité en heures sur T, les places machines/teinte dont le
[ Opt ] z = X D marquage indiquera le nombre d’heures de fonctionnement dans
soumis aux contraintes une teinte donnée et les places demandes dont le marquage indique
(4)
CX = b le nombre de bouteilles commandées dans chaque teinte. Deux
types de transitions vont être utilisés : les transitions affecter_teinte
X>0 qui assurent la répartition des heures de fonctionnement entre les
places fours et machines/teinte et les transitions fabrications qui
avec [Opt]direction de l’optimisation : min pour minimiser la
modélisent la répartition des heures machines aux différentes
fonction objectif z et max pour maximiser z,
commandes. Les coûts associés aux transitions modélisent d’une
X vecteur des variables, part les coûts de matière première et de fusion et d’autre part, les
C matrice des contraintes, coûts de fabrication et de moulerie. Nous notons figure 9, kij la
cadence de la machine i pour produire un modèle j. Cette figure
D vecteur des coefficients de la fonction objectif,
donne la formulation du problème résolu dans Ariane. Pour le
b vecteur second membre des contraintes. marquage initial, seules les places fours sont marquées et pour le
Remarquez que l’unique différence entre ce programme linéaire marquage final, les places demandes doivent contenir le nombre de
et l’équation d’état d’un réseau de Petri est le second membre. Nous jetons nécessaire.
pouvons définir le second membre comme la différence entre le
marquage final Mf (à atteindre) et le marquage initial M0. Posons
b = Mf – M0. La matrice C des contraintes est la matrice d’incidence
du réseau (C (i, p) en désignent les composantes). Alors C X = b x1 x3
devient l’équation d’état.
Par exemple, la contrainte x1 – x2 + 2x3 – 4x4 = 3 se modélise par
le réseau de la figure 8. Le comportement du réseau doit assurer Mf 2
(p) – M0 (p) = 3 pour respecter la contrainte. Le respect d’une
contrainte est donc modélisé comme un problème d’accessibilité
d’un marquage Mf depuis M0. En utilisant ce principe, chaque
4
contrainte est modélisée par une place dans le réseau de Petri. Il
reste maintenant à modéliser la fonction objectif en terme de fonc-
tionnement sur le réseau. Dans un réseau de Petri, une seule transi-
x2 x4
tion est tirée à la fois. Ainsi, en associant un coût à chaque tir d’une
transition, il est possible de connaître à tout instant la valeur de la
fonction objectif. La direction de l’optimisation (min, max) n’est pas Figure 8 – Modélisation d’une contrainte linéaire

(0)

Tableau 1 – Relation entre un programme et un réseau de Petri


Programme linéaire Réseau de Petri
contraintes places
variables transitions
matrice des contraintes matrice d’incidence
coefficient de la fonction objectif coûts associés aux transitions
second membre des contraintes (b > 0) i =m
M0 ( p ) = ∑ C ( i, p ) et Mf (p) = M0 (p) + b (p)
i=1
pour p = 1, …, n
solution optimale X vecteur caractéristique optimal (∃s, M0 s Mf)

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 9
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

marquage final. Le modèle complet est donné figure 10. Le pro-


gramme mathématique associé à ce réseau de Petri est :
Four
i =m j = n
max z = ∑ ∑ mij kij xij
i=1j=1
Affecter_teinte
avec xij quantité de produit j fabriqué sur la machine i.
Soumis aux contraintes
j= n
Machine/teinte
∑ xij < ai ∀i = 1, …, m (offres)
j=1
i= m

∑ k ij x ij = b j ∀j = 1, …, n (demandes)
(5)
i=1
j= n
Fabrications
c1,1 c1,2 c2,1 c2,2 ∑ xij = C max ∀i ∈ M f , ∀f = 1, …, F (équilibrage)
j=1
x ij > 0 ∀ i = 1, … , m ∀ j = 1, … , n
Évidemment, la taille du réseau devient rapidement très importante.
Modèle 1/teinte 1 Modèle 2/teinte 1 Nous verrons dans le paragraphe 3.4 comment générer automatique-
ment le réseau de Petri modélisant le système de planification. Nous
Demande modèle/teinte présentons maintenant comment le modèle réseau de Petri va contri-
Figure 9 – Modèle du système de planification
buer à la résolution du problème de planification.

3.2.3 Planification des machines avec équilibrage 3.3 Résolution


des lignes
La démarche de constitution d’un plan de production reste du
La planification à court terme utilise les résultats du plan à moyen domaine de l’aide à la décision. La très grande variété des contrain-
terme, c’est-à-dire le calendrier des teintes pour chaque four et tes ne permet pas de les modéliser explicitement une à une avec un
l’affectation des lots de modèles aux usines. Pour chaque couple réseau de Petri ou un programme mathématique. De plus, des choix
bouteille/machine sont connues la cadence de production kij et la stratégiques peuvent être ponctuellement contradictoires avec
marge unitaire de production mij du produit j sur la machine i qui est l’optimisation globale. Ainsi, la solution doit être construite conjoin-
donnée par le prix de vente moins les coûts de production. Le rende- tement par l’homme et la machine pour constituer rapidement un
ment est supposé être pris en compte dans les coûts. Les nombres plan de production pertinent.
d’heures de fonctionnement par teinte et par machine sont fixés par
le niveau de planification supérieur. Pour chaque machine, la dispo-
nibilité en heures dans chaque teinte est donnée. Les quantités 3.3.1 Résolution manuelle
commandées dans chaque bouteille/teinte sont aussi connues. Le
critère optimisé est la maximisation de la marge. En sortie, les lots L’approche de planification manuelle dans un système d’aide à la
sont distribués aux machines dans chaque campagne de teinte. décision consiste à laisser le décideur prendre des décisions. Dans
Lorsqu’une campagne de teinte se termine, toutes les machines notre cas, cela revient à réaliser manuellement les affectations des
doivent terminer leurs productions en même temps, de façon à variables du programme linéaire. Il dirige ainsi les grandes options
amorcer le changement de teinte. L’objectif de la planification à du planning désiré. D’un point de vue mise en œuvre, cela revient à
court terme est d’établir un plan de production visant à charger les ajouter des contraintes supplémentaires dans le programme
machines de façon à ce qu’elles terminent leurs productions en linéaire modélisant le problème originel de planification de produc-
même temps. De cette façon, aucun arrêt de ligne de production tion.
n’est nécessaire, évitant ainsi de déstabiliser la charge du four. Les inconvénients d’une telle approche sont les incohérences des
Le modèle réseau de Petri contient une place par machine, dont le affectations réalisées manuellement par rapport aux contraintes
marquage représente le nombre d’heures de fonctionnement de la originelles (comme la capacité des machines). De plus, la cohérence
machine Mi , une place par demande Dj dont le marquage repré- des contraintes supplémentaires entre elles n’est pas garantie. Par
sente le nombre de bouteilles fabriquées. Les transitions tij modéli- exemple, les affectations en heures de fonctionnement des machi-
sent les fabrications et les coûts sont les marges de production. Un nes dépendant d’un four sont liées aux affectations des teintes sur
arc relie Mi à tij valué par 1 et un arc relie tij à Dj valué par kij . Le tir ce même four. De plus, aucun historique des contraintes d’affecta-
d’une transition, avec une quantité unitaire, représente ainsi une tion n’est tenu à jour puisqu’elles sont indifférenciées dans le
heure de fabrication de Dj sur Mi à la cadence kij . Initialement, les programme linéaire. Le raisonnement du décideur est donc perdu.
places machines sont marquées par ai jetons et les autres places Pour réaliser la planification manuelle, un joueur de jeton interac-
sont vides. Le marquage final est défini par les places machines tif peut être utilisé. Le logiciel permet l’ensemble des affectations
vides et bj jetons dans les places Dj . Le problème de maximisation possibles en fournissant l’ensemble des transitions validées dans le
de la marge consiste alors à calculer la séquence avec un coût total réseau de Petri du problème de planification. La prise de décision du
maximal conduisant au marquage final depuis le marquage initial. décideur revient à tirer une transition. L’impact de cette décision est
Les transitions si représentent des variables d’écart et permettent directement calculé par la règle de tir : retrait de jetons dans les
d’éliminer les heures de disponibilité non utilisées par les machines. places en entrée de la transition et ajout de jetons dans les places en
On définit une transition (variable) Cmax représentant la fonction sortie de cette transition. Les séquences de tirs ainsi constituées
d’équilibrage. Le marquage initial et final de cette nouvelle place est permettent de pallier les deux problèmes de cohérence notés plus
nul. Les transitions tij doivent être franchies le même nombre de haut. Premièrement, le respect des contraintes originelles revient à
fois, afin que le tir de la transition Cmax permette d’atteindre le respecter la règle de validation des transitions. Deuxièmement,

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 10 © Techniques de l’Ingénieur, traité Informatique industrielle
____________________________________________________________________________________________________ APPLICATIONS DES RÉSEAUX DE PETRI

s1 a1 M1 s2 a2 M2 s3 a3 M3

x11 x12 x13 x21 x22 x23 x31 x32 x33

Cmax

k11 k32
k12 k22 k23
k21 k33
k31 k13

Figure 10 – Réseau RdP de la planification à court terme avec équilibrage de lignes

l’ordre des contraintes posées est mémorisé dans la séquence de


tirs que construit progressivement le décideur. Son raisonnement PLACE ARC TRANSITION
est ainsi conservé. Un dernier avantage de l’approche RdP est de ne
pas changer la taille du programme linéaire à résoudre car aucune
nom numéro nom
contrainte supplémentaire n’est posée.
marquage_M0 relation={pré,post} coût
3.3.2 Résolution automatique
marquage_Mf place tirs
Chaque place du réseau de Petri correspond à une contrainte
dans le programme linéaire. De même, chaque transition corres-
pond à une variable. Le second membre du système d’équations transition
linéaires (contraintes) est calculé par la méthode présentée dans le
paragraphe 3.2. Grâce à cette correspondance, les réseaux de Petri valuation
modélisant les systèmes de planification peuvent être formulés
comme des programmes linéaires. Un solveur classique peut alors
Figure 11 – Tables SQL mémorisant le modèle
être utilisé pour calculer le plan de production optimal.
L’avantage de cette approche est de pouvoir spécifier des sous-
problèmes à résoudre en indiquant un marquage cible à atteindre Le prototype réalisé permet de valider la méthodologie reposant
différent du marquage final. Par exemple, on peut ainsi se focaliser sur les concepts présentés dans les paragraphes précédents. La
sur l’affectation des bouteilles dans une teinte donnée. Cela n’est principale source de difficultés provient de la taille du réseau de
pas réalisable lorsque seul le programme linéaire est utilisé pour Petri modélisant le système de planification. Un moyen simple de
construire le planning. L’apport des réseaux de Petri est donc à constituer le réseau automatiquement est de décrire seulement un
nouveau intéressant dans le cadre d’un logiciel d’aide à la décision. squelette à l’aide du système d’information du système de planifi-
cation de l’entreprise. Le squelette du réseau va définir les liens
entre les différents types de variables. Ce squelette sera ensuite
3.4 Mise en œuvre informatique expansé en un réseau de Petri avec des requêtes SQL. Ces requêtes
utiliseront les tables du système d’information de l’entreprise. À
La gestion informatique d’un réseau de Petri de taille importante chaque objet du graphe (arc, place ou transition) correspond une
peut être faite à l’aide d’une base de données, et sa manipulation requête SQL remplissant la table associée (arc, place ou transition).
peut être faite avec un langage de quatrième génération (L4G) Le squelette du réseau défini figure 9 est donné figure 12. Par
comme SQL (Structured Query Language). Une base de données exemple, la place « place disponibilité four » du squelette est liée à
relationnelle mémorise les informations structurées en différents une requête de même nom qui va mémoriser dans la table « place »
tableaux appelés tables. Une table mémorise les informations liées toutes les places associées. Cette requête va définir autant de places
à une entité du système. Des exemples d’entités sont les places, les qu’il existe de fours dans la table du système d’information appelée
arcs et les transitions. Les colonnes d’une table désignent les attri- « four ».
buts de l’entité. Par exemple, les colonnes (attributs) des trois tables
De la même façon, nous avons implémenté le joueur de jetons du
que nous allons utiliser sont données figure 11. Les lignes de la
réseau de Petri avec des requêtes SQL. Ces requêtes permettent
table correspondent aux occurrences de l’entité. Dans le cas de
ainsi d’effectuer manuellement le plan de production et aussi de
l’entité place, le nombre de lignes dans la table correspondante sera
convertir le réseau en un programme linéaire.
le nombre de places dans le réseau. Chaque place définit ainsi un
multiensemble d’éléments. Le langage SQL permet d’extraire des La règle de tir d’une transition effectue la mise à jour du
sous-ensemble d’occurrences, d’effectuer des opérations ensem- marquage. Les jetons associés aux places en entrée de la transition
blistes et de faire des calculs sur des tables. Dans un souci de simpli- t tirée sont d’abord soustraits, puis dans un deuxième temps, les
fication, nous ne présentons pas les requêtes SQL mais seulement jetons sont ajoutés dans les places en sortie de t. Nous avons consi-
les fonctions mises en œuvre. déré que le nombre de tirs peut être supérieur à un. Cette opération

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Informatique industrielle S 7 254 − 11
APPLICATIONS DES RÉSEAUX DE PETRI ___________________________________________________________________________________________________

sation du problème de planification reste du ressort d’un spécialiste.


De plus, l’entreprise ne désire pas apprendre un nouveau langage
Place disponibilité four de spécification et préfère utiliser son langage métier. Ainsi pour
permettre la formalisation du problème de planification, une
surcouche graphique utilisant le langage métier doit impérative-
Arc four/teinte
ment être définie afin de masquer à l’utilisateur final les réseaux de
Petri, qui ne sont alors qu’un modèle utilisé pour l’implémentation
Transition four/teinte du logiciel. C’est seulement avec cet effort supplémentaire que
l’utilisateur final pourra définir lui-même de nouveaux modèles de
Arc teinte/machine problèmes de planification.
L’étude détaillée de ce cas se trouve en bibliographie, référence
Place disponibilité machine [2].

Arc machine production

Transition four/teinte/machine/modèle
4. Conclusion générale
Arc production commande Cet article a introduit l’utilisation des réseaux de Petri dans la
production manufacturière à partir de deux exemples.
Place modèle/teinte Dans une première partie, l’étude d’un cas concret a montré
comment modéliser une ligne de fabrication simple. Le dimension-
nement et l’évaluation des performances du système ont été étudiés
Figure 12 – Squelette du réseau modélisant le problème à partir du graphe d’événements temporisés obtenu lors de la phase
de planification de modélisation. Cet exemple a permis de mettre en évidence, au
moins partiellement, quelques avantages de l’approche par réseaux
de Petri. Nous avons ainsi montré succinctement qu’une même
est effectuée par deux requêtes SQL. Le nombre de tirs d’une transi- famille d’outils est utilisée pour la spécification, la modélisation,
tion donnée est mémorisé dans la table « transition » dans le l’analyse qualitative, le dimensionnement et l’évaluation des perfor-
champs tirs. mances du système étudié.
L’ensemble de ces requêtes permet de définir la construction La deuxième partie de cette étude a décrit la mise en œuvre d’un
manuelle et progressive d’une solution du problème de planification. système de planification de production. Ce cas industriel a présenté
Toutefois, l’utilisateur reste libre d’utiliser la représentation du réseau diverses techniques de résolution de ce problème et a permis de
de Petri sous forme d’un programme linéaire pour recourir à l’optimi- compléter l’étude précédente en mettant en évidence d’autres avan-
sation mathématique d’une sous-partie du problème général. tages de l’approche par réseaux de Petri. La même famille d’outils a
été utilisée à différents niveaux d’analyse, comme l’ordonnance-
ment, la planification, la coordination globale et le contrôle local de
3.5 Conclusion production.
L’article a ainsi abordé quelques-unes des techniques, basées sur
Nous avons présenté une approche fondée sur les réseaux de les réseaux de Petri, permettant de seconder les ingénieurs de
Petri pour planifier la production de bouteilles en verre. La résolu- production dans leur travail.
tion semi-automatique du problème est alors possible. La résolution
manuelle est faite par un joueur de jetons interactif où le décideur Informations pratiques et activités des groupes de recherche.
choisit les transitions à franchir. La résolution automatique s’obtient Serveur internet de l’université de Arrhus au Danemark conte-
par la résolution du programme linéaire associé au réseau de Petri. nant des outils logiciels en-ligne :
L’apport des réseaux de Petri tient dans la possibilité d’enchaîner http://www.daimi.aau.dk/PetriNets/
ces deux modes de fonctionnement. Serveur du groupe francophone sur les réseaux de Petri. Il
L’expérience menée au sein du service planification de production tient à jour une liste d’ouvrages concernant le domaine :
de BSN/Emballage montre l’intérêt pour la méthode mais la modéli- http://www.ec-lille.fr/~rdp

Références bibliographiques
[1] PROTH (J.M.) et XIE (X.). – Les réseaux de [3] SILVA (M.) et VALETTE (R.). – Petri Nets and [5] PROUST (C.) et GRÜNENBERGER (E.). – Pla-
Petri pour la conception et la gestion des sys- Flexible manufacturing (Réseaux de Petri et nification de production dans un contexte de
tèmes de production. 292 p., bibl. (67 ref.), systèmes de production). Lectures Notes in Flowshop hybride : conception et interpro-
1995 MASSON 120, boulevard Saint-Ger- Computer Sciences, Advances in Petri Nets, grammation de ARIANE 2000. Revue d’Auto-
main, 72580 PARIS Cedex 06. n° 424, 1989, pages 374 à 417, 6 figures, matique et de Productique Appliquée, vol. 8,
bibl. (172 ref.), Springer-Verlag, D-69042 Hei- n° 5, 1995, pages 715 à 734.
[2] RICHARD (P.). – Contribution des réseaux de
delberg, Germany.
Petri à l’étude des problèmes de recherche
opérationnelle. 174 p., bibl. (142 ref.), 1997
Dans les Techniques de l’Ingénieur
Thèse de doctorat, Université « François [4] XIE (X.). – Analyse, conception et contrôle [6] LADET (P.). – Outils de modélisation des
RABELAIS », École d’Ingénieurs en Informa- des systèmes de production. 250 p. bibl. (150 automatismes séquentiels. Les réseaux de
tique pour l’Industrie, 64 Avenue jean Porta- ref.), 1995 HDR en Sciences, Université de Petri. Traité Mesures et Contrôle, n° R 7 252,
lis, 37200 TOURS. METZ. 1989, pages 1 à 16, 32 figures, bibl. (4 ref.).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
S 7 254 − 12 © Techniques de l’Ingénieur, traité Informatique industrielle

Vous aimerez peut-être aussi