Fichier pdf de la thèse

Transcription

Fichier pdf de la thèse
No d'ordre : 3066
Année 1998
Thèse
préparée au
Laboratoire d'Analyse et d'Architecture des Systèmes du CNRS (UPR 8001)
en vue de l'obtention du
Doctorat de l'Université Paul Sabatier de Toulouse
spécialité : Informatique Industrielle - Productique
par
Ronan CHAMPAGNAT
Maître ès sciences et techniques en productique
Supervision des systèmes discontinus :
dénition d'un modèle hybride et pilotage en temps-réel
Soutenue le jeudi 1 er octobre 1998 devant le jury :
Président
Rapporteurs
Examinateurs
Directeurs de thèse
Jean-Louis
Hassane
Jean-Claude
Marc
Gérard
Jean-Claude
Philippe
Hervé
Robert
Rapport LAAS No 98 411
FERRIER
ALLA
GENTINA
COURVOISIER
FONTAN
HOCHON
ESTEBAN
PINGAUD
VALETTE
Cette thèse a été préparée au
LAAS-CNRS (UPR 8001)
7, avenue du Colonel Roche
31 077 Toulouse Cedex 4
Avant-propos
Les travaux présentés dans ce mémoire se sont déroulés du 1er décembre 1995 au 1er octobre
1998 au Laboratoire d'Analyse et d'Architecture des Systèmes du CNRS (UPR 8001). Je remercie
la direction, l'administration et les services techniques de ce laboratoire (réseau informatique,
documentation, édition, magasin) pour leur aide et leur attention.
J'ai eectué ces trois années au sein du même groupe de recherche qui a porté successivement
deux noms diérents : Systèmes de Production puis Organisation et Conduite des Systèmes Discrets. Je remercie les responsables successifs, Jean-Claude HENNET et François ROUBELLAT,
de m'y avoir accueilli. Je remercie également l'ensemble des membres du groupe OCSD pour leur
gentillesse (les diérents changements de noms ne l'ayant en rien modiée).
Je tiens à exprimer ma reconnaissance envers les membres du jury qui par la variété de
leurs questions m'ont prouvé tout l'intérêt qu'ils ont porté à mon travail. Je remercie Jean-Louis
FERRIER, professeur au LISA-ISTIA d'Angers, d'avoir accepté de présider le jury. Je remercie
également Hassane ALLA, professeur au LAG-ENSIEG de Grenoble, et Jean-Claude GENTINA,
professeur à l'ECL de Lille, d'avoir accepté la charge d'évaluer en qualité de rapporteur les travaux
présentés. Je remercie bien évidemment Marc COURVOISIER, professeur à l'UPS de Toulouse,
Gérard FONTAN, professeur à l'INPT de Toulouse et Jean-Claude HOCHON, consultant en
systèmes d'information techniques à la société IXI - agence sud-ouest, de m'avoir fait l'honneur
de participer au jury.
Je tiens à exprimer toute ma gratitude envers mes directeurs de recherche pour m'avoir
guidé tout au long de ces trois ans. Je remercie Philippe ESTEBAN, maître de conférences à
l'UPS de Toulouse, pour sa gentillesse, Hervé PINGAUD, maître de conférences à l'ENSIGC de
Toulouse, pour son enthousiasme, et Robert VALETTE, directeur de recherche au LAAS-CNRS
de Toulouse, pour les discussions à propos des réseaux de Petri(x) et pour la complicité qui s'est
créée entre nous.
Contrairement à Luis-Allan, je ne vais pas remercier les millions de français qui, par leurs
impôts, soutiennent la recherche scientique (enn un petit merci ça coûte rien), je me contenterai de remercier mes amis, plus particulièrement Camille, Carlos, Sam, Hassan, Flavio, Neil,
Ricardo... et ma famille. Merci Cécile pour ton amour, ton soutien et ta patience pendant ces
trois années.
Enn, je dois admettre avec regrets, que cette thèse ne lève pas le voile sur le grand problème
de la tribu CarladaMPetriX (tribu née dans le grand fossé, comme l'a expliqué Hervé à SIMO'96
[126]). En eet, tintin pour trouver Obélix...
iv
Avant-propos
Principales notations utilisées
: le temps.
P : l'ensemble des places d'un réseau de Petri.
pk : une place de P .
T : l'ensemble des transitions d'un réseau de Petri.
ti : une transition de T .
n : le nombre de places d'un réseau de Petri.
m : le nombre de transitions d'un réseau de Petri.
F : l'ensemble des systèmes d'équations associés aux places.
Fk : le système d'équations associé à la place pk .
E : l'ensemble des fonctions de sensibilisation.
ei : la fonction de sensibilisation de la transition ti .
J : l'ensemble des fonctions de jonction.
ji : la fonction de jonction de la transition ti .
Xm : l'ensemble des variables portées par un jeton.
Xpk : l'ensemble des variables de la place pk .
Xini : l'ensemble des variables associées aux places amont de ti .
Xouti : l'ensemble des variables associées aux places aval de ti .
Xe : l'ensemble des variables d'entrée.
Xint : l'ensemble des variables internes.
Xs : l'ensemble des variables de sortie.
, : l'ensemble des étiquettes d'un réseau de Petri.
r : une étiquette correspondant à l'évènement r .
vi
Principales notations utilisées
Table des matières
Introduction
1
Chapitre I
Outils pour la supervision et l'ordonnancement
Chapitre II
Formalisation d'un modèle pour les procédés discontinus
I.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.2 Supervision des systèmes discrets . . . . . . . . . . . . . . . . . . . . . . . . .
I.2.1 Structure hiérarchique de commande . . . . . . . . . . . . . . . . . . .
I.2.2 Le niveau ordonnancement . . . . . . . . . . . . . . . . . . . . . . . .
I.2.3 Le niveau supervision . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.3 Outil pour la supervision des systèmes discrets : les réseaux de Petri . . . . .
I.3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.3.2 Représentation des contraintes de précédence des gammes . . . . . . .
I.3.3 Représentation des mécanismes d'allocation de ressources . . . . . . .
I.3.4 Détection des interblocages . . . . . . . . . . . . . . . . . . . . . . . .
I.3.5 Utilisation des réseaux de Petri pour la supervision . . . . . . . . . . .
I.4 Outils pour l'ordonnancement des systèmes discrets . . . . . . . . . . . . . . .
I.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.4.2 Les graphes potentiels . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.4.3 Les réseaux de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.4.4 Les state-task network . . . . . . . . . . . . . . . . . . . . . . . . . . .
I.4.5 Discussion sur les modèles utilisés pour l'ordonnancement . . . . . . .
I.5 Supervision des systèmes discontinus . . . . . . . . . . . . . . . . . . . . . . .
I.5.1 Qu'est-ce qu'un système discontinu? . . . . . . . . . . . . . . . . . . .
I.5.2 Spécicités des systèmes discontinus par rapport aux systèmes discrets
I.5.3 Impact des spécicités des systèmes discontinus sur l'ordonnancement
I.5.4 Commande des systèmes discontinus . . . . . . . . . . . . . . . . . . .
I.5.5 Surveillance dans le cadre des systèmes discontinus . . . . . . . . . . .
I.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
6
6
9
9
10
11
11
12
13
14
15
15
16
19
24
24
25
25
25
27
28
28
30
31
Table des matières
viii
II.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
II.2 Présentation des types de modèles discrets et continus . . . . . . . . . . . . .
II.3 Dénition d'un modèle pour les procédés discontinus . . . . . . . . . . . . . .
II.3.1 Stratégies d'obtention d'un modèle pour les procédés discontinus . . .
II.3.2 Étendre un modèle continu . . . . . . . . . . . . . . . . . . . . . . . .
II.3.3 Étendre un modèle à évènements discrets . . . . . . . . . . . . . . . .
II.3.4 Utiliser un formalisme hybride . . . . . . . . . . . . . . . . . . . . . .
II.3.5 Les automates hybrides . . . . . . . . . . . . . . . . . . . . . . . . . .
II.3.6 Utiliser deux formalismes . . . . . . . . . . . . . . . . . . . . . . . . .
II.4 Dénition formelle du couplage entre réseaux de Petri et systèmes d'équations
II.4.1 Réseau de Petri et réseaux prédicats-transitions . . . . . . . . . . . . .
II.4.2 Réseaux prédicats-transitions-diérentiels . . . . . . . . . . . . . . . .
II.4.3 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
II.4.4 Construction de l'automate hybride équivalent . . . . . . . . . . . . .
II.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre III
Modélisation de systèmes complexes et exemples
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
III.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.2 Formalisation du couplage de sous-modèles . . . . . . . . . . . . . . . . . . . . .
III.2.1 Fusion (( statique )) de transitions . . . . . . . . . . . . . . . . . . . . . . .
III.2.2 Fusion de branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.2.3 Fusion dynamique de transitions . . . . . . . . . . . . . . . . . . . . . . .
III.2.4 Fusion de transitions des réseaux prédicats-transitions-diérentiels . . . .
III.2.5 Fusion de branches pour les réseaux prédicats-transitions-diérentiels . . .
III.3 Modularité de la partie continue . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.3.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.3.2 Structuration des variables . . . . . . . . . . . . . . . . . . . . . . . . . .
III.3.3 Sous-réseau bien structuré . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.3.4 Réseau prédicats-transitions-diérentiels bien structuré . . . . . . . . . . .
III.3.5 Relation de causalité entre sous-réseaux prédicats-transitions-diérentiels .
III.3.6 Couplage de sous-réseaux par test de variables continues (interactions hybrides) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels . . . . . . . . . .
III.4.1 Exemple n 1 : procédé discontinu . . . . . . . . . . . . . . . . . . . . . .
III.4.2 Exemple n 2 : procédé avec stockage intermédiaire . . . . . . . . . . . . .
III.4.3 Exemple n 3 : stockage de gaz . . . . . . . . . . . . . . . . . . . . . . . .
III.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Chapitre IV
Simulation des réseaux prédicats-transitions-diérentiels
31
31
33
33
33
34
35
37
39
40
40
42
44
46
47
49
49
50
50
51
51
55
57
58
58
59
59
60
61
61
64
64
68
72
84
85
IV.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Table des matières
ix
IV.2 Premier principe . . . . . . .
IV.2.1 Méthode . . . . . . . .
IV.2.2 Exemple . . . . . . . .
IV.2.3 Limites de l'approche
IV.3 Second principe . . . . . . . .
IV.3.1 Méthode . . . . . . . .
IV.3.2 Exemple . . . . . . . .
IV.4 Conclusion . . . . . . . . . . .
Chapitre V
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Supervision des systèmes discontinus
86
86
88
90
92
92
94
97
101
V.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
V.2 Notions de temps relatif et de temps absolu . . . . . . . . . . . . . . . . . . . . . 101
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri . . . . . . . . . . 103
V.3.1 Contraintes de précédence et de ressources . . . . . . . . . . . . . . . . . . 104
V.3.2 Détection des incohérences structurelles . . . . . . . . . . . . . . . . . . . 104
V.3.3 Détection des décisions incohérentes . . . . . . . . . . . . . . . . . . . . . 108
V.3.4 Détection des incohérences quantitatives . . . . . . . . . . . . . . . . . . . 110
V.4 Agrégation de contraintes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
V.4.1 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
V.4.2 Contraintes données par les graphes potentiels . . . . . . . . . . . . . . . . 113
V.4.3 Décomposition d'un réseau de Petri . . . . . . . . . . . . . . . . . . . . . . 114
V.4.4 Contraintes agrégées de gamme et de ressource à partir d'un réseau de Petri114
V.5 Bilan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
V.6 Pilotage en temps-réel d'un système discontinu . . . . . . . . . . . . . . . . . . . 117
V.6.1 Critères pour le choix d'un modèle . . . . . . . . . . . . . . . . . . . . . . 117
V.6.2 Architecture de la couche pilotage et son interaction avec l'ordonnancement117
V.6.3 Détail des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
V.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Conclusions et perspectives
Annexe A
Présentation de l'exemple du stockage de gaz
A.1
A.2
A.3
A.4
A.5
Le stockage de gaz ( S ) . . . . . . . . . . . . . . . . .
Modélisation de la compression amont ( Cp1 et Cp2 )
Modélisation de la détente amont (vanne VR1 ) . . .
Modélisation de la compression aval ( Cc ) . . . . . .
Modélisation de la détente aval (vanne VR2 ) . . . . .
Annexe B
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
123
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Représentation et simulation des systèmes continus
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
127
127
130
130
131
131
133
B.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
B.2 Dénition d'un système continu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Table des matières
x
B.3 Traitement numérique . . . . . . . . . . . . . . . . . .
B.3.1 Systèmes algébriques . . . . . . . . . . . . . . .
B.3.2 Systèmes d'équations diérentielles ordinaires .
B.3.3 Systèmes d'équations diérentielles algébriques
Références bibliographiques et bibliographie
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
134
134
136
138
139
Introduction
Cette thèse traite de la supervision des systèmes discontinus. Ce sont des systèmes qui mettent
en ÷uvre des appareils de type continu, la matière est transformée de manière continue au cours
de son passage dans l'équipement (e.g. échangeur), ou des appareils de type discontinu, un lot de
quantité nie de matière est chargé sur un équipement et y subit globalement une transformation
(e.g. réacteur). La matière traitée dans ces systèmes est de type continu (e.g. uide, gaz), et par
conséquent est non saisissable (non identiable au sens d'une entité atomique élémentaire tel un
produit manufacturier).
Les entreprises du génie des procédés (chimie ne, agro-alimentaire...), du fait de la modication du marché, ont développé de plus en plus d'unités de type discontinu. L'internationalisation
du marché, la variation de la demande et de la qualité, et la production de produits spécialisés
à haute valeur ajoutée en quantité faible ont rendu les unités produisant un seul produit en
grande quantité inadaptées. Les entreprises du génie des procédés se sont alors tournées vers des
unités produisant plusieurs produits en quantité variable (traitement par lots) et pilotées par la
demande.
Ce nouveau mode de production est proche de celui des entreprises manufacturières, cependant il n'est pas possible d'appliquer directement et brutalement les résultats et les approches
développées dans ce contexte. En eet, la commande des procédés discontinus doit prendre en
compte à la fois les aspects discrets (enchaînement des opérations) et les aspects continus (évolution de la matière). Les opérations continues se trouvant dans des enchaînements d'opérations
discrètes deviennent plus complexes à cause de la nécessaire introduction de phases de démarrage
et d'arrêt et des régimes transitoires qui en résultent. Enn les spécicités des systèmes discontinus (uctuation des durées opératoires, transferts non négligeables, stockages de matière...) les
rendent plus diciles à contrôler que les systèmes purement discrets.
Cette thèse fait suite aux travaux de D. Andreu [9] qui a déni une architecture de commande
et les principes sur lesquels on pouvait développer la surveillance des systèmes discontinus. Il a
déni une approche de modélisation, hybride et modulaire, des systèmes discontinus, an d'avoir
un modèle hybride pour la commande. Puis il a étendu la notion de modèle de référence (modèle
qui évolue de manière synchrone avec le procédé pour détecter les dysfonctionnements) au cas des
systèmes hybrides. Il a enn introduit une nouvelle fonction dans l'architecture de commande :
le générateur d'évènements. Cette fonction est chargée de faire l'interface entre le monde des
contrôleurs locaux (régulateurs continus, automates programmables) et celui de la supervision.
Dans le cadre de cette thèse, nous allons dénir formellement le modèle hybride dont les
principes ont été donnés par B. Daubas [53] et D. Andreu [9]. Ce modèle est basé sur la combinaison d'un réseau prédicats-transitions et de systèmes d'équations diérentielles algébriques.
Notre apport a, en particulier, consisté à répartir les variables continues sur les jetons sous la
2
Introduction
forme d'attributs. Cela permet de respecter le principe de (( localité )) qui est la caractéristique
des réseaux de Petri : toutes les informations dénissant un évènement sont localisées dans les
places d'entrée de la transition correspondante. Ce principe est essentiel pour une bonne maîtrise
du parallélisme et il permet l'élaboration d'approches modulaires.
Nous avons donc tout naturellement abordé ensuite le problème de l'écriture de modèles de
grande taille en dénissant formellement la fusion de transitions et en donnant un ensemble de
dénitions permettant de garantir qu'un modèle est calculable s'il est composé de sous-ensembles
calculables.
Enn, pour terminer nous abordons le problème de la supervision des systèmes discontinus.
Comme la surveillance a été développée par D. Andreu, nous avons plus particulièrement étudié
le pilotage en temps-réel du ot de produits, c'est-à-dire que notre eort s'est essentiellement
porté sur les problèmes liés à l'interaction entre la supervision et l'ordonnancement prévisionnel.
Plus concrètement, cette thèse est composée de cinq chapitres. Le premier présente la supervision des systèmes discrets, en détaillant plus particulièrement les niveaux supervision et
ordonnancement. Ce chapitre se poursuit par la présentation des réseaux de Petri (couramment
utilisés pour le niveau supervision) et des graphes potentiels (couramment utilisés pour le niveau ordonnancement) vis-à-vis de l'expression des contraintes de relation d'ordre qualitatives
et quantitatives. Nous présentons ensuite les particularités des systèmes discontinus, ce qui nous
permet de bien spécier les besoins pour la modélisation.
Le deuxième chapitre commence par une étude des modèles utilisés pour représenter des
systèmes discontinus, en nous attachant à souligner leurs intérêts et limitations. Cette étude
nous conduit à dénir formellement un modèle hybride basé sur la combinaison d'un réseau
prédicats-transitions et de systèmes d'équations diérentielles algébriques : les réseaux prédicatstransitions-diérentiels.
An de faciliter l'obtention d'un modèle dans le cadre des systèmes de grande taille, nous
dénissons formellement, dans le troisième chapitre, la fusion de transitions dans le cadre des
réseaux ordinaires et prédicats-transitions-diérentiels. Puis nous donnons un ensemble de dénitions permettant l'élaboration d'une approche modulaire. Chaque équipement et chaque recette
est représenté par un module qui est un réseau prédicats-transitions-diérentiels. Le modèle du
système est alors obtenu par composition. La composition des parties discrètes se fait par fusion
des transitions et celle des parties continues par des variables d'entrée et des variables de sortie.
Enn nous illustrons notre technique de modélisation et les règles de construction modulaire à
travers trois exemples.
Le quatrième chapitre est dédié à la simulation des réseaux prédicats-transitions-diérentiels.
Nous décrivons deux principes de simulation en précisant les cas d'utilisation pour chacun d'entre
eux. Le premier principe consiste à utiliser un simulateur de réseau de Petri haut-niveau après
avoir transformé les systèmes d'équations diérentielles algébriques en équations algébriques
explicites. Le deuxième principe est basé sur le couplage d'un simulateur réseaux de Petri et
d'un simulateur de systèmes d'équations diérentielles algébriques.
Enn, dans le dernier chapitre, nous traitons la supervision des systèmes discontinus. Nous
commençons par une étude détaillée des diérences entre les réseaux de Petri et les graphes
potentiels, en examinant tout particulièrement leur capacité à détecter les incohérences. Puis
nous proposons une approche pour le pilotage en temps-réel des systèmes discontinus. Comme
nous l'avons déjà mentionné, nous nous intéressons plus particulièrement au lien entre les niveaux
supervision et ordonnancement prévisionnel.
Pour terminer, nous tenons à préciser qu'une partie de ces travaux s'est déroulée dans le
cadre d'une collaboration industrielle, celle du projet ANVAR (( simulation mixte )), menée par
Introduction
3
la société IXI avec les sociétés Elf-Aquitaine, Alliance Agro-Alimentaire et Turboméca et trois
laboratoires : l'École Nationale Supérieure en Génie des Technologies Industrielles de Pau, le
Laboratoire de Génie Chimique de l'École Nationale Supérieure d'Ingénieurs de Génie Chimique
de Toulouse et le Laboratoire d'Analyse et d'Architecture des Systèmes du CNRS de Toulouse.
Ce cadre nous a donné l'occasion de mieux cerner les besoins industriels dans le domaine et nous
a permis d'étudier un certains nombre d'exemples types, en particulier celui du stockage de gaz
du chapitre III. Le résultat de cette collaboration est le développement de la version (( simulation
mixte )) du logiciel Miss-RdP où se retrouvent certaines idées du chapitre IV.
4
Introduction
Chapitre I
Outils pour la supervision et l'ordonnancement
I.1 Introduction
L'évolution des marchés a remis sur le devant de la scène les industries ayant une production
de type discontinu, relançant par la même occasion l'intérêt pour ces types de systèmes. Dans ce
type de production on retrouve des problèmes liés au traitement continu de la matière, et tous
les problèmes provenant du caractère discret de la production (gestion des passages des produits
sur les équipements, allocation des ressources...) sont renforcés.
Cette thèse traite de la supervision des systèmes discontinus, elle fait suite aux travaux de
D. Andreu [9] et nous avons choisi d'étudier plus particulièrement l'interaction entre l'ordonnancement prévisionnel et le pilotage en temps-réel des produits.
Ce premier chapitre présente tout d'abord l'architecture hiérarchique classique sans faire
un état de l'art exhaustif (cela a été fait dans le travail de D. Andreu). Nous soulignons plus
particulièrement les diérences entre les façons de prendre les décisions à chaque niveau vis-à-vis
du ot d'informations venant du procédé ou de la gestion. Puis nous étudions les outils pour
la supervision et l'ordonnancement. Partant du constat que dans le cadre de la supervision les
réseaux de Petri sont plus utilisés et que dans celui de l'ordonnancement les graphes potentiels
sont plus employés, et étant donné que nous nous intéressons plus particulièrement à l'interaction
entre ces deux niveaux, nous analysons les potentialités de ces deux outils vis-à-vis des leur
capacité à exprimer des contraintes de précédences qualitatives et quantitatives. Nous détaillons
également l'utilisation des réseaux de Petri pour l'obtention de la commande et de la surveillance
des systèmes discrets. Nous présentons, ensuite, les graphes potentiels utilisés pour déterminer
une séquence de production (un plan) d'un système discret, et, également, comment sont utilisés
les réseaux de Petri pour dénir un plan de production. Ce chapitre n'est pas une synthèse de
tous les travaux sur l'ordonnancement des systèmes de production discrets et hybrides, nous
n'avons examiné l'ordonnancement que vis-à-vis de sa nécessaire interaction avec la supervision
en temps-réel. Enn, en dernière partie de ce chapitre, nous parlons de la supervision dans le
cadre des systèmes discontinus en commençant par dénir ce qu'est un procédé discontinu et ses
spécicités par rapport aux systèmes discrets.
6
Chapitre I Outils pour la supervision et l'ordonnancement
I.2 Supervision des systèmes discrets
I.2.1 Structure hiérarchique de commande
Présentation
Le but d'un système de production est de fabriquer des produits nis à partir de pièces en
entrée. Les pièces sont transformées par les équipements composant le système (le procédé).
Les équipements réalisent les transformations des produits en respectant la commande appliquée au système (voir gure I.1). On y retrouve des fonctions comme la gestion de production
et la conduite temps-réel. Du fait de la quantité d'informations et du nombre de fonctions de
commande, une étude globale du système est dicilement possible et la structure de décisions
est généralement décomposée en une hiérarchie de niveaux d'abstraction [68, 145]. Le but d'une
telle décomposition est de ramener la résolution d'un problème de grande dimension aux caractéristiques variées à une suite de résolutions de problèmes de taille raisonnable ayant des
caractéristiques plus homogènes.
Commande
Pièces à transformer
Système de production
Pièces transformées
Figure I.1 Commande d'un système de production
La commande d'un système discret est fréquemment décomposée en cinq niveaux, comme
le suggèrent les auteurs de [10], C. Briand dans [34], les auteurs de [70] et R. Valette dans
[150] : commande locale, coordination, supervision, ordonnancement et planication. Un niveau
de commande proche du procédé est un niveau (( bas )), alors qu'un niveau qui n'intervient pas
immédiatement sur le procédé est un niveau (( haut )). Une décision allant d'un niveau haut vers
un niveau bas sera une information descendante, alors qu'un compte-rendu allant d'un niveau
bas vers un niveau haut sera une information ascendante (voir gure I.2). Nous allons présenter
chaque niveau en commençant par le niveau le plus proche du procédé (la commande locale) puis
en décrivant, successivement, les niveaux directement supérieurs.
Niveau commande locale Il a pour but de mettre en ÷uvre la commande de chaque équipe-
ment en temps-réel. Ce niveau est, généralement, décomposé en autant de sous-parties (appelées
également commandes locales ou contrôleurs locaux) qu'il y a d'équipements à commander.
Chaque sous-partie est composée d'opérations élémentaires faisant intervenir les capteurs et actionneurs de l'équipement concerné.
Niveau coordination Il coordonne l'utilisation des commandes locales. Cette coordination
est nécessaire lorsque deux équipements (si le niveau commande locale est décomposé par équipements) doivent intervenir ensemble pour la réalisation d'une opération.
Niveau supervision Il pilote en temps-réel le procédé de façon à respecter le plan de production en tenant compte de l'état du procédé. Les deux fonctions principales sont la prise de
décisions en temps-réel et la surveillance.
I.2 Supervision des systèmes discrets
7
Niveau Stratégique
comptes-rendus
décisions
De moins en moins réactif
Niveau Planication
comptes-rendus
décisions
Niveau Ordonnancement
comptes-rendus
décisions
Agrégation des informations
Niveau Supervision
comptes-rendus
décisions
Niveau Coordination
décisions
comptes-rendus
De plus
en plus
réactif
Niveau Commande Locale
décisions
comptes-rendus
Procédé
Figure I.2 Structure hiérarchique de commande
Niveau ordonnancement Il détermine le plan prévisionnel de production à appliquer au
procédé sur un horizon temporel. C'est-à-dire que pour chaque ressource il détermine la séquence
d'opérations à réaliser.
Niveau planication Il détermine la quantité de produits à réaliser et l'utilisation des moyens
sur un horizon de temps moyen (généralement plusieurs mois). Il est également appelé, dans la
littérature, niveau tactique. Ce problème est complexe et doit être basé sur une représentation
agrégée des produits, et du procédé. Le plan de production construit lors de la planication
dénit, entre autres, les quantités à produire et les produits à fabriquer pour chaque centre de
production, les niveaux des stocks...
Certaines décompositions font intervenir un niveau au dessus du niveau planication. Il s'agit
du niveau stratégique [15]. Il élabore les politiques et stratégies au plus haut niveau de l'entreprise.
Les moyens nanciers, matériels et humains sont déterminés à long terme par une série de
décisions, compte tenu d'objectifs techniques et économiques.
Chaque niveau dialogue avec les niveaux inférieurs et supérieurs directement adjacents. Une
information descendante sera désagrégée au fur et à mesure de sa propagation dans les niveaux
inférieurs. Inversement, une information ascendante sera agrégée à son passage dans les niveaux
supérieurs.
Dans le cadre de cette thèse nous nous intéressons plus particulièrement au problème de la
supervision, et de la mise en ÷uvre du plan de production. Par conséquent nous détaillons le
niveau ordonnancement, ainsi que le niveau supervision, dans les paragraphes suivants I.2.2 et
I.2.3. Mais auparavant analysons comment la réactivité peut être mise en ÷uvre aux diérents
niveaux, c'est-à-dire comment on peut positionner l'instant d'une prise de décisions vis-à-vis
Chapitre I Outils pour la supervision et l'ordonnancement
8
d'horizons temporels et d'évènements asynchrones.
Réactivité d'un système de commande
Les niveaux les plus hauts ne sont en général pas réactifs, c'est-à-dire que les décisions sont
prises à des dates xes, prédénies (au début de chaque semaine, au début de chaque mois...)
et donc de façon périodique. Les décisions sont plus ou moins élaborées à partir d'informations
provenant du système de production (décision en boucle ouverte ou en boucle fermée). Pour
les niveaux bas de commande, la réactivité est de plus en plus prononcée et se traduit par des
contraintes d'exécution en temps-réel, comme le montre J.-P. Elloy dans [65].
La réactivité d'un système se dénit par rapport à ses réactions (les décisions qu'il prend)
vis-à-vis des informations qu'il reçoit. Elle consiste à prendre une décision à la réception d'une information et donc en dehors des prises de décisions périodiques. Au lieu de se synchroniser avec
l'horizon temporel on se synchronise avec des réceptions d'informations qui arrivent de façon
sporadique. Quelle est alors la diérence entre un fonctionnement réactif et un fonctionnement
en temps-réel? La gure I.3 illustre ces notions. Nous montrons, pour trois séquences d'informations identiques (traits verticaux en bas de l'axe des temps), un fonctionnement non-réactif, un
fonctionnement réactif et un fonctionnement en temps-réel (les décisions sont représentées par
les ).
t décisions non-réactives
-aD1
-b-c-
D2 D3
I1I2
D4 D5 D6
t décisions réactives
t décisions temps-réel
Figure I.3 Réactivité d'un système de commande
Le premier schéma de cette gure (I.3-a) décrit un mode de prise de décisions non-réactif.
Les décisions sont prises à des instants prédénis au début de chaque horizon temporel sur lequel
le plan correspondant est élaboré (les horizons sont représentés par les doubles êches). Ce n'est
pas le ux d'informations qui provoque la prise de ces décisions.
Le second schéma (I.3-b) montre un fonctionnement réactif. C'est-à-dire qu'une décision sera
prise après l'arrivée de certaines informations sans attendre la n de l'horizon. Le traitement
de l'information et la prise de décision n'étant pas de durée nulle (cette durée est représentée
par le rectangle entourant le , et les décisions sont prises aux instants Di ), il peut y avoir des
informations qui apparaissent pendant ce traitement (informations entourées en pointillés). Dans
un système réactif, le fait de répondre après l'arrivée d'un autre évènement n'est pas critique. Sur
notre exemple deux informations I1 et I2 arrivent avant que la décision D2 soit prise, la décision
suivante, D3 , est retardée et prendra en compte ces deux informations. Les prises de décisions
sont asynchrones et sporadiques vis-à-vis des horizons temporels, et ne sont pas nécessairement
toutes synchronisées avec la réception des informations (évènements). On peut conserver des
décisions périodiques liées aux horizons.
Dans le cadre d'un traitement temps-réel de l'information (I.3-c), il faut avoir pris une décision
avant l'arrivée de l'évènement suivant. Il n'y a plus de notion d'horizon temporel. Les prises de
décisions doivent être exactement synchrones aux évènements. On considère en général que la
I.2 Supervision des systèmes discrets
9
supervision est le premier niveau devant fonctionner en temps-réel. L'ordonnancement se faisant
le plus souvent vis-à-vis d'un horizon.
I.2.2 Le niveau ordonnancement
Ce niveau doit élaborer le plan de production détaillé. On y dénit l'ordre et les dates
d'exécution de chaque opération sur chaque machine tout en tenant compte des contraintes
imposées par le niveau planication et de la capacité des machines.
Ce niveau doit traiter deux problèmes. Le premier, le problème de l'aectation, se pose lorsqu'il s'agit d'allouer des ressources aux opérations préalablement séquencées, en tenant compte
des capacités du procédé.
Le second, le problème d'ordonnancement, se pose lorsqu'il s'agit de programmer dans le
temps, l'exécution de diverses opérations soumises à des contraintes, auxquelles sont attribuées
des ressources, de manière à réaliser un objectif donné. Une solution de ce problème détermine
l'ordre et le calendrier d'exécution des opérations en xant leurs dates de début [110].
Le plan de production peut être donné comme une suite d'opérations parfaitement ordonnées,
on considère alors que l'on a déni un ordonnancement explicite. Généralement le plan obtenu
est optimal vis-à-vis d'un critère : il s'obtient par des techniques d'optimisation combinatoire,
souvent fondées sur la théorie des graphes, la programmation dynamique, ou des procédures par
séparation et évaluation progressive. Il peut également être basé sur des heuristiques.
Une autre solution est d'élaborer un ensemble de règles qui dénissent, chaque fois qu'une
machine devient libre, l'opération suivante. Généralement ce type de décisions est basé sur l'utilisation de modèles de les d'attentes associées aux ressources, ou sur la dénition d'un plan
composé d'un ensemble de solutions admissibles comme dans les thèses de A. Le Gall [105],
J.-C. Deschamp [62], J.-C. Billaut [30] et C. Artigues [16]. Une telle stratégie peut être considérée comme la dénition d'un ordonnancement implicite, ou d'un ensemble d'ordonnancements
admissibles.
Ordonnancements et règles sont dénis soit de façon synchrone vis-à-vis d'horizons prédénis,
soit de façon réactive après certains évènements (défaillances, commande urgente...)
Dans la suite de notre étude, nous considérons que le niveau ordonnancement dénit un
ordonnancement explicite (plan prévisionnel).
I.2.3 Le niveau supervision
Présentation générale
La fonction principale de ce niveau est la prise de décisions en temps-réel. Cette fonction
est chargée de résoudre en temps-réel les indéterminismes qui existent encore. Le système doit
respecter au mieux l'ordonnancement prévisionnel qui a été calculé au niveau ordonnancement et
doit être capable, dans le cas d'un comportement anormal, de faire une redistribution des tâches
à eectuer au sein du système en temps-réel, an que la production ne soit pas interrompue à
chaque évènement imprévu.
Pour piloter le système de production, le niveau supervision s'appuie sur la fonction de surveillance. Cette fonction a pour but de surveiller le procédé à travers les informations provenant
du niveau inférieur et de surveiller l'exécution du plan à partir des informations du niveau supérieur. Le niveau supervision peut être schématisé par la gure I.4.
La mise en ÷uvre du système d'élaboration des prises de décisions peut se faire à l'aide d'un
joueur de réseau de Petri. Il s'agit d'un mécanisme d'inférence particulier exploitant le réseau.
Il détermine la liste des transitions franchissables et la transition à franchir. Ainsi il peut faire
Chapitre I Outils pour la supervision et l'ordonnancement
10
décisions
Surveiller plan
comptes-rendus
Prise de décisions
en temps-réel
Surveiller procédé
décisions
comptes-rendus
Niveau
supervision
Figure I.4 Supervision d'un système de production
apparaître les conits, par l'intermédiaire de la liste des transitions sensibilisées. Le choix de la
transition à franchir (la décision prise) se basera sur les contraintes venant du plan prévisionnel
et d'indicateurs agrégés concernant l'état des ressources (saturée, normale, sous utilisée...).
Surveillance du procédé sur informations montantes
La surveillance d'un procédé regroupe l'ensemble des traitements temps-réels concernant les
défaillances du procédé [58]. Il s'agit de détecter, en temps-réel, tous les comportements anormaux
ou non-nominaux (panne de machine...) [143, 51, 42, 162] et d'eectuer un diagnostic.
Il faut détecter les situations qui ne correspondent pas à l'exécution de la commande. Qu'il
s'agisse d'un dysfonctionnement du procédé qui délivre alors un service non conforme au service
attendu, le diagnostic du dysfonctionnement déterminera si l'équipement peut être utilisé en
mode dégradé ou s'il doit être mis en état de défaillance, ou qu'il s'agisse de retards sur les
opérations de production.
La surveillance du procédé permet de donner l'état exact du système de production, et ainsi
de prendre les décisions les plus pertinentes possibles.
Surveillance de l'exécution du plan sur informations descendantes
Il s'agit de surveiller l'exécution du plan prévisionnel déterminé par le niveau ordonnancement. Il faut suivre l'évolution de la production et détecter les divergences entre le plan prévisionnel et l'état du système de production.
En eet les systèmes de production sont perturbés et il est rare que le procédé soit, lors
de l'exécution du plan, dans les conditions qui ont servi à son calcul. Lorsque les divergences
apparaissent, cette fonction les détecte et décide si le plan doit être remis en cause, ou simplement
exploité diéremment an de continuer à respecter les contraintes dans un nouvel environnement
perturbé.
I.3 Outil pour la supervision des systèmes discrets : les réseaux de
Petri
Un réseau de Petri est un outil graphique et mathématique qui s'applique à un grand nombre
de domaines où les notions d'évènements et d'évolutions simultanées sont importantes. Cette
I.3 Outil pour la supervision des systèmes discrets: les réseaux de Petri
11
théorie est née de la thèse de C.A. Petri [123], qui traitait de la communication entre les automates, et fut étendue par A.W. Holt au sein du Massachussetts Institute of Technology (MIT),
pour aboutir aux réseaux de Petri. Les réseaux de Petri sont aujourd'hui considérés comme un
outil de représentation formel qui permet la modélisation, l'analyse et le contrôle des systèmes
à évènements discrets qui comprennent des activités en parallèle, concurrentes et asynchrones.
Parmi les articles et ouvrages traitant des réseaux de Petri et de leurs propriétés on peut citer les G.W. Brams [31, 32], M. Courvoisier et R. Valette [52], R. David et H. Alla [56, 57],
K. Jensen [91], T. Murata [114], J.L. Peterson [122], C. Reutenauer [134]...
I.3.1 Présentation
Un réseau de Petri (RdP) est un graphe composé de deux types de n÷uds, des places et des
transitions. Les places sont représentées par des cercles, les transitions par des barres. Des arcs
orientés relient les places aux transitions. Un réseau de Petri marqué contient un nombre entier
(positif ou nul) de marques, ou jetons, réparties à travers les places. Cette répartition décrit l'état
discret du modèle [151].
Les jetons se déplacent dans le réseau de Petri en respectant les règles d'évolution suivantes.
Une transition est sensibilisée si chacune de ses places d'entrée (places amont) contient au moins
un jeton (dans le cas le plus simple des réseaux pour lesquels aucun poids n'est attaché aux
arcs). Lorsqu'elle est sensibilisée, une transition peut être franchie (tirée). Le tir d'une transition
correspond à retirer un jeton de chaque place amont à la transition, et à ajouter un jeton à
chaque place aval (place de sortie), voir gure I.5. Le franchissement d'une transition correspond
à l'occurrence d'un évènement.
p1
p1
t1
p2
p4
t1
Franchissement
de t1
p2
p1
p4
t1
Franchissement
de t2
p2
t2
t2
t2
p3
p3
p3
t sensibilisée
t2 1non-sensibilisée
t1 non-sensibilisée
t2 sensibilisée
p4
t sensibilisée
t2 1non-sensibilisée
Figure I.5 Évolution du marquage d'un RdP
I.3.2 Représentation des contraintes de précédence des gammes
Une gamme décrit l'ensemble des opérations, ordonnées dans le temps, pour réaliser un
produit. Elle est représentée, dans un réseau de Petri, par une séquence de places et de transitions.
Un jeton circulant dans cette séquence de places et de transitions représente un produit en cours
de transformation par cette gamme. Les places représentent les diérents états des produits
suivant la gamme, et les transitions les évènements correspondant à des débuts ou des ns
12
Chapitre I Outils pour la supervision et l'ordonnancement
d'opérations. Un jeton dans une place représente un produit (ou un lot de produits) dans un
état.
Une contrainte de précédence entre deux opérations d'une même gamme est traduite par une
place entre deux transitions (celle de l'évènement n de l'opération précédente et celle de début
de l'opération suivante). L'extrait de réseau de la gure I.6 exprime la contrainte de précédence :
l'évènement ta précède l'évènement tb .
ta
tb
Figure I.6 Relation de précédence entre deux évènements
ta
tb
Figure I.7 Relations de précédence entre évènements
Cependant avec le marquage de la gure I.7, on peut avoir tb avant ta . En fait la contrainte
exprimée par le réseau de Petri est plus complexe qu'une relation d'ordre temporelle entre l'occurrence de deux évènements. Elle concerne deux séquences d'évènements, la nième occurrence
de ta précède la n + 1ième occurrence de tb ( n 1 ).
Une transition représente une famille d'évènements, et le tir d'une transition avec un jeton
représente l'occurrence de cet évènement pour le produit correspondant à ce jeton.
Il est ainsi possible de représenter le fait que l'évènement tc se produit après ta et tb , gure
I.8-a, ou que tc se produit après ta ou tb , gure I.8-b (pas la nième pour ta , tb et tc , mais au
total n occurrences de ta et tb pour n occurrences de tc ).
ta
-a-
tb
tc
ta
-b-
tb
tc
Figure I.8 Autres types de relations de précédence entre évènements
Un réseau de Petri permet de donner une relation d'ordre partiel complexe entre des ensembles
d'occurrences de familles d'évènements.
I.3.3 Représentation des mécanismes d'allocation de ressources
Les réseaux de Petri permettent d'exprimer facilement les contraintes d'exclusion mutuelle
entre deux opérations. La gure I.9 représente le fait que Op1 et Op2 ne peuvent pas se produire
I.3 Outil pour la supervision des systèmes discrets: les réseaux de Petri
13
simultanément (parce qu'elles utilisent la même ressource R ).
deb1
deb2
R
Op1
Op2
fin1
fin2
Figure I.9 Représentation de l'exclusion mutuelle entre deux opérations avec un RdP
Il est ainsi possible de préciser les relations de précédences éventuelles induites par les ressources. Par exemple nous voyons que, sur la gure I.9, la ressource R est utilisée pour deux
types d'opérations. Avec le marquage de la gure I.10-a le réseau exprime les deux séquences de
productions possibles sur R : Op1 Op2 ou Op2 Op1 . Alors que le marquage de la gure I.10-b
représente les précédences potentielles entre deux produits devant subir la même opération avec
la ressource R , soit la séquence Op1 Op1 .
deb1
Op1
R
fin1
-a-
deb2
deb1
Op2
Op1
fin2
fin1
R
deb2
Op2
fin2
-b-
Figure I.10 Représentation des conits avec un réseau de Petri
I.3.4 Détection des interblocages
Un interblocage apparaît dans un atelier à cause d'une mauvaise allocation des ressources.
Cette situation vient du fait que certains produits détiennent des ressources et attendent, indéniment, que d'autres ressources, occupées par d'autres produits, se libèrent (cas de (( l'attente
circulaire ))) [50].
Dans le cas où un atelier est modélisé par un réseau de Petri, un interblocage correspond à
un blocage mortel de ce dernier. Dans le cas d'un réseau de Petri n'ayant que des arcs de poids
un, ce blocage mortel provient du fait qu'un siphon, contenu dans le réseau, s'est vidé.
Un siphon est un sous-ensemble de places d'un réseau de Petri, pour lesquelles toutes les
Chapitre I Outils pour la supervision et l'ordonnancement
14
transitions d'entrée sont également des transitions de sortie, et est déni comme suit :
Dénition 1.
Soit R un réseau de Petri déni par le quadruplet < P; T; Pre; Post > (voir
dénition 9) où P est l'ensemble des places, T l'ensemble des transitions.
Soit pk l'ensemble des transitions amont de la place pk , et soit pk l'ensemble des transitions aval de la place pk .
Un siphon S , est un ensemble de places S P tel que S S ( S = [pk 2S pk et
S = [pk 2S pk )
Le réseau de Petri de la gure I.11 décrit un mécanisme d'allocation de ressources pouvant
mener à un blocage. En eet, après le franchissement de la séquence t1 t2 t3 t1 t1 , plus aucune
transition n'est sensibilisée. Il y a deux jetons dans la place p2 (qui détiennent les ressources
R ) qui ont besoin de la ressource B pour évoluer, et un jeton dans la place p4 (qui détient la
ressource B ) qui attend la ressource R .
B
R
p1
t1
p2
t2
p3
t3
p4
t4
p5
t5
p6
t6
p7
Figure I.11 Exemple d'interblocage dans un RdP
Les places R , B , p3 , p5 et p6 forment le siphon, qui en se vidant a provoqué le blocage
du réseau de Petri. Nous remarquons que le franchissement des transitions t2 , t3 , t4 et t6 ne
fait pas évoluer le nombre global de marques à l'intérieur des places du siphon, alors que t5
va incrémenter, d'une unité, le nombre de marques, et que t1 va décrémenter, d'une unité, le
nombre de marques.
Trois stratégies d'évitement des interblocages peuvent être utilisées. La première consiste,
lors d'un interblocage, à déterminer les ressources impliquées et à les (( désallouer )) pour revenir
à un fonctionnement normal (détection et recouvrement). Cela revient à rétrograder un jeton
de la place p2 pour le faire revenir en p1 . La seconde consiste à rajouter un mécanisme de
contrôle de façon à ce que l'interblocage soit impossible (évitement statique) [73, 72, 71]. Nous
appliquerons cette méthode au cours du paragraphe V.3.2. La troisième consiste à déterminer,
lors de chaque changement d'état, quels sont les états sains, et à forcer le procédé à évoluer vers
ces états [157, 22, 29, 24]. Elle consiste donc à rajouter une décision associée à la transition t1 qui
contrôlera le passage des jetons. La diérence avec le cas précédent est que la décision ne résulte
pas directement du modèle réseau de Petri. Elle peut par exemple résulter d'un ordonnancement
prévisionnel.
I.3.5 Utilisation des réseaux de Petri pour la supervision
Les réseaux de Petri sont couramment utilisés pour le pilotage en temps-réel des systèmes de
production car ils permettent de représenter l'état réel du système. De plus l'analyse des (( bonnes
propriétés )) du réseau modélisant la commande, ainsi que la détection des interblocages, permet
de s'assurer de la pertinence de la commande.
I.4 Outils pour l'ordonnancement des systèmes discrets
15
Les réseaux de Petri sont utilisés dans le cadre de la surveillance des systèmes de production,
ils permettent de décrire en temps-réel le comportement dynamique du système. Les transitions représentant des occurrences d'évènements, il est ainsi possible de connaître les évènements
attendus (transitions sensibilisées) et on peut les comparer avec les évènements provenant du
procédé pour détecter des comportements anormaux du système. Quand une défaillance apparaît le réseau de Petri peut aider au diagnostic en jouant la séquence à l'envers comme le présente
R. Valette et L.A. Künzle dans [154].
Partant du principe qu'une catastrophe industrielle ne vient pas d'une seule erreur, mais
de l'enchaînement de plusieurs (( mauvaises décisions )), les auteurs de [115, 137, 136, 138, 135]
proposent de contrôler le franchissement de certaines transitions, avec la même vision que les
travaux de P.J.G. Ramadge et W.M. Wonham [132] et que les auteurs de [113, 112, 160], pour
éviter d'arriver dans un état de catastrophe industrielle.
Il convient de souligner le fait que la communauté réseau de Petri travaille essentiellement
sur la surveillance des informations montantes et sur l'établissement de commandes prenant
essentiellement en compte l'état du procédé.
Peu d'auteurs traitent de la surveillance des informations descendantes pour déterminer la
commande. On peut cependant citer :
H. Atabakhche [17] qui dénit un joueur de réseau de Petri résolvant en temps-réel les
conits existant en exécutant le plan de production déni au niveau ordonnancement (de
manière explicite ou implicite).
S. Julia [94, 95, 93] qui dénit un joueur de réseau de Petri, résolvant en temps-réel les
conits en exécutant le plan et à partir d'informations sur les marges des produits.
H. Camus [37] qui dénit le réseau de Petri de commande du système de production par
transformation d'un réseau de Petri représentant toutes les contraintes d'ordonnancement.
I.4 Outils pour l'ordonnancement des systèmes discrets
I.4.1 Introduction
Dans le cadre de la gestion de production il faut, en particulier, représenter des tâches qui
ont une durée, des relations de précédence entre les tâches, des évènements comme les allocations
de ressources, les débuts et ns de tâches...
Les principales approches fondées sur la théorie des graphes pour représenter les systèmes de
production ont consisté :
Soit à associer les tâches aux n÷uds et les contraintes aux arcs : graphes potentiels-tâches
[142, 110].
Soit à associer les évènements aux n÷uds et les tâches à des arcs : graphes potentielsétapes [142, 110].
Soit à utiliser des graphes avec deux types de n÷uds (places et transitions d'un réseau de
Petri, ronds et rectangles d'un (( state-task network )) [99]). Dans le cadre d'un réseau de
Petri, les évènements sont associés aux transitions alors que les places sont utilisées pour
décrire les tâches et les relations de précédence. Si les tâches sont associées aux transitions,
alors toutes les places décrivent des relations de précédence.
Chapitre I Outils pour la supervision et l'ordonnancement
16
Dans la suite du manuscrit nous utiliserons (( graphe potentiels )) pour désigner les graphes
composés d'un seul type de n÷ud. Nous allons maintenant détailler ces approches.
I.4.2 Les graphes potentiels
Présentation
Un graphe est un outil mathématique permettant de représenter la structure de nombreux
problèmes : représentation d'un réseau de communication, représentation d'une relation binaire
(qu'elle soit algébrique, mécanique, chimique...), représentation d'un ensemble de relations de
précédence (opération dans un atelier), représentation de l'évolution d'un système (passage d'un
état à un autre).
Le premier article sur les graphes remonte à L. Euler, (( Solutio problematis ad geometriam
situs pertinentis )) 1736, mais c'est en 1946 que la théorie des graphes a été utilisée et développée dans le cadre de la recherche opérationnelle (Kuhn 1955, Ford et Fulkerson 1956, Roy
1959...). Depuis 1960, et l'apparition de l'informatique, la recherche concernant les graphes, et
leurs applications s'est fortement développée [81].
Dénition 2. Un graphe est un ensemble de n÷uds reliés par des arcs orientés. Un graphe G est
déni par G = [; U ] , où :
est l'ensemble des n÷uds, ou des sommets. Si N = card() , le graphe G est dit
d'ordre N .
U est un ensemble composé de couples ordonnés de sommets appelés arcs.
Graphes potentiels-tâches et graphes potentiels-étapes
Dans le graphe potentiels-tâches chaque sommet représente une tâche, et chaque arc une
contrainte de précédence vue comme une inégalité de potentiels. La longueur de l'arc représente
ainsi l'intervalle de temps minimum séparant le début des tâches associées aux extrémités de
l'arc.
Dans un graphe potentiels-étapes chaque tâche élémentaire est représentée par un arc. Les
sommets caractérisent des évènements et les contraintes de précédence sont représentées par des
arcs. En fait les tâches sont vues comme des contraintes de précédence particulières entre les
évènements (( début de tâche )) et (( n de tâche )). Un arc entre le n÷ud (( n de tâche 1 )) et le
n÷ud (( début de tâche 2 )) signie que la tâche 2 ne peut pas commencer avant que la tâche 1
ne soit terminée.
Dans la suite de ce mémoire, nous nous intéresserons essentiellement aux graphes potentielsétapes car ils permettent de représenter précisément les évènements débuts et ns des opérations.
Représentation du temps
Dans un graphe potentiels les contraintes sont formalisées grâce à la notion d'inégalité de
potentiels [142]. Il est ainsi possible de représenter des contraintes de localisation temporelle
(une opération ne peut commencer avant telle date, ou doit être achevée avant telle autre),
des contraintes de précédence, et d'autres contraintes plus complexes en considérant plusieurs
inégalités de potentiels liées entre elles.
Prenons comme exemple le graphe potentiels de la gure I.12. Il décrit quatre opérations
à réaliser ( Op1 , Op2 , Op3 et Op4 ). Les arcs et les superpositions des n÷uds permettent de
I.4 Outils pour l'ordonnancement des systèmes discrets
17
représenter les contraintes de précédence entre les opérations : Op2 après Op1 , Op4 après Op3
et Op1 . La durée de l'opération Op1 est représentée par l'inégalité de potentiels suivante :
finOp1=debOp2 , debOp1 b; b 0
(I.1)
Ce qui signie que l'évènement finOp1 =debOp2 se produira après au moins debOp1 + b . La
diérence de potentiels exprime en fait une borne minimale pour la date au plus tôt.
debut
finOp =
debOp1 debOp21 finOp2
b
c
a
d
i
e
h
f
g
debOp3 finOp3 = finOp4
debOp4
fin
Figure I.12 Exemple de graphe potentiels-étapes
Si nous regardons la date d'occurrence de l'évènement finOp3 =debOp4 , nous voyons que
deux chemins mènent à ce n÷ud : ( debut , debOp1 , finOp1 =debOp2 , finOp3=debOp4 ) et ( debut ,
debOp3 , finOp3=debOp4 . Les contraintes de précédence représentées par les arcs signient que
finOp3 =debOp4 ne peut avoir lieu qu'après debOp3 et finOp1=debOp2 , donc :
finOp3=debOp4 , debut max(a + b + i; e + f )
(I.2)
Avec a , b , e , f et i 0 . Les diérences de potentiels attachées aux arcs font partie de <+ .
La représentation d'une borne maximale pour la durée d'une opération se fait en introduisant
des arcs de longueur négative. La gure I.13 montre une opération ( Op ) bornée par a et b .
a
debOp
finOp
,b
Figure I.13 Exemple de graphe potentiels-bornes
Si nous écrivons les inégalités de potentiels décrites par ce graphe potentiels nous avons :
finOp , debOp a et debOp , finOp ,b que l'on peut transformer en finOp , debOp b .
Nous obtenons alors :
a finOp , debOp b
(I.3)
Les diérences de potentiels associées aux arcs sont maintenant dénies sur < . Ce type de
graphe est appelé graphe potentiels-bornes [142, 110].
Représentation des contraintes de précédence des gammes
Les contraintes de précédence des gammes peuvent toutes être représentées par des inégalités
de potentiels liées par la conjonction ET. La gure I.14 représente deux gammes. La première
consiste à faire Op1 puis Op2 et la seconde Op3 puis Op4 .
Nous obtenons un graphe conjonctif dans lequel les inégalités de potentiels doivent être vériées conjointement pour tous les arcs du graphe.
Chapitre I Outils pour la supervision et l'ordonnancement
18
finOp1 =
debOp2 finOp2
b
c
a
d
e
h
f
g
debOp3 finOp3 = finOp4
debOp4
debOp1
debut
fin
Figure I.14 Représentation des contraintes de précédence des gammes
Dans les graphes potentiels, un n÷ud représente l'occurrence d'un évènement qui ne se produira qu'une seule fois.
Représentation des contraintes liées aux ressources
Les contraintes liées aux ressources sont représentées en ajoutant au graphe conjonctif (représentant les gammes) un ensemble d'arcs non-conjonctifs. Les arcs non-conjonctifs représentent
des inégalités de potentiels reliées par un OU.
Reprenons l'exemple de la gure I.14 en considérant que les opérations Op1 et Op3 sont en
exclusion mutuelle car elles utilisent la même ressource. Nous obtenons alors la gure I.15 où les
arcs en pointillés représentent l'ensemble des arcs non-conjonctifs (lorsqu'il n'y a que deux arcs
non-conjonctifs ils sont en fait disjonctifs, c'est-à-dire reliés par un OU exclusif) représentant la
contrainte sur la ressource.
debut
finOp =
debOp1 debOp21 finOp2
b
c
a
d
e
h
f
g
debOp3 finOp3 = finOp4
debOp4
fin
Figure I.15 Graphe potentiels avec un ensemble d'arcs non-conjonctifs
La date d'occurrence de l'évènement finOp2 est donnée par le potentiel :
finOp2 , debut c + b + [max(a; e + f )OUa]
(I.4)
Le OU exprime le fait que l'on peut faire l'opération Op1 avant Op3 ou Op3 avant Op1 .
L'ensemble d'arcs non-conjonctifs ne modélise pas la ressource, mais une relation
d'ordre potentielle entre les opérations (précédence potentielle) qui est la conséquence des
mécanismes d'allocation des ressources.
Un plan de production explicite, représenté par un graphe potentiels, ne fera plus apparaître, parmi les ensembles d'arcs non-conjonctifs, que les arcs donnant les choix réalisés pour les
aectations de ressources. Le graphe potentiels obtenu est conjonctif.
Une production à réaliser sur un système de production est alors représentée par un graphe
potentiels avec des arcs conjonctifs et des ensembles d'arcs non-conjonctifs qui représentent
les précédences potentielles entre les opérations. L'expression de ces précédences peut devenir
extrêmement complexe et dicilement maîtrisable (cas des ressources cumulatives, par exemple).
I.4 Outils pour l'ordonnancement des systèmes discrets
19
Utilisation des graphes potentiels pour dénir un plan de production
Une première catégorie de méthodes est basée sur l'exploration systématique des chemins du
graphe potentiels (algorithme (( branch and bound )) par exemple). Les chemins contenus dans
le graphe potentiels sont parcourus et évalués et, à partir d'un critère, le parcours optimal est
retenu.
Une deuxième catégorie de méthodes est basée sur l'utilisation de la programmation mathématique. Le graphe potentiels représente un ensemble de contraintes de potentiels entre deux
sommets, ces contraintes se traduisent immédiatement en équations algébriques. Pour résoudre
le problème d'ordonnancement alors posé, on peut employer la programmation linéaire, ou la
programmation dynamique (pour les problèmes de complexité exponentielle).
Une troisième catégorie de méthodes est basée sur la caractérisation d'un ensemble de solutions toutes admissibles ou bien sur l'élimination de certaines solutions non admissibles. Ces
méthodes consistent à caractériser non pas une solution unique mais un ensemble de solutions.
Les méthodes et techniques développées pour la résolution de ce type de problèmes s'inscrivent
dans la problématique de l'analyse sous contraintes [40, 142].
I.4.3 Les réseaux de Petri
Nous avons déjà déni les réseaux de Petri ainsi que la façon dont ils représentent les
contraintes de précédence des gammes et les mécanismes d'allocation de ressources dans les
paragraphes I.3.2 et I.3.3. Nous avons vu que les réseaux de Petri permettent de prendre en
compte le temps de manière qualitative. Nous avons également illustré le fait que les graphes potentiels permettaient directement de passer à une prise en compte des contraintes quantitatives
en associant des potentiels aux arcs. Nous allons voir, dans les paragraphes suivants, comment
les réseaux de Petri ont été étendus pour pouvoir, eux aussi, prendre en compte le temps de
manière quantitative. Nous regardons les quatre extensions suivantes : les réseaux de Petri ptemporisés, les réseaux de Petri t-temporisés, les réseaux de Petri t-temporels et les réseaux de
Petri p-temporels. Puis nous regardons comment sont utilisés les réseaux de Petri pour dénir
un plan de production.
Réseaux de Petri p-temporisés
Les réseaux de Petri p-temporisés sont des réseaux de Petri pour lesquels on associe une durée
aux places représentant une activité. Lorsqu'un jeton est mis dans une place temporisée, ce dernier
est réservé et ne sensibilise pas la (ou les) transition(s) aval pendant la durée de la temporisation.
Une fois la temporisation écoulée le jeton devient à nouveau visible et peut continuer à évoluer
dans le réseau. Une opération d'une durée s est représentée par la gure I.16.
debOp
Op finOp
[s]
Figure I.16 RdP p-temporisé
Dénition 3. Un réseau de Petri p-temporisé est une paire Np,tpses =< N; s > où :
N est un réseau de Petri déni par < P; T; Pre; Post > muni d'un marquage initial M0 .
Chapitre I Outils pour la supervision et l'ordonnancement
20
s est la durée de séjour minimale du jeton.
s : P ! <+ qui à chaque place fait correspondre un nombre rationnel positif décrivant
la durée de séjour minimale du jeton dans la place. s représente donc la durée d'indisponibilité de la marque pour la validation des transitions aval.
On a une relation de précédence avec contrainte au plus tôt. Si l'on prend le réseau de Petri
de la gure I.17-a, avec tin représentant la date de franchissement de tin pour la nième fois,
on a :
tbn , tan s
ta
(I.5)
ta
[s]
tc
[s]
tb
tb
-a-
-b-
Figure I.17 Exemple de contraintes exprimées par un RdP p-temporisé
Le réseau de la gure I.17-b représente une contrainte plus compliquée :
Soit tbn , tak avec tak tcl et n = k + l .
Soit tbn , tcl avec tcl tak et n = k + l .
Réseaux de Petri t-temporisés
Les réseaux de Petri t-temporisés [133], pour lesquels on associe une durée aux transitions
fonctionnent de façon équivalente aux réseaux de Petri p-temporisés. Dès qu'une transition est
sensibilisée, les jetons la sensibilisant sont réservés et la transition est franchie (avec les jetons
réservés) après l'écoulement de la temporisation qui lui est associée. La gure I.18 donne le réseau
de Petri t-temporisé d'une opération d'une durée f .
Op
[f ]
Figure I.18 RdP t-temporisé
Dénition 4. Un réseau de Petri t-temporisé est une paire Nt,tpses =< N; f > où :
N est un réseau de Petri déni par < P; T; Pre; Post > muni d'un marquage initial M0 .
I.4 Outils pour l'ordonnancement des systèmes discrets
21
f est la fonction durée de franchissement.
f : T ! <+ , qui à chaque transition fait correspondre un nombre rationnel positif
décrivant la durée du franchissement.
On retrouve encore une relation de précédence avec contrainte au plus tôt, mais elle est
exprimée vis-à-vis de l'ensemble des évènements précédents. Avec le réseau de la gure I.19 on
peut exprimer la contrainte :
,
tbn , max tan ; tcn f
(I.6)
tc
tb
ta
[f ]
Figure I.19 Exemple de contrainte exprimée par un RdP t-temporisé
Réseaux de Petri t-temporels
Les réseaux de Petri t-temporels, dénis par P. Merlin [111], sont des réseaux de Petri pour
lesquels on associe une fenêtre temporelle pendant laquelle une transition sera sensibilisée. Cette
extension permet de représenter les mécanismes de chien de garde. La gure I.20 représente une
opération Op d'une durée comprise entre min et max .
[min; max]
p1
t1
p2
t2
p3
Figure I.20 RdP t-temporel
Lorsque t1 est franchie, le jeton est mis dans la place p2 . Le jeton est visible, la transition t2 est sensibilisée, mais cette dernière ne sera franchissable que dans l'intervalle de temps
[min ; max] le temps initial étant la date de sensibilisation de la transition t2 .
Dénition 5. Un réseau de Petri t-temporel est une paire Nt,tpels =< N; > où :
N est un réseau de Petri déni par < P; T; Pre; Post > muni d'un marquage initial M0 .
est une fonction qui à chaque transition ti fait correspondre un intervalle fermé rationnel
(ti ) = [min (ti ); max(ti )] qui décrit une durée de sensibilisation.
Avec ce modèle on peut représenter des relations de précédence avec contraintes au plus tôt
et au plus tard. Par exemple le réseau de la gure I.21 nous donne la relation :
,
min tbn , max tan ; tcn max
(I.7)
Chapitre I Outils pour la supervision et l'ordonnancement
22
tc
tb
ta
[min; max]
Figure I.21 Exemple de contrainte exprimée par un RdP t-temporel
Réseaux de Petri p-temporels
An de pouvoir représenter des contraintes minimales et maximales de temps de séjour sur
les places, W. Khansa a déni les réseaux de Petri p-temporels [96, 97, 98, 36] et la notion de
marquage mort. Des intervalles de temps sont associés aux places, et correspondent aux durées
de séjour admissibles des jetons dans les places. La gure I.22 exprime
suivante :
h 0 la0 contrainte
i
un jeton dans la place p2 ne sensibilise t2 que pendant l'intervalle min ; max , le temps initial
étant l'introduction du jeton dans p2 ; passé la borne maximale ( 0max ) de la fenêtre, le marquage
devient mort (il ne peut plus être utilisé pour franchir une transition), ce qui signie que la
contrainte maximum de séjour du jeton dans la place a été violée.
h
min ; max
p1
t1
0
0
p2
i
t2
p3
Figure I.22 RdP p-temporel
Dénition 6. Un réseau de Petri p-temporel est une paire Np,tpels =< N; 0 > où :
N est un réseau de Petri déni par < P; T; Pre; Post > muni d'un marquage initial M0 .
0 esth une fonction qui ài chaque place pk fait correspondre un intervalle fermé rationnel
0 = 0min (pk ); 0max(pk ) qui décrit un intervalle potentiel de tir. Cet intervalle est relatif
à l'instant d'arrivée du jeton dans la place.
Avec ce modèle on peut exprimer une relation de précédence avec contraintes au plus tôt
et au plus tard entre deux occurrences d'évènements indépendamment des autres relations de
précédence. Par exemple la gure I.23 nous donne la relation :
0min tbn , tan 0max
Utilisation des réseaux de Petri pour dénir un plan de production
(I.8)
L'utilisation des réseaux de Petri pour la dénition d'un plan de production a fait l'objet de
nombreuses études. Dans le cas cyclique l'analyse des réseaux permet de donner des résultats
sur la faisabilité d'un plan. La résolution du problème d'ordonnancement permet de diérencier
deux approches. Dans la première, le modèle réseau de Petri sert à exprimer un problème d'optimisation résolu par une heuristique, un algorithme (( branch and bound )), la programmation
linéaire... Dans la seconde, le modèle réseau de Petri est simulé et l'ordonnancement est ainsi
obtenu en résolvant les conits qui apparaissent.
I.4 Outils pour l'ordonnancement des systèmes discrets
23
ta
tb
h
min ; max
0
0
i
Figure I.23 Exemple de contrainte exprimée par un RdP p-temporel
Cas cyclique P. Chrétienne [49, 40] utilise les réseaux de Petri t-temporisés pour modéliser
et résoudre des problèmes d'ordonnancement. Pour cela il a étudié l'analyse des propriétés des
réseaux de Petri t-temporisés, et déni la notion d'exécution contrôlée réalisable. Il a appliqué
ces résultats dans le cadre d'ordonnancements cycliques et d'exécution au plut tôt.
Les auteurs de [117, 116, 38, 37, 100] traitent également le problème d'ordonnancement
cyclique à l'aide de réseaux de Petri. En partant d'un réseau modélisant son procédé avec tous
ses degrés de liberté, ils ont déterminé une approche basée sur les réseaux de Petri déterministes
qui donne un ordonnancement optimal.
S. Julia [94, 95, 93] détermine un ordonnancement cyclique pour une cellule exible. Un
sous-ensemble de contraintes agrégées est déterminé à partir du réseau, puis un algorithme de
programmation linéaire permet de calculer la durée minimale pour un cycle. Ensuite le réseau
est utilisé pour exprimer l'ensemble des contraintes et l'ordonnancement est déduit par une
heuristique en temps-réel.
W. Khansa [96] a déni les réseaux de Petri p-temporels et la notion de marquage mort
(cf I.4.3) pour traiter le problème d'ordonnancement cyclique avec des contraintes de temps de
séjour maximal dans une place. Puis il en a étudié les propriétés an de déterminer les conditions
d'existence de fonctionnement répétitif de ces réseaux. Enn il a déterminé des algorithmes
permettant de calculer un ordonnancement cyclique avec contraintes de séjour, permettant de
modier son ordonnancement, en utilisant les marges, pour absorber les perturbations.
Cas acyclique P. Richard [140, 139] utilise les réseaux de Petri pour dénir un ordonnancement
dans le cas acyclique. Son approche est basée sur l'utilisation d'une classe particulière des réseaux
de Petri, les graphes d'évènements avec contraintes de ressources (GETR). Il modélise le procédé
sur lequel on veut ordonner la production. Puis il détermine un ordonnancement optimal en
se basant sur la programmation logique avec contraintes. Il a également déni une heuristique,
basée sur la résolution des conits à l'aide de règles de priorité dénies à partir du résultat
de l'ordonnancement établi sans contraintes de ressources (encore appelé à capacité innie ou
problème principal), pour déterminer un ordonnancement.
D. Azzopardi et S. Lloyd [21, 20, 19] se servent des réseaux de Petri pour dénir un plan de
production. Leur approche est basée sur les réseaux de Petri p-temporisés, qui permettent de
décrire les séquences faisables. La résolution du problème d'ordonnancement consiste à atteindre
un marquage particulier du réseau. Ils utilisent alors un algorithme de type (( branch and bound ))
pour explorer les états accessibles et dénir le plan.
D.Y. Lee et F. DiCesare [106] obtiennent un plan de fabrication en modélisant le procédé par
un réseau de Petri t-temporisé puis en utilisant une heuristique. Le problème d'ordonnancement
est modélisé par un réseau de Petri puis le graphe d'accessibilité est généré an de dénir le plan
optimum.
P. Yim et A. Lefort [161, 107] dénissent un modèle qui cherche à unier d'une part les
Chapitre I Outils pour la supervision et l'ordonnancement
24
réseaux de Petri et d'autre part les CSP (constraint satisfaction problems). À partir de ce modèle
ils déterminent un ordonnancement en utilisant un algorithme de recherche de séquences basé
sur l'arbre des marquages accessibles.
C. Valentin-Roubinet [149, 147, 148] modélise le procédé à l'aide d'un réseau de Petri coloré
associé à un système d'équations, puis dénit le plan de fabrication en résolvant les conits qui
apparaissent lors de la simulation de son modèle. La séquence simulée correspond au plan de
fabrication. Une approche similaire a été utilisée par U. Christmann et H.M. Hanisch dans [48].
A. Pagès et H. Pingaud [118, 119] dénissent un ordonnancement au plus tard en modélisant
le procédé par un réseau de Petri puis en le jouant à l'envers et en résolvant les conits au fur
et à mesure de leur apparition. En cas d'échec un mécanisme de retour en arrière permet de
remettre en cause des décisions déjà prises.
I.4.4 Les state-task network
E. Kondili, dans [99], traite le problème de l'ordonnancement des procédés discontinus en les
modélisant par des réseaux états-opérations (STN, State-Task Network) et en utilisant la programmation linéaire à variables mixtes. Un STN représente un procédé discontinu par un graphe,
il décrit les opérations que subit la matière au cours de son passage dans le procédé (la gamme,
encore appelée recette dans le vocabulaire du génie des procédé) et l'état du produit après chaque
transformation. Le graphe est composé de deux types de n÷uds. Les ronds représentent l'état de
la matière après les opérations, et les rectangles représentent une opération de transformation
de la matière (voir gure I.24).
Matière
première
Réaction
Produit
Figure I.24 Exemple de State-Task network
L'ordonnancement s'obtient en utilisant la programmation linéaire avec variables mixtes.
L'horizon de l'ordonnancement est divisé en intervalles de temps égaux, le temps est ainsi discrétisé. Les évènements liés à la production (début d'opération, allocation de ressources) ne sont
pris en compte qu'à la frontière entre les intervalles. Trois catégories de variables sont créées.
Les premières décrivent l'utilisation des ressources, les secondes donnent la taille des lots de matière, et les troisièmes donnent la quantité de produit pour chaque état, cela à chaque intervalle
de temps. Basé sur ces contraintes, un algorithme de programmation linéaire permet d'obtenir
l'ordonnancement.
Cette approche, bien que développée pour des systèmes discontinus, ne prend pas en compte
les spécicités des systèmes discontinus (durées des transferts par exemple), et par conséquent
se rapproche des méthodes d'ordonnancement pour les systèmes discrets.
I.4.5 Discussion sur les modèles utilisés pour l'ordonnancement
Rappelons tout d'abord que notre but n'est pas l'ordonnancement en tant que tel, mais la
supervision et donc le pilotage en temps-réel du système de production. Dans ce cadre les (( statetask network )) ne répondent pas à nos préoccupations car la démarche de mise en équation qui
leur est associée est fondée sur un temps discrétisé. Toute représentation d'un mécanisme tempsréel et asynchrone (cf paragraphe I.2.1) dans ce cadre semble a priori exclue.
Par contre, aussi bien les réseaux de Petri que les graphes potentiels sont fondés sur un
I.5 Supervision des systèmes discontinus
25
temps continu et sont donc susceptibles d'être utilisés pour la supervision. Les contraintes de
précédence quantitatives exprimées par les réseaux de Petri relient des ensembles d'évènements.
Cela alourdit la représentation d'un plan unique mais facilite l'analyse des problèmes cycliques
qui sont en eet le domaine de prédilection des applications des réseaux de Petri aux problèmes
d'ordonnancement. Une autre diérence importante entre les graphes potentiels et les réseaux de
Petri est que la traduction en temps absolu des contraintes de précédence quantitatives, exprimées
en temps relatif dans les deux cas, est plus facile dans le premier cas que dans le second.
En eet les graphes potentiels ont un n÷ud origine donnant plus directement la référence
d'un temps absolu sur l'horizon décisionnel qu'un marquage initial distribué dans un ensemble
de places. De plus, lorsque l'approche quantitative est fondée sur les réseaux t-temporisés, les
contraintes de précédence sont exprimées vis-à-vis de la date de sensibilisation de la transition
considérée et non vis-à-vis d'un n÷ud du graphe.
Nous reviendrons sur ces discussions au chapitre V quand nous aborderons eectivement le
pilotage en temps-réel dans le cadre de la supervision. Pour l'instant nous allons poursuivre dans
une autre direction, celle de la nécessité de manipuler des variables continues dans nos modèles
et donc des insusances des réseaux de Petri dans ce contexte.
I.5 Supervision des systèmes discontinus
I.5.1 Qu'est-ce qu'un système discontinu?
Procédés hybrides, discontinus... Ces noms sont applicables à beaucoup de systèmes de production. Cependant, s'ils évoquent tous une notion de système composé d'une partie discrète
et d'une partie continue, ils couvrent un champ de systèmes de production très vaste. Ainsi on
y trouve des ateliers couplant une production continue de matière avec un traitement discret
(c'est-à-dire par lots) de cette matière (fonderie [125]), des ateliers parcourus par un ux de
pièces traité comme un ux continu de matière [18, 3], des ateliers manufacturiers pour lesquels
il est nécessaire d'avoir une vue très détaillée des diérentes trajectoires des robots les composant,
des ateliers du génie des procédés...
Les systèmes que nous considérons plus particulièrement proviennent de la problématique du
génie des procédés. Il s'agit de systèmes transformant une matière première continue (e.g. uide,
gaz) à l'aide d'appareils de type continu et/ou d'appareils de type discontinu. Un équipement de
type continu transforme la matière progressivement au fur et à mesure de son passage, comme
dans les réacteurs tubulaires, les séparateurs, les échangeurs de chaleur. Un équipement de type
discontinu transforme un lot de quantité nie de matière après l'avoir chargé. L'ensemble de
la matière y est transformé simultanément. Ces procédés se rencontrent couramment dans les
industries agro-alimentaires, pharmaceutiques ou biotechnologiques.
L'enchaînement des opérations (la recette) en tenant compte de la disponibilité des équipements est complexe et nécessite l'utilisation de méthodes adaptées à ce type de problèmes. S'il
est tentant d'utiliser directement les méthodes et concepts dénis pour le cas manufacturier, il
est hélas dicile de le faire car le traitement de la partie continue ne peut pas être négligé et, de
plus, il devient plus complexe du fait de l'augmentation du nombre de phases de démarrage et
d'arrêt. Le paragraphe suivant liste les principaux problèmes posés par les systèmes discontinus.
I.5.2 Spécicités des systèmes discontinus par rapport aux systèmes discrets
Tout d'abord, l'aspect continu de la matière doit être pris en compte. Il est nécessaire d'en
avoir une représentation an de suivre son évolution à travers la dynamique des variables conti-
26
Chapitre I Outils pour la supervision et l'ordonnancement
nues la décrivant.
Dans les systèmes discontinus les durées opératoires sont variables. En eet la vitesse du
processus de transformation du lot dépend de conditions opératoires (température, pression,
masse, composition...). De plus il est possible de modier les paramètres (la température par
exemple) de la transformation an de changer la durée de cette dernière tout en conservant une
qualité de fabrication acceptable.
La matière étant continue, il est impossible d'identier ou de saisir un élément (au sens d'une
entité atomique élémentaire tel un produit manufacturier) [131].
Une diculté, directement liée à la nature continue de la matière, concerne le transfert de
matière entre deux réservoirs. Il est impératif que l'utilisation de chaque réservoir soit synchronisée avec l'autre et avec des équipements de liaison comme une pompe fournissant l'énergie
nécessaire au transfert. Pendant toute la durée du transfert ces équipements sont liés et cela ne
peut être négligé [63].
Il peut arriver, comme dans le cas du traitement thermique, qu'il ne soit pas toléré d'attente
entre deux opérations. Par exemple le passage dans un échangeur de chaleur pour arrêter la
réaction dans la fabrication des explosifs.
Une autre diculté liée au caractère continu concerne les stockages. Il est impossible d'utiliser
des stocks (( sauvages )) comme c'est le cas dans l'industrie manufacturière où l'on peut stocker
des pièces devant les machines, ou dans un coin de l'atelier. Il paraît bien dicile de stocker
100 l à côté d'un fermenteur en attendant que celui-ci se libère. C'est pourquoi les éléments de
stockage doivent être explicitement représentés dans les modèles du procédé. Ils ne peuvent être
négligés comme c'est souvent le cas dans l'industrie manufacturière.
Les stocks ayant une capacité nie, il convient de faire attention à ne pas les faire déborder
comme le soulignent A. Pagès et H. Pingaud dans [118]. La capacité d'un stock s'exprime par
une variable de type réel, et non de type entier. La quantité de produit à l'intérieur évolue de
façon continue dans le temps. La décision d'ajouter un lot dans le stock devra prendre en compte
les alimentations et vidanges prévues sur ce dernier jusqu'au transfert complet de la matière.
En eet il convient de savoir si le volume contenu dans le stock restera ou non dans les limites
spéciées, à tout instant [127, 126]. Il est par conséquent important de pouvoir faire le bilan de
matière du stock.
La gure I.25 montre l'évolution d'un stock continu (traits pointillés). Le bilan matière est :
dm = Fe , Fs (si Fe Fs alors m(t) augmente, sinon il diminue). La représentation discrète est
dt
donnée en trait plein. Dans la représentation discrète chaque changement du volume de matière
stockée est immédiatement pris en compte, alors que dans le cas continu les transferts ne sont
pas négligés. On voit par exemple, dans la partie encerclée, que l'on vide le stock alors que l'ajout
de matière précédent n'est pas terminé. Donc, compte tenu des débits choisis ici, le volume du
stock continue d'augmenter. Toutefois il n'atteint jamais le niveau maximal, contrairement à ce
que décrit la représentation discrète.
Comme un système discontinu fabrique un ensemble de produits, le stockage de matière
intermédiaire doit être fait de telle sorte que les diérents produits ne se mélangent pas.
Les mesures d'hygiène, et la variété des produits, imposent un nettoyage fréquent des équipements. Ce nettoyage peut être périodique, ou systématique. Il doit être considéré comme une
opération à part entière, nécessitant des ressources particulières (vapeur d'eau, acide, antiseptiques...) [23].
De plus les systèmes discontinus sont sensibles aux interblocages (cf I.3.4). En eet [50]
dénit quatre conditions nécessaires à l'occurrence d'un interblocage : l'exclusion mutuelle ; la
non-préemption ; la condition (( détenir et attendre )) (un lot détient des ressources et en attend
I.5 Supervision des systèmes discontinus
27
Capacité
Max m(t)
t
Figure I.25 Comparaison entre l'évolution d'un stock continu et sa représentation discrète
d'autres détenues par d'autres lots) ; l'attente circulaire. Les systèmes discontinus possèdent,
dans la plupart des cas les trois premières conditions. Le traitement de plusieurs produits dans
un même atelier complique l'allocation des ressources, pouvant faire apparaître des attentes
circulaires. Par exemple si une recette nécessite deux réactions entrecoupées d'une phase de
repos, les lots devant quitter les réacteurs, après la première réaction, attendront qu'un réservoir
soit libre, alors que les lots devant quitter les réservoirs attendront qu'un réacteur soit libre. Il
est à noter que même si le procédé est faiblement automatisé, il est sensible aux interblocages.
Les contraintes viennent des chemins possibles entre les réservoirs et de la conguration des
systèmes de transport commun à plusieurs unités en amont et en aval (notion de manifold), que
les commandes des vannes soient automatisées ou non.
I.5.3 Impact des spécicités des systèmes discontinus sur l'ordonnancement
L'ordonnancement des systèmes discontinus a été peu étudié. Nous avons vu, dans le paragraphe I.4.4 que E. Kondili [99] traite ce problème en appliquant des méthodes directement
inspirées de celles des systèmes discrets. Nous avons vu que l'énumération des plans de fabrication peut être basée sur un modèle réseau de Petri, comme H. Pingaud dans [118, 119] et que
certains auteurs, comme C. Valentin-Roubinet [149, 147, 148] et H.M. Hanisch [48], ont traité le
problème de l'ordonnancement des systèmes discontinus en simulant des réseaux de Petri. Enn
P. Yim et A. Lefort utilisent un modèle prenant en compte des contraintes sur des variables
continues par l'intermédiaire de prédicats. Ils peuvent ainsi prendre en compte l'aspect continu
des systèmes et appliquer leur démarche au cas des systèmes discontinus.
N. Ishii et M. Muraki [86] traitent le problème de l'obtention d'un plan (( réalisable )) dans
le cadre des systèmes discontinus. Compte tenu des contraintes propres à ces systèmes (temps
d'attente limités, durée des opérations mal dénies, capacité limitée des stocks...) et des objectifs
de fabrication, ils élaborent un plan en simulant le fonctionnement du procédé et en réglant les
conits sur les ressources par l'application d'un ensemble de règles simples. De même W.R. Goodall et R. Roy [82] dénissent le plan de fabrication d'un système discontinu en le simulant, et
en arbitrant les conits qui apparaissent.
Dans [63], les auteurs proposent un algorithme pour dénir un plan de fabrication en minimisant les retards. Cet algorithme est basé sur un modèle prenant en compte les contraintes venant
des connexions entre les équipements, des temps de transfert et de la taille des lots. Ce modèle
est composé de variables mixtes. L'obtention du plan se fait selon une heuristique, les lots sont
ordonnés les uns après les autres, en commençant par le lot ayant le moins de marge.
Nous voyons que toutes les spécicités des systèmes discontinus rendent plus complexe leur
pilotage et en particulier la mise en ÷uvre en temps-réel d'un plan de fabrication qui souvent a
été élaboré à partir d'un modèle ne prenant en compte qu'une vision agrégée de la réalité, toutes
28
Chapitre I Outils pour la supervision et l'ordonnancement
les contraintes n'étant pas écrites. Voyons maintenant comment la nature hybride des systèmes
discontinus peut être prise en compte au niveau de l'interaction de la supervision avec le système
physique.
I.5.4 Commande des systèmes discontinus
Les diérentes études sur la conduite des systèmes discontinus s'appuient sur la structure
hiérarchique de commande (cf I.2.1). Cependant les réalisations informatiques dièrent. Il y a,
tout d'abord, celles articulées autour d'une base de données commune (SUPERBATCH [109]
et FLESCHE [128]). La liaison entre les organes de commande et le superviseur se fait par
l'intermédiaire de la base de donnée. Le superviseur y lit les valeurs des capteurs, et met à jour
les valeurs de consignes. La commande locale vient y déposer les relevés des capteurs et lire les
valeurs de consigne.
La structure informatique couramment utilisée dans le monde industriel repose sur l'utilisation d'un bus local (Batch Supervisor de Honeywell, ChemFlex de Elsag Bailey, Batch X de
Siemens et RS3 de Fisher Rosemount). Toutes les consignes et valeurs des capteurs sont mises
sur le bus, chaque élément de la commande doit aller y récupérer les informations nécessaires à
son bon fonctionnement. C'est lui, en fait, qui met en ÷uvre une base de données distribuée.
Les informations circulant sur le bus étant de type périodique (mesures des capteurs, consignes
vers les actionneurs) aussi bien que de type sporadique (échanges évènementiels entre les organes
de commande et le superviseur, téléchargement de programmes, alarmes...), il est impossible
de montrer que son dimensionnement est correct, c'est-à-dire que les temps de communication
seront toujours inférieurs aux bornes spéciées. Dans certaines situations correspondant à une
avalanche de messages sporadiques, soit ceux-ci devront être retardés et étalés dans le temps, soit
des messages périodiques de mise à jour de l'état seront perdus. Un solution à ce problème consiste
à dédoubler le bus en un (( bus de terrain )) pour les informations périodiques, et un (( bus d'atelier ))
pour les informations sporadiques. D. Andreu [9, 11, 12, 13, 14] introduit une nouvelle fonction,
chargée de faire l'interface entre les organes de commande locale et la supervision, le générateur
d'évènements (GE) (gure I.26). En fonction de la conguration de la commande (transmise au
GE par la supervision) et des évènements attendus, le GE surveille les variables signicatives
de cette conguration, et signale au superviseur l'occurrence des évènements attendus. Il établit
une passerelle programmable entre le bus de terrain et le bus d'atelier.
I.5.5 Surveillance dans le cadre des systèmes discontinus
La surveillance d'un procédé est basée sur la comparaison entre l'évolution réelle du procédé
et l'évolution attendue. Pour cela M. Combacau [51] utilise un modèle qui évolue de manière
synchrone avec le procédé (gure I.27). Ce modèle est appelé modèle de référence. D. Andreu [9] a
étendu ce principe au cas des systèmes discontinus, et a déni un modèle de référence hybride. Ce
modèle représente le comportement du procédé, les variables discrètes et les variables continues.
Toutes les commandes appliquées au procédé et les comptes-rendus de ce dernier sont transmis
au modèle de référence. Par comparaison il est possible de détecter les erreurs de commande
(on applique une commande incompatible avec l'état du procédé) et les défaillances du procédé
(occurrence d'un évènement non attendu, ou non occurrence d'un évènement attendu).
M. Gomaa [79] utilise un modèle causal pour la détection et le diagnostic dans les systèmes
discontinus. Son approche est basée sur la dénition d'un modèle fondé sur un formalisme unique
permettant de représenter et de simuler à la fois la partie continue et la partie discrète : les
réseaux de Petri continus causaux hybrides (RdP C 2 H). Ce modèle est composé d'un réseau de
I.5 Supervision des systèmes discontinus
29
Superviseur
Bus d'atelier
Générateur
d'Évènements
Régulateur
...
Automate
Bus de terrain
système
entrées/sorties
Procédé
Figure I.26 Architecture proposée par D. Andreu dans [9]
Commande
Modèle
de réference
Commande locale
Procédé
Figure I.27 Position du modèle du référence dans le niveau commande locale
30
Chapitre I Outils pour la supervision et l'ordonnancement
Petri, pour décrire la partie discrète du procédé, d'un réseau de Petri continu causal (RdP C 2 )
pour la partie continue. Les variables continues sont représentées par les marques des places
continues, l'évolution de ces marques est basée sur des fonctions de transferts qualitatives (FTQ).
L'évolution du marquage est fonction des prols de vitesse dénis à partir des FTQ des transitions
amont et aval. Ces prols sont une approximation (par une fonction linéaire par morceaux)
de l'évolution des variables. À partir de ce modèle M. Gomaa détecte les défaillances par une
comparaison entre les variables réelles et les variables simulées, puis en exploitant la causalité
du réseau de Petri, diagnostique l'origine de la défaillance. Dans cette approche, les variables
continues sont surveillées continûment alors que dans l'approche précédente les mécanismes de
détection ne sont activés que lors des changements de conguration.
I.6 Conclusion
Dans ce chapitre nous nous sommes d'abord intéressés au cas des systèmes discrets. Nous
avons présenté comment sont commandés ces systèmes en détaillant la structure hiérarchique de
commande. Nous avons regardé plus précisément le niveau supervision, qui fait l'objet de notre
étude, en soulignant les notions de pilotage en temps-réel, surveillance sur informations montantes
et surveillance sur informations descendantes. Notre objectif étant la supervision des systèmes
discontinus, et plus particulièrement les interactions entre les niveaux supervision et ordonnancement, nous avons ensuite décrit comment les réseaux de Petri représentent les contraintes
qualitatives des systèmes discrets, puis comment représenter les contraintes quantitatives à l'aide
de graphes potentiels et de réseaux de Petri.
Nous avons présenté les spécicités des systèmes discontinus en mettant en évidence les points
qu'ils rendent plus complexes. Nous avons présenté brièvement les travaux en cours abordant la
problématique de l'ordonnancement, de la supervision et de la surveillance de ces systèmes.
Nous avons, en particulier, vu que les systèmes discontinus sont plus complexes à piloter
que les systèmes discrets car les durées des opérations sont sujettes à des variations d'un lot
par rapport à un autre et les contraintes logiques, dues aux transferts de la matière première
continue, sont souvent complexes (risques de blocages). De plus un stock ne peut être géré
correctement sans son bilan matière. Cela rend donc particulièrement délicate l'interaction entre
l'ordonnancement prévisionnel et la partie de la supervision en temps-réel sur les ux de produits.
Nous verrons, dans le chapitre V, comment structurer le niveau supervision pour faire face
à ces nouvelles dicultés. Mais le premier problème auquel nous nous attaquons maintenant
concerne la modélisation des systèmes discontinus. En eet nous avons vu que le pilotage en
temps-réel et la surveillance de ces systèmes nécessitent un modèle décrivant à la fois l'aspect
discret et l'aspect continu. Nous allons dans le chapitre suivant dénir un modèle hybride basé
sur l'utilisation des réseaux de Petri et de systèmes d'équations diérentielles algébriques.
Chapitre II
Formalisation d'un modèle pour les procédés
discontinus
II.1 Introduction
Nous avons vu dans le chapitre I que l'étude des procédés discontinus nécessite l'utilisation de
modèles prenant en compte à la fois les aspects discrets (enchaînement des phases d'une recette,
mécanismes d'allocation des ressources) et les aspects continus (évolution des variables d'état
continues au sein d'une conguration).
Dans ce chapitre nous proposons un modèle, basé sur les réseaux de Petri (RdP) et les
systèmes d'équations diérentielles algébriques (EDA), pour l'étude des procédés discontinus.
Nous commençons par une étude des modèles discrets et des modèles continus, puis nous faisons
un tour d'horizon des modèles utilisés pour représenter des systèmes discontinus. Nous nous
attacherons à souligner les intérêts et limitations de chacun d'entre eux. Cette étude nous conduit
à choisir le couplage de deux modèles. Nous dénirons alors les interactions entre ces deux modèles
d'une manière formelle.
II.2 Présentation des types de modèles discrets et continus
Qu'est-ce qu'un modèle à évènements discrets, un modèle discret, un modèle discrétisé ou
un modèle continu? Et quelles sont les diérences entre ces types de modèles? Ce sont les deux
questions auxquelles nous allons répondre dans la suite de ce paragraphe.
Un modèle se caractérise par la nature de ses variables d'état, en faisant la distinction entre les
variables d'état et la variable d'état indépendante particulière qu'est le temps ( ). Les variables
d'état discrètes prennent leurs valeurs dans un ensemble ni ou dénombrable (entiers, booléens...),
alors que les variables d'état continues sont dénies sur l'ensemble des réels ( < ).
Un modèle à temps continu ( est déni sur < ) est un modèle pour lequel les variables d'état
sont dénies, à chaque (( instant )) de l'horizon de temps considéré (l'horizon étant divisé en une
innité (( d'instants ))), comme des fonctions continues et dérivables de la variable indépendante.
Au contraire un modèle à temps discret est un modèle pour lequel on ne peut observer les
variables d'état qu'à certains instants (points d'observation, évènements) dénombrables n .
32
Chapitre II Formalisation d'un modèle pour les procédés discontinus
La combinaison des variables d'état et de temps nous permet de dénir quatre types de
modèles. Le premier type concerne les modèles avec des variables d'état continues et une variable
de temps continue (voir gure II.1). Ces modèles sont appelés modèles continus. La description
de l'évolution des variables d'état est généralement basée sur des équations diérentielles et/ou
algébriques.
X
Figure II.1 Modèle continu
Le deuxième type concerne les modèles avec des variables d'état continues et une variable
de temps discrète (voir gure II.2). On parlera alors de modèles discrétisés. Les variables
d'état, qui prennent leurs valeurs sur l'ensemble des réels, ne sont accessibles qu'à des instants
prédéterminés. Le cas le plus fréquemment rencontré est le modèle échantillonné pour lequel on
observe les variables d'état à intervalles de temps réguliers. L'évolution des variables d'état sera
généralement donnée par des équations algébriques dénissant l'état à l'instant n+1 en fonction
de l'état à l'instant n .
X
00
11
00
11
11
00
11
00
0
1
00
00
11
00
11
00
11
011
1
00
11
11
00
00
11
001
11
0
1
0
1
00
1
Figure II.2 Modèle discrétisé
Le troisième type recouvre les modèles avec des variables d'état discrètes et une variable
de temps continue (voir gure II.3). Nous sommes alors en présence de modèles discrets.
L'évolution des variables d'état se fera, par exemple, par l'intermédiaire de fonctions booléennes
paramétrées par le temps.
X
Figure II.3 Modèle discret
Le quatrième type de modèle regroupe les modèles avec des variables d'état discrètes et
une variable de temps discrète (voir gure II.4). On obtient ainsi des modèles à évènements
discrets. L'évolution des variables d'état se faisant à l'aide d'automates nis ou de la logique
II.3 Dénition d'un modèle pour les procédés discontinus
33
séquentielle, le temps n'étant déni que par la suite des changements d'état.
X
11
00
11
00
00 11
11
00
00
11
0
1
1
0
0 00
11
01
1
Figure II.4 Modèle à évènements discrets
Notons qu'un modèle discrétisé utilise des variables d'état continues. Et pour cela il est plus
proche du modèle continu que des modèles discrets ou à évènements discrets. Un modèle discrétisé
peut être vu comme un modèle continu que l'on ne peut observer qu'à certains instants.
Un modèle à évènements discrets donne une représentation qualitative d'un système. En eet
les variables d'état prennent leurs valeurs sur un ensemble ni ou dénombrable (sous-ensemble
de < ) et non pas dans l'ensemble des réels ( < ). Il s'agit donc en quelque sorte d'une abstraction
de type logique. D'ailleurs, on peut voir un réseau de Petri représentant un tel système comme
un ensemble particulier de règles.
Nous venons de faire un tour d'horizon rapide des types de modèles couramment utilisés.
Cependant la modélisation des procédés discontinus nécessite des variables d'état discrètes, pour
représenter les séquences de production, et des variables d'état continues pour représenter l'évolution de la matière entre deux évènements. Il nous faut donc un modèle mélangeant des variables
d'état discrètes et continues.
II.3 Dénition d'un modèle pour les procédés discontinus
II.3.1 Stratégies d'obtention d'un modèle pour les procédés discontinus
Les procédés discontinus ne pouvant pas être modélisés par l'un des quatre types de modèle
décrits précédemment, il faut donc faire appel à des modèles mélangeant les aspects discrets et
continus. Nous allons regarder des modèles proposant de mélanger des variables d'état discrètes
et continues, en montrant leurs champs d'application. Nous nous intéressons, tout d'abord, aux
approches partant d'un modèle continu, puis à celles partant d'un modèle discret, ensuite nous
regardons les modèles avec un formalisme hybride et nous nissons par traiter le couplage de
deux modèles.
II.3.2 Étendre un modèle continu
L'intégration de variables d'état discrètes au sein d'un modèle continu consiste à ajouter des
variables booléennes aux équations an de recouvrir toutes les congurations.
Prenons par exemple le cas du réservoir gure II.5. Ce réservoir a une capacité de 8 unités
de volume (u.v.). Il peut être rempli avec un débit de de 10 unités de volume par unité de temps
(u.v./u.t.), et vidé avec un débit ds de 2,5 u.v./u.t..
Le modèle continu correspondant est :
dV = d , d
d e s
(II.1)
34
Chapitre II Formalisation d'un modèle pour les procédés discontinus
de = 10 u.v./u.t.
ST
Capacité Vmax = 8 u.v.
ds = 2; 5 u.v./u.t.
Figure II.5 Exemple illustratif : un réservoir
Si l'on veut recouvrir les quatre congurations du réservoir (remplissage, vidange, remplissage/vidange et repos) il faut introduire deux variables booléennes ( be et bs ) décrivant respectivement l'état des vannes d'entrée et de sortie en position ouverte (valeur 1 ) ou fermée (valeur 0 ).
Le modèle devient alors :
dV = b d , b d
d e e s s
(II.2)
be = (V < 8u:v:)
(II.3)
L'évolution des variables booléennes sera décrite par des prédicats, ou par des équations de
logique combinatoire dénies à partir de la politique de conduite, de la capacité du réservoir...
Par exemple :
Si un tel modèle permet d'obtenir l'évolution du volume à l'intérieur du réservoir quelle que
soit la conguration, il ne peut pas, en revanche, décrire l'enchaînement de congurations. Par
exemple remplir avec du produit A, puis remplir avec du produit B nécessite l'utilisation de variables booléennes internes dont l'évolution sera donnée par des équations de logique séquentielle.
Leur valeur à l'instant n+1 dépend de leur valeur à l'instant n .
II.3.3 Étendre un modèle à évènements discrets
Comme l'a montré D. Andreu [9], il est important, dans le cadre des procédés discontinus,
d'avoir une bonne maîtrise du parallélisme et de la gestion des ressources. C'est pourquoi tant
que la partie continue reste simple, nous ne considérons que les réseaux de Petri. Les automates
à états nis, sous la forme des automates hybrides, ne seront réintroduits que dans le cas d'une
partie continue complexe (cf II.3.5). Le réseau de Petri de la gure II.6 représente la recette de
fabrication d'un lot de produit C à partir d'une matière première A et d'une matière première
B. La recette consiste à remplir le réacteur R1 avec 2 u.v. de A, puis à remplir le réacteur avec
3 u.v. de B et à faire la réaction pendant 1 u.t..
Remplir R1 avec
2u:v: de A avec
de = 10 u.v./u.t.
Remplir R1 avec
3u:v: de B avec
de = 10 u.v./u.t.
Figure II.6 Recette d'utilisation du réservoir
Réaction
II.3 Dénition d'un modèle pour les procédés discontinus
35
L'ensemble des places représente les états que peut prendre le procédé. Dans ce type de
modèle, le temps est pris en compte de manière qualitative : L'opération (( remplir avec du produit
B )) se fera après avoir rempli avec du produit A. Le temps est discret, les dates d'observation
correspondent aux franchissements des transitions.
Une première extension consiste à considérer le temps de manière continue. En utilisant
des réseaux de Petri temporisés ou temporels on a une représentation quantitative du temps.
L'opération remplir avec du produit B nécessite (3 u.v. / 10 u.v./u.t. = ) 0,3 u.t.. Nous avons
des variables d'état discrètes avec une variable de temps continue, c'est un modèle discret.
Cependant cette stratégie de modélisation suppose que les durées des opérations sont bien
dénies. Si la taille du lot n'est pas xée par la recette (par exemple si la recette consiste à
remplir R1 avec x u.v. de A, 1 < x < 2u:v: , puis à remplir R1 avec 23 x de B) la durée de la
temporisation représentant le transfert devra être déterminée pour chaque lot.
Il faut alors se tourner vers l'utilisation de réseaux de Petri haut-niveau, qui permettent
d'intégrer des composantes continues dans un modèle à évènements discrets. En eet les réseaux
de Petri haut-niveau utilisent des jetons qui transportent des informations (structures de données). Les champs composant le jeton peuvent être de type continu. L'évolution de ces variables
continues se fait par l'intermédiaire de calculs algébriques lors du franchissement des transitions.
Nous obtenons ainsi un modèle avec des variables d'état discrètes (les composantes du vecteur
marquage) et des variables d'état continues (les champs associés aux jetons).
De la même manière il est possible de représenter un système hybride avec des Hypernets
[107, 161] ou des réseaux à prédicats contraints [101]. Ce sont des réseaux de Petri de haut-niveau
pour lesquels on peut dénir des contraintes. Cela permet, au lieu de donner une seule valeur pour
chaque attribut, de caractériser par les contraintes des domaines de valeurs possibles. De cette
façon on peut soit prendre en compte l'imprécision de certaines valeurs, pour certaines variables
continues, soit caractériser des ensembles d'états qui auront tous le même comportement. On
pourra par exemple étudier un atelier en supposant que les lots ont des tailles comprises entre
500 et 1000 litres.
Dans le cadre des réseaux de Petri de haut-niveau, l'article [35] représente l'intégration d'un
modèle continu par la méthode d'Euler. Les articles [77, 85, 108] présentent des modèles de
systèmes hybrides basés sur des réseaux de Petri haut-niveau-temporisés. Cependant, même si
le temps et les variables d'état prennent leurs valeurs dans l'ensemble des réels < , les variables
attachées aux jetons ne sont modiées que quand le jeton concerné franchit une transition. Entre
deux franchissements les variables continues ne sont pas mises à jour, elles ne sont pas explicités.
C'est pourquoi, très souvent dans ce type de modélisation, des transitions sont franchies à petits
intervalles de temps réguliers ( ), ou pour chaque petite variation des variables continues.
Si on représente un système échantillonné, la présence de telles transitions est légitime (elles
correspondent à l'échantillonnage), sinon elles sèment la confusion. De plus la simulation de tels
modèles devient très lourde car l'intervalle doit être petit pour avoir une bonne précision.
II.3.4 Utiliser un formalisme hybride
Pour faire face à l'explosion de la durée de la simulation de réseaux de Petri temporisés avec
un grand nombre de marques (ou jetons), et indirectement pour résoudre le problème ci-dessus,
R. David et H. Alla [55, 3, 1, 2, 4, 103, 104] ont introduit les réseaux de Petri hybrides (RdP H).
Ce sont des réseaux composés de deux types de places : des places discrètes contenant un nombre
entier de marques ; et des places continues contenant un nombre réel positif ou nul de marques.
Chapitre II Formalisation d'un modèle pour les procédés discontinus
36
Dénition 7. Un réseau de Petri hybride est déni par le sextuplet < P; T; Pre; Post; M0; h >
où :
P est un ensemble ni de places.
T est un ensemble ni de transitions.
P \T = ;
Pre : P T ! N ou R , est l'application d'incidence avant.
Post : P T ! N ou R , est l'application d'incidence arrière.
Les poids des arcs dénis par Pre( pk , ti ) et Post( pk , ti ) sont des nombres entiers si pk
est une place discrète, ou sont des nombres réels positifs si pk est une place continue.
M0 est le marquage initial.
h : P [ T ! {D, C}, indique pour chaque n÷ud s'il s'agit d'un n÷ud discret (D) ou
continu (C).
Si h( pk ) = D et h( ti ) = C alors Pre( pk , ti ) = Post( pk , ti ).
Une transition continue ti est franchie avec une vitesse v () . Cela signie qu'entre et + d
une quantité v () d de marque est enlevée de sa place amont et est ajoutée à la quantité de
marque de sa place aval. Une interprétation intuitive du franchissement d'une transition continue
peut être imagée par un sablier.
Nous avons ainsi, dans un même formalisme, la possibilité de représenter des variables discrètes et réelles positives ou nulles, ainsi que leurs évolutions.
Pour modéliser un procédé discontinu avec un réseau de Petri hybride, on représente un équipement par une place continue, et le ux de matière entre deux équipements par une transition
continue. La recette dénie par le réseau de Petri de la gure II.6 est donnée, en utilisant un réseau de Petri hybride, par la gure II.7. Cependant, si le transfert de matière est représenté d'une
manière très intuitive, des réactions faisant apparaître plusieurs variables liées par des contraintes
algébriques ou des fonctions non-linéaires ne peuvent pas être représentées directement par un
réseau de Petri hybride.
Réaction
S1 ! R1
S2 ! R1
2
S1
2
5
R1
5
S2
Figure II.7 Modélisation du réservoir et de sa recette d'utilisation par un RdP hybride
Les réseaux de Petri hybrides ont été étendus pour pouvoir représenter des phénomènes
continus particuliers. I. Demongodin [59], N. Audry [18] et M. Caradec et F. Prunet [39] ont
II.3 Dénition d'un modèle pour les procédés discontinus
37
déni les réseaux de Petri lots-à-caractéristiques-variables (RdP LCV) permettant de modéliser
l'évolution de la disposition de lots de produits sur des convoyeurs.
M. Gomaa [79] a déni les réseaux de Petri continus-causaux-hybrides (RdP C 2 H) permettant
de modéliser le comportement de variables continues par l'intermédiaire de fonctions de transfert
qualitatives. On peut ainsi modéliser des systèmes dont la partie continue peut être approximée
par une fonction de transfert qualitative.
Les réseaux de Petri diérentiels ont été dénis dans [60, 61]. Ce sont des réseaux de Petri
composés de deux types de places et de transitions : discret et diérentiel. Les places et transitions discrètes décrivent l'évolution des variables discrètes du modèle. Le marquage des places
diérentielles est de type réel (positif, négatif ou nul). Les transitions diérentielles sont caractérisées par une vitesse de franchissement et une temporisation. Ces réseaux de Petri permettent
d'élaborer des modèles échantillonnés ou discrétisés en utilisant les places et transitions diérentielles pour modéliser la partie continue. La partie continue est représentée par un modèle
du premier ordre dont les variables d'état correspondent aux places diérentielles. L'évolution
des variables d'état est donnée par les prols (linéaires) de franchissement des transitions, ce qui
permet l'interpolation des valeurs entre deux instants d'échantillonage. La temporisation permet
de représenter le pas d'échantillonage du modèle continu.
Une approche similaire a été développée dans [158] sous le nom de réseaux de Petri hautniveau-hybrides. Ces réseaux de Petri permettent de représenter les variables continues comme
étant des champs de jetons. La valeur des variables est calculée lors du franchissement des
transitions. Il existe deux types de transitions : les transitions discrètes qui permettent de mettre
à jour les champs des jetons qui les franchissent, et les transitions continues qui font évoluer les
valeurs des champs des jetons qui les sensibilisent.
Ces modèles, s'ils permettent de représenter des variables d'état discrètes et continues au sein
d'un même formalisme, sont limités quant à la description de l'évolution des variables continues.
Ils ne peuvent décrire que des équations linéaires explicites.
En dehors du monde des réseaux de Petri, c'est-à-dire en renonçant à une représentation
explicite du parallélisme et de la gestion des ressources, une approche permettant un plus grande
liberté pour la description de l'évolution des variables continues a été développée. Il s'agit des
automates hybrides.
II.3.5 Les automates hybrides
Les automates hybrides sont des automates à états nis auxquels on ajoute aux états un
ensemble d'équations [8]. Leur dénition est la suivante :
Dénition 8. Un automate hybride est déni par le septuplet < X; Q; ; Inv; Ar; Ev; Ass > où :
X est un ensemble de variables réelles.
Q est un ensemble ni d'états {q}.
est une fonction, dénie pour chaque état q , décrivant l'évolution des variables X.
q (x; ) : x_ () = fq (x; ) .
Inv est une fonction qui associe à chaque état un prédicat.
Ar est un ensemble d'arcs faisant la transition entre les états.
Ev est une fonction qui associe à chaque arc un évènement. Le passage par cet arc est
conditionné par l'occurrence de l'évènement Ev associé.
38
Chapitre II Formalisation d'un modèle pour les procédés discontinus
Ass est une fonction associée à chaque arc permettant d'actualiser les valeurs des variables
(discontinuités lors des changements d'état). Assa : x : = ga (x) .
Prenons, pour illustrer cette dénition, l'exemple d'un procédé sur lequel on réalise deux
produits par l'intermédiaire de deux recettes. La première est composée de deux opérations :
O1 (utilisant la ressource R1 ) qui est une chaue du lot, et O2 (utilisant la ressource R2 ) qui
est une phase de réaction. Le passage entre l'opération O1 et l'opération O2 se fera lorsque la
température T aura dépassé une valeur seuil. Il y aura alors un changement d'état auquel nous
associons l'évènement O1 ! O2 . La ressource R1 n'est libérée que lorsque la ressource R2 est
réservée. Ce qui fait que l'on passe directement de l'état (( R1 réservée et R2 libre )) à l'état (( R1
libre et R2 réservée )). La seconde recette est décrite par une réaction (opération O3 ) nécessitant
la ressource R2 .
L'automate hybride correspondant à cet exemple est donnée par la gure II.8. Le procédé peut
être dans cinq états diérents. L'état 1 représente le procédé au repos. À l'état 2, qui correspond
à l'exécution de l'opération O1 et R2 libre, nous associons l'équation ddT mCp , Q = 0 , qui
représente l'évolution des variables continues pendant la phase de chaue.
état 1
O2 !
O1 ! O2
état 5 ! O1
! O1
! O3
état 2
état 3
! O3
O2 !
état 6
O3 !
O3 !
! O1
état 4
Figure II.8 Exemple d'automate hybride
Le procédé est représenté par les états discrets qu'il peut atteindre, et pour chaque état un
ensemble d'équations décrivant l'évolution des variables continues. Ce modèle est toutefois limité
quant à l'expression de la description de la partie discrète. En eet écrivons le réseau de Petri
représentant l'enchaînement des diérents états discrets du procédé (gure II.9).
Nous constatons que les évènements O1 ! O2 et ! O3 sont en exclusion mutuelle (partage
de ressources). Cette situation apparaît lorsque les places O1 et R2 sont marquées, c'est-à-dire
quand l'automate est dans l'état 2. Les deux arcs de sortie de cet état sont en exclusion et une
décision liée à la gestion de l'atelier doit être prise.
En revanche les évènements ! O1 et ! O3 sont totalement indépendants. Or quand R1 et
R2 sont marquées, donc que l'automate est dans l'état 1, et que les deux évènements peuvent se
produire simultanément et indépendamment l'un de l'autre, l'automate représente cette situation
de la même manière que précédemment en proposant deux arcs pour quitter cet état.
Cela tient au fait que l'automate liste les états accessibles, mais n'exprime pas la structure des
relations parallélisme et conit entre les variables discrètes. Alors que le réseau de Petri permet
de déduire, à partir des invariants de place, l'utilisation des ressources ( fR1 ; O1; O2g pour R1 ,
et fR2; O2; O3g pour R2 ), et, à partir des invariants de transition, la description des recettes
( f! O1 ; O1 ! O2; O2 !g pour la première recette et f! O3; O3 !g pour la deuxième recette).
II.3 Dénition d'un modèle pour les procédés discontinus
39
! O1
R1
O1
O1 ! O2
O2
R2
O2 !
! O3
O3
O3 !
Figure II.9 RdP équivalent à la description des états discrets de l'automate hybride
Les automates hybrides nous permettent d'obtenir un modèle représentant l'évolution des
variables continues d'une manière précise. Cependant la description de la partie discrète est
moins riche qu'en utilisant les réseaux de Petri.
II.3.6 Utiliser deux formalismes
Nous venons de voir que la démarche consistant à étendre un modèle continu n'est utilisable
que lorsque le procédé à modéliser est essentiellement continu. Réciproquement, étendre un modèle discret ne permet de modéliser que des procédés dont la partie continue est simple, ou alors
il faut abandonner la représentation explicite du parallélisme et des ressources et revenir aux
automates à états nis. Les modèles hybrides, quant à eux, ne permettent de représenter que
des procédés de faible complexité. Lorsque la complexité est comparable entre les deux aspects
(discret et continu), la seule démarche permettant d'obtenir un modèle soulignant les deux vues
consiste à utiliser deux modèles (un discret et un continu) et à les combiner.
L'approche appelée (( superviseur )) [160, 146] consiste à représenter le procédé par deux modèles couplés par une interface. Chaque modèle décrit un sous-système, le procédé (par le modèle
continu) et le superviseur (par le modèle discret), qui peut éventuellement évoluer de façon autonome. Le modèle continu représente le système physique avec ses boucles de régulations locales
et le superviseur un système de coordination, de compensation aux perturbations, de surveillance
et d'optimisation supposé être complètement à évènements discrets. Il ne s'agit pas de deux vues
complémentaires d'un même système mais plutôt de deux sous-systèmes représentés par deux
modèles diérents, l'interface traduisant les signaux échangés entre les deux parties. Mais notre
besoin est d'avoir deux représentations, correspondant à deux vues, d'un même système, et pour
cela l'approche superviseur n'est pas adaptée.
Les aspects discrets et continus correspondent à deux mondes mathématiques diérents orant
deux vues diérentes, et complémentaires, d'un même système [9].
Dans les systèmes discontinus il est important de représenter l'enchaînement logique des
congurations du système, en explicitant le parallélisme, les situations de conit imposant des
choix et les états des lots de produits et des ressources. Pour cela le modèle discret retenu est basé
sur les réseaux de Petri. Il est également important de pouvoir décrire l'évolution des variables
continues pendant chaque conguration. Pour cela le modèle continu retenu est basé sur des
systèmes d'équations diérentielles algébriques.
40
Chapitre II Formalisation d'un modèle pour les procédés discontinus
Les travaux antérieurs de B. Daubas [53, 54] et D. Andreu [9] ont proposé un principe pour
combiner les réseaux de Petri et les systèmes d'équations diérentielles algébriques. Le réseau
de Petri décrit les enchaînements de congurations nécessaires à la réalisation des produits. Il
(( pilote )) le système d'équations puisque lors de chaque changement de conguration la structure
du système, et donc le système d'équations correspondant, est modiée. De façon symétrique le
système d'équations (( contrôle )) l'évolution du réseau puisque c'est lui qui permet de savoir à
quelles dates seront franchies les transitions correspondant à des franchissements de seuils par
des variables continues.
Nous allons, dans le paragraphe suivant, reprendre ce principe de couplage en formalisant les
interactions entre les deux modèles, en nous inspirant des automates hybrides.
II.4 Dénition formelle du couplage entre réseaux de Petri et systèmes d'équations
II.4.1 Réseau de Petri et réseaux prédicats-transitions
Le réseau de Petri représente les diérentes congurations du système. Pour chaque conguration (état discret), un ensemble d'équations décrit l'évolution des variables continues. Par
conséquent un système d'équations est associé à une place, s'il existe un phénomène continu dans
l'état discret correspondant.
L'intégration entre les deux vues de ce modèle se fait de la façon suivante : un jeton mis dans
une place déclenche l'activation des équations correspondantes. Parallèlement, un certain nombre
de seuils sont surveillés. Chaque seuil est associé à une transition aval d'une place marquée. Quand
le seuil est franchi, cela signie que l'évènement correspondant est apparu, et la transition associée
à ce seuil est franchie. Un nouveau marquage est calculé et un nouveau système d'équations
devient actif.
Le réseau de Petri utilisé doit manipuler des variables continues (test de seuils, suivi de variables continues, modication des valeurs lors de changement d'état). Par conséquent nous utilisons des réseaux de Petri prédicats-transitions (RdP Pr-Tr) [75] où nous représentons les variables
continues par des attributs des jetons. La description de l'évolution des variables continues se fait
par un ensemble d'équations. Ces équations peuvent être de type algébrique et/ou diérentiel.
C'est pour cela que nous parlerons de systèmes d'équations diérentielles algébriques. L'ensemble
des équations peut être de complexité variable (linéaire/non-linéaire, explicite/implicite), ce qui
rendra la mise en ÷uvre plus ou moins complexe (cf chapitre IV).
À chaque place pk est associé un système d'équations diérentielles algébriques Fk . Le tir
d'une transition correspond à l'occurrence d'un évènement signicatif entraînant un changement
d'état. C'est pourquoi, à chaque transition ti , deux fonctions sont associées. La première, appelée
fonction de sensibilisation ei , permet de rajouter une contrainte supplémentaire au tir de ti . La
transition ti ne pourra être franchie que si ses places amont possèdent au moins un jeton, et
si ei est vraie. Cette condition de sensibilisation permet d'exprimer que c'est le fait qu'une
variable franchit un seuil qui induit un changement de conguration (commandable ou non). La
seconde, appelée fonction de jonction ji [25], permet de calculer les valeurs initiales des variables
continues, et de leurs dérivées, en accord avec l'état suivant.
Passons à la description formelle du couplage des réseaux de Petri et des systèmes d'équations
diérentielles algébriques. Tout d'abord rappelons la dénition d'un réseau de Petri ordinaire.
II.4 Dénition formelle du couplage entre réseaux de Petri et systèmes d'équations
41
Dénition 9. Un réseau de Petri marqué est le couple : N =< R; M0 > où :
R est un réseau de Petri déni par le quadruplet < P; T; Pre; Post > où :
P est un ensemble ni de places.
T est un ensemble ni de transitions.
P \T = ;
Pre et Post ( C = Post - Pre) dénissent les arcs entrant et sortant des transitions.
M0 est le marquage initial. C'est une application, M : P ! N .
Les réseaux de Petri que nous utilisons sont des réseaux prédicats-transitions. Dans un réseau
de Petri ordinaire les transitions sont considérées comme des règles dans un système de logique
propositionnelle (sans variables), alors que dans un réseau prédicats-transitions la puissance est
augmentée en les remplaçant par des règles dans une logique du premier ordre (avec variables).
Une transition décrit alors une famille d'évènements et non plus un évènement seulement. La
famille est dénie par l'ensemble des substitutions possibles des variables par des valeurs et donc
par des jetons. Ce qui fait qu'au lieu d'avoir des règles du type : si (( au moins un produit )) et
(( au moins un stock de matière première )) et (( au moins un réacteur )) faire (( transfert )) ; on aura
des règles du type : si un produit < p > et un stock < s > et un réacteur < r > faire transfert
< t > (voir gure II.10). C'est-à-dire que l'on franchira la transition ta en enlevant un jeton de
type < r > de la place R , un jeton de type < p > de la place P et un jeton de type < s > de
la place S , et on produira un jeton de type < t > dans la place T . Ces variables < p > , < s > ,
< r > et < t > prennent leurs valeurs dans un ensemble décrivant les produits et les stocks en
attente et les réacteurs libres.
<r>
R
<t>
< p; r; s >
<p>
P
ta
<t>
< p; r; s > < p; r >
T
<s>
tb
<s>
S
Figure II.10 Exemple de RdP Pr-Tr
Plutôt que d'utiliser une variable < t > signiant que les variables < p > , < r > et < s >
sont temporairement en relation (pendant la durée du transfert T , entre le franchissement de ta
et le franchissement de tb ), on peut les lister dans un n-uplet < p; r; s > .
Pour aner le choix des jetons et des transitions à franchir on associe des conditions supplémentaires de franchissement aux transitions. Ces conditions s'écrivent en utilisant les variables
formelles des arcs entrant dans la transition. Des actions associées aux transitions s'écrivent de
même à l'aide des variables associées aux arcs entrants et sortants.
Regardons la dénition d'un réseau prédicats-transitions :
Dénition 10.
Un réseau de Petri prédicats-transitions initialement marqué est un triplet
NPr-Tr =< R; A; M0 > où :
R est un réseau de Petri ordinaire < P; T; Pre; Post > .
42
Chapitre II Formalisation d'un modèle pour les procédés discontinus
A est l'annotation de NPr-Tr , A =< X; Atc; Ata; Ac > où :
X est un ensemble de variables.
Atc : T ! Lc (X ) , est une application associant à chaque transition une condition
sous la forme d'un prédicat utilisant les variables.
Ata : T ! La (X ) , est une application associant à chaque transition une action sous
la forme d'une suite d'aectation de valeurs aux variables.
Ac est une application associant à chaque arc (à chaque élément de C , C = Post ,
Pre ) une somme formelle de n-uplets d'éléments de X telle que son module soit égal
au poids de l'arc correspondant : kAc (p; t)k = C (p; t) .
M0 est le marquage initial, à chaque place est associé un n-uplet.
Dans cette dénition nous retrouvons une partie des éléments qui nous sont nécessaires : les
variables X , la condition supplémentaire de franchissement Atc et les changements instantanés
de valeurs (discontinuités) spéciés par Ata .
II.4.2 Réseaux prédicats-transitions-diérentiels
Le modèle réseau prédicats-transitions-diérentiels (réseau PTD), qui est la combinaison
d'un réseau prédicats-transitions et de systèmes d'équations diérentielles algébriques, est déni
comme suit.
Dénition 11 (réseaux prédicats-transitions-diérentiels). Un réseau prédicats-transitions-différentiels initialement marqué est déni par la paire NPTD =< NPr-Tr; F > où
NPr-Tr est un réseau prédicats-transitions déni par < R; A; M0 > où R est un réseau
de Petri ordinaire, A est l'annotation de NPr-Tr ( A =< X; Atc; Ata; Ac > ) et M0 est le
marquage initial (à chaque place pk est associé un n-uplet Xmk ).
X est l'ensemble des variables de A . On suppose que cet ensemble est décomposé en
sous-ensembles non nécessairement disjoints Xpk des variables attachées aux places pk :
X = [pk 2P Xpk
(II.4)
P est l'ensemble des places, card(P ) = n , n étant le nombre de places.
F est l'ensemble des fonctions associées aux places (voir dénition 12).
3
2 _
F
X
;
X
;
66 1 p1. p1 77
F = 64 ..
75
_
Fn Xpn ; Xpn ; (II.5)
T est l'ensemble des transitions, card(T ) = m , m étant le nombre de transitions.
Xini est l'union des ensembles des variables associées aux places d'entrée de la transition ti .
Xini = [pk 2ti Xpk
(II.6)
II.4 Dénition formelle du couplage entre réseaux de Petri et systèmes d'équations
43
Xouti est l'union des ensembles des variables associées aux places de sortie de la transition
ti .
Xouti = [pk 2ti Xpk
(II.7)
E est l'expression particulière de Atc . Elle associe à chaque transition ti une fonction de
sensibilisation qui est un prédicat (voir dénition 13).
3
2 _
e
X
;
X
;
66 1 in1 . in1
77
E = 64 ..
75
_
em Xinm ; Xinm ; (II.8)
J est l'expression particulière de Ata . Elle associe à chaque transition ti une fonction de
jonction (voir dénition 14).
3
2 _
_
j
X
;
X
;
X
;
X
;
66 1 out1 out1. in1 in1
77
..
J = 64 75
jm X_ outm ; Xoutm ; X_ inm ; Xinm ; _
(II.9)
Il y a donc n fonctions Fk Xpk ; Xpk ; dénies comme suit :
Dénition 12. Soit Xpk l'ensemble des variables manipulées par l'ensemble Fk des fonctions
associées à la place pk , nous avons :
3
2 _
f
k
1 Xpk ; Xpk ; = 0
77
6
..
Fk X_ pk ; Xpk ; = 664 75
. fkl X_ pk ; Xpk ; = 0
(II.10)
Où fk1 ... fkl sont des équations, représentant des contraintes diérentielles algébriques sur
l'évolution des variables continues, déduites des lois de la physique. La dimension l de ce système
dépend des caractéristiques physiques du système décrit et non du modèle à évènements discrets.
Ce qui diérencie fondamentalement les réseaux prédicats-transitions des réseaux prédicatstransitions-diérentiels, c'est le fait que dans le premier cas les attributs des jetons ne changent
de valeur que lors des franchissements de transitions alors que dans le second cas ils évoluent
continûment au cours du temps. Il est à noter que les variables continues du système se trouvent
réparties dans l'ensemble des jetons du réseau.
Lorsqu'une place comporte plusieurs jetons, chaque jeton instancie le système d'équations
correspondant avec l'ensemble des variables qu'il transporte. Prenons par exemple le cas d'une
place pk contenant deux jetons A et B. Les équations II.11 seront actives, soit 2l équations.
fk1 X_ pkA ; XpkA ; .
..
fkl X_ pkA ; XpkA ; _
fk1 XpkB ; XpkB ; .
_ ..
fkl XpkB ; XpkB ; (II.11)
Chapitre II Formalisation d'un modèle pour les procédés discontinus
44
Dénition 13 (Fonction de sensibilisation). Soit ei , la fonction de sensibilisation associée à la
transition ti . Le seuil ei est déni comme étant la première solution, en , de :
ei X_ ini ; Xini ; = 0
(II.12)
Xini étant l'union des variables continues associées aux places d'entrée de ti .
Cette fonction permet de détecter un évènement d'état (une variable atteint une valeur prédéterminée), aussi bien qu'un évènement de temps ( atteint une valeur prédénie). Les fonctions
de sensibilisation sont activées lorsque leurs transitions correspondantes sont sensibilisées. Les variables Xini étant alors instanciées par les variables attachées aux jetons du n-uplet sensibilisant
la transition.
Dénition 14 (Fonction de jonction). Soit ji , la fonction de jonction associée à la transition
ti . ji calcule à la date (date de franchissement de ti ) les valeurs des variables ainsi que de
leurs dérivées, en accord avec l'état suivant, comme suit :
X_ (+ ) = j X_ ; X ; ,
ji : outi + iX_ _ ini ini ,
Xouti ( ) = jiX Xini ; Xini ; (II.13)
Ce qui signie que les valeurs des variables, et de leurs dérivées, juste après (à + ) sont
calculées à partir des valeurs des variables, et de leurs dérivées, juste avant (à , ). Ce calcul
est eectué lors de chaque franchissement de la transition correspondante et permet donc de
redénir les attributs des jetons en cas de discontinuités.
II.4.3 Exemple
Prenons comme exemple la modélisation d'un réservoir tampon ST (voir gure II.5). Ce
réservoir peut être rempli avec un débit de et/ou vidé avec un débit ds ( de et ds sont connus).
La capacité maximale du réservoir est Vmax . Ce réservoir peut être dans quatre congurations
diérentes : au repos, en remplissage, en vidange, en remplissage et vidange simultanément.
Soit quatre états discrets. Ces états sont représentés sur le modèle réseau prédicats-transitionsdiérentiels par les places p1 , p2 , p3 et p4 (voir gure II.11). Les variables continues du système
sont le volume V du réservoir et les débits de et ds . Nous avons donc X = fV; de; dsg . Les
ensembles des variables associées aux places sont : Xp1 = fV g , Xp2 = fV; deg , Xp3 = fV; de; dsg ,
Xp4 = fV; dsg , Xp5 = fde g , Xp6 = fds g , Xp7 = fdeg et Xp8 = fdsg .
Il faut noter que le réseau de la gure II.11 comporte un invariant de place I : fp1 ; p2; p3; p4g
(conservation des jetons), et que chaque jeton dans ces places correspond à une instance de la
classe des réservoirs tampons ST . Pour simplier nous n'avons pris en considération que le cas
d'un jeton unique et nous avons omis de faire gurer les variables Xpk sur les arcs. Elles seraient
systématiquement associées à tous les arcs d'entrée et de sortie de la place pk .
Lorsque le réservoir est au repos aucune variable continue n'évolue, donc F1 = ; . Dans la
conguration (( en remplissage )) (place p2 ) le volume est modié selon l'équation :
dV = d
d e
(II.14)
dV = ,d
s
d
(II.15)
Dans l'état (( en vidange )) (place p4 ) l'équation d'évolution des variables continues est :
II.4 Dénition formelle du couplage entre réseaux de Petri et systèmes d'équations
p5 F 5
t1
t2
t3
e3
j3
t7
e8
j8
t4
e4
j4
e2
j2
p8
F8
Repos pF11
t8
p6
F6
Remplir
p2 F2
e1
j1
45
p7 F7
e7
j7
p3 Remplir/vider
F3
t5
e5
j5
e6
j6
t6
p4 F4
Vider
Figure II.11 Modélisation d'un réservoir par un réseau PTD
Et dans l'état (( en remplissage et vidange simultanément )) (place p3 ) l'équation continue
associée est :
dV = d , d
d e s
Les fonctions associées aux places sont :
F1 X_ p1 ; Xp1 ; = ;
F2 X_ p2 ; Xp2 ; = dV
d , de
F3 X_ p3 ; Xp3 ; = dV
d , de + ds
dV
_
F4 Xp4 ; Xp4 ; = d + ds
F5 X_ p5 ; Xp5 ; = ;
F6 X_ p6 ; Xp6 ; = ;
F7 X_ p7 ; Xp7 ; = ;
F8 X_ p8 ; Xp8 ; = ;
E est telle que e1 , e3 , e5 et e7 sont le prédicat (( vrai )) et
(II.16)
(II.17)
e2 X_ in2 ; Xin2 ; : V = Vmax
e4 X_ in4 ; Xin4 ; : V = 0
(II.18)
e6 X_ in6 ; Xin6 ; : V = Vmax
e8 X_ in8 ; Xin8 ; : V = 0
Les fonctions de sensibilisation e1 , e3 , e5 et e7 sont vraies car on suppose que les jetons
sont introduits dans les places p5 , p6 , p7 et p8 par le système de pilotage au moment exact où
46
Chapitre II Formalisation d'un modèle pour les procédés discontinus
les transitions t1 , t3 , t5 et t7 doivent être franchies.
Considérons maintenant quelques fonctions de jonction :
8 V (+ ) = V (, )
>
>
<
+
,
j1 = > dV_e ((+ )) == dde ((, ))
> _ + e
:
(II.19)
de ( ) = 0
Le jeton (( sortant )) de la transition t1 porte les variables V et de . La valeur de ces deux
variables juste après le franchissement de t1 (à + ) est la même que juste avant le franchissement
(à , ), même s'ils étaient portés par deux jetons : un dans p1 et l'autre dans p5 . Par contre, la
dérivée du volume qui était nulle à , , parce que le volume ne variait pas, devient égale, à + ,
au débit d'alimentation du réservoir.
De la même manière nous aurons :
j2 =
(
V (+ ) = V (, )
V_ (+ ) = 0
(II.20)
Les ensembles de variables des transitions ne sont pas tous les mêmes. Par exemple Xin1 =
fV; deg car il est l'union de Xp1 = fV g et Xp5 = fdeg . Par contre Xin4 = Xp3 = fV; de; dsg . De
la même façon Xout1 = Xp2 = fV; deg , Xout3 = Xp3 = fV; de; dsg et Xout4 = Xp2 = fV; deg .
À l'état initial nous considérons le système dans l'état (( au repos )) avec le réservoir vide. Il
y a donc un jeton en p1 ayant pour champ et valeur : V = 0 .
II.4.4 Construction de l'automate hybride équivalent
Comme nous l'avons montré au paragraphe II.3.5 un automate hybride ne représente pas
correctement le parallélisme vrai (il ne décrit que l'entrelacement). Toutefois la seule façon systématique de simuler un réseau prédicats-transitions-diérentiels est de construire (implicitement
et dynamiquement, ou explicitement) l'automate hybride équivalent car une variable continue
peut apparaître sur plus d'un jeton et être impliquée dans les équations associées à des places
diérentes.
La construction de l'automate hybride équivalent peut être automatisée dans les cas simples :
L'ensemble des variables est X .
L'ensemble des états Q est l'ensemble des marquages Mi accessibles à partir du marquage
initial M0 (ce qui implique que le réseau de départ est k-borné).
Les fonctions et Inv associées à un marquage Mi sont obtenues à partir de l'union des
systèmes (F ) associés aux places marquées de Mi . Il faut en déduire un certain nombre
d'expressions purement algébriques ( Inv ) et d'autres qui explicitent le calcul des dérivées
des variables continues en fonction de X ( ).
Ar est donnée par le graphe des marquages accessibles, chaque arc correspond au franchissement d'une transition du réseau.
Ev et Ass seront, respectivement, les fonctions de sensibilisation et de jonction des transitions correspondantes.
II.5 Conclusion
47
II.5 Conclusion
Dans ce chapitre nous avons présenté un modèle hybride couplant des réseaux de Petri et
des systèmes d'équations diérentielles algébriques an de représenter des procédés discontinus.
En eet ce type de procédés ne peut être intégralement représenté ni par un modèle continu (les
extensions de ces modèles ne permettent pas de représenter les actions séquentielles telles que les
recettes de fabrication), ni par un modèle discret (les extensions de ces modèles ne permettent
pas de représenter les phénomènes continus complexes). Nous n'avons pas retenu les réseaux
de Petri hybrides pour deux raisons. D'une part nous ne souhaitions faire, a priori, aucune
réduction hypothétique sur les systèmes d'équations diérentielles algébriques représentant la
partie continue. D'autre part nous souhaitions établir une séparation, la plus claire possible,
entre la vue discrète et la vue continue. En particulier nous souhaitions que tous les évènements
soient explicitement décrits par des franchissements de transitions, c'est-à-dire que le fait qu'une
variable atteigne la valeur zéro soit traité de la même façon que le fait qu'elle atteigne un seuil
prédéni.
Nous avons déni formellement le couplage entre deux modèles, les réseaux de Petri et les
systèmes d'équations diérentielles algébriques, en respectant les principes dénis par B. Daubas
[53] et D. Andreu [9] pour arriver au modèle réseau prédicats-transitions-diérentiels.
Il s'agit d'un modèle où des systèmes d'équations sont associés aux états discrets (chaque
marquage du réseau de Petri). Les équations associées à une place sont actives lorsque la place
est marquée. Les interactions entre le réseau de Petri et les systèmes d'équations diérentielles algébriques sont dénies formellement par l'introduction des fonctions de sensibilisation (dénition
formelle des conditions de changement de conguration), et des fonctions de jonction (dénition
des nouvelles conditions initiales après chaque changement de conguration).
Ce modèle dénit donc très directement un automate hybride. Les états de l'automate correspondent aux marquages accessibles du réseau, et l'ensemble des équations associé à chaque
état est l'union des ensembles d'équations associés aux places marquées pour chaque marquage
accessible. En fait, nous avons étendu aux réseaux de Petri la démarche très générale adoptée
pour la dénition des automates hybrides. Le fait d'associer les variables continues aux jetons
sous la forme d'attributs (par l'utilisation des réseaux prédicats-transitions) permet de maintenir
le principe de localisation des informations. Toutes les informations nécessaires à la dénition
d'un évènement sont localisées dans la transition correspondante et dans ses places d'entrée.
En conséquence, contrairement aux automates hybrides, un modèle réseau prédicats-transitions-diérentiels peut s'obtenir en décrivant les équipements et les recettes du procédé, puis en
les composant. Nous avons alors une approche ascendante pour l'obtention d'un modèle hybride.
Notons également qu'un sous-modèle représentant un équipement élémentaire correspond en général à un automate hybride. Par conséquent la représentation de systèmes hybrides complexes
sera plus facile à l'aide d'un modèle réseau prédicats-transitions-diérentiels si nous dénissons
une approche permettant de construire un réseau prédicats-transitions-diérentiels par composition d'automates (ou de sous-réseaux) hybrides. Toutefois les systèmes d'équations diérentielles
algébriques associés à chaque état de l'automate étant obtenus par l'union de sous-systèmes écrits
séparément, des problèmes de cohérence peuvent se poser.
48
Chapitre II Formalisation d'un modèle pour les procédés discontinus
Chapitre III
Modélisation de systèmes complexes et exemples
III.1 Introduction
Au chapitre précédent, nous avons déni un modèle hybride. Ce modèle permet de représenter
des enchaînements de congurations, des mécanismes d'allocation de ressources et, également,
l'évolution de variables continues. Lorsque l'on modélise un procédé de grande taille, il est impossible d'obtenir un modèle directement. L'écriture du modèle se fait en suivant une méthode
de construction qui peut être basée sur une vision agrégée du système que l'on ane au fur et à
mesure (vision descendante) ou par composition de sous-modèles (vision ascendante).
Notre choix s'est porté sur deux approches de type ascendant pour obtenir un modèle. La
première consiste à décrire la partie discrète du système, puis la partie continue. Pour chaque
équipement et chaque recette, on détermine les états qui peuvent être atteints, puis on écrit
les réseaux de Petri an d'exprimer les séquences et les mécanismes d'allocation de ressources.
Les sous-réseaux de Petri sont ensuite couplés en faisant des fusions de transitions et/ou de
branches. À partir de ce réseau, on écrit les équations décrivant l'évolution des variables continues
pour chaque place. Cette méthode d'écriture des réseaux prédicats-transitions-diérentiels est
intéressante lorsque la vue discrète est dominante.
La deuxième approche consiste à écrire pour chaque équipement et pour chaque recette un
sous-réseau prédicats-transitions-diérentiels puis à combiner les sous-réseaux pour obtenir le
modèle global du procédé.
Dans ce chapitre nous allons dénir formellement le couplage entre sous-réseaux de Petri par
fusion de transitions ce qui présente l'avantage de conserver les invariants de place caractérisant
les états accessibles propres à chaque équipement. Puis nous exprimerons les règles de construction à respecter pour dénir un système global d'équations calculable à partir de sous-systèmes,
représentant les équipements et les recettes, écrits indépendemment. Enn nous illustrerons nos
propos sur trois exemples.
Le premier exemple est un procédé discontinu qui consiste à fabriquer un produit en eectuant
deux réactions entrecoupées d'une phase de repos dans un réservoir diérent. Cet exemple a une
composante discrète dominante. Nous construisons le modèle en écrivant d'abord le réseau de
Petri puis les équations.
Le second exemple, un procédé avec stockage intermédiaire, servant à fabriquer un produit à
Chapitre III Modélisation de systèmes complexes et exemples
50
travers une recette linéaire, va nous permettre de traiter le cas des stockages intermédiaires. Le
cas des stockages intermédiaires est particulièrement intéressant car le couplage du sous-modèle
représentant le stock avec les autres sous-modèles doit se faire de manière dynamique. En eet
l'état d'un stock tampon dépend des recettes qui l'utilisent, et cet état ne peut donc pas être
calculé uniquement dans une recette puisqu'il dépend également des autres recettes en cours.
Enn le troisième exemple, le stockage de gaz, concerne une unité faisant tampon entre une
unité de production de gaz et un réseau de distribution aux clients. Dans cet exemple, la vue
continue domine. Nous construisons le modèle en écrivant des sous-réseaux prédicats-transitionsdiérentiels pour chaque équipement puis en les couplant.
Mais, tout d'abord, intéressons nous au couplage de sous-modèles, et, pour commencer, regardons la fusion de transitions de deux sous-réseaux de Petri.
III.2 Formalisation du couplage de sous-modèles
III.2.1 Fusion (( statique )) de transitions
L'écriture d'un modèle de grande taille est dicile. Pour aider le concepteur du modèle,
nous formalisons le couplage entre sous-modèles an qu'il puisse utiliser une approche modulaire
(ascendante). Un modèle peut être obtenu, par exemple, en écrivant des sous-modèles décrivant
les équipements et les recettes, puis en les composant pour obtenir le modèle du procédé.
Pour composer, ou coupler, les sous-modèles il faut repérer les transitions des diérents sousréseaux qui correspondent à un même évènement (repéré par une étiquette r ). Prenons, par
exemple, le cas de l'évènement (( commencer une opération sur un équipement )), la transition
correspondant, dans le sous-réseau équipement RI , à cet évènement est appelée tICr et celle du
sous-réseau recette RL , tLCr .
Lors de l'apparition de l'évènement repéré par l'étiquette r , les transitions correspondantes
( tICr et tLCr ) doivent être franchies simultanément. Dans le modèle global du procédé ( RG ) ces
deux transitions seront fusionnées. Un exemple est donné dans le paragraphe III.2.3.
Dénition 15. Soient un réseau de Petri RI =< PI ; TI [ TC ; PreI ; PostI > et un réseau de
Petri RL =< PL ; TL [ TC ; PreL ; PostL > , avec PI \ PL = ; et TI \ TL = ; .
Le réseau de Petri résultant de la fusion de RI et de RL est le réseau
RG =< PI [ PL ; TI [ TL [ TC ; PreG ; PostG > , où PreG et PostG sont dénies par la procédure
décrite ci-dessous.
TC est l'ensemble des transitions étiquetées qui fusionneront deux à deux lors de la construction du réseau de Petri global. Regardons comment sont dénies les matrices PreG et PostG
du réseau global.
Dénition 16. Soit Pre0I (respectivement Post0I ) les matrices obtenues en immergeant le réseau
RI dans le réseau RG .
8p 2= PI 8t 2 TI [ TC Pre0I0 (p; t) = 0 (resp: Post0I (p; t) = 0)
8p 2 PI 8t 2 TI [ TC PreI (p; t) = PreI (p; t) (resp: Post0I (p; t) = PostI (p; t)) (III.1)
Pre0I ( Post0I ) est une matrice de dimension nG mI alors que PreI ( PostI ) est une matrice
de dimension nI mI ( nI étant le nombre de places de RI , mI le nombre de transitions de RI
III.2 Formalisation du couplage de sous-modèles
51
et nG le nombre de places de RG ). Nous obtenons ainsi les matrices Pre0I et Post0I représentant
le réseau RI , mais les colonnes de ces matrices sont de même taille que celles de RG .
Dénition 17. La construction des matrices PreG et PostG est alors obtenue de la façon suivante :
8t 2 TI PreG (; t) = Pre0I0 (; t)
8t 2 TL PreG (; t) = PreL0 (; t)
8t 2 TC PreG (; t) = PreI (; t) + Pre0L (; t)
8t 2 TI PostG (; t) = Post0I0 (; t)
8t 2 TL PostG (; t) = PostL0 (; t)
8t 2 TC PostG (; t) = PostI (; t) + Post0L (; t)
(III.2)
(III.3)
III.2.2 Fusion de branches
Après composition des sous-réseaux par fusion de transitions, le réseau global obtenu peut
comporter des places identiques.
Dénition 18 (places identiques). Deux places pk et pl d'un réseau RG sont identiques ssi
PreG (pk ; ) = PreG (pl ; )
PostG (pk ; ) = PostG (pl ; )
(III.4)
C'est-à-dire que deux places identiques possèdent le même ensemble de transitions d'entrée
et le même ensemble de transitions de sortie.
Dans ce cas on fusionne les places identiques ( pk et pl ) pour obtenir la place pc . La
matrice Pre0G (respectivement Post0G ) est obtenue en supprimant les lignes PreG (pk ; ) et
Pre0G (pl; ) ( PostG (pk ; ) et PostG (pl ; ) ) de la0 matrice PreG ( PostG ) et en y ajoutant la ligne
PreG (pc ; ) = Pre
G (pk ; ) = PreG (pl ; ) ( PostG (pc ; ) = PostG (pk ; ) = PostG (pl ; ) ).
Le réseau R0G est obtenu après fusion de transitions et fusion de places identiques. Lorsque
deux sous-réseaux sont reliés par des fusions de places on dit que les sous-réseaux sont fusionnés
par fusion de branches.
III.2.3 Fusion dynamique de transitions
Dans le cas général on peut avoir un sous-ensemble de mIr transitions TICr du réseau RI
qui correspondent toutes à la même étiquette r et qui vont fusionner globalement avec un sousensemble de mLr transitions TLCr du réseau RL ayant la même étiquette r . Elles vont générer
un sous-ensemble TCr de mIr mLr transitions communes obtenu par le produit cartésien de
TICr avec TLCr .
Par exemple, si TCr = TICr TLCr désigne l'ensemble des transitions résultant de la fusion de
TICr avec TLCr , TICr et TLCr représentant des ensembles de transitions des réseaux RI et RL ,
ayant la même étiquette r . Si nous avons TICr = ftICr;1 ; tICr;2 g et TLCr = ftLCr;1 ; tLCr;2 ; tLCr;3 g
nous obtiendrons six transitions tCr;k formant l'ensemble TCr = ftCr;1 = tICr;1 tLCr;1 ; tCr;2 =
tICr;1 tLCr;2 ; tCr;3 = tICr;1 tLCr;3 ; tCr;4 = tICr;2 tLCr;1 ; tCr;5 = tICr;2 tLCr;2 ; tCr;6 = tICr;2 tLCr;3 g
Dénition 19. Soit , l'ensemble des étiquettes communes aux réseaux RI et RL où TIC =
[r 2,TICr est l'ensemble des transitions de RI qui vont fusionner, et qui sont rangées par
groupes de transitions correspondant à chaque étiquette r , avec TLC = [r 2,TLCr .
Chapitre III Modélisation de systèmes complexes et exemples
52
Le réseau RG obtenu par fusion dynamique des transitions de même étiquette de RI et RL
est le réseau RG =< PI [ PL ; TI [ TL [ TC ; PreG ; PostG > où TC = [r 2, TICr TLCr .
PreG et PostG sont construites de façon analogue au cas précédent après expansion des
réseaux RI et RL . Cette expansion se fait vis-à-vis des transitions en remplaçant, dans RI , TIC
(de dimension mIr ) par TC ( mIr mLr ) et, dans RL , TLC ( mLr ) par TC ( mIr mLr ).
Prenons, par exemple, tICr;k une transition de TICr . Elle sera remplacée par mLr transitions
n o
tCr;k obtenues par le produit cartésien tICr;k TLCr . Les matrices d'incidence de RI ( Pre0I
et Post0I ) sont simplement obtenues par duplication des colonnes, c'est-à-dire que
n o
8t 2 tICr;k TLCr Pre0I (; t) = PreI ; tICr;k
(III.5)
Avant de continuer la discussion sur la fusion dynamique de transitions, arrêtons-nous un
instant pour faire le bilan de ce que nous venons de dire. Adhérant pleinement à l'idée qu'un bon
dessin vaut mieux qu'un long discours (surtout lorsque l'on parle de graphe), illustrons l'exemple
présenté précédemment où TCr = TICr TLCr . La gure III.1 correspond aux fragments des
réseaux RI et RL faisant apparaître les transitions étiquetées par r .
pI1
tICr;1
pI 2
tICr;2
pI3
RI
pL1
tLCr;1
pI 4
pL2
pL3
tLCr;2
pL4
tLCr;3
pL5
RL
pL6
Figure III.1 Fusion dynamique de transitions
Les matrices d'incidence avant de ces réseaux sont :
2
3
tICr;1 tICr;2 ...
66
77
6
77 pI1
PreI = 66
1
0
77 pI2
64
0
1
5 ..
(III.6)
.
3 .
2 t
LCr;1 tLCr;2 tLCr;3 77 ..
66
77 pL1
66
1
0
0
77 pL2
6
PreL = 6
0
1
0
77 pL3
66
5 ..
4
0
0
1
.
(III.7)
III.2 Formalisation du couplage de sous-modèles
53
La matrice Pre0I obtenue par immersion de RI dans RG puis expansion de RI est :
2
3
.
t
Cr;1 tCr;2 tCr;3 tCr;4 tCr;5 tCr;6 66
77 ..
66
66
0
PreI = 666
66
66
4
77
77
77
77
77
75
pI1
pI2
pL1
pL2
pL3
(III.8)
3 .
2
tCr;1 tCr;2 tCr;3 tCr;4 tCr;5 tCr;6 77 ..
66
77 pI1
66
1
1
1
0
0
0
77 pI2
66
0
0
0
1
1
1
77 pL
6
PreG = 66
77 p 1
1
0
0
1
0
0
66
77 L2
0
1
0
0
1
0
66
75 pL3
0
0
1
0
0
1
4
..
.
(III.9)
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
0
0
..
.
Et PreG devient alors
Ce qui donne le fragment de réseau RG de la gure III.2 (n'oublions pas le dessin !).
pI1
tCr;1
pI2
tCr;2
pI3
pL1
tCr;3
pI4
tCr;4
pL4
pL2
pL3
tCr;6
tCr;5
pL5
pL6
Figure III.2 Réseau global après fusion dynamique de transitions
Cet ensemble de dénitions montre que lorsque l'on ramène la fusion dynamique à de la
fusion statique, cela introduit une explosion combinatoire du nombre des transitions. Pourtant
lorsqu'un évènement repéré par une étiquette r se produit, il faut qu'une et une seule transition
étiquetée par r soit sensibilisée. S'il y en a plus d'une, il y a indéterminisme car on ne sait s'il
faut les franchir toutes, ou bien une seule et alors laquelle? Dans le cas où l'on considère un
réseau RG obtenu par fusion de RI et RL et lorsque l'étiquette r existe dans RI et RL , le
fait qu'une unique transition, étiquetée par r , soit sensibilisée dans RG est équivalent au fait
qu'il existe une unique transition dans RI étiquetée par r sensibilisée et une unique transition
dans RL étiquetée par r sensibilisée (évident par construction de TCr sous la forme du produit
cartésien de TICr et TLCr ).
Plutôt que de construire statiquement le réseau de Petri résultant de la fusion, il est souvent
plus judicieux de le faire dynamiquement, c'est-à-dire de franchir simultanément la transition de
RI sensibilisée et étiquetée par r et celle de RL (sensibilisée et étiquetée par r ).
Chapitre III Modélisation de systèmes complexes et exemples
54
Cette approche, formalisée pour la fusion de deux sous-réseaux RI et RL peut être aisément
généralisée à K sous-réseaux.
Prenons deux exemples de procédés dont la modélisation fait appel à la fusion dynamique
de transitions. Le premier concerne un stock ST et un fragment de recette consistant à faire
l'opération (( vider ST )) (gure III.3). Ce stock peut se retrouver dans quatre congurations
diérentes : au repos, remplir, vider et la quatrième étant remplir et vider simultanément. En eet,
nous considérons que plusieurs lots peuvent utiliser ce stock en même temps. Lorsqu'apparaît
l'évènement (( débuter vidange de ST )) repéré par l'étiquette 1 , il faut franchir tIC1;1 pour faire
passer le sous-réseau recette dans l'état (( vider ST )), et il faut franchir une transition étiquetée
par 1 dans le sous-réseau ST ( tLC1;1 ou tLC1;2 ) pour passer dans un état qui correspond à la
vidange de ST ((( vider )) ou (( remplir et vider simultanément ))).
ST
Remplir
tLC1;2
Repos
tIC1;1
Remplir/vider
tLC1;1
RI
Vider ST
Vider
RL
Figure III.3 Fusion dynamique de transitions entre deux sous-réseaux
Le couplage
entreoles sous-réseaux se fait par l'intermédiaire de TC1 = tIC1;1 TLC1 , avec
n
TLC1 = tLC1;1 ; tLC1;2 .
Nous allons maintenant considérer un exemple impliquant la fusion de plus de deux réseaux.
Dans un tel cas deux situations peuvent se rencontrer : soit il faut eectivement fusionner une
transition de chaque sous-réseau en une seule, soit il y a conit entre plusieurs fusions possibles.
Le premier cas correspond à une opération utilisant plusieurs ressources comme un transfert entre
un appareil R1 et un appareil R2 qui va, par exemple, impliquer la fusion d'une transition (( début
de transfert )) de la recette avec une transition (( début de vidange )) de R1 et une transition
(( début de remplissage )) de R2 . Le deuxième cas correspond à un conit pour l'aectation d'une
ressource à deux opérations mutuellement exclusives.
Détaillons un exemple de cette situation. Il s'agit d'un stock tampon ST (représenté par le
réseau RL de la gure III.4). Il est impossible de remplir et vider simultanément ST (parce qu'il
n'y a qu'un tuyau d'alimentation, par exemple). Ce stock est utilisé par deux recettes dont les
sous-réseaux RI et RK représentent l'opération (( vider ST )). Il existe alors deux évènements
liant les sous-réseaux. Le premier (( début vidange de ST par la recette I )) repéré par l'étiquette
1 et le second (( début vidange de ST par la recette K )) repéré par l'étiquette 2 .
La transition faisant passer le sous-réseau ST de repos à vider est, en fait, une abréviation
III.2 Formalisation du couplage de sous-modèles
ST
55
Remplir
RI
RK
tIC1;1
Repos
tKC2;1
tLC 1;2 ;1
f
RL
g
Vider ST
Vider ST
Vider
Figure III.4 Abréviation de transitions
de deux transitions tLC1;1 et tLC2;1 , étiquetées chacune par 1 et 2 , notée tLCf1;2g;1 . Le couplage
entre les sous-réseaux sera déni par TC1 = tLC1;1 tIC1;1 et TC2 = tLC2;1 tKC2;1 .
III.2.4 Fusion de transitions des réseaux prédicats-transitions-diérentiels
Regardons maintenant le cas de la fusion de transitions dans le cadre des réseaux prédicatstransitions-diérentiels. La construction du réseau global RG , résultant de la fusion de deux
transitions TICr et TLCr de deux sous-réseaux prédicats-transitions-diérentiels RI et RL est
identique au cas des réseaux ordinaires (déni dans le paragraphe III.2.1). Toutefois il convient
de faire un peu plus attention à la façon de fusionner les fonctions de sensibilisation ( E ) et les
fonctions de jonction ( J ).
Commençons par regarder le cas des fonctions de sensibilisation. Une fonction de sensibilisation exprime la réalisation d'une valeur pour une fonction algébrique des variables continues.
Lorsque la fonction de sensibilisation devient vraie, cela signie qu'un évènement (dépassement
de seuil) est apparu, et la transition correspondante est franchie. Toutefois si cette transition est
étiquetée et que la transition portant la même étiquette dans un autre sous-réseau possède une
fonction de sensibilisation, il sera impossible de franchir ces transitions car deux évènements ne
peuvent se produire simultanément. Nous devons donc établir la règle suivante :
Dénition 20 (restriction sur les fonctions de sensibilisation). Si l'on fusionne deux réseaux
prédicats-transitions-diérentiels RI et RL , pour une étiquette donnée r :
ou bien les transitions de TICr ont des fonctions de sensibilisation associées et pas celles
de TLCr ,
ou bien, au contraire, ce sont les transitions de TLCr qui ont des fonctions de sensibilisation
associées et pas celles de TICr ,
ou bien aucune des deux n'en a.
D'une certaine manière, dans les sous-modèles, on peut voir les transitions munies de fonctions
de sensibilisation comme des (( commande )) et les autres comme des façons d'être commandé, ou
bien de simples synchronisations.
Chapitre III Modélisation de systèmes complexes et exemples
56
Regardons maintenant le cas des fonctions de jonction. A priori il est parfaitement possible
de fusionner des transitions ayant chacune une fonction de jonction, elles seront toutes exécutées.
Cependant si l'ensemble des variables continues associées aux places aval des transitions de TICr
n'est pas disjoint de l'ensemble des variables des places aval des transitions de TLCr il risque d'y
avoir des aectations de valeurs incohérentes. Nous regarderons ce problème plus en détail dans
le paragraphe suivant (III.3). Le passage de paramètres se fera sous la forme de l'introduction
de variables formelles dans les fonctions de jonction. Une variable formelle dans un réseau RI
permet de faire référence à un champ de jeton déni dans un réseau RL .
Prenons l'exemple du réservoir décrit dans le paragraphe (II.4). Nous remplaçons les places
représentant la commande (places p5 à p8 ) par une recette dont un fragment est donné dans
la gure III.5. Ce fragment de recette correspond à mettre 5 u.v. de matière dans le réservoir,
attendre, puis vider le réservoir. Nous supposons que les situations anormales remplir ST alors
que V = Vmax et vider ST alors que V = 0 ne sont pas traitées par la recette, mais par un
autre sous-réseau que nous ne détaillons pas.
Pour obtenir le modèle réseau prédicats-transitions-diérentiels de ce procédé nous allons
construire d'abord le modèle de l'équipement, puis le modèle de la recette et nous les combinerons.
Le sous-réseau prédicats-transitions-diérentiels du réservoir est composé de quatre places
auxquelles sont associées des équations, comme décrit précédemment (les places p5 , p6 , p7 et
p8 sont enlevées).
Le sous-réseau prédicats-transitions-diérentiels de la recette est composé de cinq places. p6
représentant la phase de remplissage du réservoir, p7 la phase de repos et p8 la phase de vidange. La recette commande l'utilisation de l'équipement, pour cela elle comporte deux fonctions
de jonction j9 et j11 (associées à t9 et t11 ) qui xent les débits avec lesquels sera utilisé le réservoir, ainsi que les quantités de matière à transférer. Les fonctions associées à ce réseau sont,
partiellement, dénies comme suit :
j9 :
j11 :
(
(
e2 : V
e4 : V
e6 : V
e8 : V
de = 10u:v:=u:t:
Vr = 5u:v:
ds = 2; 5u:v:=u:t:
Vr = 0u:v:
= Vr
= Vr
= Vr
= Vr
Les deux sous-réseaux sont liés par quatre évènements : début de remplissage ( 1 ), n de
remplissage ( 2 ), début de vidange ( 3 ) et n de vidange ( 4 ). Les transitions t1 et t5 du
sous-réseau équipement ainsi que la transition t9 du sous-réseau recette sont étiquetées par 1 .
De même pour t2 , t6 et t10 par 2 , t3 , t7 et t11 par 3 et t4 , t8 et t12 par 4 . Nous avons
alors les quatre transitions, fusionnées dynamiquement, suivantes :
TC1 = TSTC1 ft9 g avec TSTC1 = ft1 ; t5g .
TC2 = ft2 ; t6g ft10 g .
TC3 = ft3 ; t7g ft11 g .
III.2 Formalisation du couplage de sous-modèles
57
ST
Remplir
t1
1
p2
t4
4
t2
Sous-réseau
Équipement
2
p1
Repos
t3
3
p3
t7
3
t5
1
p4
t8
4
Remplir/vider
t6
2
Vider
p5
t9 1
p6
t10 2
Remplir ST
p7
t11 3
Sous-réseau
Recette
p8
t12 4
p9
Vider ST
Figure III.5 Exemple de couplage de deux sous-réseaux PTD
TC4 = ft4 ; t8g ft12 g .
Nous remarquons qu'aux évènements 1 et 3 (début d'opérations), aucune fonction de
sensibilisation n'est associée. Ces évènements correspondent, en fait, à des synchronisations entre
les équipements. Les fonctions de jonction j9 et j11 eectuent des passages de paramètres entre
la recette et le réservoir. Notamment le paramètre Vr qui est ensuite utilisé par les fonctions de
sensibilisation e2 , e4 , e6 et e8 du sous-réseau ST . Les évènements 2 et 4 , quant à eux, sont
commandés par le réservoir. Les transitions t2 , t4 , t6 et t8 sont des transitions déclenchantes
pour la fusion alors que les transitions t10 et t12 sont des transitions déclenchées.
Cet exemple est l'occasion de mettre en évidence la complexité des systèmes discontinus et le
fait qu'une modélisation précise, même si elle est modulaire, permet de détecter les incohérences.
En eet en cas d'exécution simultanée de deux recettes diérentes on peut arriver dans la place
p3 avec de = ds . Dans ce cas dV
d = 0 et, la condition V = Vr n'étant jamais vériée, les deux
transitions de sortie de la place p3 ( t4 et t6 ) ne seront jamais franchies. Les recettes seront
bloquées. Ce modèle de réservoir est incorrect et il faut interdire la conguration décrite par la
place p3 en prenant un modèle analogue à celui de la gure III.4.
III.2.5 Fusion de branches pour les réseaux prédicats-transitions-diérentiels
Comme nous l'avons dit au paragraphe III.2.2, les places identiques sont fusionnées entre
elles. La place résultante pC de la fusion de deux places identiques pk et pl sera une place
ayant les mêmes transitions d'entrée et de sortie que pk et pl (comme dans le cas des réseaux
ordinaires), l'ensemble des fonctions FC associées à la place fusionnée sera l'union des ensembles
Chapitre III Modélisation de systèmes complexes et exemples
58
de fonctions associées à pk et pl ( FC = Fk [ Fl ) et les variables XC seront l'union des variables
Xk et Xl ( XC = Xk [ Xl ).
< XPK16 >
pK16
pK20
FK20
pL1
pL1
< XPL1 >
tC1
pL21
FL21
)
< XPL1 >
tC1
< XPK16 > < XPL1 ; XPK16 >
pC
PK16
FC = FK20 [ FL21
tC2
pL3
tC2
pL3
Figure III.6 Fusion de branches pour les réseaux PTD
III.3 Modularité de la partie continue
III.3.1 Position du problème
Nous venons de voir qu'il était possible d'avoir une approche modulaire vis-à-vis de la partie
discrète. Celle que nous avons proposée est fondée sur la représentation du comportement discret
des équipements par des sous-réseaux de Petri, le comportement discret du système global étant
obtenu par fusions de transitions. Est-il possible de décrire l'évolution des variables continues
pour chaque équipement indépendamment, puis d'écrire un système d'équations global (qui sera
déni par l'union des systèmes d'équations des places marquées) calculable? Nous allons voir
que sans structurer les variables de chaque équipement cela est impossible.
Dénition 21 (Ubiquité du réseau prédicats-transitions (cf Sibertin-Blanc [144])). On dit
qu'il y a ubiquité dans un réseau de Petri s'il existe un marquage M accessible à partir du
marquage initial M0 , tel qu'au moins un attribut (une variable) apparaisse comme champ de
plus d'un jeton.
Par exemple si dans l'exemple III.5 on conserve dans le sous-réseau recette la valeur du
paramètre déterminant le volume de produit ( Vr ), il y aura ubiquité pour le marquage p2p6
puisque cette valeur sera à la fois attribut du jeton dans p2 et attribut du jeton dans p6 .
Or un réseau avec ubiquité ne permet pas de garantir la résolution du système d'équations.
En eet, comme on écrit les modèles des équipements indépendamment les uns des autres, le
système d'équations associé aux places pour un marquage accessible du réseau global peut être
incohérent. Il sut, pour cela, d'avoir deux équipements qui décrivent l'évolution d'une variable
continue avec deux lois diérentes. Il en est de même pour les fonctions de jonction.
Un réseau prédicats-transitions-diérentiels avec ubiquité ne peut être validé (vérication
de l'homogénéité des systèmes d'équations) qu'en écrivant l'automate hybride équivalent. Par
conséquent il est impossible de valider indépendamment chaque sous-réseau représentant les
équipements.
III.3 Modularité de la partie continue
59
Nous venons de voir que la vérication des systèmes d'équations d'un sous-réseau prédicatstransitions-diérentiels ne peut pas être eectuée équipement par équipement lorsqu'il y a des
variables dénies dans deux places diérentes pour un même marquage. Or cette situation est
fréquemment rencontrée dans les procédés discontinus. En eet, dès qu'une variable continue
représentant un ux de matière passant à travers plusieurs équipements apparaît dans un modèle,
cette variable sera forcement dénie par chaque équipement l'utilisant. Et, par conséquent, cette
variable créera l'ubiquité du réseau.
Nous allons voir dans les paragraphes suivants comment structurer les variables continues
des sous-réseaux an d'obtenir des systèmes d'équations calculables.
III.3.2 Structuration des variables
An de pouvoir écrire, et valider, la partie continue d'un sous-réseau indépendamment des
autres, nous allons structurer l'ensemble des variables en trois types de variables : les variables
d'entrée (notées Xe ), les variables internes (notées Xint ) et les variables de sortie (notées Xs ).
Et nous allons ainsi dénir la notion de réseau prédicats-transitions-diérentiels bien structuré. Il
est important de noter que cette structuration joue un rôle pour la construction et la validation
du modèle mais qu'elle ne présume en rien sa simulation. La simulation de la partie continue se
fait globalement avec toutes les variables et les équations dénies par le marquage courant.
Dénition 22 (place bien structurée). Une place d'un réseau prédicats-transitions-diérentiels
est dite bien structurée ssi
Les variables continues (attributs des jetons) associées à cette place sont partitionnées telles
que Xpk = Xe [ Xint [ Xs , avec Xe \ Xint = ; , Xe \ Xs = ; et Xint \ Xs = ; .
Les fonctions de jonction des transitions d'entrée de la place ne font des aectations que
sur des variables de Xint [ Xs .
Le système d'équations associé à la place permet de calculer les valeurs des variables Xint [
Xs si celles de Xe sont supposées connues.
Les variables Xint sont les variables internes du sous-réseau, elles ne sont accessibles par
aucun autre sous-réseau. Les variables Xe sont des variables d'entrée, supposées calculées dans
d'autres sous-réseaux. Les variables Xs sont des variables de sortie, elles pourront apparaître
dans d'autres sous-réseaux à condition que ce soit sous la forme de variables d'entrée. Attention
à ne pas confondre Xe ( Xs ) avec Xin ( Xout ) qui est l'union des variables associées aux places
d'entrée (de sortie) de ti .
Nous remarquons qu'il n'y a aucune restriction sur les fonctions de sensibilisation. Elles
peuvent porter sur n'importe quel type de variables.
III.3.3 Sous-réseau bien structuré
Regardons maintenant comment écrire un sous-réseau pour qu'il soit bien structuré.
Dénition 23. Un sous-réseau prédicats-transitions-diérentiels ( RI ) est bien structuré ssi
Ses places forment un invariant de place positif (dans le contexte du réseau de Petri ordinaire).
Toutes ses places sont bien structurées.
60
Chapitre III Modélisation de systèmes complexes et exemples
Les ensembles de variables de sortie Xs sont identiques pour toutes les places ( 8p1; p2 2 PI ,
Xs(p1) = Xs (p2) ).
On note Xs (RI ) l'ensemble des variables de sortie du sous-réseau RI .
Un équipement est, par conséquent, déni par un invariant de place. Ce qui signie qu'il
sera décrit par un ensemble de places, correspondant aux états accessibles, dans lequel circule un
jeton qui portera les variables continues du modèle. Un équipement ne sera représenté que par
un et un seul jeton.
Si nous reprenons l'exemple du réservoir de la gure III.5, nous constatons qu'il est déni par
un invariant de place composé de quatre places représentant les quatre congurations possibles
du réservoir. Le jeton parcourant ce sous-réseau porte les variables continues de l'équipement.
Pour chacune des places les variables du jeton sont réparties comme suit : Xe = fde ; ds; Vr g ,
Xint = fV g et Xs = ; . Le sous-réseau recette, dont nous n'avons qu'un fragment (que nous
supposons formant un invariant de place), comporte un jeton portant des variables avec pour
chaque place la répartition suivante : Xe = ; , Xint = ; et Xs = fde ; ds; Vr g .
Supposons que nous ayons deux réservoirs identiques, ils seraient alors représentés dans un
même sous-réseau comportant deux jetons. Chaque jeton représentant un réservoir. Les variables
de même nom sur les deux jetons ne doivent bien sûr pas être confondues.
III.3.4 Réseau prédicats-transitions-diérentiels bien structuré
Maintenant que nous avons déni comment écrire des sous-réseaux bien structurés, dénissons
comment faire la composition de ces sous-réseaux de façon à ce que le réseau global soit bien
structuré. Nous partons du principe que les sous-réseaux sont couplés par fusion.
Dénition 24. Un réseau prédicats-transitions-diérentiels obtenu par fusion de l sous-réseaux
prédicats-transitions-diérentiels RI est bien structuré ssi
8I , RI est bien structuré (tous les sous-réseaux sont bien structurés).
8I; L , I 6= L , 8p 2 PI , 8p0 2 PL , Xint (p) \ Xint (p0 ) = ; .
8I; L , I 6= L , Xs (RI ) \ Xs (RL) = ; .
8I , 8p 2 PI , 8xe 2 Xe (p) , 9L tel que xe 2 Xs (RL ) ( L est unique).
Le réseau global RG est obtenu par fusion de transitions des sous-réseaux RI . Les invariants
de place des sous-réseaux sont alors conservés, et donc les RI correspondent à des invariants de
place positif de RG .
Une autre conséquence est que les marquages accessibles de RG sont nécessairement des
éléments du produit cartésien des marquages accessibles de chaque sous-réseau :
A (RG; M0G) QI A (RI ; M0I ) , M0I correspondant à la restriction du marquage M0G pour les
places de RI .
Un réseau prédicats-transitions-diérentiels n'est pas un réseau sans ubiquité. Cependant s'il
y a ubiquité pour un marquage M 2 A (RG ; M0G ) et une variable v , c'est que 9I; L , v 2 Xe (p)
pour p 2 RI et v 2 Xs (RL) . Il est donc impossible de faire des aectations contradictoires dans
les fonctions de jonction puisqu'elles ne sont possibles que sur des variables de type Xint ou Xs .
Nous venons de dénir les règles de construction d'un réseau prédicats-transitions-diérentiels,
à partir de sous-réseaux PTD, de telle sorte que ce réseau dénisse des systèmes d'équations calculables et des fonctions de jonction sans aectations de valeur incohérentes.
III.3 Modularité de la partie continue
61
Reprenons l'exemple de la gure III.5. Chaque place du sous-réseau équipement est bien
structurée car Xe = fde ; ds; Vr g , Xint = fV g et Xs = ; pour chacune d'elle, les fonctions
de jonction ne portent que sur VST et les équations associées aux places sont calculables. Ce
sous-réseau est bien structuré car il est composé d'un invariant de place composé de places bien
structurées et les variables de sortie sont identiques pour chacune des places.
Le sous-réseau recette étant bien structuré et ne possédant pas de variables internes ni de
variables d'entrée, de plus les variables d'entrée du sous-réseau équipement étant égales aux
variables de sortie du sous-réseau recette et les ensembles des variables de sortie de chaque sousréseau étant disjoints, le réseau prédicats-transitions-diérentiels global obtenu est bien structuré.
Le passage des paramètres s'eectue simplement en utilisant la notion de variables d'entrée et
de sortie.
III.3.5 Relation de causalité entre sous-réseaux prédicats-transitions-diérentiels
Dénition 25. Il existe une relation de causalité entre deux sous-réseaux prédicats-transitionsdiérentiels RI et RL s'il existe une place p de RL telle que Xe (p) \ Xs (RI ) 6= ; .
On peut donc avoir besoin de résoudre le système d'équations associé à une place de RI pour
résoudre celui qui est associé à p dans RL .
Il est alors possible de dénir si un réseau prédicats-transitions-diérentiels est bien structuré
avec ou sans cycle de causalité. S'il ne possède pas de cycle, nous avons la garantie de pouvoir calculer les équations. Toutefois un réseau prédicats-transitions-diérentiels sans cycle ne recouvre
pas les cas de procédés avec recyclage.
Cependant, que le réseau soit avec ou sans cycle importe peu, car l'intégrateur devra traiter
le système globalement et n'est pas obligé de suivre le chemin correspondant à la modélisation
par composition.
III.3.6 Couplage de sous-réseaux par test de variables continues (interactions
hybrides)
Nous avons vu qu'un évènement pouvait déclencher systématiquement le franchissement simultané de deux transitions dans deux sous-réseaux. Pour cela on étiquète les transitions dans
les sous-réseaux et on les fusionne. Ce couplage est donc entièrement pris en compte par la partie
discrète du modèle. Le couplage introduit par le fait qu'une variable de sortie d'un sous-réseau
RL est une variable d'entrée d'un sous-réseau RI est déni dans la partie continue. Il peut
toutefois se trouver que la variable d'entrée ne soit utilisée dans RI que par des fonctions de
sensibilisation, et non dans des systèmes d'équations diérentielles algébriques associés à des
places. On a donc une interaction hybride pour laquelle la partie continue de RL agit sur la
partie discrète de RI .
Prenons par exemple un stock que l'on remplit avec du gaz (voir gure III.7). Nous ne nous
soucions pas, ici, du déstockage. Il s'agit d'un stock de volume Vs xe dans lequel on met du
gaz que l'on caractérise par Ps (la pression dans le stock) et Us (le nombre de moles de gaz
contenues dans le stock). On alimente le stock par un débit de gaz dp à une pression Pp . Ce
débit peut prendre deux valeurs : dpmin et dpmax . En amont du stock il y a un compresseur Cp
chargé de fournir l'énergie nécessaire pour maintenir le débit dans le tronçon. Ce compresseur
fournit un travail spécique constant. Le taux de compression est donc xe et égal à . Une
vanne de dissipation VR permet de dissiper l'énergie excédentaire an d'arriver à la pression Ps .
Le stock peut prendre deux états : remplir avec dpmin et remplir avec dpmax . Le réseau
Chapitre III Modélisation de systèmes complexes et exemples
62
V4
Pp
dp
V3
VR
Cp
P3
S
Ps Vs Us
Figure III.7 Exemple simplié d'un stockage de gaz
prédicats-transitions-diérentiels correspondant est donné par la gure III.8-a, où :
F1 :
(
dUs = dp
min
d
PsVs = UsRT
(III.10)
Avec Xe = fdpmin g , Xint = fUs g et Xs = fPs g (on suppose Vs , R et T constants).
F2 :
(
dUs = dp
max
d
PsVs = UsRT
(III.11)
Avec Xe = fdpmax g , Xint = fUs g et Xs = fPs g (on suppose Vs , R et T constants).
Le modèle du compresseur est donné par la gure III.8-b, où p3 représente l'état actif, donc :
F3 : P3 = Pp
Avec Xe = fPp ; Psg , Xint = ; et Xs = fP3g (on suppose constant).
Et p4 l'état inactif, on a alors :
(III.12)
F4 : P3 = Pp
(III.13)
Avec Xe = fPp ; Psg , Xint = ; et Xs = fP3g .
Le compresseur passe dans l'état actif quand P3 devient inférieure à Ps , et il redevient inactif
quand P3 est supérieure à fois Ps , d'où :
e3 : P3 < Ps
e4 : P3 > Ps
La vanne de dissipation étant toujours active, elle ne possède qu'un état et sera représentée
par le réseau III.8-c, où :
Ps F5 : RT ln P + WVR = 0
(III.14)
3
Avec Xe = fPs ; P3g , Xint = fWVR g et Xs = ; .
Nous voyons que Ps est utilisée par les fonctions de sensibilisation du sous-réseau compres-
seur alors qu'elle est calculée dans le sous-réseau stock. On constate bien que le sous-réseau
compresseur change d'état sans que le sous-réseau stock ne change d'état pour autant.
Si nous voulons coupler les deux sous-réseaux par une fusion de transitions, il faut rajouter
des transitions (donc l'observation d'évènements non signicatifs). Nous obtenons alors le réseau
de la gure III.9.
III.3 Modularité de la partie continue
63
p1
t2
p3
t1
t4
p2
sous-réseau
stock
-a-
t3
p4
sous-réseau
compresseur
-b-
p5
-c-
Figure III.8 Sous-réseaux modélisant le stockage de gaz
t5
p1
t2
p3
t1
t4
t3
p2
p4
sous-réseau
stock
-a-
t6
sous-réseau
compresseur
-b-
p5
-c-
Figure III.9 Couplage entre sous-réseaux par ajout de transitions
Chapitre III Modélisation de systèmes complexes et exemples
64
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
Nous allons illustrer le modèle réseau prédicats-transitions-diérentiels à travers trois exemples diérents. Le premier, pour lequel la composante discrète est importante, s'obtient en écrivant la partie discrète puis la partie continue. Les deux autres seront obtenus en écrivant des
sous-réseaux prédicats-transitions-diérentiels, puis en les fusionnant. Le second exemple, mettant en ÷uvre un stock tampon, nécessite la fusion dynamique de transitions pour relier ces
sous-réseaux. Et pour le troisième exemple, dont l'aspect continu est dominant, le couplage des
sous-réseaux illustrera le cas de l'inuence directe de la partie continue d'un sous-réseau sur le
comportement discret d'un autre (interaction hybride).
III.4.1 Exemple n 1 : procédé discontinu
Présentation de l'exemple
Il s'agit d'un procédé de fabrication composé d'un stock de matière première ( Se ), de deux
réacteurs identiques ( R1 et R2 ) de type R , d'un réservoir ( B ) et d'un stock de produit ni ( Ss ).
La gure III.10 donne la disposition de l'atelier, ainsi que les connexions entre les diérents
équipements. Il est par conséquent possible de transférer de la matière du stock de matière
première Se vers les réacteurs R1 et R2 , de R1 et R2 vers le réservoir B et réciproquement, et
des réacteurs R1 et R2 vers le stock de produit ni Ss .
B
Se
R2
Ss
R1
Figure III.10 Présentation de l'exemple (( procédé discontinu
))
Ce procédé a pour but de fabriquer un produit, à partir de la matière première contenue dans
le stock Se , en faisant faire deux réactions, espacées d'au moins dix minutes, à un lot de matière
de 100 l. La recette de fabrication du produit est la suivante :
Charger un lot de matière première dans un réacteur de type R .
Faire la première réaction (durée 60 min).
Transférer le lot dans le réservoir ( B ), et laisser le lot se reposer au moins 10 min.
Transférer le lot du réservoir vers un réacteur.
Faire la seconde réaction (durée 120 min).
Stocker le lot dans le réservoir de produit ni ( Ss ).
Remarques :
Le débit, pour tous les transferts, est de 20 l/min.
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
65
La capacité des réacteurs R1 et R2 , et du réservoir B est d'un lot (soit 100 l).
Modèle réseau prédicats-transitions-diérentiels
Le modèle de ce procédé s'obtient en écrivant d'abord la partie discrète, puis la partie continue. Pour écrire le réseau de Petri nous commençons par modéliser la recette (séquence de places
de p1 à p15 sur le réseau de la gure III.11), puis on rajoute les places représentant les ressources
disponibles ( p16 , p17 , p18 et p19 ) et on les relie au réseau précédent en ajoutant des arcs qui
expriment les mécanismes d'allocation de ressources. Cette dernière étape peut être vue comme
de la fusion statique de branches entre un sous-réseau décrivant la recette et quatre sous-réseaux
décrivant les réacteurs et les stocks.
Il faut ensuite dénir les équations associées aux places. Pour chaque place, qui représente un
état du système, on écrit la fonction continue qui décrit l'évolution des variables. Par exemple
la place p2 correspond à l'état remplir VR . L'équation associée à la place p2 ( F2 ) représentera
l'augmentation du volume de matière dans le réacteur ( VR ) à un débit constant ( deR ). Enn, il
ne reste plus qu'à écrire les fonctions associées aux transitions. Les évènements portant sur des
variables continues correspondent aux ns de transfert (la variable d'état décrivant le volume
d'un réservoir atteint une valeur prédénie) et aux ns de réaction (la variable temps a évolué
d'une valeur, , correspondant à la durée de la réaction).
Nous obtenons ainsi le modèle réseau prédicats-transitions-diérentiels donné par la gure
III.11.
Où les équations associées aux places sont :
R
F2 : dV
d , deR = 0
(III.15)
dVR + d = 0
sR
dVdB , d = 0
eB
d
(III.16)
dVB + d = 0
sB
dVdR , d = 0
eR
d
(III.17)
R +d =0
F14 : dV
sR
d
(III.18)
R =0
F3 = F4 = F5 = F11 = F12 = F13 = F17 : dV
d
(III.19)
B =0
F7 = F8 = F9 = F18 : dV
d
(III.20)
F6 :
F10 :
Les fonctions de sensibilisation sont :
e2 : VR = 100l
e4 : = 60min
e6 : VR = 0l
e8 : = 10min
(
(
Chapitre III Modélisation de systèmes complexes et exemples
66
Se
p16
Se ! R
p1
p15
t1
t14
R ! Ss
p2
t2
t13
p3
p13
R
t3
p12
Réaction
t4
t11
p5
p11
t5
R!B
t12
p17
p4
Réaction
p14
t10
B
p18
p6
B!R
p10
t9
t6
Attente
p7
t7
p8
t8
p9
Figure III.11 Réseau PTD de l'exemple (( procédé discontinu
))
S
p19s
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
67
e10 : VB = 0l
e12 : = 120min
e14 : VR = 0l
Et les fonctions de jonction sont :
j2 : dVdR = 0
j6 :
j10 :
(
(
dVR = 0
dVdB = 0
d
dVR = 0
dVdB = 0
d
j14 : dVdR = 0
Les champs des jetons < XmR > (places p2 , p3 , p4 , p5 , p11 , p12 , p13 , p14 , p17 ) sont : VR
(volume du réacteur), deR (débit d'entrée de R ), dsR (débit de sortie de R ). Les champs du
jeton < XmB > (places p7 , p8 , p9 , p18 ) sont : VB (Volume du réservoir), deB (débit d'entrée
de B ), dsB (débit de sortie de B ). Dans les places p6 et p10 on a des jetons < XmR; XmB > .
Comme les débits sont constants, nous n'avons que deux variables formelles VR et VB ; deR , dsR ,
deB et dsB n'étant que des paramètres de calcul. Initialement nous avons deux jetons dans la
place p17 , l'un correspond à R1 et l'autre à R2 . Les systèmes d'équations sont homogènes. Par
exemple pour le marquage initial nous avons trois variables VR1 , VR2 et VB et trois équations
dVR2
dVR1
dVB
d = 0 , d = 0 et d = 0 . Il est clair que lors de la simulation les variables dont la
dérivée est nulle ne devront pas être vues comme des variables par le programme de résolution
des systèmes d'équations diérentielles algébriques.
Lorsque l'on franchit t1 , par exemple avec le jeton correspondant au réacteur R1 , on dépose
un jeton dans la place p2 . L'équation F2 est activée, pour le jeton correspondant. Nous avons
donc l'équation suivante active :
dVR1 , d = 0
(III.21)
eR1
d
La transition t2 étant sensibilisée, le seuil e2 sera surveillé. Quand le seuil VR1 sera atteint,
t2 sera franchie, et l'équation F2 deviendra inactive.
Discussion
Cet exemple est essentiellement discret. La représentation de la partie continue ne sert qu'à
déterminer la durée des phases de transfert des lots de matière entre les équipements.
Toutefois ce modèle nous permet de représenter les mécanismes d'allocation des diérents
réacteurs et réservoirs, ainsi que l'évolution du volume de matière à l'intérieur de ces mêmes
réservoirs et réacteurs.
Le modèle a été obtenu en commençant par dénir les seules visions discrètes des fonctionnements des équipements, puis en écrivant les équations associées aux places. Comme la fusion des
réseaux se fait avant la spécication des équations, il n'y a pas besoin de diérencier les variables
en variables d'entrée, internes et de sortie.
Chapitre III Modélisation de systèmes complexes et exemples
68
Se1 , R1
Se2 , R1
R1 , ST
ST , R2
R2 , Ss
d1
d2
d3
d4
d5
Tableau III.1
10 u.v./u.t.
10 u.v./u.t.
10 u.v./u.t.
2,5 u.v./u.t.
5 u.v./u.t.
Débits du procédé
III.4.2 Exemple n 2 : procédé avec stockage intermédiaire
Présentation de l'exemple
Il s'agit d'un procédé composé de deux stocks de matière première Se1 et Se2 , d'un réacteur
R1 , d'un stock tampon ST , d'un deuxième réacteur R2 et d'un stock de produit ni Ss .
La connexion entre les diérents équipements est la suivante (voir gure III.12). R1 est
connecté aux stocks Se1 et Se2 , ainsi qu'au stock tampon ST . ST est connecté à R1 et R2 . Et
R2 est connecté à ST et au stock de produit ni Ss .
Se1
Se2
d1
Ss
d2
R 1 d3
d5
ST
d4 R2
Figure III.12 Présentation du procédé avec stockage intermédiaire
Les débits entre les équipements sont donnés par le tableau III.1.
La capacité des stocks est la suivante :
R1 > 5u:v:
R2 > 5u:v:
ST = 8u:v:
Ce procédé fournit un produit en sortie, à partir de deux produits donnés en entrée, selon la
recette de fabrication suivante décomposée en deux étapes. La première étape consiste à mélanger
les deux matières premières, puis faire une première réaction, et la seconde à faire une deuxième
réaction. Ce qui nous donne en détail pour la première étape :
Mettre 2 u.v. de matière première provenant de Se1 dans R1 .
Mettre 3 u.v. de matière première provenant de Se2 dans R1 .
Faire la réaction, durée 1 u.t..
Mettre ce lot dans le stock de produit intermédiaire ST .
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
69
Pour la seconde étape nous avons :
Mettre un lot de 5 u.v. de produit provenant du stock intermédiaire ST dans le réacteur
R2 .
Faire la réaction, durée 1 u.t..
Stocker ce lot dans le stock de produit ni Ss .
Modèle réseau prédicats-transitions-diérentiels
Le modèle est obtenu en modélisant les équipements et la recette, puis en fusionnant les
sous-réseaux. La recette est représentée par le sous-réseau fp5 : : :p19g , Se1 par fp20; ps6 g , Se2
par fp21; ps8 g , R1 par fpR6 ; pR7 ; pR8 ; pR9 ; pR10 ; pR11 ; pR12 ; p22g , R2 par fpR14 , pR15 , pR16 , pR17 ,
pR18 , p23g , Ss par fpS18 ; p24g et ST par fp1; p2; p3; p4g (voir gure III.13).
Les équations associées aux places sont dénies comme suit :
F2 : dVdST , d3 = 0
(III.22)
F3 : dVdST , d3 + d4 = 0
(III.23)
F4 : dVdST + d4 = 0
(III.24)
FR6 : dVdR1 , d1 = 0
(III.25)
FR8 : dVdR1 , d2 = 0
(III.26)
FR12 : dVdR1 + d3 = 0
(III.27)
FR14 : dVdR2 , d4 = 0
(III.28)
Avec Xe = fd3g , Xint = fVST g et Xs = ; .
Avec Xe = fd3; d4g , Xint = fVST g et Xs = ; .
Avec Xe = fd4g , Xint = fVST g et Xs = ; .
Avec Xe = fd1g , Xint = fVR1 g et Xs = ; .
Avec Xe = fd2g , Xint = fVR1 g et Xs = ; .
Avec Xe = fd3g , Xint = fVR1 g et Xs = ; .
Avec Xe = fd4g , Xint = fVR2 g et Xs = ; .
Chapitre III Modélisation de systèmes complexes et exemples
70
p20
p5
tS9
t9
pS6
p6
tS10
t10
pR6
tR10
p7
tS12
p19
pR7
tS11
pS8
p21
tR9
t11
p8
tR22 t22 tS22
pR18 p18
pS18
tR11
pR8
t12
tR12
tR21
t21
p22
p9
pR9
tR13 p23
t13
tR20
tS21
p17
pR17
t20
p10
pR10
t14
tR14
tR19
t19
p11
pR11
pR15
p15
tR16 tR
pR12 2 3 17
t
p12 162
t1
1
p1
t7
3
t8
4
t17
p13
3
Remplir
t2
2
p2
t4
4
p4
t5
Vider
p16
pR16
tR15
1
t15
1
p24
tR18
4
t18
4
pR14
p14
t3
3
Remplir/vider
p3
1
t6
2
Figure III.13 Sous-réseaux PTD des éléments du procédé avec stockage intermédiaire
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
FR18 : dVdR2 + d5 = 0
Avec Xe = fd5g , Xint = fVR2 g et Xs = ; .
Les fonctions de sensibilisation sont dénies par :
e1 = e5 : VST 3u:v:
e3 = e7 : VST 5u:v:
etR10 : VR1 = 2u:v:
etR12 : VR1 = 5u:v:
etR16 : VR1 = 0u:v:
etR18 : VR2 = 5u:v:
etR22 : VR2 = 0u:v:
e14 : = 1u:t:
e20 : = 1u:t:
Et les fonctions de jonction sont dénies comme suit :
jtR2 : dVdST = 0
jtR8 : dVdST = 0
jtR10 : dVdR1 = 0
jtR12 : dVdR1 = 0
jtR16 : dVdR1 = 0
jtR18 : dVdR2 = 0
jtR22 : dVdR2 = 0
jt9 : d1 = 10
jt10 : d1 = 0
jt11 : d2 = 10
jt12 : d2 = 0
jt15 : d3 = 10
jt16 : d3 = 0
jt17 : d4 = 2; 5
71
(III.29)
Chapitre III Modélisation de systèmes complexes et exemples
72
jt18 : d4 = 0
jt21 : d5 = 5
jt22 : d5 = 0
Les sous-réseaux Se1 , Se2 , recette, R1 , R2 et Ss sont couplés par fusion de branches. Le
réseau obtenu est couplé au sous-réseau ST par fusion de transitions. Il y a quatre évènements
repérés par les étiquettes 1 , 2 , 3 et 4 qui permettent de coupler les sous-réseaux : 1 , début
de remplissage de ST , qui étiquète les transitions t1 , t5 , t15 et tR15 , 2 , n de remplissage de
ST , 3 , début de vidange de ST et 4 , n de vidange de ST . On a alors :
TC1 = ft1 ; t5g ft15 g ftR15 g (seules t1 et t5 ont une fonction de sensibilisation).
TC2 = ft2 ; t6g ft16 g ftR16 g (seule t16 a une fonction de sensibilisation).
TC3 = ft3 ; t7g ft17 g ftR17 g (seules t3 et t7 ont une fonction de sensibilisation).
TC4 = ft4 ; t8g ft18 g ftR18 g (seule t18 a une fonction de sensibilisation).
Discussion
Le modèle du procédé a été obtenu en écrivant le réseau prédicats-transitions-diérentiels des
équipements et de la recette puis en les fusionnant. La fusion est dynamique pour ST .
Cet exemple, en apparence très discret, nous confronte à un des problèmes très importants
des procédés discontinus : la représentation des stockages intermédiaires.
Le stock intermédiaire ST est représenté par le sous-réseau fp1 ; p2; p3; p4g . On ne peut
pas considérer le mécanisme d'allocation de ressources de la même manière que dans l'exemple
précédent où chaque réservoir avait une capacité d'un lot. Dans cet exemple le stock est représenté
par une variable continue ( VST ). Il peut être dans quatre états (repos, remplir, vider et remplir
et vider simultanément), mais ne doit en aucun cas dépasser sa capacité maximale. Nous n'avons
pas représenté les procédures traitant les dysfonctionnement dûs aux états remplissage alors que
V = Vmax et vidange alors que V = Vmin . La preuve que ces dépassements n'auront pas lieu en
fonctionnement normal n'est pas simple car elle ne peut se faire sur le seul sous-réseau décrivant
ST .
III.4.3 Exemple n 3 : stockage de gaz
Présentation de l'exemple
Présentation générale Le stockage du gaz, en aval d'un site de production, a pour rôle de
faire tampon entre la production et la demande par le réseau de distribution (gure III.14). Cet
exemple est inspiré de l'application pilote (( ELF Aquitaine )) du projet ANVAR (( simulation
mixte )) [102, 47].
Ce stockage est alimenté par une unité de production qui lui fournit du gaz à une pression Pp
et un débit dp , et est soutiré par le réseau de distribution aux clients pour lequel il doit fournir
du gaz à une pression Pc et un débit dc .
Le procédé est composé de trois fonctions principales :
La première, une compression située entre l'unité production et le stockage permet d'assurer
le transport entre les deux sites. Cette fonction est utile si la pression Pp , n'est pas susante
pour maintenir le débit dp dans la partie amont, jusqu'au n÷ud 4 (au niveau de la pression
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
V2
Pp
dp
Tp
V1
b1
VAU
V4
Cp1
P2
V3
Cp2
VR1
P3
73
P4
V5
b2
S
PsTs UsVs
V8
V6
b3
P5
Figure III.14 Présentation du procédé (( stockage de gaz
V7
Cc
VR2
P6
Pc
dc
Tc
))
P4 ). Les compresseurs sont supposés fournir un travail spécique constant quel que soit
le débit. La pression de sortie correspond donc à un taux de compression connu, c'est la
vanne VR1 qui dissipe l'énergie interne excédentaire pour atteindre la pression du n÷ud 4
et permettre l'installation d'un débit dp dans le circuit en amont du stockage.
La seconde est le stockage. L'originalité de cet exemple provient des deux propriétés de ce
stockage. La première est que c'est un stockage souterrain aquifère, ce qui signie que la
capacité volumique du stock dépend de sa pression. La seconde vient du fait que la matière
stockée est un uide compressible. Ce qui signie que le nombre de moles que l'on peut
y stocker ( Us ) dépend de la pression, de la température et du volume. Ce stockage ne
peut pas être utilisé simultanément en alimentation et en soutirage. Par contre, le gaz peut
cheminer pour partie dans le by-pass de manière à assurer une liaison Production/Client
directe. Les positions des vannes V5 et V6 sont donc liées. Si l'une est ouverte, l'autre doit
être obligatoirement fermée. Lorsque le débit de gaz est partagé entre le by-pass et le stock,
on utilise soit la vanne VR1 , soit la vanne VR2 pour assurer un partage du débit cohérent.
la troisième fonction, compression située entre le stockage et le réseau de distribution aux
clients, est identique en tout point à la première.
Les pertes de charge frictionnelles sont négligées. Nous considérerons que la température
n'évolue pas et est égale à 298 K ( Ts = Tp = Tc = 298 = T ).
Congurations possibles du stock Le stockage ne pouvant pas être utilisé à la fois en
alimentation et en soutirage, il ne peut donc se retrouver que dans les quatre congurations
suivantes :
Liaison directe entre l'unité de production et le réseau de distribution aux clients sans
stockage (conguration 1, gure III.15). Les deux compresseurs amont ne sont pas utilisés
et la vanne VR1 est au repos.
Figure III.15 Conguration 1
Alimentation du stock par l'unité de production et liaison entre l'unité de production et le
réseau de distribution aux clients (conguration 2, gure III.16).
Chapitre III Modélisation de systèmes complexes et exemples
74
Figure III.16 Conguration 2
Soutirage du stock par le réseau de distribution aux clients et liaison entre l'unité de
production et le réseau de distribution aux clients (conguration 3, gure III.17).
Figure III.17 Conguration 3
Soutirage du stock par le réseau de distribution aux clients (conguration 4, gure III.18).
La vanne VAU est fermée et VR1 évacue, éventuellement, tout le gaz fourni par l'unité de
production. Il est bien évidemment préférable d'éviter d'avoir à évacuer du gaz, et cette
conguration ne devrait être utilisée que pour le cas où dp = 0 .
Figure III.18 Conguration 4
Équations du système Nous donnons en annexe A le détail de l'écriture des diérentes
équations représentant l'évolution des variables du procédé. Tout d'abord le stockage de gaz. Il
est décrit par :
Vs = 356; 3 ((Ps , P0) 10) 2 Ps
(III.30)
5
Le terme 356; 3 ((Ps , P0) 10) 2 vient de la forme du réservoir de stockage. La loi des gaz
5
parfaits nous donne :
Ps:Vs = Us :R:T
(III.31)
La variation de moles dans le stock est donnée par :
dUs = d , d
p
c
d
(III.32)
P2 = Pp
(III.33)
P2 = 3:Pp
(III.34)
Les équations des compresseurs amont sont
Pour le premier lorsqu'il est inactif et
Lorsqu'il est actif, et
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
75
P3 = P2
(III.35)
P3 = 3:P2
(III.36)
P4 R:T : ln P + WVR1 = 0
3
(III.37)
P6 = P5
(III.38)
P6 = 2:P5
(III.39)
Lorsque le second compresseur est inactif, et
Lorsqu'il est actif.
La détente amont est modélisée par :
La compression aval est donnée par :
au repos, et :
à l'état actif.
L'équation de la détente aval est :
P R:T : ln Pc + WVR2 = 0
(III.40)
6
Bilan Nous obtenons dix variables : P2 , P3 , P4 , P5 , P6 , WVR1 , WVR2 , Us , Vs , Ps .
Cependant toutes les équations ne sont pas actives simultanément. Leur activation dépend
de la conguration dans laquelle se trouve le procédé. Prenons le cas où le stockage est dans
la conguration 2 et où les compresseurs sont actifs. Les équations nécessaires pour décrire
l'évolution du procédé sont : III.30, III.31, III.32, III.34, III.36, III.37, III.39, III.40, plus deux
équations donnant la pression aux points P4 et P5 . Dans cette conguration la vanne V5 est
ouverte et V6 fermée donc nous avons P4 = Ps et P4 = P5 .
Loi de commande appliquée au procédé À l'état initial la pression dans le stock ( Ps(1) )
est de 56 bars, le stock est dans la conguration 1, les compresseurs sont inactifs.
Les lois de commande appliquées au procédé s'expriment par un ensemble de contraintes.
Pour les compresseurs nous avons :
si P3 Ps alors on active un des compresseurs amont (en commençant par Cp1 ).
si P3 > 3Ps alors on désactive un des compresseurs amont (en commençant par Cp2 ).
si P6 Pc alors on active le compresseur aval.
si P6 > 2Pc alors on désactive le compresseur aval.
si Pp < Pc et que l'on est dans la conguration 1 alors on active uniquement le compresseur
aval (si nécessaire).
Pour l'unité de stockage nous avons :
Si dp = dc alors on utilise la conguration 1.
Chapitre III Modélisation de systèmes complexes et exemples
76
Date Pp (bar)
1
20
2
20
3
20
4
20
5
20
6
20
7
12
8
12
9
12
10
12
11
0
12
0
13
12
14
12
15
12
16
12
17
20
18
20
19
20
20
20
dp (m3=j ) Pc (bar) dc (m3=j )
20 000 000
20 000 000
20 000 000
20 000 000
20 000 000
20 000 000
10 000 000
10 000 000
10 000 000
10 000 000
0
0
10 000 000
10 000 000
10 000 000
10 000 000
10 000 000
10 000 000
20 000 000
20 000 000
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
20
2 500 000
5 000 000
4 000 000
5 000 000
16 000 000
18 000 000
19 000 000
20 000 000
20 000 000
20 000 000
20 000 000
20 000 000
20 000 000
18 000 000
19 000 000
10 000 000
10 000 000
10 000 000
10 000 000
10 000 000
Tableau III.2 Pressions et débits prévus en sortie de l'unité de production et en entrée du réseau
de distribution aux clients
Si dp > dc alors on utilise la conguration 2.
Si dp < dc alors on utilise la conguration 3.
Si dp = 0 alors on utilise la conguration 4.
Si P3 < Ps alors on utilise la conguration 4.
Si Ps = 67 alors on utilise la conguration 4 et on ordonne à la production de s'arrêter.
Remarque : les débits dp et dc sont exprimés en mol/s.
Le stock se trouve en (( rupture de stock )) si Ps < 54 (le réservoir est vide), le stockage
est alors mis en état de panne.
Le tableau III.2 fournit la pression et le débit en sortie de l'unité de production pour une
période de 20 jours, ainsi que la pression et le débit en entrée du réseau de distribution aux
clients pour la même période.
Modèle réseau prédicats-transitions-diérentiels
Pour obtenir le modèle du système, nous allons écrire les sous-réseaux prédicats-transitionsdiérentiels des équipements puis les coupler.
Commençons par le stock S . Il peut être dans cinq congurations diérentes (congurations
1, 2, 3 et 4, ou en panne). Son modèle est donné par le réseau de la gure III.19.
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
77
p2
t10
t1
2
t9
t2
1
t3
2
p1
t7
t4
1
t5
2
t6
1
p3
tf1;2g;8
t11
t14
tf1;2g;12
p4
p5
Rupture
t13
Figure III.19 Sous-réseau PTD du stock
S
Les transitions tf1;2g;8 et tf1;2g;12 sont des abréviations. Par exemple tf1;2g;8 décrit l'ensemble
de deux transitions t1;8 et t2;8 car il y a deux façons de passer de la place p2 à la place p4 . Ces
façons seront diérenciées par des fonctions de sensibilisation diérentes.
Les fonctions associées aux places sont :
8 P =P
>
>
< P45 = P34
F1 = F5 : > dUs = 0
>
: d
(III.41)
Ps et Vs constants.
Avec Xe = fp3g , Xint = fUs ; Vsg et Xs = fP4 ; P5; Psg .
8
>
P4 = Ps
>
>
< P5 = P4
F2 : > dUds = dp , dc
>
Ps:Vs = Us:R:T
>
: Vs = 353; 6: (10: (Ps , P0)) 52 :Ps
(III.42)
Avec Xe = fdp; dc; P3g , Xint = fUs ; Vsg et Xs = fP4; P5; Psg .
8
>
P5 = Ps
>
>
< PdU4s= P5
F3 : > d = dp , dc
>
Ps:Vs = Us:R:T
>
: Vs = 353; 6: (10: (Ps , P0)) 52 :Ps
(III.43)
Chapitre III Modélisation de systèmes complexes et exemples
78
Avec Xe = fdp; dc; P3g , Xint = fUs ; Vsg et Xs = fP4; P5; Psg .
8
>
P4 = 0
>
>
< PdU5s= Ps
F4 : > d = ,dc
>
Ps:Vs = Us :R:T
>
: Vs = 353; 6: (10: (Ps , P0)) 25 :Ps
Avec Xe = fdp; dcg , Xint = fUs ; Vsg et Xs = fP4 ; P5; Psg .
Les fonctions de sensibilisation sont :
e1 : dp > dc
e2 : d p = d c
e3 : (dp < dc ) ^ (dp 6= 0)
e4 : d p = d c
e5 : d p = 0
e6 : d p = d c
e7 : dp > dc
e1;8 : dp = 0
e2;8 : P3 < Ps
e9 : dp > dc
e10 : (dp < dc ) ^ (dp 6= 0)
e11 : (dp < dc ) ^ (dp 6= 0)
e1;12 : dp = 0
e2;12 : P3 < Ps
e13 : Ps < 54
e14 : Ps < 54
Et les fonctions de jonction sont :
j2 :
j4 :
(
(
P4 = Pp
P5 = Pp
P4 = Pp
P5 = Pp
j5 : P4 = 0
(III.44)
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
79
(
P4 = Pp
P5 = Pp
jf1;2g;8 : P4 = 0
jf1;2g;12 : P4 = 0
j6 :
La vanne de dissipation amont ( VR1 ) peut être active ou au repos (dans la conguration 1).
Le sous-réseau la représentant possède deux places et est donné par la gure III.20-a. Les fusions dynamiques de transitions étiquetées par 1 et 2 assurent que VR1 est au repos dans la
conguration 1.
VR1
VR2
t16
2
Repos
p6
11
00
t15
1
p7
Actif
-a-
11
00
00
11
p8
-b-
Compresseurs
Repos
p9
0
1
0
1
00
111
0
00
11
tf1;2;3g;18
f3;4;5g
p10
Actif
tf1;2;3;4;5;6;7g;17
f6;7;8;9;10;11;12g
-c-
Figure III.20 Sous-réseaux PTD de VR1 , VR2 et des compresseurs ( Cp1 ,
Cp2 et Cc )
n
o
Avec F7 : R:T : ln PP43 + WVR1 = 0 . Nous avons alors Xe = fP3 ; P4g , Xint = WVR1 et
Xs = ; .
Ce sous-réseau possède une fonction de jonction pour la transition t15 , j15 : WVR1 = 0 .
La vanne de dissipation aval ( VR2 ) est toujours active, donc le sous-réseau la modélisant est
une place (voir gure III.20-b).
L'équation associée à cette place est F8 : R:T : ln PPc6 + WVR2 = 0 . Avec Xe = fP6; Pcg ,
n o
Xint = WVR2 et Xs = ; .
Les compresseurs sont soit actifs, soit au repos. Nous obtenons alors un sous-réseau composé
de deux places (voir gure III.20-c), qui comprend trois jetons initialement dans p9 . Chaque
jeton représente un compresseur ( CP1 , CP2 et Cc ), et porte un ensemble de variables génériques
fPA; PB; CE ; g . PA est la pression d'entrée, PB celle de sortie, CE est le nom du compresseur
et le taux du compresseur. Pour CP1 ces variables sont instanciées par fPp; P2; Cp1 ; 3g , pour
CP2 , fP2; P3; Cp2 ; 3g et pour Cc , fP5; P6; Cc; 2g .
Les équations, fonctions des variables formelles, sont :
F9 : PB = PA
Avec Xe = fPA ; CE g , Xint = ; et Xs = fPB g .
F10 : PB = :PA
Avec Xe = fPA ; CE g , Xint = ; et Xs = fPB g (on suppose que est un paramètre
constant).
Les fonctions de sensibilisation sont :
e1;17 : CE = Cp1
Chapitre III Modélisation de systèmes complexes et exemples
80
e2;17 : CE = Cp1
e3;17 : CE = Cp1
e4;17 : CE = Cp2
e5;17 :
e6;17 :
CE = Cp2
CE = Cp2
e7;17 : CE = Cc
e1;18 : CE = Cp1
e2;18 : CE = Cp2
e3;18 : CE = Cc
La loi de commande des compresseurs est donnée par les deux sous-réseaux de la gure III.21.
Le sous-réseau fp11 ; p12; p13g représente la commande des compresseurs amont. Quand p11 est
marquée les deux compresseurs sont au repos, p12 représente l'état Cp1 actif et Cp2 au repos et
p13 correspond à l'état avec les deux compresseurs actifs. Le sous-réseau fp14 ; p15g représente la
commande du compresseur aval. Quand p14 est marquée, le compresseur est au repos, et quand
p15 est marquée il est actif.
Repos
0
1
0 p11
1
tf1;2;3g;20
f6;7;8g
Cp1 actif
Repos
0
1
0 p14
1
t21 t23
3 12
p12
tf1;2;3g;19
f9;10;11g
t22
4
t24
5
Cc actif
p15
p13
Cp1 et Cp2 actifs
Figure III.21 Sous-réseaux PTD de la commande des compresseurs
Avec comme fonctions de sensibilisation :
e1;19 : P3 > 3:Ps
e2;19 : dp = dc
e3;19 : dp = 0
e1;20 : P2 > 3:Ps
e2;20 : dp = dc
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
81
e3;20 : dp = 0
e21 : (P2 < Ps ) ^ (dp 6= dc )
e22 : (P3 < Ps ) ^ (dp 6= dc )
e23 : P6 > 2:Pc
e24 : P6 < Pc
En eet les compresseurs amont sont mis au repos si le stock est dans la conguration
( dp = dc ) ou dans la conguration 4 ( dp = 0 ).
Les variables associées à la place p11 sont Xe = fP2; Ps; dp; dcg , Xint = ; et Xs = ; . Pour la
place p12 , Xe = fP2; P3; Ps; dp; dcg , pour p13 , Xe = fP3; Psg , pour p14 et p15 , Xe = fP6; Pcg .
La modélisation des contraintes imposées par l'unité de production et le réseau de distribution
aux clients est représentée par les sous-réseaux prédicats-transitions-diérentiels de la gure
III.22.
p16
p17
t25
p23
p18
t26
p24
t31
p19
t27
p25
t32
p20
t28
p26
t33
p34
t29
p27
t34
p33
t41
p21
t30
p28
t35
p32
t40
p22
p29
t36
p31
t39
t38
t37
p30
Figure III.22 Sous-réseaux PTD des contraintes de l'unité de production et le réseau de distribution
aux clients
Avec comme fonctions de sensibilisation associées :
e26 : = 7 j
e27 : = 11 j
e28 : = 13 j
e29 : = 17 j
e30 : = 19 j
e32 : = 2 j
e33 : = 3 j
e34 : = 4 j
e35 : = 5 j
Chapitre III Modélisation de systèmes complexes et exemples
82
e36 : = 6 j
e37 : = 7 j
e38 : = 8 j
e39 : = 14 j
e40 : = 15 j
e41 : = 16 j
Et comme fonctions de jonction :
j25 :
j26 :
j27 :
j28 :
j29 :
j30 :
j31 :
(
(
(
(
(
(
(
Pp = 20
dp = 20000000
Pp = 12
dp = 10000000
Pp = 0
dp = 0
Pp = 12
dp = 10000000
Pp = 20
dp = 10000000
Pp = 20
dp = 20000000
Pc = 20
dc = 2500000
j32 : dc = 5000000
j33 : dc = 4000000
j34 : dc = 5000000
j35 : dc = 16000000
j36 : dc = 18000000
j37 : dc = 19000000
j38 : dc = 20000000
j39 : dc = 18000000
j40 : dc = 19000000
j41 : dc = 10000000
III.4 Exemples de modèles réseaux prédicats-transitions-diérentiels
83
Toutes les places du sous-réseau représentant les contraintes de production ont leurs variables
réparties, de la même manière, comme suit : Xe = ; , Xint = ; et Xs = fPp; dpg . Il en est de
même pour toutes les places du sous-réseau représentant les contraintes du réseau de distribution
aux clients. Ce qui nous donne : Xe = ; , Xint = ; et Xs = fPc ; dcg .
Nous retrouvons deux évènements communs aux sous-réseaux stock ( S ) et vanne de dissipation amont ( VR1 ). Le premier, 1 , correspond à l'entrée dans la conguration 1, et le second, 2 ,
correspond à la sortie de la conguration 1. Le couplage entre ces deux sous-réseaux s'exprime
par :
TC1 = ft2 ; t4; t6 g ft15g
TC2 = ft1 ; t3; t5 g ft16g
Et dix évènements liant les sous-réseaux de commande des compresseurs au sous-réseau des
compresseurs.
3 : tC3 = t1;18 t21
4 : tC4 = t2;18 t22
5 : tC5 = t3;18 t24
6 : tC6 = t1;17 t1;20
7 : tC7 = t2;17 t2;20
8 : tC8 = t3;17 t3;20
9 : tC9 = t4;17 t1;19
10 : tC10 = t5;17 t2;19
11 : tC11 = t6;17 t3;19
12 : tC12 = t7;17 t23
Les autres liens entre les sous-réseaux sont exprimés par l'intermédiaire de conditions sur les
variables continues.
Discussion
Dans cet exemple nous avons modélisé un système avec une partie continue dominante, mettant en ÷uvre une équation non-linéaire et soumis à de nombreux changements de conguration.
Pour construire le modèle nous avons écrit les sous-réseaux prédicats-transitions-diérentiels
de chaque équipement puis nous les avons couplés en utilisant des fusions de transitions et des
tests sur les variables continues. La gure III.23 illustre le fait que les conditions sur les variables
continues sont respectées (réseau bien structuré). Comme chaque sous-réseau est calculable,
l'ensemble du système le sera donc dans tous les états.
Il est intéressant de noter que le franchissement d'une transition du sous-réseau représentant
les contraintes de production entraînera, la plupart du temps, des franchissements de transitions
dans les autres sous-réseaux. Les compresseurs franchiront des transitions en fonction de l'évolution des variables continues des autres sous-modèles, sans pour autant que d'autres transitions
soient franchies. Nous avons donc un exemple d'interactions directes de la partie continue d'un
module sur la partie discrète d'un autre module (interactions hybrides).
Chapitre III Modélisation de systèmes complexes et exemples
84
Prod.
Pp
dp
Cp1
Cp2
Pp P2
P2 P3
VR1
P3
P4
Stock
dc P4
dp
P3
PPs5
Cc
VR2
P5 P6
P6
Pc
Client
Pc
dc
Cp1 Cp2
dp
dc
P2
P3
Ps
Nom du
sous-réseau
Xe Xs
Figure III.23 Liens de causalité entre les blocs
III.5 Conclusion
Au cours de ce chapitre nous avons traité le problème de l'écriture de modèles réseaux
prédicats-transitions-diérentiels. Nous avons déni les outils an de pouvoir écrire un modèle
soit en commençant par représenter la partie discrète, puis la partie continue, soit en écrivant
un sous-réseau prédicats-transitions-diérentiels pour chaque équipement et en les combinant.
Pour cela nous avons étudié les liens entre sous-réseaux. Nous avons déni les notions de fusion
de transitions statique, fusion de branches et fusion dynamique de transitions, et nous avons exprimé les règles à respecter pour écrire un modèle continu calculable en écrivant des sous-modèles
indépendemment les uns des autres (sous-réseaux bien structurés). Il est ainsi possible d'exprimer les interactions discrètes (par fusion de transitions) et les interactions continues (variables
d'entrée et de sortie). Nous avons également souligné le besoin d'une interaction hybride entre
sous-niveaux.
Puis nous avons écrit les modèles réseaux prédicats-transitions-diérentiels de trois procédés
diérents. Un avec une partie discrète dominante et un autre avec une partie continue dominante.
Un des modèles est obtenu en écrivant la partie discrète, puis la partie continue, et les deux autres
en écrivant un sous-réseau pour chaque équipement et en les couplant. Nous avons mis ainsi en
évidence la possibilité d'avoir une approche modulaire pour décrire des systèmes complexes. Il ne
s'agit pas réellement d'une approche à objets car les sous-réseaux peuvent aussi bien décrire des
fonctions que des objets physiques et surtout nous n'avons déni ni un mécanisme d'héritage, ni
même une méthode de hiérarchisation.
Toutefois, notre approche devrait, tout comme les approches à objets, améliorer notablement la possibilité de réutilisation des fragments de modèles, développés antérieurement, pour
représenter de nouveaux systèmes et ainsi aider à capitaliser une connaissance et une expérience
développée au sein d'une entreprise.
Dans le cadre de la supervision il est nécessaire de pouvoir évaluer l'évolution future du
procédé. Cette évolution est généralement basée sur la simulation du modèle représentant le
système à partir d'un état courant. Nous allons, dans le chapitre suivant, donner les principes de
simulation des réseaux prédicats-transitions-diérentiels.
Chapitre IV
Simulation des réseaux
prédicats-transitions-diérentiels
IV.1 Introduction
Nous venons de dénir un modèle hybride. Ce modèle peut aider lors des phases de conception, à dimensionner et faire la spécication de la commande, et, lors de la phase d'exploitation, à
valider un plan de production ou à prévoir l'évolution future d'un procédé discontinu en fonction
de la commande appliquée au niveau de la supervision. L'apport du modèle vient alors, dans un
premier temps, de son formalisme ainsi que de son analyse, surtout lors des phases de spécication. Cependant, et plus particulièrement dans les procédés discontinus où l'analyse qualitative
est peu développée, une analyse quantitative à partir du modèle est souvent nécessaire an de
tester le comportement du procédé. La simulation est alors fortement utilisée, car elle permet de
diminuer les longs et coûteux essais sur une maquette ou le procédé lui même.
Nous allons regarder dans ce chapitre comment faire la simulation d'un réseau prédicatstransitions-diérentiels. Dans les réseaux prédicats-transitions-diérentiels, la description de l'évolution des variables d'état continues se fait en écrivant des systèmes d'équations algébriques et/ou
diérentielles. Les systèmes d'équations peuvent être linéaires ou non-linéaires, implicites ou explicites (Annexe B). La diculté de mettre en ÷uvre de tels systèmes est fortement liée à ces
propriétés. Nous décrivons deux principes de simulation. Le premier, dans le cas où les équations mises en ÷uvre sont simples ou simpliables, consiste à utiliser un simulateur (purement à
évènements discrets) de réseaux de Petri haut-niveau (tel que Miss-RdP mixte ou Design CPN)
après avoir transformé le réseau prédicats-transitions-diérentiels. Nous dénissons les cas pour
lesquels ce principe est applicable (calcul explicite des dates d'occurrence des évènements, et,
à ces dates, des valeurs des variables d'état continues possible ou non), et nous expliquons les
transformations à réaliser. Le deuxième principe est basé sur le couplage d'un simulateur de
réseaux de Petri et d'un logiciel permettant l'intégration de systèmes d'équations diérentielles
algébriques. Nous présentons l'algorithme de simulation ainsi obtenu.
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
86
IV.2 Premier principe
Avant d'exposer le premier principe de simulation des réseaux prédicats-transitions-diérentiels, rappelons brièvement comment se fait la mise en ÷uvre des réseaux de Petri colorés ou
prédicats-transitions. Généralement elle se fait par l'intermédiaire d'un joueur de réseau de Petri [154]. Le réseau est considéré comme un système de règles compilées, c'est-à-dire traduit en
une structure de données complexes. La simulation est basée sur l'utilisation d'un mécanisme
d'inférence spécialisé, appelé joueur de réseau de Petri, exploitant la structure de données. Ce
joueur, cycliquement, établit la liste des transitions sensibilisées associées aux n-uplets de jetons utilisables pour le franchissement, calcule leurs dates de franchissement, les range dans un
échéancier, prend pour nouveau temps courant celui du premier évènement de l'échéancier et
franchit la transition correspondante, les transformations sur les données ne sont faites qu'à cet
instant. Le programme, réalisant ce moteur d'inférence, ne dépend donc pas d'une application
spécique.
IV.2.1 Méthode
Le principe de mise en ÷uvre d'un réseau prédicats-transitions-diérentiels est le suivant :
Dénition 26 (premier principe). Utiliser un simulateur de réseau de Petri haut-niveau en :
Remplaçant l'intégration des variables d'état continues par une durée de temporisation
calculée à partir des équations à intégrer et des seuils à surveiller.
Calculant les valeurs des variables d'état continues, lors des franchissements des transitions,
en fonction des équations décrivant l'évolution des variables continues dans l'état précédent
et de la durée de séjour dans cet état.
Ce premier principe revient à réécrire le réseau prédicats-transitions-diérentiels en un réseau
de Petri haut-niveau (réseaux de Petri colorés, réseaux prédicats-transitions, réseaux de Petri
objets) correspondant au formalisme utilisé par le simulateur à évènements discrets sur lequel
on veut faire la simulation. Nous avons par exemple les logiciels commercialisés Miss-RdP mixte
et Design CPN.
Design CPN est un simulateur de réseaux de Petri colorés pour lesquels il est possible d'associer une temporisation sur les jetons [89, 90]. De plus lors des franchissements de transitions il
est possible d'associer une procédure en langage ML (langage dans lequel est converti le modèle
pour réaliser la simulation). Il est alors possible, grâce à l'écriture de procédures ML, de calculer
la durée des temporisations des jetons, ainsi que les valeurs des variables d'état continues. Un
problème résulte toutefois du fait que ce calcul est eectué lorsqu'un jeton est mis dans une place
et non lorsqu'une transition est sensibilisée.
Miss-RdP mixte est un simulateur de réseaux prédicats-transitions-temporels-stochastiques,
où les durées peuvent être déterminées soit par des fonctions aléatoires soit par des variables,
et permettant de faire de la simulation de Monte-Carlo. Nous allons détailler le premier principe de simulation en nous basant sur un outil de type Miss-RdP mixte qui est plus proche de
notre approche, que Design CPN, car les calculs de durées sont faits lors des sensibilisations
des transitions (réseaux de Petri prédicats-transitions-t-temporels). En eet dans les réseaux
prédicats-transitions-diérentiels la plus petite solution en de la fonction de sensibilisation
associée à une transition est calculée à partir de la date de sensibilisation.
IV.2 Premier principe
87
Rappelons, pour commencer, la dénition des réseaux prédicats-transitions-t-temporels.
Dénition 27.
Un réseau
NPr-Tr-tl =< NPr-Tr; > où :
prédicats-transitions-t-temporel
est
une
paire
NPr-Tr est un réseau prédicats-transitions déni par < R; A; M0 > où R est un réseau
de Petri ordinaire, A est l'annotation de NPr-Tr ( A =< X; Atc; Ata; Ac > ) et M0 est le
marquage initial.
est une fonction qui à chaque transition ti fait correspondre un intervalle fermé rationnel
(ti ) = [min (ti ); max(ti )] qui décrit une durée de sensibilisation. Cet intervalle peut être
statique comme dans les réseaux de Petri t-temporels, ou bien min et max peuvent
dépendre des attributs des n-uplets de jetons sensibilisant la transition ti .
La transformation d'un réseau prédicats-transitions-diérentiels en un réseau prédicats-transitions-t-temporel se fait en trois étapes :
Premièrement, les fonctions de sensibilisation des transitions ti sont remplacées par une
fonction explicite, ti , de la durée de sensibilisation de ces transitions. ti est la plus
petite solution de eti (Xini ) = 0 avec les contraintes Fk (Xpk ) = 0 pour toutes les places
marquées. Il faut pouvoir exprimer ti sous la forme ti = Duree (Xini ) . L'intervalle ti
est l'intervalle dans lequel ti prend ses valeurs (image de la fonction Duree ).
Deuxièmement, la mise à jour des variables d'état continues se fait par l'intermédiaire de
la fonction Ata permettant de modier les variables. Cette fonction est déterminée à partir
des équations des places amont et de la durée de séjour dans les places amont (information
disponible sous Miss-RdP mixte) puis des fonctions de jonction jti .
Troisièmement, pour chaque place pk mettant en ÷uvre des équations, supprimer les fonctions associées Fk .
Remarques :
Dans un contexte de simulation, la non explicitation de l'intervalle ti reste sans conséquence. Il devrait par contre être explicité pour faire de la vérication formelle (par exemple
pour la construction du graphe des classes).
L'ensemble des fonctions F doit être utilisé pour transformer les fonctions de sensibilisation en des fonctions algébriques explicites donnant les dates de franchissement en fonction
de l'état continu des équipements à la date d'arrivée des jetons dans la place. Elles sont
également utilisées pour réécrire les fonctions de jonction car si est la date de franchissement de la transition ti , il ne faut plus donner l'état continu à + en fonction de l'état
à , , mais en fonction de l'état des variables continues à la date d'arrivée des jetons dans
les places d'entrée de la transition franchie. Il est clair que ces transformations d'équation
ne seront pas toujours possibles. Les dicultés viendront bien sûr de la complexité des
systèmes Fk , mais elles peuvent également venir du fait que les dates d'arrivées des jetons
dans les places d'entrée ne sont pas les mêmes. Cette dernière diculté est bien sûr aggravée
dans le cas de fusions dynamiques de transitions. Elles deviennent insurmontables en cas
d'interactions hybrides, c'est-à-dire lorsque la fonction de sensibilisation d'une transition
fait intervenir une variable continue dont la dynamique dépend d'un autre sous-réseau
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
88
IV.2.2 Exemple
Reprenons l'exemple du procédé discontinu introduit dans le paragraphe III.4.1. Pour eectuer sa simulation selon le premier principe
le modèle. Occupons-nous plus
il faut transformer
en détail de la place p2 . La fonction F2 dVdR , deR = 0 qui lui est associée doit être prise en
compte dans les fonctions de sensibilisation ( ti ) et les actions sur les variables associées à ses
transitions aval.
La seule transition aval de cette place est t2 avec comme fonction de sensibilisation associée
e2 ( VR = 100l ). Calculons alors la date de franchissement de t2 , permettant de représenter la
durée de l'opération associée à p2 . La durée ( ) du transfert de 100 l de produit venant de Se
vers R à un débit deR est alors égale à = 100,dVeRR(t1 ) .
Nous introduisons VR(t1 ) car R n'est pas nécessairement vide à la date t1 d'arrivée du jeton
dans p2 . Il est ainsi possible d'éviter de faire déborder le réacteur R . La date de franchissement
de t2 est alors t2 = t1 + où t1 est à la fois la date d'arrivée du jeton dans p2 et la date de
sensibilisation de t2 . L'intervalle associé à t2 sera alors :
2 = 2min =
100 , VR(t1 )
deR
; 2max =
100 , VR (t1 )
deR
(IV.1)
La mise à jour des variables d'état continues se fait lors du franchissement des transitions.
Regardons comment se détermine la fonction At2 mettant à jour les variables du jeton lors du
franchissement de t2 . Pendant la durée ( ) de séjour dans p2 le volume du réacteur a été modié
avec un débit deR . Nous avons donc VR : = VR + deR . Nous avons alors = t2 , t1 . Comme
il n'y a pas de fonction de jonction associée à t2 (autre que la fonction identité) nous avons alors
At2 dénie par :
At2 : VR : = VR + deR (t2 , t1 )
(IV.2)
En fait, vu le calcul de t2 , VR = 100l . En faisant les mêmes transformations pour t4 , t6 ,
t8 , t10 , t12 , t14 on obtient le modèle donné par la gure IV.1, avec :
2min = 2max = 100 ,dVR(t1 )
(IV.3)
4min = 4max = 600
(IV.4)
6min = 6max = VRd(t5 )
(IV.5)
8min = 8max = 100
(IV.6)
10min = 10max = VBd(t9 )
(IV.7)
12min = 12max = 1200
(IV.8)
eR
sR
sB
IV.2 Premier principe
Se
89
p16
p1
p15
t1
t14
[14min ; 14max ]
p2
p14
Ss
t2
[2min ; 2max ]
t13
p3
p13
R
t3
t12
[12min ; 12max ]
p17
p4
p12
t4
[4min ; 4max ]
t11
p5
p11
t5
[10min ; 10max ]
t10
B
p18
p6
p10
t6
[6min ; 6max ]
p7
p19
t7
t9
p8
p9
t8
[8min ; 8max ]
Figure IV.1 Exemple n 1 modié pour la mise en ÷uvre selon le premier principe
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
90
14min = 14max = VRd(t13 )
(IV.9)
At2 : VR = VR + deR (t2 , t1 )
(IV.10)
sR
VR = VR , dsR (t6 , t5 )
VB = VB + deB (t6 , t5 )
(IV.11)
VB = VB , dsB (t10 , t9 )
VR = VR + deR (t10 , t9 )
(IV.12)
At14 : VR = VR , dsR (t14 , t13 )
(IV.13)
At6 :
At10 :
(
(
Lors du franchissement de t1 (à = 0 ) un jeton est déposé dans la place p2 . t2 est alors
sensibilisée. La fenêtre 2 est calculée, et nous avons :
2 = [5 min; 5 min]
(IV.14)
Au bout de 5 minutes t2 est franchie, en considérant que le réacteur choisi était vide à = 0 ,
le volume du réacteur vaut alors 100 l.
IV.2.3 Limites de l'approche
Nous venons de voir comment transformer le modèle prédicats-transitions-diérentiels d'un
procédé discontinu en un modèle simulable sans avoir à faire appel à un intégrateur. Cependant,
comme nous l'avons mentionné au paragraphe IV.2.1, cette approche ne permet pas de faire la
simulation de tous les modèles réseaux prédicats-transitions-diérentiels. En eet en plus des cas
pour lesquels on ne peut pas calculer les dates de n d'opération, ni les variables d'état continues,
explicitement, il y a certains cas pour lesquels cette mise en ÷uvre s'avère plus dicile. Ces cas
correspondent aux modèles construits à partir de sous-réseaux prédicats-transitions-diérentiels
écrits indépendamment les uns des autres puis couplés par fusions de transitions et/ou tests sur
les variables continues (interactions hybrides).
Reprenons l'exemple du procédé avec stockage intermédiaire (cf paragraphe III.4.2). Nous
allons nous focaliser sur la phase de transfert entre R1 et ST (voir gure IV.2).
Nous avons 1 et 2 deux étiquettes, associées aux transitions des sous-réseaux, correspondant aux évènements (( début de remplissage de ST )) et (( n de remplissage de ST )), permettant
de coupler
par TC1 = ft1 ; t5 g ft15 g ftR15 g et TC2 = ft2 ; t6 g ft16 g ftR16 g
n les sous-réseaux
o
( TC2 = tC2;1 ; tC2;2 avec tC2;1 = t2 t16 tR16 et tC2;2 = t6 t16 tR16 ). La fonction de
sensibilisation associée à tR16 est etR16 : VR1 = 0u:v: .
Cette fonction est transformée, pour pouvoir faire la mise en ÷uvre de ce modèle selon le
premier principe, en :
V ( )
V ( )
TC2 = TC2min = R1 t15 ; TC2max = R1 t15
(IV.15)
d3
d3
Considérons, à la date = 1; 5u:t: , que le procédé est dans l'état suivant : le stock ST est
au repos et VST = 0u:v: . Si nous commençons un transfert de R1 vers ST à ce moment là, TC1
IV.2 Premier principe
91
t15
1
p12
pR12
t16
2
t1
1
Repos
p1
tR15
1
Remplir
p
t2 2 t4
2 4
tC2;1 = [0; 5; 0; 5] t5
1 t6
ST
2
VST = 0u:v:
à = 1; 5u:t:
tR16
2
ST
VST = 3u:v:
t1
1
t3
3
Remplir/
Vider p1
p3
t3
3
t2
2
p2
t4
4
t5
1
p3
t6
2
tC ; = [0; 5; 0; 5]
à = 1; 8u:t:
22
Figure IV.2 Dicultés liées à la fusion dynamique de transitions
est franchie (soit t15 , tR15 et t1 ). La durée du transfert (donc TC2min et TC2max ) est égale à
0; 5u:t: . L'évènement (( n de remplissage de ST )) est donc prévu à la date = 2u:t: .
Si à = 1; 8u:t: on commence un transfert de ST vers R2 , la transition t3 est franchie. La
valeur de VST est remise à jour par At3 , et vaut 3u:v: . La transition tC2;1 n'est plus sensibilisée,
car t2 n'est plus sensibilisée, mais tC2;2 devient immédiatement sensibilisée, car t6 devient sensibilisée. Cependant l'intervalle TC2 est recalculé. Et on a TC2min = TC2max = VdR31 = 0; 5u:t: .
Ce qui fait que l'évènement (( n de remplissage de ST )) est prévu à la date = 2; 3u:t: , ce qui
est faux car si l'on franchit tR16 à = 2; 3u:t: on aura déplacé 10 (2; 3 , 1; 5) = 8u:v: au lieu
des 5u:v: initialement prévus.
Cette erreur vient du fait qu'à la date = 1; 8u:t: nous réévaluons TC2 avec la valeur de
VR1 calculée à la date = 1; 5u:t: . Lors du calcul de TC2 , il aurait fallu utiliser VR1 ( = 1; 8)
au lieu de VR1 ( = 1; 5) . Il faut donc, lorsque l'on détermine un intervalle de sensibilisation,
s'assurer que les variables utilisées soient mises à jour.
En fait au lieu d'eectuer le calcul de la durée de sensibilisation à partir des valeurs des
variables à la date d'arrivée des jetons dans les places, il faut le faire avec les valeurs des
variables à la date de sensibilisation de la transition. La mise à jour des variables sur les
jetons implique bien évidemment de pouvoir expliciter les valeurs des variables en fonction du
temps à partir de l'ensemble des équations F .
Regardons maintenant le cas du couplage par tests sur les variables continues à travers
l'exemple du stockage de gaz (cf paragraphe III.4.3). Nous isolons les fragments de sous-réseaux
suivant (voir gure IV.3) : les états actif et au repos des compresseurs amont, et les états stocker
et déstocker du stockage.
Considérons qu'à = 0j , Pp = 20b , dp = 10000000m3=j , Pc = 20b et dc = 20000000m3=j .
Le stock est dans la conguration 3 ( p3 marquée), donc en cours de vidange, et Ps = 59b . CP1
est actif et CP2 est au repos, donc P3 = 60b . La transition tc4 ( t2;18 t22 ) est sensibilisée,
mais la fonction de sensibilisation de t22 , e22 ( (P3 < Ps ) ^ (dp 6= dc ) ), ne sera jamais vraie
(car Ps est inférieure à P3 et l'on vide le stock, donc on diminue Ps , et on n'aura, alors, pas
besoin d'augmenter l'énergie fournie par les compresseurs pour assurer le débit dp ). En fait si
l'on reprend les équations on trouvera une valeur négative pour 18 . Ce qui signie que cet
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
92
p2
S
Repos
t9
0
1
0
01
1
0 p9
1
000
111
000
111
000 tf1;2;3g;18
111
000
111
p3
000
111
000
111
000
111
1 p10
0
t22
Actif
Cp1 actif 1111
Cp1 et Cp2 actifs
0000
0000
1111
00
11
0000
1111
00
11
p12
p13
Figure IV.3 Dicultés liées aux interactions hybrides entre les sous-réseaux
évènement ne pourra jamais se produire. On associe alors à t18 la fenêtre 18 = ]+1; + 1[ .
Si à = 1j , dc est modié et devient égal à 2000000 alors t9 est franchie ( Ps sera actualisée,
Ps = 58; 97 ) et le stock passera dans la conguration remplissage ( p2 marquée). Donc la pression
dans le stock augmente, et sera en mesure de dépasser les 60 , donc P3 (à = 86; 48j ). Pourtant,
la transition correspondante n'étant pas désensibilisée et re-sensibilisée, la fenêtre 18 n'est pas
réactualisée et reste égale à ]+1; + 1[ .
Cette erreur vient du fait qu'à la date = 1j on modie la description de l'évolution de Ps .
Il faudrait redénir 18 à partir des nouvelles équations actives. La raison de ce problème est
que la fonction de sensibilisation de t22 fait intervenir une variable ( Ps ) dont la dynamique est
dénie dans un autre sous-réseau (interaction hybride).
Comme nous venons de le voir, la dénition d'un réseau prédicats-transitions-diérentiels par
couplage de sous-réseaux PTD, écrits indépendamment, nous pose des problèmes pour la mise en
÷uvre du modèle. En eet de même que cette stratégie d'obtention des modèles rend l'analyse
des systèmes d'équations plus dicile, elle rend également la simulation plus dicile. Dans ce
cas il faut eectuer le calcul de la durée des sensibilisations à partir des valeurs des variables
à la date de sensibilisation des transitions. Ce qui nous amène à faire appel, lors de chaque
franchissement de transition, à un module permettant de calculer l'état continu du système et
les dates d'occurrence des évènements attendus. Mais ce type de mécanismes n'est pas prévu
dans les simulateurs de réseaux de Petri de haut-niveau actuellement disponibles sur le marché.
De plus, dans les cas simples, il dégraderait inutilement la performance de ces outils.
IV.3 Second principe
IV.3.1 Méthode
Nous venons de voir un premier principe de simulation des réseaux prédicats-transitionsdiérentiels. Il consiste à transformer le réseau en un réseau prédicats-transitions-t-temporel.
Cette transformation n'est pas toujours possible, c'est pourquoi nous allons, maintenant, présenter un second principe de mise en ÷uvre des réseaux prédicats-transitions-diérentiels plus
général.
IV.3 Second principe
93
Il consiste à coupler deux simulateurs [53]. L'un permettant de simuler des réseaux de Petri
haut-niveau et l'autre réalisant la simulation des systèmes d'équations (intégrateur). Les deux
simulateurs vont évoluer tour à tour et seront synchronisés par les évènements. Il ne s'agira pas
de lancer les deux simulateurs en parallèle, mais de lancer un simulateur jusqu'à l'apparition
d'un évènement puis de donner la main à l'autre simulateur.
Dénition 28 (second principe). La mise en ÷uvre de réseaux prédicats-transitions-diérentiels
se fait par couplage de deux simulateurs : un simulateur discret (joueur de réseaux de Petri) et
un simulateur continu (intégrateur). Le joueur de réseaux de Petri détermine, en fonction de
l'état discret du procédé, les équations à intégrer et les seuils à surveiller. Le simulateur continu
est alors appelé et intègre les équations jusqu'à l'apparition du premier seuil. Alors le simulateur
discret fait évoluer le marquage du réseau en fonction du seuil atteint et des valeurs des variables
continues.
Nous avons besoin de coupler un joueur de réseau de Petri avec un simulateur de systèmes
d'équations. La synchronisation entre les deux simulateurs se fera lors de l'occurrence d'évènements (de temps ou d'état). L'algorithme décrit par la gure IV.4 nous montre comment se fait
cette synchronisation.
Tir de la transition ti
Enlever les Fk des places d'entrées pk de ti
Mettre les Fl des places de sorties pl de ti
Calculer la liste des transitions ti sensibilisées
Établir la liste des ei à surveiller
Partie simulateur
discret
Exécuter ji
Intégrer les Fl jusqu'au premier seuil parmi
la liste des ei
Partie simulateur
continu
Rechercher la transition ti associée au premier seuil
Figure IV.4 Principe de simulation par couplage de deux simulateurs
Cet algorithme est décomposé en cinq étapes. La première consiste, lors d'un tir de transition,
à modier la structure du système d'équations. Les équations associées aux places que quittent
les jetons sont enlevées du système d'équations, alors que les équations associées aux places dans
lesquelles un jeton est déposé sont ajoutées au système d'équations. Pour cette étape c'est le
simulateur discret qui est activé, car c'est lui qui fait évoluer le marquage du réseau de Petri.
Notons que le simulateur discret modie les équations manipulées par le simulateur continu.
Nous entrons alors dans un nouvel état discret. La deuxième étape va consister à déterminer
quelles sont les conditions de sortie de cet état. Pour cela le joueur de réseau de Petri va déterminer
la liste des transitions sensibilisées et en déduire la liste des évènements seuils (fonctions de
sensibilisation) à surveiller. Cette liste est communiquée au simulateur continu.
Ensuite, la troisième étape consiste, à exécuter les fonctions de jonction correspondant aux
transitions franchies. Il s'agit de modier les valeurs des variables d'état continues, c'est l'intégrateur qui va la réaliser.
94
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
L'intégration des équations va alors commencer et se poursuivra jusqu'à l'apparition d'un
évènement seuil. Cette quatrième étape concerne uniquement le simulateur continu. Il est important de noter que certains seuils peuvent devenir vrais dès l'exécution des fonctions de jonction
ji , et donc que l'étape d'intégration peut être court-circuitée.
Enn lorsqu'un seuil est détecté, il faut rechercher quelle est la transition associée à ce seuil
(cinquième étape) et ensuite communiquer au simulateur discret quelle est la transition qui doit
être franchie. Le simulateur discret réalise le tir de cette transition en reprenant l'algorithme à
la première étape.
Les modèles des trois exemples présentés au chapitre précédent peuvent ainsi être mis en
÷uvre directement. Ce principe est beaucoup plus puissant, mais nécessite de manipuler deux
simulateurs. Il est alors envisageable soit d'utiliser deux simulateurs existants et disponibles sur
le marché. Il faut qu'ils soient susamment ouverts et il faut alors écrire l'interface entre les deux.
Soit il faut développer un simulateur mixte en suivant ce principe. Soit, enn, il est possible de
faire un simulateur dédié à une application en écrivant une partie simulation discrète et une
partie simulation continue.
IV.3.2 Exemple
Regardons plus en détail la mise en ÷uvre du modèle réseau prédicats-transitions diérentiels
de l'exemple du stockage de gaz (cf paragraphe III.4.3). Le modèle est composé de sept sousréseaux prédicats-transitions-diérentiels. La gure IV.5 rappelle ces sous-réseaux.
Avant de donner l'algorithme de simulation du modèle, regardons comment la simulation
des variables continues sera réalisée. Le calcul de la pression Ps se fait à partir d'une équation
non-linéaire, nous appliquerons alors un algorithme de Newton pour la calculer.
L'équation diérentielle dUds = ::: sera calculée en découpant l'horizon en petits intervalles.
À chaque pas il est alors possible de calculer la valeur de Us en faisant la diérence entre le
nombre de moles entrant dans le stock et celui des moles sortant sur ce pas. On calcule ensuite
Ps et on peut en déduire les autres valeurs des variables continues.
Regardons ce que devient l'algorithme de mise en ÷uvre de cet exemple (gure IV.6). Nous
devons alors faire évoluer le réseau en fonction d'évènements extérieurs. Des joueurs de réseaux
de Petri ont été développés, dans le cadre d'applications réactives, pour lesquels les transitions
peuvent être associées à des prises en compte d'évènements extérieurs (réception de messages,
prise en compte de seuils...). La notion de transitions internes et transitions externes est alors
apparue. Dans ce cas le franchissement des transitions externes est synchronisé avec l'occurrence
de l'évènement associé. Par contre, à partir d'un marquage donné, toutes les transitions internes
franchissables doivent être franchies avant la prise en compte de l'évènement externe suivant,
an d'atteindre un état stable.
L'algorithme est décomposé en deux parties. Tout d'abord, il faut déterminer les valeurs des
variables d'état continues au moment précis de l'occurrence de l'évènement considéré. Ensuite
le marquage évolue, et, par conséquent, la structure du système déni par les équations actives.
Cette séquence correspond au cycle discret du simulateur. Tant que les fonctions de sensibilisation
sont vraies, les transitions correspondantes sont franchies.
Quand il n'y a plus de seuils vrais, on fait alors évoluer les variables d'état continues jusqu'à
ce qu'une fonction de sensibilisation devienne vraie (un seuil est détecté). Cette seconde partie
permet, en quelque sorte, de déterminer l'évènement externe qui fait évoluer le marquage du
réseau de Petri (qui est alors dans un état stable).
Revenons à l'exemple et plaçons nous avec le procédé dans l'état initial suivant : le stockage
déstocke ( p3 marquée), les vannes de dissipation sont actives, les compresseurs sont au repos,
IV.3 Second principe
95
p2
t10
2
t2
1
t9
2
tf1;2g;8
p3
1
2
1
p9
2
1
tf1;2;3;4;5;6;7g17
p8
p7
p10
p17
p24
p11
t21
tf1;2;3g18
p12
t26
p14
t32
t22
tf1;2;3g;20
Figure IV.5 Réseau PTD de l'exemple du stockage de gaz
t24
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
96
Calculer l'état du système à
l'instant d'occurrence de l'évènement
Tir de la transition ti
Enlever les Fk des places d'entrées
pk de ti
Mettre les Fl des places de sorties pl de ti
Exécuter ji
Calculer la liste des transitions ti sensibilisées
Établir la liste des ei à surveiller
ei vrai?
= + d
Calculer Us ; Ps; Vs
P2 ; P3; P4; P5; P6
Figure IV.6 Algorithme de mise en ÷uvre du modèle du stockage de gaz
la pression dans le stock est Ps = 56 , et les places p17 et p24 sont marquées. Nous avons donc
dp > dc , le seuil e9 est vrai, il faut alors franchir t9 . Le système d'équations F3 est remplacé
par F2 . Les équations actives sont alors :
8
>
P4 = Ps
>
>
< PdU5s= P4
d = dp , dc
>
>
P
s :Vs = Us :R:T
>
: Vs = 353; 6: (10: (Ps , P0)) 25 :Ps
P4 R:T : ln P + WVR1 = 0
3
Pc R:T : ln P + WVR2 = 0
6
(IV.16)
(IV.17)
(IV.18)
P2 = Pp
(IV.19)
P3 = P2
(IV.20)
P6 = P5
(IV.21)
IV.4 Conclusion
97
Les fonctions de sensibilisation actives sont : e2 , e1;8 , e2;8 , e10 , e1;18 , e2;18 , e3;18 , e21 , e24 ,
e26 et e32 . La condition e21 (( P2 = 20 < Ps = 56) ^ (dp 6= dc) ) est vraie, tC3 est alors franchie,
le système d'équations devient :
8
>
P4 = Ps
>
>
< PdU5s= P4
d = dp , dc
>
>
Ps:Vs = Us :R:T
>
: Vs = 353; 6: (10: (Ps , P0)) 52 :Ps
R:T : ln PP4 + WVR1 = 0
3
(IV.22)
(IV.23)
Pc R:T : ln P + WVR2 = 0
6
(IV.24)
P2 = 3:Pp
(IV.25)
P3 = P2
(IV.26)
P6 = P5
(IV.27)
La liste des fonctions de sensibilisation actives devient : e2 , e1;8 , e2;8 , e10 , e1;17 , e2;17 , e3;17 ,
e2;18 , e3;18 , e1;20 , e2;20 , e3;20 , e22 , e24 , e26 , et e32 . Aucune n'est vraie. Il faut donc faire évoluer
les variables d'état continues jusqu'à l'apparition d'un nouveau seuil.
Les résultats de la simulation de ce procédé, avec les contraintes données dans le paragraphe
III.4.3, sont donnés par la gure IV.7.
IV.4 Conclusion
Dans ce chapitre nous avons décrit deux façons de réaliser la simulation de réseaux prédicatstransitions-diérentiels. La première consiste à transformer le modèle en un réseau de Petri
haut-niveau et à faire la simulation grâce à un simulateur de réseau de Petri (premier principe).
Pour ce principe nous avons décrit le passage d'un réseau prédicats-transitions-diérentiels à un
réseau prédicats-transitions-t-temporel. Il s'agit en fait de remplacer les fonctions Fk , actives dès
qu'une place pk est marquée, et les fonctions de sensibilisation par une durée de sensibilisation
des transitions, et d'ajouter des actions sur les transitions pour calculer les valeurs des variables
d'état continues.
Nous avons vu que ce premier principe de mise en ÷uvre des réseaux prédicats-transitionsdiérentiels n'est pas applicable dans tous les cas. Il faut bien entendu être capable de déterminer
facilement la durée de temporisation correspondant au séjour dans un état. Il en est de même
pour la mise à jour des variables d'état continues lors du franchissement des transitions. Par (( facilement )), il faut comprendre que les calculs de la durée et des variables se font d'une manìère
explicite. En eet, les simulateurs utilisés, pour ce premier principe, sont des simulateurs de
modèles discrets, et par conséquent ne peuvent faire des calculs complexes. Cependant il est
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
98
20
12
0
20000000
dp 10000000
0
20000000
dc 10000000
0
57
Ps
56
55
Conguration 1
Conguration 2
Conguration 3
Conguration 4
Pp
S
VR1 Active
Repos
Actif
Cc Repos
Actif
Cp1 Repos
Actif
Cp2 Repos
t en j
1
5
10
15
Figure IV.7 Résultats de la simulation du procédé (( stockage de gaz
20
))
IV.4 Conclusion
99
envisageable de remplacer les calculs par des approximations en utilisant des courbes d'interpolation des fonctions décrites par les Fk . Ainsi au lieu de faire des calculs, on fait un appel
à une fonction d'interpolation, ce qui permet de traiter un plus grand nombre de fonctions et
d'augmenter la rapidité de la simulation.
Nous avons également vu que ce premier principe n'est pas uniquement limité, pour son
utilisation, par la complexité des fonctions mises en jeu, il est également limité lorsque l'on
construit le modèle par couplage de sous-réseaux prédicats-transitions-diérentiels. En eet les
interactions hybrides entre les sous-modèles génèrent des problèmes d'actualisation des variables
d'état continues et par conséquent des incohérences dans la simulation.
Nous avons alors présenté le second principe de simulation des réseaux prédicats-transitionsdiérentiels. Ce principe est basé sur le couplage de deux simulateurs, les simulateurs étant actifs
chacun à leur tour. L'apparition d'un évènement lance l'utilisation du simulateur discret an de
faire évoluer l'état du système. Une fois le nouvel état déterminé, le simulateur continu (un
(( solveur )) de systèmes d'équations diérentielles algébriques) devient actif jusqu'à l'occurrence
d'un nouvel évènement. Nous avons détaillé ce principe de mise en ÷uvre des réseaux prédicatstransitions-diérentiels pour le cas de l'exemple du stockage de gaz. Nous avons ainsi vu qu'il
est possible de simuler des systèmes hybrides avec une partie continue complexe, et, également,
des réseaux prédicats-transitions-diérentiels dénis par couplage de sous-réseaux PTD écrits
indépendamment.
L'utilisation de la simulation pour les systèmes discontinus va aider au dimensionnement et
à la spécication des ateliers. Lors des phases de conception d'atelier il est possible de réaliser
une simulation qui permettra d'établir la capacité des stockages intermédiaires, les capacités de
transfert entre les réservoirs... Il est également possible de faire une simulation pour s'assurer
que les recettes mises en ÷uvre délivrent un produit conforme aux spécications, car il nous est
désormais possible d'avoir une simulation ne de la partie discrète et de la partie continue.
Lors de la phase d'exploitation, la simulation peut être utilisée, dans le cadre de la supervision,
pour choisir la commande à appliquer. À partir de l'état courant on applique la commande désirée
et ensuite il est possible d'en observer les conséquences sur le procédé pendant un court horizon
temporel (commande prédictive sur un système dynamique hybride). Suite à cette simulation
l'opérateur peut choisir de lancer la commande en sachant quelles en sont les conséquences
immédiates ou à très court terme.
La simulation est bien entendue utilisée dans le cadre de la surveillance pour la détection
des anomalies de fonctionnement du procédé [9]. Cette détection est généralement basée sur
l'utilisation d'un modèle qui est émulé en parallèle avec le procédé (modèle de référence). Les
fonctions de sensibilisation peuvent alors être utilisées pour détecter les écarts entre les variables
d'état continues calculées et les variables mesurées (analogie avec la méthode des résidus).
Enn il est possible d'utiliser la simulation pour valider un plan de production. En se basant
sur une représentation du procédé et en lui appliquant les décisions prises par un ordonnanceur,
on peut ainsi s'assurer que les stocks intermédiaires ne déborderont jamais. Et, en utilisant un
simulateur capable de faire des études stochastiques, on peut valider une politique d'ordonnancement en prenant en compte les éventuelles défaillances du procédé. On peut alors considérer
des critères économiques liés à l'analyse du risque.
La plupart des applications de la simulation concernent le niveau supervision. L'architecture
de la fonction supervision et l'interaction de cette dernière avec l'ordonnancement prévisionnel
sont le but du chapitre suivant.
100
Chapitre IV Simulation des réseaux prédicats-transitions-diérentiels
Chapitre V
Supervision des systèmes discontinus
V.1 Introduction
Dans les chapitres précédents nous avons déni un modèle hybride, les réseaux prédicatstransitions-diérentiels, avec pour but de l'utiliser dans le cadre de la supervision des systèmes
discontinus. Nous allons maintenant présenter une approche pour le pilotage en temps-réel des
systèmes discontinus. Cette approche est basée sur ce modèle car il permet d'avoir une représentation précise du système. Nous allons regarder plus particulièrement le problème du lien entre
les niveaux supervision et ordonnancement, la partie surveillance et commande ayant été plus
particulièrement détaillée dans [9].
Après une analyse des avantages et inconvénients des modélisations avec du temps relatif et
du temps absolu, nous poursuivons ce chapitre par une étude détaillée des diérences entre les
réseaux de Petri et les graphes potentiels, en soulignant leur capacité à détecter des incohérences
et à agréger les contraintes temporelles. Nous mettons ainsi en évidence un certain nombre de
principes qui vont nous servir pour le pilotage en temps-réel.
Le pilotage en temps-réel d'un atelier est basé sur une approche en deux temps. Premièrement,
au niveau de l'ordonnancement, une préanalyse a pour but d'écarter les séquences infaisables et
de caractériser un sous-ensemble de séquences admissibles [105, 30, 16]. Deuxièmement une prise
de décisions est eectuée en temps-réel en fonction des contraintes mises en évidence par la
préanalyse. Nous proposons d'eectuer la préanalyse à partir d'une vision purement discrète du
système discontinu (à part peut-être le problème du dimensionnement des lots) pour conserver
un degré de complexité raisonnable. Par contre la prise de décision en temps-réel au niveau
supervision est basée sur les réseaux prédicats-transitions-diérentiels et prend en compte les
contraintes de nature hybride.
Mais commençons ce chapitre par la discussion sur la représentation du temps.
V.2 Notions de temps relatif et de temps absolu
Nous appelons modèle en temps absolu un modèle pour lequel la mesure du temps se fait par
rapport à une origine des temps unique (le début d'une campagne de production par exemple).
Alors qu'un modèle en temps relatif est un modèle ne possédant pas une référence temporelle
Chapitre V Supervision des systèmes discontinus
102
unique. Il paraît donc naturel que l'ordonnancement de la production sur un horizon temporel
soit basé sur un temps absolu ayant pour origine des temps le début de l'horizon. Il semble
également séduisant de fonder le pilotage en temps-réel sur un modèle en temps relatif. En eet
la démarche est asynchrone et il semble sure de se positionner par rapport au dernier évènement
ayant eu lieu dans l'atelier.
Les réseaux de Petri avec une représentation quantitative du temps, sont des modèles en temps
relatif. En eet les durées sont mesurées par rapport à l'occurrence de l'évènement précédent qui
est soit l'arrivée du jeton dans la place, soit la sensibilisation de la transition (voir paragraphe
I.4.2). Quelques approches ont été développées prenant en compte le temps de façon absolue.
W.M.P. van der Aalst [156], notamment, qui, dans les réseaux de Petri colorés, associe un champ,
aux jetons, qui exprime la date de franchissement des transitions aval par rapport à une origine
unique, donc en temps absolu.
Un graphe potentiels est un modèle qui peut être en temps relatif ou en temps absolu. Le
temps y est exprimé par l'intermédiaire de diérences de potentiels (qui représentent des durées
minimales ou maximales) entre deux évènements. Il est possible de dénir un n÷ud comme
étant l'origine des temps et par conséquent de calculer des fenêtres d'occurrence des évènements
associés aux n÷uds par rapport à cette origine. Ce n÷ud est d'ailleurs nécessaire à l'introduction
des dates de livraison des produits (dates au plus tard).
Le principal intérêt d'avoir du temps absolu dans un modèle est qu'il permet d'exprimer des
contraintes sur les dates de livraison et donc de raisonner sur tout l'horizon temporel de façon
cohérente. À partir de l'origine du plan et des durées des opérations il est possible de calculer
les dates de début au plus tôt des opérations, et à partir de la date de livraison et des durées
des opérations, il est possible de calculer les dates de début au plus tard des opérations (si
cette date n'est pas respectée, la date de livraison ne le sera pas non plus). La diérence entre
la date de livraison d'un produit, la durée des opérations de la recette et la date de début de
fabrication au plus tôt d'un produit représente la marge de ce produit (en considérant, bien sûr,
que la production est faisable et que la marge est positive). Cette marge sera consommée par les
attentes avant les opérations.
Nous allons mettre en évidence le fait que s'il est possible de représenter des attentes en temps
absolu comme en temps relatif, la propagation des retards, elle, ne peut se faire qu'à partir d'un
modèle en temps absolu. En eet si nous considérons un produit devant subir deux opérations
( Op1 et Op2 ) de durées respectives 3 et 4 , avec comme date de début 0 , et comme date de
n 10 , nous avons une marge sur le produit égale à 3 . Cette marge peut être consommée en
attendant les débuts d'opérations. Le réseau de Petri modélisant cette recette est donné par la
gure V.1 où les attentes sont représentées par des intervalles associés aux places et les durées
des opérations par des temporisations sur les transitions (RdP p-temporels-t-temporisés) comme
dans [93].
p1
t1
p2
t2
p3
t3
[0; 3]
[3]
[0; 3]
[4]
p4
Figure V.1 Exemple de propagation des retards
Or si on attend 1 avant de commencer l'opération Op1 (associée à t2 ) alors l'attente avant
Op2 (associée à t3 ) ne pourra excéder 2 sinon la date de livraison ne sera pas respectée. Or la
marge associée à p3 a pour référence temporelle la n du franchissement de t2 et elle ne sera
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri
103
donc pas sensible à un retard se produisant avant cet évènement. La notion de marge n'est donc
pas correctement représentée dans ce réseau de Petri.
De la même façon, si nous nous intéressons au réseau de la gure V.2, nous voyons que le
temps est relatif par rapport à la date de sensibilisation de t3 . Un retard sur le franchissement
de t1 va avoir un impact ou non sur l'attente associée à t3 . Si p2 n'est pas marquée lorsque
t1 est franchie le retard n'a pas de conséquence parce que t3 n'est pas sensibilisée. Sinon la
sensibilisation de t3 est retardée de et le retard devrait être propagé en diminuant l'attente
prévue de . Nous voyons que si en l'absence de retard un plan, exprimé en temps absolu, peut
être traduit par un réseau de Petri, la prise en compte des consommations de marges nécessite
une modication dynamique des durées d'attente associées aux places et aux transitions qui peut
s'avérer complexe.
t1
t2
p1
p2
t3
[1; 2]
Figure V.2 Problème de la propagation des retards
Par conséquent le pilotage en temps-réel d'un système doit se faire avec un modèle permettant
de représenter le temps de manière absolue, sinon les contraintes venant du niveau ordonnancement ne pourront pas être prises en compte.
Si l'on en revient au schéma de la gure I.3, il semble que la diculté de l'interfaçage entre un
ordonnancement prévisionnel sur un horizon de temps et une commande en temps-réel vienne,
au moins en partie, des diérences existant entre une approche réactive en temps absolu (ordonnancement) et une approche asynchrone en temps relatif (commande en temps-réel). Dans
le cas des systèmes discontinus il faudra rajouter au niveau temps-réel la prise en compte des
contraintes hybrides.
V.3 Comparaison entre les graphes potentiels et les réseaux de
Petri
Nous commençons par détailler les résultats du premier chapitre, puis nous regardons la
capacité des deux modèles à détecter les incohérences d'un ensemble de contraintes temporelles
lorsque l'on fait ou refait un plan prévisionnel. Nous verrons trois types d'incohérences, les
incohérences structurelles, les décisions incohérentes et les incohérences quantitatives [45]. Les
deux premières sont des incohérences de type qualitatif et la dernière est de type quantitatif.
Les incohérences structurelles proviennent de la structure du mécanisme d'allocation des
ressources. Elles apparaissent lorsque ce dernier est incohérent et peut conduire à un interblocage
du système.
Un ensemble de décisions incohérentes correspond à des choix contradictoires qui ne sont pas
réalisables. Par exemple allouer une ressource disponible pour faire deux opérations diérentes.
Les incohérences quantitatives, quant à elles, traduisent un non respect des contraintes temporelles, par exemple les dates de livraison au plus tard.
Chapitre V Supervision des systèmes discontinus
104
V.3.1 Contraintes de précédence et de ressources
Au cours des paragraphes I.3 et I.4.2 nous avons détaillé la représentation des contraintes de
précédence des gammes et des mécanismes d'allocation des ressources par réseaux de Petri et
par graphes potentiels. Nous avons constaté quelques diérences que nous allons souligner dans
ce paragraphe.
Tout d'abord l'expression des évènements. Dans un réseau de Petri, l'occurrence d'un évènement correspond au franchissement d'une transition, et comme nous l'avons montré, une place
reliant deux transitions représente un ordre partiel entre tous les évènements représentés par ces
transitions prises deux à deux.
Par contre dans un graphe potentiels un évènement unique est associé à chaque n÷ud
du graphe. Il est ainsi possible d'identier précisément chaque évènement, et d'exprimer des
contraintes précises et en temps absolu aussi bien que des contraintes par rapports aux autres
évènements (en temps relatif).
La représentation des contraintes de précédence des recettes et des mécanismes d'allocation des ressources se fait de manière quantitative avec un graphe potentiels (une conjonction
d'inégalités de potentiels qui doivent être respectés). De plus dans un graphe potentiels on ne
modélise pas les ressources, mais une relation d'ordre potentiel (un ensemble de contraintes nonconjonctives) déduite des mécanismes d'allocation des ressources. Alors qu'un réseau de Petri
représente directement les ressources et leurs mécanismes d'allocation.
V.3.2 Détection des incohérences structurelles
Exemple
Reprenons l'exemple du procédé discontinu déni dans le paragraphe III.4.1. Il s'agit de
réaliser un type de produit, suivant la recette qui consiste à faire une réaction, une attente et
une deuxième réaction, dans un atelier donné par la gure V.3.
B
R2
Se
Ss
R1
Figure V.3 Exemple de mécanisme d'allocation de ressources pouvant entraîner un interblocage
Un interblocage apparaît lorsque l'on a un produit en attente dans le stock B et deux produits
faisant leur première réaction dans chaque réacteur. Chaque lot détient une ressource et attend,
indéniment, qu'une autre ressource se libère pour pouvoir évoluer.
Représentation par réseaux de Petri
Le modèle réseau de Petri du procédé est donné par la gure V.4. Une séquence qui conduit à
l'interblocage correspond, par exemple, au franchissement de t1 t2 t3 t1 t2 t3 t4 t5 t6 t7 t1 t2 t3 t4 t4 t8 .
Comme nous l'avons dit au paragraphe I.3.4 cet interblocage correspond au fait qu'un siphon
du réseau ne contient plus de marques et que, par conséquent, il est impossible de franchir une
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri
105
transition de façon à rajouter un jeton dans l'une des places du siphon. Toutes les transitions de
sortie du siphon sont mortes. L'ensemble des places composant le siphon est fp6 , p10 , p11 , p12 ,
p13 , p14 , p17 , p18g (places représentées en gras sur la gure V.4).
Parmi les stratégies d'évitement des interblocages, regardons celle qui consiste à rajouter un
mécanisme de contrôle du siphon (évitement statique [29]). Ayant remarqué que la transition t1
décrémente le nombre de jetons des places du siphon et que t10 incrémente le nombre de jetons
des places du siphon, il sut d'ajouter une place (place de contrôle du siphon, p20 ) permettant
de contrôler le nombre minimal de jetons des places du siphon et de s'assurer que cette place ne
crée pas un nouveau siphon (gure V.5). Le marquage initial de cette place est égal au marquage
initial des places du siphon moins un.
Les séquences conduisant à l'interblocage ne peuvent plus être franchies. En eet lorsque l'on
tire la séquence de transitions t1 t2 t3 t1 t2 t3 t4 t5 t6 t7 , on arrive dans un état où t1 n'est pas
sensibilisée parce que la place de contrôle du siphon est vide. Les seules transitions sensibilisées
sont t4 et t8 . Si l'on franchit t8 , t9 et t10 (transition qui incrémente le nombre de marque de la
place de contrôle), t1 devient franchissable. À cet instant tous les équipements de l'atelier sont
occupés mais l'atelier n'est pas bloqué, parce qu'il y a un lot sur un réacteur qui n'attend pas de
ressource contenue dans le siphon pour évoluer (car il est en train de faire sa seconde réaction).
En fait la place p20 joue le rôle d'une ressource virtuelle limitant à deux le nombre de lots
simultanément en traitement pendant le fragment de recette compris entre les transitions t1 et
t10 .
Nous voyons qu'en raisonnant sur la structure du réseau de Petri nous pouvons mettre en
évidence les mécanismes d'allocation de ressources conduisant le système dans un état de blocage.
En modiant la structure du réseau (ajout d'une place de contrôle) il est possible d'obtenir un
réseau tel qu'il n'y ait plus de séquences menant à un interblocage. Nous avons en fait transformé
l'ensemble initial des contraintes de précédence qualitatives en un nouvel ensemble qui est tel que
toute séquence peut être prolongée indéniment sans aboutir à un interblocage. Cela veut dire que
toute décision prise en temps-réel, correspondant à une transition sensibilisée, est cohérente avec
ce nouvel ensemble de contraintes de précédence qualitatives. L'analyse eectuée est purement
structurelle et ne dépend pas du nombre de produits fabriqués pendant l'horizon temporel.
Représentation par graphes potentiels-étapes
La représentation en graphe potentiels de cette situation nous oblige à travailler sur un
intervalle de production avec une quantité de produits à réaliser. Considérons que nous devons
fabriquer trois produits. Le graphe potentiels correspondant à ce problème est donné par la
gure V.6. Les contraintes de précédence des recettes sont modélisées par l'ensemble des arcs
conjonctifs (en traits plein). Les trois chemins horizontaux, partant du n÷ud debut de production
et arrivant au n÷ud fin de production, correspondent chacun à l'exécution de la recette d'un
lot. Les mécanismes d'allocation des ressources sont représentés par des ensembles d'arcs nonconjonctifs, dont nous ne représentons qu'une partie en traits pointillés.
Nous avons choisi de représenter le graphe potentiels donnant la séquence qui conduit à l'interblocage. Nous avons donc un graphe conjonctif où toutes les inégalités de potentiels sont reliées
par un ET. Regardons le graphe potentiels simplié donné par la gure V.7, les arcs ( D ; A )
et ( B ; C ) sont des relations de précédence pour l'utilisation de ressources et donc leur longueur est positive ou nulle. La longueur de ( C ; D ) correspond au transfert d'un réacteur R
vers le stock B et celle de ( A ; B ) au transfert de B vers R . Elles sont donc strictement
positives. Donc le cycle ( C ; D ; A; B ; C ) est de longueur strictement positive. Or dans un
graphe potentiels, l'existence d'un cycle de longueur positive est toujours la preuve d'une in-
Chapitre V Supervision des systèmes discontinus
106
p1
p15
t1
t14
p2
Se ! R
p16
p14
R ! Ss
t2
t13
p3
p13
R
t3
t12
p17
p4
R
p12
R
t4
t11
p5
p11
t5
t10
B
p18
p6
R!B
p10
B!R
t6
p7
t9
t7
p8
B
t8
p9
Figure V.4 Mise en évidence de contraintes structurelles dans un RdP
p19
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri
p1
p15
t1
t14
p2
Se ! R
p16
107
p14
R ! Ss
p20
t2
t13
p3
p13
R
t3
t12
p17
p4
R
p12
R
t4
t11
p5
p11
t5
t10
B
p18
p6
R!B
p10
B!R
t6
p7
t9
t7
p8
B
t8
p9
Figure V.5 Réseau avec siphon contrôlé par une ressource virtuelle
p19
Chapitre V Supervision des systèmes discontinus
108
(Se ! R)1 (R)1 (R ! B)1 (B)1 (B ! R)1 (R)1 (R ! Ss)1
début
(Se ! R)2 (R)2 (R ! B)2 (B)2 (B ! R)2 (R)2 (R ! Ss)2
n
(Se ! R)3 (R)3 (R ! B)3 (B)3 (B ! R)3 (R)3 (R ! Ss)3
Figure V.6 Graphe potentiels représentant la production de trois produits
(B ! R)1
A
B
a
c
d
b
C
D
(R ! B ) 3
Figure V.7 Détection des incohérences structurelles : cycle positif
cohérence. En eet, dans le cas de l'exemple ci-dessus, si l'on coupe le cycle en B et C , le
chemin ( C ; D ; A ; B ) étant strictement positif, cela entraîne que l'évènement B est strictement postérieur à l'évènement C , alors que l'arc ( B ; C ) implique que B précède C . Cette
contradiction est équivalente à l'inégalité suivante, a , b , c et d étant positifs :
C , B d et B , C a + b + c d'où
,d
a| +{zb + c} B , C |{z}
0
0
(V.1)
Nous voyons donc que les incohérences structurelles sont bien mises en évidence par les
graphes potentiels. Comme dans le cas des réseaux de Petri, le raisonnement peut être qualitatif
puisque le fait que le cycle ( C ; D ; A ; B ; C ) soit positif est indépendant des durées opératoires eectives. Toutefois le raisonnement s'est appuyé sur le cas particulier de trois lots, pour
des aectations particulières des ressources (choix parmi les arcs non-conjonctifs). Le raisonnement permettant d'obtenir un nouvel ensemble de contraintes par introduction d'une ressource
virtuelle, complexe mais possible avec les réseaux de Petri, est ici impossible. En eet, l'introduction d'une ressource virtuelle ne ferait qu'ajouter des arcs non-conjonctifs (et donc d'augmenter
la combinatoire) et, comme nous allons le voir dans le paragraphe suivant, le problème d'un choix
cohérent d'arcs dans les ensembles non-conjonctifs n'en serait que plus complexe.
V.3.3 Détection des décisions incohérentes
Examinons donc maintenant le problème posé par le fait que les ressources ne sont représentées dans les graphes potentiels que par les relations d'ordre qu'elles induisent.
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri
109
Exemple
Prenons l'exemple de deux recettes utilisant deux équipements R1 et R2 (voir gure V.8).
Chaque recette est composée de deux opérations Op1;1 et Op1;2 pour la première et Op2;1 et
Op2;2 pour la seconde. Les opérations Op1;1 et Op2;2 sont eectuées sur l'équipement R1 et
Op2;1 et Op1;2 sont eectuées sur R2 .
P2
R1
R2
P1
Figure V.8 Détection des décisions incohérentes : présentation de l'exemple
Représentation par graphes potentiels-étapes
Regardons le graphe potentiels représentant l'ensemble des contraintes pour la fabrication
d'un produit pour chaque recette (gure V.9). Les arcs en traits pleins représentent les contraintes
conjonctives (venant des contraintes de précédence des recettes), les traits pointillés ns représentent l'ensemble d'arcs non-conjonctifs qui décrit les précédences potentielles venant de la
contrainte d'exclusion sur la ressource R1 et l'ensemble des arcs non-conjonctifs, venant de la
contrainte d'exclusion sur la ressource R2 , est en traits pointillés.
Op1;1 Op1;2
début
R1
n
R2
Op2;1 Op2;2
Figure V.9 Graphe potentiels représentant des décisions incohérentes
Avec ce modèle nous pouvons déduire quatre solutions (voir gure V.10). Faire Op1;1 et
Op1;2 avant Op2;1 et Op2;2 (gure V.10-a). Faire Op2;1 et Op2;2 avant Op1;1 et Op1;2 (V.10-b).
Commencer simultanément Op1;1 et Op2;1 puis Op1;2 quand Op2;1 est terminée et Op2;2 quand
Op1;1 est terminée (V.10-c). Et faire Op2;2 avant Op1;1 et Op1;2 avant Op2;1 (V.10-d).
-a-
-b-
-c-
-d-
Figure V.10 Solutions déduites de la gure V.9
La dernière (V.10-d) qui correspond à une décision irréalisable fait apparaître un cycle, et
comme toutes les diérences de potentiels attachées aux arcs sont positives, ce cycle est positif
(contrairement au cycle du troisième cas, (V.10-c), qui est de durée nulle et correspond donc à
une synchronisation).
Chapitre V Supervision des systèmes discontinus
110
Op1
Op2
durées
date de début date de n
opératoires au plus tôt au plus tard
3
3
9
4
0
7
Tableau V.1 Incohérences quantitatives : exemple
Représentation par réseaux de Petri
Le réseau de Petri modélisant le même exemple est donné par la gure V.11.
p6
t5
p7
p8
t6
t7
Op2;1
R1
R2
Op1;1
t1
p2
t8
p10
t4
p5
Op2;2
p11
p1
p9
t2
p3
p12
t3
Op1;2
p4
V.11 Réseau de Petri représentant les mêmes contraintes que le graphe potentiels de la
gure V.9
Figure
Ce réseau est vivant (indépendamment du nombre de lots à traiter car l'analyse est possible
par réduction) et les séquences qu'il propose correspondent aux trois séquences réalisables. Le
simple fait de ne franchir que des transitions sensibilisées garantit la construction de séquences
cohérentes avec des contraintes de gamme et de ressource. Comme dans le cas considéré l'ensemble
des contraintes est cohérent, toutes les séquences seront possibles du point de vue qualitatif.
Nous venons de voir que l'approche fondée sur les graphes potentiels augmente inutilement
l'espace de recherche des solutions en orant des possibilités de décisions qui sont structurellement incohérentes. Mais, alors que dans le cas de l'approche fondée sur les réseaux de Petri les
décisions doivent être prises par temps croissant (en quelque sorte en temps-réel à partir d'un
état courant virtuel de l'atelier), dans le cas du graphe potentiels on traite les ensembles d'arcs
non-conjonctifs dans n'importe quel ordre sur tout l'horizon temporel et l'on peut d'abord s'occuper des ressources critiques. Cela nous amène à examiner maintenant le cas des contraintes
quantitatives.
V.3.4 Détection des incohérences quantitatives
Exemple
Nous allons prendre l'exemple d'un équipement R devant réaliser deux opérations Op1 et
Op2 (ces opérations sont en exclusion mutuelle) avec des contraintes de date de début au plus
tôt et de n au plus tard pour chaque produit. Ces contraintes sont données par le tableau V.1.
V.3 Comparaison entre les graphes potentiels et les réseaux de Petri
111
Représentation par graphes potentiels-bornes
Pour représenter la contrainte de date de n au plus tard il nous faut introduire des longueurs
d'arcs négatives, nous utilisons alors un graphe potentiels-bornes (gure V.12).
,9
B Op1 C
début
A
3
0
3 0
Op2 0
D 4 E
,7
Figure V.12 Graphe potentiels-bornes représentant des incohérences quantitatives
Les arcs non-conjonctifs sont représentés en traits pointillés. Si nous choisissons la solution
ne retenant que l'arc ( C ; D ) alors on obtient les diérences de potentiels : E , A 4 +
max(0; 3 + 3) et A , E ,7 d'où 10 E , A 7 ce qui est impossible. Un cycle positif
est apparu ( A ; B ; C ; D ; E ; A ) de longueur 3 + 3 + 4 , 7 = 3 . Cela signie que la contrainte
quantitative ne peut pas être respectée par ce plan.
Une fois de plus l'incohérence est détectée par un cycle positif. Mais cette fois, le signe du
cycle dépend des valeurs des durées qui sont attachées aux arcs et non pas de la structure du
graphe. Il sut de relâcher la contrainte au plus tard de Op2 en prenant 11 au lieu de 7 pour
que l'allocation de ressource choisie soit admissible.
Représentation par réseaux de Petri
Le réseau de Petri p-temporels décrivant les contraintes dénies par le tableau V.1 est donné
par la gure V.13-a. La transition t1 représente le début du plan et t6 la n. Les places p2 , p3
et p4 représentent la réalisation de l'opération Op1 , p5 , p6 et p7 représentent Op2 . La place
R représente l'état (( libre )) de la ressource. La place p11 représente la contrainte de n au plus
tard de l'opération Op1 , quand t1 est franchie un jeton y est déposé et ce jeton sensibilisera t6
pendant l'intervalle [0; 9] (il en est de même pour p12 qui représente la contrainte de n au plus
tard de Op2 ). Les intervalles des places p3 et p6 représentent des durées opératoires, alors que
les intervalles des places p2 , p4 , p5 , p7 , p11 et p12 sont donnés par des contraintes de gestion de
la production. Ce modèle peut être simulé pour vérier que certaines séquences respectent bien
les contraintes quantitatives. Les viols des contraintes temporelles quantitatives seront détectés
par la mort de certains jetons. Par exemple si la transition t6 n'est pas franchie au plus tard
sept unités de temps après t1 , le jeton de la place p12 sortira de sa fenêtre de visibilité (jeton
mort) et le réseau sera bloqué.
Si l'on veut représenter la décision (( faire Op1 avant Op2 )), il faut alors transformer le
réseau de Petri en un graphe d'évènements (gure V.13-b). Ce passage se fait en remplaçant
les places représentant les ressources par des contraintes de précédence entre les opérations. Le
réseau obtenu est équivalent à un graphe potentiels : chaque recette est parcourue une seule fois
et les mécanismes d'allocation des ressources sont remplacés par des contraintes de précédence.
Pour faire cette transformation, il faut dupliquer les sous-réseaux représentant les recettes
en autant d'invariants que de produits devant être réalisés selon cette recette (qui correspond
au nombre de jetons parcourant l'invariant). Et il faut remplacer les n arcs sortant d'une place
Chapitre V Supervision des systèmes discontinus
112
p1
p1
t1
t1
p2
p5
[0; +1[
[3; +1[
t2
t4
p3
R
Op1
[3; 3]
p9
p6
[4; 4]
Op2
[3; +1[
p3
t5
t3
p4
p11
[0; 9]
p7
[0; +1[
p4
t6
p12
t7
p8
Op1
[3; 3]
[0; 1[
[0; 7]
p13
t2
t3
[0; +1[
p5
[0; +1[
p2
t4
p10
p6
[4; 4]
Op2
[0; 1[
p11
[0; 9]
[0; +1[
t5
p12
p7
[0; +1[
[0; 7]
t6
t7
p8
-a-
-b-
Figure V.13 Réseaux de Petri représentant des incohérences quantitatives
ressource par n , 1 contraintes de précédences ( p10 gure V.13-b). Les contraintes représentent la
suite des opérations à eectuer sur la ressource. Une nième contrainte (en pointillés sur la gure)
devrait obligatoirement être marquée et ne correspondrait pas à une contrainte de précédence
sur l'horizon considéré mais à une notion de cycle entre deux horizons, c'est dans ce cadre là que
H. Camus utilise les réseaux de Petri dans [37].
Avec ce graphe d'évènements il est possible de calculer la durée de la séquence entre deux
transitions en déterminant les chemins maximaux entre ces deux transitions. Prenons le chemin
( t1; t2 ; t3; t4; t5 ; t6 ), sa longueur est [10; +1[ , son intersection avec [0; 7] est nulle, donc t6 ne
sera jamais sensibilisée. Une telle approche a été développée par W. Khansa [96].
Remarquons toutefois que la construction du graphe d'évènements revient exactement à
construire un graphe potentiels en choisissant des arcs dans les ensembles non-conjonctifs. Le
formalisme des réseaux de Petri ne semble pas permettre une approche diérente, si ce n'est la
possibilité d'exprimer une contrainte de fonctionnement strictement répétitif. Dans le cadre de
la génération d'un plan sur un horizon, les graphes potentiels semblent plus naturels.
En fait, en ce qui concerne le fonctionnement répétitif, l'apport des réseaux de Petri se
fait principalement par l'intermédiaire de l'utilisation des invariants de places et de transitions
qui donnent des contraintes agrégées sur tout le cycle [93]. Avant de tirer un bilan de notre
comparaison entre les graphes potentiels et les réseaux de Petri, et de revenir à notre problème
de supervision des procédés discontinus, examinons comment les réseaux de Petri et les graphes
potentiels peuvent être utilisés pour formaliser des mécanismes d'agrégation de contraintes.
V.4 Agrégation de contraintes
113
V.4 Agrégation de contraintes
Pour aborder la dénition du plan, mais également lorsque des choix se présentent lors du
pilotage en temps-réel, il est intéressant de posséder des données qui représentent l'état du
système d'une manière agrégée. Nous considérons deux types de données : celles qui concernent
les produits, et plus particulièrement la durée minimale pour réaliser le produit ; et celles qui
concernent les ressources, qui vont représenter la durée minimale d'occupation de la ressource.
V.4.1 Exemple
Prenons comme exemple un équipement ( R ) qui fabrique deux types de produits. Le premier
Prod1 nécessite deux opérations ( Op1;1 et Op1;2 ) et le second Prod2 nécessite une opération
( Op2 ). La gure V.14-a donne le réseau de Petri représentant cet exemple dans le cas de la
fabrication d'un seul produit de chaque type, et le graphe potentiels est donné par la gure
V.14-b.
p5
p6
t4
t5
p7
Op2
p0
R
tdebut
Op1;1
p1
t1
p2
Op1;1
début
p8
tfin
-a-
Op1;2
t2
p3
t3
p4
Op1;2
R
n
-b-
Op2
Figure V.14 Exemple de contraintes agrégées avec un RdP et un graphe potentiels
Si la demande sur l'horizon de temps considéré est de N1 produits de type Prod1 et de N2
produits de type Prod2 , alors il sut dans le cas du réseau de Petri d'associer un poids N1 aux
arcs ( tdebut ; p1 ) et ( p4; tfin ) et un poids N2 aux arcs ( tdebut ; p5 ) et ( p7; tfin ).
V.4.2 Contraintes données par les graphes potentiels
La durée minimale de réalisation d'un produit revient à additionner les durées de chaque
opération que doit subir le produit. Ceci est facile à partir d'un graphe potentiels car il sut
d'additionner les longueurs des arcs représentant la recette du produit considéré. Mais les graphes
potentiels permettent également de calculer la durée minimale de fabrication de tous les produits,
à partir du graphe conjonctif ne représentant que les contraintes de recettes (cela correspond
Chapitre V Supervision des systèmes discontinus
114
au problème centrale ou problème à capacité innie). Avant la prise en compte des arcs nonconjonctifs, chaque chemin donne donc la durée minimale de fabrication d'un produit. Au fur et
à mesure de l'introduction de contraintes de précédence induites par les ressources, de nouveaux
chemins sont introduits. Toutefois, les ressources n'étant pas explicitement représentées, l'analyse
agrégée de l'utilisation des ressources n'est pas possible, a priori, en s'appuyant sur le graphe
potentiels. Elle doit être faite indépendamment.
V.4.3 Décomposition d'un réseau de Petri
Les calculs d'invariants de place et de transition correspondent en fait à une décomposition
d'un réseau de Petri en sous-réseaux suivant des critères de répétitivité ou de conservation de
marques.
Si l'on cherche des invariants de transition on va trouver le nombre de fois que chaque transition doit être franchie (indépendamment de tout ordre de franchissement) pour répondre à la
demande. Par exemple dans le cas du réseau de la gure V.14-a, pour N1 produits de type Prod1
et N2 produits de type Prod2 , on trouvera un seul invariant de transition associant le poids 1
aux transitions tdebut et tfin , N1 à t1 , t2 et t3 et N2 à t4 et t5 .
Pour les invariants de place, il ne faut considérer que la partie du réseau de Petri décrivant la
structure de l'atelier, indépendamment de la demande en produits. On eace donc la place p0 et
les transitions tdebut et tfin . Le réseau de la gure V.14-a donne alors trois invariants de place :
I1 : p1 , p2 , p3 et p4 de poids un.
I2 : p5 , p6 et p7 de poids un.
I3 : p2 , p3 , p6 et p8 de poids un.
Les deux premiers correspondent aux recettes, alors que le dernier correspond à la ressource.
V.4.4 Contraintes agrégées de gamme et de ressource à partir d'un réseau de
Petri
Prenons le cas d'un réseau de Petri t-temporel car comme nous l'avons vu au chapitre IV
il peut être vu comme une vision agrégée discrète d'un réseau prédicats-transitions-diérentiels.
La durée de Op1;1 sera alors la durée de sensibilisation de t2 , celle de Op1;2 sera associée à t3
et celle de Op2 à t5 .
Le sous-réseau obtenu à partir d'un invariant de place est le fragment du réseau de départ
obtenu à partir des places de l'invariant et des transitions qui sont reliées à ces places. Dans un
invariant de place, il y a conservation des jetons. Cela veut dire que s'il y a un seul jeton, les
transitions seront toutes nécessairement franchies en séquence (s'il y a n jetons, elles pourront
éventuellement être franchies par groupe de n ).
Donc, en fait, en faisant la somme des durées des transitions du sous-réseau associé à l'invariant I1 on aura la durée minimale de fabrication d'une pièce de type Prod1 , celles de I2
donneront la durée minimale de fabrication d'une pièce de type Prod2 et celles de I3 la durée
minimale d'utilisation de la ressource pour fabriquer une pièce de type Prod1 et une pièce de
type Prod2 . Pour savoir exactement la charge de la ressource en fonction de la demande, il faut
multiplier la durée de chaque transition par son poids dans l'invariant de transition exprimant la
demande sur un horizon. Dans le cas de la gure V.14-a, nous avons : t2 N1 +t3 N1 +t5 N2 ,
puisque t1 = t4 = 0 .
V.5 Bilan
115
Donc dans le cas général, la durée minimale d'utilisation de la ressource sur un horizon est
donnée par :
Dénition 29.
Soit Nti le poids associé aux transitions ti pour l'invariant de transition
décrivant la demande.
Soit ti la durée de sensibilisation associée à la transition ti et représentant la durée de
l'opération associée à la place d'entrée de ti .
Soit IpR l'invariant de place associé aux ressources de type R .
Soit M (IpR ) le nombre de ressources de type R .
Soit ItR l'ensemble des transitions du sous-réseau généré par IpR ( ItR = IpR = IpR ).
L'indicateur de charge des ressources R est :
X
ti :Nti
!R = M (1I )
pR ti 2It
R
(V.2)
Il est important de souligner que de tels indicateurs peuvent être aussi bien associés à des
ressources réelles qu'à des ressources virtuelles introduites pour éviter des blocages mortels. Alors
que ces ressources virtuelles ne sont d'aucune aide pour le calcul d'un plan à l'aide d'un graphe
potentiels (et d'une méthode par séparation et évaluation progressive, par exemple) elles peuvent
être des ressources critiques (ou très chargées) et donner des critères importants pour les choix
des aectations des ressources aux opérations.
Reprenons le réseau de la gure V.5 (exemple d'incohérences structurelles) en supposant que
l'on a N lots. Nous avons une ressource B , son indicateur !B est donné par
!B = (t6 + t8 + t10 ) N . Le marquage initial de l'invariant de place représentant R est
de deux donc !R = 12 (t2 + t4 + t6 + t10 + t12 + t14 ) N . En eet il est nécessaire de
considérer le parallélisme qui peut exister entre les ressources, puisque suivant les cas elles peuvent
être utilisées simultanément. Dans le meilleur des cas, nous arriverons à répartir exactement la
même quantité de travail sur chaque ressource, donc la durée minimale d'occupation de ce type
de ressources est divisée par le nombre de ressources.
La ressource virtuelle V , associée à la place p20 , donnera une troisième contrainte agrégée
diérente des deux autres : !V = 21 (t2 + t4 + t6 + t8 + t10 ) N
V.5 Bilan
Nous venons de voir les possibilités des réseaux de Petri et des graphes potentiels pour
l'analyse d'un ensemble de contraintes temporelles vis-à-vis de leur cohérence et de leur possibilité
d'agrégation. Une première constatation est que les graphes potentiels détectent de la même
manière les incohérences, quelles soient structurelles, dues aux décisions ou quantitatives. Ils ne
permettent pas de diérencier la nature de l'incohérence, car les graphes potentiels n'orent pas
une représentation structurelle des recettes et des ressources, et, par conséquent, ne représentent
pas explicitement les états des ressources.
De plus les graphes potentiels ne peuvent détecter les incohérences que pour un plan particulier. Chaque fois qu'une contrainte change, il faut ré-exécuter l'algorithme de détection des
incohérences. En particulier l'analyse n'est valable que pour un jeu de tâches particulier à traiter sur un horizon temporel. Chaque fois que l'horizon change, le graphe potentiels doit être
entièrement reconstruit et reanalysé.
116
Chapitre V Supervision des systèmes discontinus
Enn les graphes potentiels ne permettent pas de caractériser rapidement l'ensemble des
séquences de décisions admissibles d'un point de vue qualitatif vis-à-vis de contraintes de recettes
et de ressources. En eet il y aura nécessairement des ensembles d'arcs non-conjonctifs et des
possibilités de choix incohérents parmi ces ensembles.
Ces limitations des graphes potentiels ne posent pas de problème lorsque l'on construit un
plan sur un horizon bien déni, ce qui correspond au niveau ordonnancement prévisionnel, par
contre elles rendent dicile l'utilisation de cet outil en temps-réel. En eet, on ne peut pas
se permettre de prendre une décision pouvant mener plus tard à un interblocage, cela aurait
des conséquences bien plus graves pour le procédé discontinu qu'un non respect d'une date de
livraison. D'autre part le principe du pilotage en temps-réel sur lequel est fondé la supervision
est contradictoire avec la génération, après chaque décision, d'un plan complet jusqu'à la n de
l'horizon temporel, juste pour vérier qu'il existe une suite de décisions futures possibles évitant
tous blocages.
Les réseaux de Petri permettent, eux, de décrire les contraintes de recettes et de ressources
indépendamment de toute demande spécique sur un horizon temporel. Ils font une distinction
claire entre les incohérences qualitatives et les incohérences quantitatives. Ils permettent de vérier que les contraintes qualitatives sont cohérentes (et dans le cas contraire de les corriger),
c'est-à-dire que toute suite de décisions correspondant à des transitions franchissables sera indéniment prolongeable. Ainsi il n'est pas possible de prendre des décisions pouvant amener à
un interblocage, ce qui évite de perdre des lots de matière (pour libérer des ressources) ou, pire,
d'avoir des réactions qui se poursuivent pouvant mener à des catastrophes.
Nous pouvons également dire que les réseaux de Petri représentent explicitement les états
des ressources, et permettent de calculer la durée minimale d'occupation de ces dernières sur
un horizon de temps donné. Ils paraissent donc particulièrement bien adaptés pour la mise en
÷uvre d'un mécanisme de décisions en temps-réel. On peut également représenter des contraintes
temporelles quantitatives en temps relatif, par exemple pour représenter les durées opératoires.
Enn, on peut déduire à partir des invariants de place d'un réseau de Petri des indicateurs agrégés
de charge des ressources permettant l'élaboration d'heuristiques de décisions en temps-réel, au
vue de l'état courant et sans avoir à parcourir tout l'horizon temporel.
En fait, il semble bien que les critères dénissant un bon modèle pour l'ordonnancement
prévisionnel sur un horizon temporel soient relativement contradictoires avec ceux dénissant un
bon modèle pour la supervision en temps-réel. Par conséquent, plutôt que d'essayer d'étendre un
modèle pouvant être utilisé à la fois aux niveaux supervision et ordonnancement, nous pensons
qu'il vaut mieux combiner deux modèles, chacun étant bien adapté à un niveau, en dénissant
leurs interactions.
Il reste enn un problème essentiel pour nous : la prise en compte de l'aspect continu qui est
nécessaire au pilotage en temps-réel des procédés discontinus. Vu les considérations qui précèdent,
il est clair que nous nous orientons vers l'utilisation de réseaux de Petri pour modéliser le système
au niveau de la supervision en temps-réel. Dans cette approche des durées opératoires sont prises
en compte en associant des durées de sensibilisation aux transitions. Le passage à un modèle
prédicats-transitions-diérentiels se fait alors tout naturellement : au lieu de spécier les durées
de sensibilisation a priori et de la même façon pour tous les évènements du même type (tous
les lots du même produit), les durées de sensibilisation des transitions seront spéciées par
les fonctions de sensibilisation et les systèmes d'équations diérentielles algébriques et seront
calculées en temps-réel en fonction des variables d'état continues associées aux jetons.
V.6 Pilotage en temps-réel d'un système discontinu
117
V.6 Pilotage en temps-réel d'un système discontinu
Maintenant que nous avons vu comment les réseaux de Petri et les graphes potentiels manipulent les ensembles de contraintes temporelles, nous pouvons aborder le pilotage en temps-réel
des procédés discontinus. Nous allons d'abord bien préciser les critères qui ont guidé notre choix
d'utiliser les réseaux prédicats-transitions-diérentiels à ce niveau, puis nous donnons les grandes
lignes de l'architecture du pilotage en temps-réel et de ses liens avec les couches d'analyse prévisionnelle. Enn nous détaillerons les fonctions mentionnées.
V.6.1 Critères pour le choix d'un modèle
La supervision en temps-réel repose sur un modèle qui doit exprimer un ensemble de contraintes, en particulier temporelles, de façon à permettre la représentation du comportement dynamique du procédé discontinu et celle de la politique de production retenue. On peut mettre en
évidence les points suivants :
1. Il doit pouvoir être animé en temps-réel : sur la réception d'un signal de n d'opération
il faut pouvoir quasiment instantanément déduire l'opération suivante à eectuer. Il doit
donc permettre une propagation rapide des contraintes de précédence, mettre en évidence
les décisions contradictoires (choix entre diverses alternatives) et les diérencier de ce qui
peut éventuellement être fait en parallèle.
2. Il doit garantir absolument la cohérence des décisions vis-à-vis de l'évolution future. Il ne
peut y avoir de retour en arrière et une décision ne doit jamais mener à un blocage mortel
ultérieur.
3. Il doit permettre la gestion de contraintes temporelles relatives (durées vis-à-vis de l'évènement précédent) de façon à surveiller le procédé.
4. Il doit permettre une approche hybride car un procédé discontinu ne peut être vu que sous
son aspect discret au niveau de la supervision.
5. Il doit prendre en compte la politique de production et en particulier le plan prévisionnel
déni sur un horizon temporel quand celui-ci existe. Pour cela des contraintes en temps
absolu doivent pouvoir être exprimées.
6. Il doit permettre de passer sans discontinuités d'un horizon de production à un autre, c'està-dire que le c÷ur du modèle décrivant en particulier l'état du procédé discontinu ne doit
pas être altéré par la substitution d'un plan de fabrication par un autre.
L'étude comparative que nous avons mené précédemment montre clairement que les réseaux
de Petri sont relativement bien adaptés. Il ne sont contradictoires qu'avec le point 5. Le point 4
implique pour nous l'utilisation des réseaux prédicats-transitions-diérentiels.
V.6.2 Architecture de la couche pilotage et son interaction avec l'ordonnancement
Voyons maintenant l'architecture générale de la fonction supervision en temps-réel et de ses
relations avec l'ordonnancement et l'analyse hors ligne dans le cadre de ce que nous venons de
dénir. Elle est donnée par la gure V.15. Chaque fonction (sauf la planication) sera dénie en
détail dans le paragraphe suivant (V.6.3). Les grandes lignes sont les suivantes.
Chapitre V Supervision des systèmes discontinus
118
Planication
Dénition de la
taille des lots
quantité de
produits à
fabriquer
capacité
de production
indices (!R )
Ordonnancement prévisionnel
Génération
Génération
du plan prévisionnel d'indices agrégés
B
C
alarmes,
état du
système
Supervision
Prise de décisions Simulation en
en temps-réel temps-masqué
D
E
Analyse hors ligne
Gestion des
ressources
sans blocages
A
corrections des
mécanismes
d'allocation des
ressources
plan de
production
Figure V.15 Architecture générale de la fonction supervision en temps-réel
La fonction supervision est basée sur l'utilisation d'un réseau prédicats-transitions-diérentiels
enrichi d'informations venant de l'ordonnancement prévisionnel. Ces informations viennent du
plan prévisionnel généré à l'aide d'un graphe potentiels et, éventuellement, d'indices agrégés associés aux invariants de places. La structure du réseau est supposée telle que le réseau est vivant
(sans blocage) indépendamment du nombre de lots en cours.
En parallèle avec la boucle de décisions en temps-réel la supervision comprend une fonction
de simulation en temps masqué dont le but est de prévoir à l'avance les viols de contraintes an
de diminuer leur gravité et le nombre d'appels réactifs à l'ordonnancement. Cette simulation
est basée sur le modèle hybride détaillé, utilisé pour la prise de décisions en temps-réel (même
niveau de désagrégation des variables), mais elle permet de faire des projections temporelles,
éventuellement sur tout l'horizon prévisionnel, et donc, d'une certaine façon, son échelle de temps
est celle de l'ordonnancement prévisionnel.
V.6.3 Détail des fonctions
A : Génération d'un réseau de Petri sans blocages
Nous avons vu dans la paragraphe I.5.2 que les systèmes discontinus possèdent des contraintes
logiques importantes et sont sensibles aux interblocages. De plus l'analyse structurelle des réseaux
de Petri permet souvent de déduire un nouvel ensemble de contraintes qui ne génère que des
séquences sans blocages. Cette analyse étant qualitative elle est faite sur un réseau ordinaire
sans prise en compte du temps.
Pour cela, il faut, avant la phase en temps-réel, détecter les interblocages éventuels et modier les contraintes pour les faire disparaître. Cette détection se fait à partir d'une analyse de
la structure des réseaux modélisant les recettes et les mécanismes d'allocation des ressources.
Cette analyse est totalement indépendante d'une demande en produit particulière sur un certain
horizon temporel. Elle ne sera remise en cause qu'en cas de défaillances ou d'ajouts de machines
V.6 Pilotage en temps-réel d'un système discontinu
119
(réacteurs, réservoirs... ressources en général) ou en cas de modication des recettes.
En présence de siphon, nous proposons d'ajouter une place qui contrôle le nombre minimal
de jetons dans les places du siphon, à condition que cette dernière ne crée pas un nouveau siphon.
Cette place de contrôle ne correspond pas à une agrégation des ressources mais à une
contrainte sur un ensemble d'utilisations de certaines ressources. Dans le réseau de la gure
V.5 les jetons de la place de contrôle sont alloués en même temps que les réacteurs pour la première réaction et sont désalloués lorsque le stock tampon est libéré, mais le réacteur est toujours
occupé (pour la seconde réaction). Cette place agit sur le mécanisme d'allocation des réacteurs R .
B : Génération et prise en compte du plan prévisionnel
Chaque fois que l'horizon est remis en cause (date normale de remise en cause ou réaction
après un incident ou une commande urgente), il faut regénérer un plan. Diérentes approches
sont possibles, mais nous avons principalement envisagé celles qui consistent à se baser sur les
graphes potentiels et à calculer explicitement un plan. Il sera déni par un graphe potentiels avec
à chaque n÷ud un intervalle en temps absolu vis-à-vis du début de l'horizon et donnant la date
au plus tôt et la date au plus tard de l'évènement correspondant.
Le problème qui se pose est de savoir comment ces informations peuvent être passées au
niveau d'un pilotage en temps-réel basé sur un réseau prédicats-transitions-diérentiels. Trois
approches sont envisageables :
Directement sous la forme d'un graphe potentiels.
Par un ensemble de contraintes de dates et de précédences.
Par un ensemble de contraintes de dates.
La première approche est systématique mais lourde car elle est très redondante. En eet les
relations d'ordre provenant des ressources seront représentées à la fois dans le graphe potentiels et
dans le réseau prédicats-transitions-diérentiels. Il faudra de plus mettre à jour la représentation
de l'état courant dans les deux approches.
La seconde approche consiste à associer à chaque transition un ensemble de fenêtres temporelles (en temps absolu) correspondant à tous les évènements du graphe potentiels représentés par
le franchissement de cette transition. Elles seront indicées par les noms des lots correspondants
(repérés sur les jetons associés) et eacées quand les transitions seront eectivement franchies.
Les contraintes de précédence liant des recettes diérentes ne peuvent être représentées par des
places car elles n'ont aucune raison d'être valables pour tous les évènements associés à une
transition donnée. Elles devront donc être rajoutées à l'aide de pointeurs associés aux fenêtres
temporelles. Une fenêtre temporelle ne pourra être utilisée que si toutes ses fenêtres temporelles
précédentes ont été eacées. Ceci va alourdir le mécanisme du joueur.
La troisième approche est basée sur l'hypothèse que les contraintes de précédence, ayant été
utilisées pour calculer les fenêtres temporelles, sont largement redondantes avec ces dernières.
Elles sont, de plus, partiellement prises en compte dans le réseau de Petri par l'intermédiaire
des mécanismes d'allocation de ressources. Enn elles sont de nature décisionnelle et peuvent
être violées en cas d'anomalies. Elles sont donc purement et simplement négligées, et nous ne
conservons de l'approche précédente que les fenêtres temporelles associées aux transitions. Notre
préférence va vers cette dernière solution qui a l'avantage de la simplicité.
120
Chapitre V Supervision des systèmes discontinus
C : Génération des indicateurs
Dans le paragraphe V.4.4 nous avons déni des indicateurs d'occupation des ressources ( !R ).
Ces indicateurs peuvent être utilisés au moment de l'aectation des diérentes opérations sur les
machines et pour le choix des instants de début d'opération à l'intérieur des fenêtres temporelles
(en temps absolu sur l'horizon) établies par le plan prévisionnel. On évitera ainsi de laisser
inutilisé un équipement avec un taux d'utilisation élevé. Ceci est valable aussi bien pour les
ressources réelles que pour les ressources virtuelles.
Les réseaux utilisés pour cette génération correspondent à une vision abstraite du procédé.
Il n'est alors pas nécessaire d'utiliser des réseaux prédicats-transitions-diérentiels. Les durées,
ou intervalles de temps, étant calculées à partir des fonctions associées aux places ( Fk ) et des
fonctions de sensibilisations ( ei ) comme nous l'avons fait au paragraphe IV.2.1.
Le calcul des indicateurs doit être refait chaque fois que l'horizon est remis en cause, soit
parce que c'est la date normale d'actualisation (synchrone), soit par la suite d'une défaillance ou
d'une commande urgente (réactivité, voir paragraphe I.2.1).
D : Prises de décisions en temps-réel
La prise de décisions en temps-réel est basée sur un modèle réseau prédicats-transitionsdiérentiels. Ce modèle permet de calculer les durées des transformations de façon réaliste,
de connaître la qualité du produit fabriqué ainsi que les volumes des stocks en continu. Ce
mécanisme, permettant de surveiller le comportement du procédé et d'évaluer la date probable
de début de l'opération suivante, a été détaillé dans la thèse de D. Andreu [9] et ne sera donc
pas développé ici. La partie réseau de Petri du modèle garantit que les contraintes de recettes
et d'allocation des ressources seront toujours vériées (le réseau déni par la fonction A est
vivant). Ce modèle pour la supervision doit également être capable de prendre en compte le
plan prévisionnel, par exemple en associant des ensembles d'intervalles, en temps absolu, aux
transitions correspondant aux débuts d'opérations et en les indexant par des numéros de lots
qui seront portés par les jetons correspondants. Les contraintes de n au plus tard de nature
technologique (interdiction de rester dans un équipement plus d'une certaine durée) posent un
problème puisque notre modèle hybride correspond aux réseaux de Petri t-temporels et non aux
réseaux de Petri p-temporels. Il faudra donc dans les recettes prévoir explicitement des transitions
d'alarme qui seront franchies lorsque la durée maximale de séjour sera atteinte.
Le modèle va exprimer l'ensemble des décisions pouvant être prises, par l'intermédiaire des
transitions sensibilisées. Un système expert, ou un opérateur, peut alors choisir la décision à
prendre. Pour cela, il se base sur les fenêtres temporelles de début des opérations données par le
calcul du plan prévisionnel, sur les marges des ressources et des produits, et en émulant la commande an de prévoir les ns d'opérations en fonction de changements de certains paramètres.
La surveillance de l'exécution du plan prévisionnel doit également détecter les évènements
incohérents et le non respect des contraintes temporelles. La détection du non respect des
contraintes temporelles est basée sur la détermination de fenêtres temporelles d'occurrence des
évènements attendus [9]. Nous pouvons remarquer que les fenêtres qui vont permettre de surveiller le procédé (voir paragraphe I.2.3) sont établies à partir du réseau prédicats-transitionsdiérentiels, alors que les fenêtres qui vont permettre de surveiller le plan sont données par le
plan prévisionnel.
Lorsque les incohérences sont détectées, des décisions doivent être prises an de pouvoir
poursuivre la production. Des contraintes peuvent être violées. Il est alors primordial de pouvoir
distinguer les contraintes en deux groupes, celles qui ont pour but d'assurer la bonne fabrication
du produit et celles qui proviennent des dates de livraison, car certaines devront être relâchées. Et
V.7 Conclusion
121
comme il est plus important de respecter la recette et les contraintes venant des ressources, et de
s'assurer que toutes les opérations prévues pourront être exécutées sans atteindre de blocages,
plutôt que d'essayer de respecter scrupuleusement les dates de n, il est préférable de ne pas
respecter les contraintes quantitatives et de renégocier la date de livraison [27]. Dans la mesure du
possible, on va donc continuer à piloter la production en respectant les contraintes technologiques
pour répondre aux contraintes temps-réel, et simultanément on va soit lancer une procédure
de localisation de défauts et de diagnostic (surveillance du procédé) soit relancer le module
d'ordonnancement prévisionnel pour regénérer un plan (réactivité).
E : Simulation en temps masqué
Le modèle réseau prédicats-transitions-diérentiels permet de représenter la partie continue
de manière précise. Il est possible de faire des simulations du modèle à partir de l'état courant
du système. Ces simulations vont servir à déterminer les dates prévisibles pour les débuts et ns
d'opérations suivant certains scénarios. Il est possible de simuler des opérations avec d'autres jeux
de paramètres (température plus chaude, plus de réactifs...) an de modier la durée opératoire
et en s'assurant que la qualité reste acceptable.
Ce type de simulation ne doit pas être confondu avec celui qui est mis en ÷uvre dans la boucle
en temps-réel. En temps-réel il s'agit d'une simulation sur un seul pas discret. Son but est en fait
de traduire les contraintes hybrides du modèle prédicats-transitions-diérentiels sous la forme
d'un réseau t-temporel en associant à chaque transition sensibilisée une durée de sensibilisation.
La faiblesse de la boucle temps-réel est qu'elle est purement temps-réel et ne détecte les
incohérences qu'au moment où elles se produisent. Or il existe un plan de production sur tout
un horizon qui dénit le cadre général des évolutions futures. Quand le système de production
est purement discret, par un simple algorithme de propagation de contraintes on peut analyser
les conséquences futures d'un retard an de décider s'il faut ou non regénérer un plan. Dans le
cas d'un procédé discontinu représenté par un réseau prédicats-transitions-diérentiels, cela est
moins simple car les durées opératoires ne sont pas explicites. De plus le plan a été généré à
partir des seules contraintes discrètes. La simulation en temps masqué sert donc essentiellement
à propager les contraintes et à valider, vis-à-vis du modèle hybride, le plan calculé à partir d'une
vision discrète (en particulier le respect des contraintes au plus tard ne peut être vérié que de
cette façon). Elle sert à atténuer la contradiction du pilotage qui doit travailler en temps-réel
mais dans le cadre d'un plan prévisionnel déni sur un horizon temporel.
V.7 Conclusion
Dans ce chapitre nous avons étudié le problème de la supervision en temps-réel des procédés
discontinus, et plus particulièrement du lien entre les niveaux supervision et ordonnancement.
Pour cela nous avons comparé les possibilités d'expression des graphes potentiels (couramment
utilisés au niveau ordonnancement) et des réseaux de Petri (couramment utilisés pour la supervision). Nous avons mis en évidence que les réseaux de Petri permettent de diérencier les
incohérences venant des contraintes qualitatives (de type technologique) des incohérences quantitatives provenant de la façon de gérer la production. Par contre ils ne permettent pas de travailler
facilement avec des approches quantitatives sur un horizon temporel.
Nous avons ensuite proposé une approche pour le pilotage en temps-réel. Cette approche est
basée sur deux étapes. La première consiste à générer, indépendamment, un plan prévisionnel à
partir d'un graphe potentiels et d'une politique d'allocation des ressources sans blocages grâce à
l'analyse du réseau de Petri. Et la seconde consiste à la prise de décisions en temps-réel. Cette
122
Chapitre V Supervision des systèmes discontinus
prise de décisions se fait à partir d'un modèle réseau prédicats-transitions-diérentiels dont la
partie réseau de Petri est vivante. Le réseau propose de franchir un ensemble de transitions
(qui correspondent à des décisions) et donne des informations sur la production (le plan, les
durées opératoires prévues, les marges). À partir de ces informations un système expert (ou un
opérateur) choisit la transition à franchir, donc la décision à prendre. Il est, de plus, possible
d'eectuer des simulations a priori pour prévoir des viols de contraintes à l'avance et préparer
les décisions futures.
Nous avons présenté les grandes lignes de cette approche, mais de nombreux points doivent
encore être éclaircis, notamment la représentation du plan au niveau du réseau de Petri, les règles
de fonctionnement du système expert et la coopération entre la simulation en temps masqué et
la prise de décisions en temps-réel.
Conclusions et perspectives
Dans cette thèse nous avons traité le problème de la supervision des systèmes discontinus en
dénissant formellement un modèle et en proposant une approche pour le pilotage en temps-réel.
Dans un premier temps nous avons étudié les spécicités des systèmes discontinus. Cette étude
nous a permis de déduire le modèle nécessaire pour la supervision de ces systèmes. Ce modèle
est basé sur le couplage de réseaux prédicats-transitions et de systèmes d'équations diérentielles algébriques. Nous dénissons formellement ce couplage en introduisant deux fonctions, les
fonctions de sensibilisation et de jonction, ce qui nous donne un modèle hybride : les réseaux
prédicats-transitions-diérentiels. Puis, dans un deuxième temps, nous avons traité le couplage
de sous-modèles an d'avoir une écriture modulaire pour obtenir un modèle dans le cadre des
systèmes de grande taille. Nous avons ensuite présenté un algorithme de simulation des réseaux
prédicats-transitions-diérentiels. Enn nous avons terminé ces travaux en comparant les réseaux
de Petri et les graphes potentiels an de proposer une approche pour le pilotage en temps-réel des
systèmes discontinus et prenant en compte les interactions avec l'ordonnancement prévisionnel.
Les apports de cette thèse concernent :
La dénition formelle du couplage entre les réseaux prédicats-transitions et les systèmes
d'équations diérentielles algébriques (les réseaux prédicats-transitions-diérentiels). Le réseau donne les états discrets du système et les systèmes d'équations l'évolution des variables
continues pour chaque état. Les interactions entre les deux modèles sont formellement dénies par les fonctions de sensibilisation, qui permettent de détecter des évènements d'état
ou de temps, et de jonction, qui permettent de calculer les valeurs initiales des variables.
Nous avons ainsi un modèle hybride pour représenter les systèmes discontinus. Ce modèle, respectant le principe de la localisation de l'information en distribuant les variables
continues sur les jetons, permet d'envisager des approches modulaires.
Le couplage de sous-modèles. An de faciliter l'écriture d'un modèle de grande taille, nous
avons :
Déni la fusion statique et dynamique des réseaux ordinaires et prédicats-transitionsdiérentiels.
Déni la notion de sous-réseaux bien structurés. Il s'agit, par un ensemble de dénitions, de structurer les variables continues an de garantir qu'un modèle est calculable
s'il est composé de sous-modèles calculables.
Mis en évidence la présence d'interactions hybrides entre les sous-modèles.
124
Conclusions et perspectives
La dénition de deux principes de mise en ÷uvre des réseaux prédicats-transitions-diérentiels. Le premier, que l'on peut appliquer quand les dates d'occurrences des évènements et,
à ces dates, les valeurs des variables continues peuvent être calculées explicitement, revient
à réécrire le réseau prédicats-transitions-diérentiels en un réseau de Petri haut-niveau et à
faire la simulation de ce modèle sur un joueur de réseaux de Petri haut-niveau. Le second,
plus général, consiste à coupler deux simulateurs, l'un permettant de simuler des réseaux
de Petri haut-niveau et l'autre des systèmes d'équations diérentielles algébriques.
La comparaison entre les réseaux de Petri et les graphes potentiels. Nous avons plus particulièrement étudié leur capacité à détecter les incohérences et mis en évidence que les
graphes potentiels posent des problèmes pour l'expression des contraintes nécessaires pour
le pilotage en temps-réel (ils ne diérencient pas susamment les contraintes de nature
technologique des contraintes quantitatives dues aux délais de livraison) et que les réseaux
de Petri ne sont pas les mieux adaptés pour la détermination d'un plan prévisionnel sur
un horizon temporel (ils travaillent en temps relatif et (( oublient )) le passé lors de chaque
franchissement de transition)
La proposition d'une approche pour le pilotage en temps-réel des systèmes discontinus.
Cette approche, basée sur les réseaux prédicats-transitions-diérentiels, se focalise surtout
sur les interactions entre le pilotage en temps-réel et l'ordonnancement prévisionnel.
Cette thèse ouvre des perspectives intéressantes tant au niveau de l'approche pour la supervision des systèmes discontinus que de la modélisation et de l'analyse de ces systèmes. L'approche
modulaire permet d'envisager l'utilisation de notre technique de modélisation dans un environnement industriel, aussi bien dans le domaine de la simulation (par exemple pour le dimensionnement d'installation) que dans celui de la supervision où nous avons mis en évidence le fait
que les réseaux de Petri pouvaient être eectivement vus comme des outils complémentaires aux
approches traditionnelles utilisées pour l'ordonnancement prévisionnel.
Toutefois beaucoup de travail reste à faire au niveau de la modélisation nous pouvons évoquer
deux points à détailler :
La formalisation de l'instanciation des variables. En eet quand un sous-réseau représente
un pool d'équipements ayant des caractéristiques proches, chaque jeton représentera un
équipement particulier (voir la représentation des compresseurs dans le paragraphe III.4.3).
Un jeton dans une place avec un système d'équations associé devra mettre en ÷uvre ce
système avec ses variables. Un réseau de Petri prédicats-transitions-diérentiels décrit en
fait une classe d'équipements qui sera instanciée chaque fois qu'un nouveau jeton sera
introduit.
La notion de conits en présence de fusion dynamique de transitions. Par exemple une
transition représentant le début de remplissage d'un équipement peut éventuellement être
fusionnée avec deux transitions, chacune représentant le début d'une opération pour une
recette particulière. Il y a, alors, un conit pour l'aectation de l'équipement aux recettes.
Ce qui veut dire que le mécanisme de fusion dynamique est en fait très lié au mécanisme
de décisions en temps-réel, mécanisme que nous n'avons pas détaillé.
La formalisation du modèle hybride rend l'analyse de ce dernier possible. Cette perspective
ouvre un domaine de recherche important. Deux pistes sont envisageables :
Utiliser l'automate hybride équivalent. Pour prouver qu'une variable continue n'atteint
jamais certains seuils on peut écrire la partie de l'automate équivalent mettant en ÷uvre
Conclusions et perspectives
125
cette variable, à partir du sous-réseau la dénissant. Cette approche recouperait largement
les travaux de M. Allam [5, 6, 7].
Construire le graphe des classes, en transformant le réseau prédicats-transitions-diérentiels en un réseau haut-niveau temporisé ou temporel. On ne conserve alors que les pires
cas (dates au plus tôt et dates au plus tard) à partir desquels des analyses qualitatives
peuvent être menées.
L'étude de la supervision des systèmes discontinus doit être poursuivie en :
Étudiant le problème du nettoyage des équipements. En eet le nettoyage d'un équipement
n'est pas systématique et dépend de son utilisation. Ces contraintes doivent pouvoir être
modélisées an d'en tenir compte lors de l'élaboration du plan prévisionnel et au niveau
de la supervision (car c'est une caractéristique importante pour la qualité du produit).
Détaillant l'architecture de commande et les principes de surveillance proposés par D. Andreu [9] à partir du modèle hybride formalisé et de la formalisation du couplage de sousmodèles.
Enn l'étude des interactions entre les niveaux ordonnancement et supervision des systèmes
discontinus doit, elle aussi, être développée. En eet nous avons proposé une approche pour la
supervision, et il semblerait intéressant de porter nos eorts sur :
La formalisation de la prise en compte du plan prévisionnel au niveau du modèle pour le
pilotage en temps-réel. Élucider le problème posé lorsque la production est perturbée et
ne suit pas rigoureusement le plan prévisionnel, et qui est de franchir des transitions en
dehors de leurs fenêtres de sensibilisation. Un problème crucial est de savoir quand il est
nécessaire de redéterminer un plan prévisionnel sur tout l'horizon temporel.
L'élaboration des règles de fonctionnement du système expert chargé de prendre les décisions en temps-réel.
La dénition de la coopération entre la simulation en temps masqué et la prise de décisions
en temps-réel.
De plus nous pouvons ajouter que ces travaux sur la supervision devraient être accompagnés
d'une mise en ÷uvre industrielle an de tester leur pertinence et permettre le transfert des
technologies. Le travail mené dans le cadre du projet (( simulation mixte )) est un début qui doit
être poursuivi.
126
Conclusions et perspectives
Annexe A
Présentation de l'exemple du stockage de gaz
A.1 Le stockage de gaz ( S )
Il s'agit d'un stockage souterrain aquifère, c'est-à-dire que le volume de stockage disponible
est fonction de la pression régnant dans le stock. La position de la surface de la nappe liquide au
fond du réservoir est repoussée, obéissant à la loi de l'hydrostatique, lorsque la quantité de gaz
dans le stock augmente.
Sur la gure A.1, le principe physique régissant la variation de volume du stockage est explicité
de manière simpliée.
Alimentation Soutirage
Stockage
de gaz
hg
Nappe liquide
hl
Réservoir
hs
Colonne d'équilibre
hydrostatique
Figure A.1 Schéma simplié du réservoir de stockage
La somme des hauteurs des deux phases, hg + hl , reste constante et le volume du gaz est
déterminé par la hauteur hg . La pression à l'interface liquide/gaz du réservoir est xée par la
colonne d'équilibre hydrostatique, soit :
Ps = P0 + lghs
(A.1)
Où P0 est une constante (pression de référence) et l est la masse volumique du liquide.
Lorsque cette pression augmente, la hauteur excédentaire hs croît, ce qui implique, par un bilan
matière simple, que hl a diminué. La pression du gaz a augmenté et son volume de stockage
aussi.
Annexe A Présentation de l'exemple du stockage de gaz
128
WCp1
WCp2
WCc
WVR1
WVR2
Us
Vs
Ps
Ts
R
P0
Pp
dp
Tp
Pc
dc
Tc
P2
P3
P4
P5
P6
V1 :::V8; VAU
T
Énergie consommée par Cp1
Énergie consommée par Cp2
Énergie consommée par Cc
Énergie dissipée par la vanne VR1
Énergie dissipée par la vanne VR2
Quantité de moles contenues dans le stockage
Capacité du stockage
Pression à l'intérieur du stockage
Température du gaz à l'intérieur du stockage
Constante des gaz parfaits
Pression de référence
Pression à la sortie de l'unité de production
Débit fournit par l'unité de production
Température du gaz à la sortie de l'unité de production
Pression à l'entrée du réseau de distribution aux clients
Débit à l'entrée du réseau de distribution aux clients
Température du gaz à l'entrée de l'unité client
Pression après Cp1
Pression après Cp2
Pression après VR1
Pression après le stockage S
Pression après Cc
Vannes tout ou rien
Température du gaz à travers le procédé
Tableau A.1 Index des variables utilisées
A.1 Le stockage de gaz ( S )
129
Dans le cas qui nous intéresse, la forme du stockage n'étant pas régulière, le calcul du volume
obéit à une loi non-linéaire.
5
Vs = 356:3hg2 Ps
(A.2)
Ps = 0:1hg + P0
(A.3)
Avec :
Où hg est en m ( 0 hg 130 ), Ps est en bar ( P0 = 54 ) et Vs est en m3 ( 0 Vs 4:6:109 ).
Les expressions A.2 et A.3 peuvent se combiner pour faire disparaître la hauteur hg , soit
Vs = 356:3 ((Ps , P0) 10)5=2 Ps
(A.4)
La matière stockée est un uide gazeux compressible, c'est-à-dire que la quantité molaire de
gaz stocké, Us , est fonction de la pression, de la température et du volume disponible. Nous
supposerons que la loi des gaz parfaits s'applique à ce uide, soit
Ps:Vs = Us :R:T
(A.5)
Où Ps est exprimée en Pa , Vs en m3 , Us en mole , T en K et R est la constante des gaz
parfaits ( R = 8:314J=mol:K ).
Nous obtenons donc comme équations pour la conguration 2 ( V5 = 1 , V6 = 0 ) :
P4 = P5
(A.6)
P4 = Ps
(A.7)
dUs = d , d
p
c
d
(A.8)
PsVs = UsRT
(A.9)
Vs = ((Ps , P0) 10)5=2 353:6 Ps
(A.10)
Dans le circuit b1 va s'instaurer un débit dc , dans b2 il y aura un débit dp , dc , et pour b3
il y aura un débit nul.
Pour la conguration 3 ( V5 = 0 , V6 = 1 ), les équations A.6, A.8, A.9 et A.10 restent valables.
Seule l'équation A.7 est modiée et devient :
P5 = Ps
(A.11)
Dans le circuit b1 va s'instaurer un débit dp , dans b2 il y aura un débit nul, et pour le tronçon
b3 le débit vaudra dc , dp .
Annexe A Présentation de l'exemple du stockage de gaz
130
A.2 Modélisation de la compression amont ( Cp et Cp )
1
2
Deux compresseurs identiques Cp1 et Cp2 sont utilisés pour fournir l'énergie nécessaire pour
assurer le débit dp . Leur fonctionnement est le suivant. Soit le compresseur est inactif, V1 = 0
et V2 = 1 pour le premier et nous avons alors :
WCp1 = 0
(A.12)
P2 = Pp
(A.13)
Soit le gaz passe par le compresseur ( V1 = 1 et V2 = 0 pour le premier), dont nous supposons
qu'il fournit un travail spécique constant, donc qu'il délivre un taux de compression xé ici à
trois. Sous l'hypothèse d'une compression adiabatique idéale pondérée par une ecacité = 0:8 ,
le travail est calculé par :
0
Tp @
WCp1 = 1 R
,1
P2
Pp
! , 1
1
, 1A
(A.14)
Avec = 1:31 .
P2 = 3Pp
(A.15)
Les équations correspondant au second compresseur sont, dans l'état inactif ( V3 = 0 et
V4 = 1 ) :
WCp2 = 0
(A.16)
P3 = P2
(A.17)
0 ! ,1 1
Tp @ P2 , 1A
WCp2 = 1 R
, 1 Pp
(A.18)
P3 = 3P2
(A.19)
Et dans l'état actif ( V3 = 1 et V4 = 0 ) :
Avec = 1:31 .
Lorsque les deux compresseurs amont sont actifs nous avons P3 = 9Pp .
A.3 Modélisation de la détente amont (vanne VR1 )
La vanne est caractérisée par une détente isenthalpique sans échange de travail W avec
l'extérieur. W = H = 0 , avec l'hypothèse du gaz idéal où l'enthalpie n'est fonction que de la
température, on a H (T ) , T = 0 , donc
P RT ln P4 + WVR1 = 0
3
Où WVR1 représente la variation d'énergie interne du uide.
(A.20)
A.4 Modélisation de la compression aval ( Cc )
131
A.4 Modélisation de la compression aval ( Cc )
Les caractéristiques sont identiques à celles de la compression amont. Nous avons donc, dans
le cas où le compresseur est inactif ( V7 = 0; V8 = 1 ) :
WCc = 0
(A.21)
P6 = P5
Et dans le cas où le compresseur est actif ( V7 = 1; V8 = 0 ) :
,1 !
1 RT1 P6 ,1
WC c = , 1 P
5
Avec = 1:31 .
(A.22)
(A.23)
P6 = 2P5
(A.24)
A.5 Modélisation de la détente aval (vanne VR2 )
La détente est identique à la détente amont, nous avons donc :
P RT ln Pc + WVR2 = 0
6
(A.25)
h
kJ
WCp1 ; WCp2 ; WCc ; hWVR1 ; Wi VR2 = kmol
kJ
R = kmolK
Us = [kmol
h kmol] i
dp = dc = s
Ps; Pc; Pp; P2; P3; P 4; P 5; P6 = [bar]
Vs = m3
T = [K ]
= [,]
Tableau A.2 Unités utilisées
i
132
Annexe A Présentation de l'exemple du stockage de gaz
Annexe B
Représentation et simulation des systèmes continus
B.1 Introduction
Dans cette annexe, nous dénissons les méthodes et outils requis par un simulateur de systèmes dynamiques hybrides pour ce qui concerne la résolution de la partie continue des problèmes.
B.2 Dénition d'un système continu
Un système continu, au sens de la théorie des systèmes, est représenté par des variables dont
le domaine de dénition est inclus dans l'espace des réels. Soit X le vecteur d'état de dimension
k , X 2 <k .
Pour des systèmes dynamiques, les variables d'état sont des fonctions du temps X () . Les
équations du modèle peuvent impliquer les dérivées des variables d'état par rapport au temps,
notées X_ () . Seules les dérivées du premier ordre seront considérées par la suite.
La représentation des phénomènes implique l'écriture de l (l < k) fonctions vectorielles de
variables et de variables indépendantes telles que le temps. Chaque équation peut être résumée
par une fonction élémentaire fi ( i variant de 1 à l ) dénie comme :
fi : <k <k <1 ,! <
_ X; ) ,! fi (X;
_ X; )
(X;
Les fonctions fi sont regroupées dans une fonction vectorielle F à valeur dans <l .
2f
66 f12
F = 66 ..
4 .
fl
3
77
77
5
Par exemple, les bilans de matière, de quantité de mouvement ou d'énergie sont des fonctions
élémentaires fi .
La résolution d'un problème de simulation consiste à écrire un système homogène (au sens
de la dimension) de l équations à l inconnues en partitionnant le vecteur d'état en un vecteur
de variables (taille l ) et un vecteur de variables xées en paramètres (de taille k , l ).
Annexe B Représentation et simulation des systèmes continus
134
B.3 Traitement numérique
Le traitement numérique a pour objectif de trouver une solution physiquement réaliste, si
elle existe, au problème déni dans le paragraphe précédent (B.2).
B.3.1 Systèmes algébriques
Ce sont des modèles de la forme :
f (x; u; v) = 0
(B.1)
Où x est l'état du système, u la commande et v un ensemble de paramètres. La composante
temps a disparu.
Les deux caractéristiques importantes sont :
linéaire/non-linéaire.
explicite/implicite.
Caractère non-linéaire
Un système non-linéaire est un système dont la dérivée de la fonction f par rapport à la
variable d'état est une fonction continue non constante sur le domaine de dénition de la variable
d'état.
Exemples
(x1)
= ln x1 + 1 ) non-linéaire
f (x1 ) = x1 ln x1 , 4 = 0; (x1 2 ]0; 1]) dfdx
1
(x1 )
f (x1 ) = 2x1 + 4 = 0; dfdx
= 2 ) linéaire
1
F (X ) =
F (X ) =
(
(
x1 + 2x2 , 4 = 0
2x1 + x2 , 2 = 0
x1x2 + 2x22 , 4 = 0
2x1x2 + x22 , 2 = 0
Caractère implicite
"
#
dF (X ) = 1 2 ) linéaire
2 1
dX
"
#
dF (X ) = x2 x1 + 4x2 ) non-linéaire
2x2 2x1 + 2x2
dX
(B.2)
(B.3)
(B.4)
(B.5)
Un système est dit implicite s'il n'y a pas possibilité d'agencer l'équation pour faire apparaître
la variable inconnue seule à gauche du signe = , et uniquement des variables connues à droite.
La résolution d'un système implicite fait appel à des méthodes numériques itératives.
B.3 Traitement numérique
135
Exemples
f (x1) = x1 ln x1 , 4 = 0
implicite
f (x1) = 2x1 + 4 = 0
explicite
F (X ) =
F (X ) =
(
(
x1 + 2x2 , 4 = 0
2x1 + x2 , 2 = 0
implicite (sauf manipulations)
x21 , 4 = 0
x1 + 2x22 , 4 = 0
explicite
Les méthodes proposées dans la suite font référence à un caractère implicite.
Méthodes numériques pour les systèmes linéaires
Ils s'écrivent sous forme matricielle AX = B . La solution, si elle existe, est unique.
Il existe deux grandes classes de méthodes pour résoudre les systèmes algébriques linéaires.
Les méthodes itératives, qui approchent la solution par une suite X (k) , convergeant vers
X , en utilisant une formule de récurrence et une valeur initiale X (0) . Elles sont utilisées
pour les systèmes de grande taille.
Les méthodes directes, qui transforment le système initial par combinaisons linéaires des
équations de manière à lui donner un caractère explicite. Le caractère explicite consiste à
trouver la solution en traitant les équations une à une, chaque équation ne contenant plus
qu'une seule inconnue au moment où elle est résolue. Les méthodes les plus réputées sont
la méthode de Gauss et la décomposition LU.
Méthodes numériques pour les systèmes non linéaires
Le principe de base consiste à linéariser le système. Pour cela, les méthodes utilisées sont
itératives. Une estimation des variables est obtenue à partir de la formule générale suivante :
xk+1 = xk + k :xk
(B.6)
Avec xk solution du système linéaire :
M k :xk = ,f (xk )
(B.7)
Où k est le numéro de l'itération, M k une matrice non singulière appelée opérateur et k
le facteur de relaxation du pas.
Dans le cas de la méthode de Newton, M k est la matrice Jacobienne de la fonction f en xk .
Cette méthode a cependant deux inconvénients importants. Le premier est que cette méthode,
pour converger vers la solution, nécessite une très bonne approximation initiale. Le deuxième
est qu'il n'est pas évident d'obtenir la matrice Jacobienne du système. Pour s'aranchir de cette
diculté, une variété de méthodes dites quasi-linéaires et quasi-Newton utilisent un opérateur
qui peut être considéré comme une approximation de la matrice Jacobienne.
Annexe B Représentation et simulation des systèmes continus
136
Exemple : méthode de Newton
F (X ) =
(
x1x2 + 2x22 , 4 = 0
2x1 x2 + x22 , 5 = 0
(B.8)
" #
avec X0 = 11 ; " = 0; 1 et k = 1
La matrice Jacobienne du système est :
"
x2 x1 + 4x2
2x2 2x1 + 2x2
#
(B.9)
Calcul de X 0 :
J (X 0)X 0 = ,F (X 0)
"
1 5
2 4
#"
# " #
x1 = 1
x2
2
(B.10)
D'où x1 = 1 et x2 = 0 .
Calcul de X 1 : X 1 = X 0 + X 0 , donc x1 = 2 et x2 = 1 .
Critère de stop :
" #
" #
F (X 1) = 00
donc X 1 = 21
est solution.
B.3.2 Systèmes d'équations diérentielles ordinaires
Ce sont des Systèmes de la forme :
f (x;_ x; u; v; ) = 0 avec x_ ( = 0) = x_ 0 et x( = 0) = x0
(B.11)
Où x est l'état du système, u la commande, v un ensemble de paramètres et le temps.
La plupart des problèmes physiques font intervenir des dérivées du premier ordre. Les problèmes mettant en ÷uvre des équations diérentielles d'ordre supérieur à un peuvent être transformés en un problème mettant en ÷uvre un ensemble d'équations diérentielles du premier
ordre.
Exemple
d2 x = f ,
d2
(
dx =
d
du =
d
u
f
On retrouve les mêmes caractérisations que pour les équations algébriques.
linéaire/non-linéaire.
explicite/implicite.
(B.12)
B.3 Traitement numérique
137
La dénition des conditions limites génère une troisième propriété caractéristique selon que
les conditions sur les variables d'état xi , sont dénies en un même point ou réparties en plusieurs
points.
Dans la mesure où nous traitons d'équations diérentielles ordinaires par rapport au temps,
pour lesquelles la condition initiale sera connue sur l'ensemble des variables d'état à un même
instant, nous ne décrivons que les méthodes les plus classiques adaptées à ce type de conguration.
Une dernière propriété est la raideur du système. Sa dénition est complexe, nous nous
contentons de la dénir comme une source d'instabilité numérique causée par l'existence de
constantes de temps d'ordres de grandeurs diérents dans les équations.
Exemple de caractère non-linéaire
f (x;_ x; u; ) =
(
dx1
d
dx
2
d
, ax1 , bx2 = 0
, cx1 , dx2 = 0
(B.13)
avec x1(0 ) = x10 et x2 (0) = x20
Le système (B.13) est linéaire, car tous les éléments du Jacobien sont constants.
"
1 0 a b
0 1 c d
#
Caractère explicite
Nous ne reviendrons pas sur la dénition du caractère explicite. Dans le cas des systèmes
d'équations diérentielles, cela signie que l'on a une écriture explicite de la dérivée de la variable
d'état (X 0 = G(X; P; )) .
Une solution triviale n'est accessible que si la fonction G est constante. Quelques solutions
analytiques sont disponibles (intégrales dénies), mais rarement employées, sauf dans les outils de
calcul formel. De toute façon, les modèles continus s'écartent souvent de ces formes de fonction.
Méthodes numériques
Le principe de base est de transformer le système d'équations diérentielles en un système
d'équations algébriques, en substituant une approximation polynômiale à la dérivée. Cette approximation polynômial n'est en fait qu'une expression limitée à un certain ordre du développement en série de Taylor de la variable xi () par rapport à .
q
xi( + h) = xi () + hx0i () + + hq ! x(i q)() + O(h(q))
(B.14)
Où q est l'ordre de la méthode. Pour un pas h donné, chaque méthode propose une forme
de polynôme utilisant soit :
De l'information passée sur la variable et sa dérivée première, ce sont les méthodes à pas
liés.
De l'information sur des points intermédiaires pour le pas considéré, ce sont les méthodes
à pas séparés.
Annexe B Représentation et simulation des systèmes continus
138
Exemple : méthode d'Euler ( q = 1 )
Formulation explicite :
dv = g(v; )
d
v ( + ) v () + g (v (); )
(B.15)
v ( + ) v () + g (v ( + ) ; + )
(B.16)
Formulation implicite :
B.3.3 Systèmes d'équations diérentielles algébriques
Systèmes combinant des équations diérentielles et des équations algébriques.
Modèles de la forme :
f (x;_ x; u; v; ) = 0
(B.17)
Où x représente l'état du système, u la commande, v un ensemble de paramètres et le
temps.
Exemple
8
>
< x_ 1
_
F (X; X; ) = > x_ 2
: 0
= x1 + x2 + x3
= x1 , x2 , x3
= x1 + 2x2
(B.18)
avec à = 0; F (X_ (0); X (0); u(0); v(0); 0) = 0
x3 représente une variable purement algébrique. x1 et x2 sont les variables diérentielles du
système.
Références bibliographiques et bibliographie
[1] H. Alla. (( Les réseaux de Petri : un outil particulièrement adapté à la modélisation des systèmes hybrides )). Dans les proceedings d'ADPM'94 (Automatisation des Processus Mixtes),
pages 1725, Bruxelles (Belgique), Novembre 1994.
[2] H. Alla. (( Modelling and simulation of event driven systems by Petri nets )). Dans les proceedings d'ADEDOPS (Analysis and Design of Event-Driven Operation in Process Systems),
Londres (Angleterre), Avril 1995.
[3] H. Alla, G. Bel, J.-B. Cavaille et J. Le Bail. (( Les systèmes de production par lots :
une approche discret-continu utilisant les réseaux de Petri hybrides )). Dans les proceedings d'ADPM'92 (Automatisation des Processus Mixtes), pages 2432, Paris (France),
Janvier 1992.
[4] H. Alla et J.-M. Flaus. (( Modeling of gas storage unit using hybrid ow nets )). Dans les proceedings d'ADPM'98 (Automatisation des Processus Mixtes), Reims (France), Mars 1998.
[5] M. Allam et H. Alla. (( Modelling production systems by hybrid automata and hybrid Petri
nets )). Dans les proceedings de IFAC-CIS'97 (Control of Industrial Systems), volume 1,
pages 463468, Belfort (France), Mai 1997.
[6] M. Allam et H. Alla. (( From hybrid Petri nets to hybrid automata )). Rapport 96.113,
Laboratoire d'Automatique de Grenoble (France), 1998.
[7] M. Allam et H. Alla. (( Performances evaluations of hybrid systems )). Dans les proceedings d'ADPM'98 (Automatisation des Processus Mixtes), pages 916, Reims (France),
Mars 1998.
[8] R. Alur, C. Courcoubetis, N. Halbwachs, T.A. Henzinger, A. Olivero, J. Sifakis et S. Yovine. (( The algorithmic analysis of hybrid systems )). Theorical computer science, (138):3
34, 1995.
[9] D. Andreu. (( Commande et supervision des procédés discontinus : une approche hybride )).
Thèse de doctorat, Université Paul Sabatier, Toulouse III (France), Novembre 1996.
[10] D. Andreu, M. Combacau, P. Esteban et J.-C. Pascal. (( Commande temps-réel hiérarchisée,
application à une maquette d'atelier exible )). Revue d'Automatique et de Productique
Appliqués, 7(5):627639, 1994.
140
Références bibliographiques et bibliographie
[11] D. Andreu, J.-C. Pascal, H. Pingaud et R. Valette. (( Batch process modelling using Petri nets )). Dans les proceedings d'IEEE-SMC, pages 314319, San Antonio (États-Unis),
Octobre 1994.
[12] D. Andreu, J.-C. Pascal et R. Valette. (( Interaction of discrete and continous parts of a
batch process control system )). Dans les proceedings d'ADEDOPS (Analysis and Design of
Event-Driven Operation in Process Systems), Londres (Angleterre), Avril 1995.
[13] D. Andreu, J.-C. Pascal et R. Valette. (( Events as a key of a batch process control system )). Dans les proceedings de IEEE-SMC-CESA'96 (Symposium on Discrete Events and
Manufacturing Systems), pages 297302, Lille (France), Juillet 1996.
[14] D. Andreu, H. Pingaud, J.-C. Pascal et R. Valette. (( Un système de commande hiérarchisé
hybride: application à la commande d'un réacteur batch multiuide )). Dans les proceedings
des Journées d'Études SEE, Lyon (France), Février 1996.
[15] R.N. Anthony. (( Planning and control systems: a framework for analysis )). Graduate School
of Business Administration, Havard University Press, Massachussets, 1965.
[16] C. Artigues. (( Ordonnancement en temps-réel d'ateliers avec temps de préparation des
ressources )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France), Décembre 1997.
[17] H. Atabakhche. (( Utilisation conjointe de l'intelligence articielle et des réseaux de Petri :
application au contrôle d'exécution d'un plan de fabrication )). Thèse de doctorat, Université
Paul Sabatier, Toulouse III (France), Décembre 1987.
[18] N. Audry. (( Modélisation et simulation de systèmes de production à haute cadence avec
convoyage : réseau de Petri lots commandés génériques )). Thèse de doctorat, Université de
Montpellier II (France), Septembre 1995.
[19] D. Azzopardi et D.J. Holding. (( Closed loop control of DEDS using timed-Petri net models )).
Dans les proceedings d'ADEDOPS (Analysis and Design of Event-Driven Operation in
Process Systems), Londres (Angleterre), Avril 1995.
[20] D. Azzopardi et S. Lloyd. (( Reduction of search space fo scheduling of multi-product batch
process plant through Petri net modelling )). Dans les proceedings d'IFAC-IFIP-IFCKS
(Fourth International Conference on Advanced Factory Automation), Vienne (Autriche),
Juin 1994.
[21] D. Azzopardi et S. Lloyd. (( Scheduling and simulation of multi-product batch process plant
through Petri net modelling )). Dans les proceedings de Factory 2000 (Fourth International
Conference on Advanced Factory Automation), York (Angleterre), Juin 1994.
[22] Z.A. Banaszak et B.H. Krogh. (( Deadlock avoidance in exible manufacturing systems with
concurrently competing process ows )). IEEE Transaction on Robotics and Automation,
6(6):724734, 1990.
[23] A.P. Barbosa Póvoa et S. Macchietto. (( Redesign of a multipurpose batch pilot plant with
cleaning in place (CIP) integration )). Computer & Chemical Engineering, 18:S277S281,
Suppl., 1994.
Références bibliographiques et bibliographie
141
[24] K. Barkaoui et I. Ben Abdallah. (( Deadlock avoidance in FMS based on structure theory of
Petri nets )). Dans les proceedings de INRIA-IEE-ETFA'95 (Symposium on Emerging Technologies and Factory Automation), volume 2, pages 499510, Paris (France), Octobre 1995.
[25] P.I. Barton. (( The Modelling and simulation of combined discrete/continuous processes )).
PhD thesis, University of London (Angleterre), 1992.
[26] P.I. Barton et C.C. Pantelides. (( Modeling of combined discrete/continuous processes )).
AIChE journal, 40(6):966979, Juin 1994.
[27] I. Bazet et G. De Terssac. (( Les pratiques d'organisation de la production remettent-elles en
cause la division du travail? La décision contrainte dans les systèmes de production )). Dans
les proceedings des V I èmes Journées de Sociologie du Travail, Blankenberge (Belgique),
Novembre 1997.
[28] S. Féray Beaumont et S. Gentil. (( Modèle qualitatif de comportement pour un système
d'aide à la supervision )). APII Génie des Pocédés, 25(4):325348, April 1991.
[29] I. Ben Abdallah. (( Méthodes d'allocation de ressources dans les systèmes exibles de production manufacturière fondées sur l'analyse structurelle des réseaux de Petri )). Thèse de
doctorat, École Centrale Paris (France), Juillet 1996.
[30] J.-C. Billaut. (( Prise en compte de ressources multiples et des temps de préparation dans les
problèmes d'ordonnancement en temps-réel )). Thèse de doctorat, Université Paul Sabatier,
Toulouse III (France), Décembre 1993.
[31] G.W. Brams. (( Réseaux de Petri : théorie et pratique )), Tome 1 théorie et analyse, Masson, 1982.
[32] G.W. Brams. (( Réseaux de Petri : théorie et pratique )), Tome 2 modélisation et applications,
Masson, 1983.
[33] H. Brettschneider, H.J. Genrich et H.-M. Hanisch. (( Verication and performance analysis
of recipe-based controllers by means of dynamic plant models )). Dans les proceedings de
Second International Conference on Computer Integrated Manufacturing in the Process
Industries, Eindhoven (Hollande), Juin 1996.
[34] C. Briand. (( Conception orientée-objet et basée réseaux de Petri de la conduite temps réel
des systèmes exibles de production manufacturière )). Thèse de doctorat, Université Paul
Sabatier, Toulouse III (France), Janvier 1995.
[35] M. Brielmann. (( Modelling dierential equations by basic information technology means )).
Dans les proceedings d'EUROCAST'95 (fth International Conference on Conputer Aided
Systems Theory and Technology), pages 163174, Innsbruck (Autriche), Mai 1995. Springer
Verlag LNCS 1030.
[36] S. Calvez, P. Aygalinc et W. Khansa. (( P-time Petri nets for manufacturing systems with
staying time constraints )). Dans les proceedings d'IFAC-IFIP-IMACS-CIS'97 (Control of
Industrial Systems), volume 3, pages 495500, Belfort (France), Mai 1997.
[37] H. Camus. (( Conduite de systèmes exibles de production manufacturière par composition
de régimes permanents cycliques: modèlisation et évaluation de performance à l'aide de
Références bibliographiques et bibliographie
142
réseaux de Petri )). Thèse de doctorat, Université des Sciences et Technologies de Lille
(France), 1997.
[38] H. Camus, H. Ohl, O. Korbaa et J.-C. Gentina. (( Petri net modeling of exible operating sequences in a FMS and implications for the search of cyclic schedules )). Dans les
proceedings de IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing
Systems, pages 218225, Lille (France), Juillet 1996.
[39] M. Caradec et F. Prunet. (( Modelling of hybrid exible systems and taking accumulation
phenomena into account )). Dans les proceedings d'ADPM'98 (Automatisation des Processus Mixtes), pages 8693, Reims (France), Mars 1998.
[40] J. Carlier et P. Chrétienne.
algorithmes )). Masson, 1988.
((
Problèmes d'ordonnancement : modélisation-complexité-
[41] F.E. Cellier. (( Continuous system modeling )). Springer-Verlag, 1991.
[42] A. Chaillet-Subias. (( Approche multi modèles pour la commande et la surveillance en tempsréel des systèmes à évènements discrets )). Thèse de doctorat, Université Paul Sabatier,
Toulouse III (France), Décembre 1995.
[43] R. Champagnat, P. Esteban, H. Pingaud et R. Valette. (( Petri net based modeling of hybrid
systems )). Computers in Industry, volume 36, N 1-2, pages 139146, Avril 1998.
[44] R. Champagnat, P. Esteban, H. Pingaud et R. Valette. (( Modeling hybrid systems by
means of high-level Petri nets: benets and limitations )). Dans les proceedings d'IFACIFIP-IMACS-CIS'97 (Control of Industrial Systems), volume 1, pages 469474, Belfort
(France), Mai 1997.
[45] R. Champagnat, P. Esteban, H. Pingaud et R. Valette. (( From scheduling to supervision in
batch processes )). Dans les proceedings de CESA'98, volume 3: Symposium on Industrial
and Manufacturing Systems, pages 673678, Nabeul-Hammamet (Tunisie), Avril 1998.
[46] R. Champagnat, P. Esteban, H. Pingaud et R. Valette. (( Modeling and simulation of a
hybrid system through Pr-Tr PN-DAE model )). Dans les proceedings d'ADPM'98 (Automatisation des Processus Mixtes), Reims (France), Mars 1998.
[47] R. Champagnat, H. Pingaud, H. Alla, C. Valentin-Roubinet et J.-M. Flaus. (( A gas storage example as a benchmark for hybrid modeling )). Dans les proceedings d'ADPM'98
(Automatisation des Processus Mixtes), Reims (France), Mars 1998.
[48] U. Christmann, H.-M. Hanisch et H. Heinrichs. (( High-level Petri net modelling and optimization of a batch polymer production plant )). Dans les proceedings de Fachtagung Simulation und Animation für Planung, Bildung und Präsentation, Magdeburg (Allemagne),
Mars 1996.
[49] P. Chrétienne. (( Les réseaux de Petri temporisés )). Thèse d'état, Université Pierre et Marie
Curie, Paris V I (France), Juin 1983.
[50] E.G. Coman, M.J. Elphick et A. Shoshani. (( System deadlocks )), Computing Surveys,
3(2):6778, 1971.
Références bibliographiques et bibliographie
143
[51] M. Combacau. (( Commande et surveillance des systèmes à évènements discrets complexes:
application aux ateliers exibles )). Thèse de doctorat, Université Paul Sabatier, Toulouse
III (France), Décembre 1991.
[52] M. Courvoisier et R. Valette. (( Commande des procédés discontinus-logique séquentielle )).
Bordas, Dunod université édition, 1986.
[53] B. Daubas. (( Modélisation et simulation des procédés continus et discontinus )). Thèse de
doctorat, Institut National Polytechnique de Toulouse (France), Novembre 1994.
[54] B. Daubas, A. Pagès et H. Pingaud. (( Combined simulation of hybrid processes )). Dans les
proceedings d'IEEE-SMC, pages 320325, San Antonio (États-Unis), Octobre 1994.
[55] R. David et H. Alla. (( Continuous Petri nets )). Dans les proceedings of the eighth European
Workshop on Application and Theory of Petri Nets, pages 275294, Zaragoza (Espagne),
Juin 1987.
[56] R. David et H. Alla. (( Du grafcet aux réseaux de Petri )). Hermès, 1992 ( 2ème édition revue
et augmentée).
[57] R. David et H. Alla.(( Petri nets & grafcet - tools for modelling discrete event systems )).
Prentice Hall, 1992.
[58] A. De Bonneval. (( Mécanismes de reprise dans les systèmes de commande à évènements discrets )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France), Septembre 1993.
[59] I. Demongodin. (( Les réseaux de Petri lots : modélisation des systèmes de production à haute
cadence en régime transitoire )). Thèse de doctorat, Université de Montpellier II (France),
Janvier 1994.
[60] I. Demongodin et N.T. Koussoulas. (( Dierential Petri nets: a new model for hybrid systems )). Dans les proceedings d'ASI'96 (Advanced Summer Institute), pages 6168, Toulouse
(France), Juin 1996.
[61] I. Demongodin et N.T. Koussoulas. (( Modeling dynamic systems through Petri nets )). Dans
les proceedings de IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing Systems, pages 279284, Lille (France), Juillet 1996.
[62] J.-C. Deschamps. (( Gestion hiérarchisée de cellules exibles d'assemblage : concepts, modèles et simulation )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France),
Novembre 1994.
[63] Y.M. Dessouky, C.A. Roberts M.M. Dessouky et G. Wilson. (( Scheduling multi-purpose
batch plants with junction constraints )). International journal of Production Research,
34(2):525541, 1996.
[64] J. Dufau. (( Un outil pour la vérication des protocoles décrits par réseaux de Petri )). Thèse
de doctorat, Université Paul Sabatier, Toulouse III (France), Janvier 1984.
[65] J.-P. Elloy. (( Génie informatique et exécutif temps-réel )). Dans les proceedings d'AGIS'97
(Automatique-Génie Informatique-Image-Signal), volume Conférence Invitée, Colloque de
Recherche Doctorale, Angers (France), Décembre 1997.
144
Références bibliographiques et bibliographie
[66] S.E. Elmaghraby. (( Activity Networks )). John Wiley & Sons, New York (États-Unis), 1977.
[67] S. Engell. (( Modelling and analysis of hybrid systems )). Dans les proceedings de second
MathMod (IMACS Symposium on Mathematical Modeling), pages 1731, Vienne (Autriche), Février 1997.
[68] J. Erschler et P. Esquirol. (( Decision aid in job-shop scheduling: a knowledge based approach )). Dans les poceedings de IEEE International Conference on Robotics and Automation, pages 16511656, San Francisco (États-Unis), 1986.
[69] J. Erschler, G. Fontan et C. Mercé. (( Approche par contrainte en planication et ordonnancement de la production )). RAIRO APII, 27(6):669695, 1993.
[70] P. Esteban, C. Briand et M. Courvoisier. (( Integration of the real time levels of a multilevel
hierarchical control: application to a exible assembly cell )). Dans les proceedings d'IEEEISIE'93 (International Symposium on Industrial Electronics), pages 407412, Budapest
(Hongrie), Juin 1993.
[71] J. Ezpeleta et J.M. Colom. (( Automatic synthesis of colored Petri nets for the control of
FMS )). IEEE Transaction on Robotics and Automation, 13(3):327337, 1997.
[72] J. Ezpeleta, J.M. Colom et J. Martínez. (( A Petri net based deadlock prevention policy
for exible manufacturing systems )). IEEE Transaction on Robotics and Automation,
11(2):173184, 1995.
[73] J. Ezpeleta, J.M. Couvreur et M. Silva. (( A new technique for nding a generating family
of siphons, traps and st-components )). Application to colored Petri nets, volume 674, pages
6473, Springer-Verlag, 1993.
[74] J.-M. Flaus. (( Hybrid ow nets for batch process modelling )). Dans les proceedings de
IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing Systems, pages
273278, Lille (France), Juillet 1996.
[75] H.J. Genrich. (( Predicate/transition nets )). Lecture Notes in Computer Science, SpringerVerlag, 1987.
[76] H.J. Genrich, H.-M. Hanisch et K. Wöllhaf. (( Verication of recipe-based control procedures
by means of predicate-transition nets )). Application an Theory of Petri Nets, SpringerVerlag LNCS 815, pages 278297, Zaragoza (Espagne), Juin 1994.
[77] H.J. Genrich et J. Schuart. (( Modelling and verication of hybrid systems using hierarchical
coloured Petri nets )). Dans les proceedings d'ADPM'98 (Automatisation des Processus
Mixtes), pages 1724, Reims (France), Mars 1998.
[78] A. Giua et F. DiCesare. (( Petri net structural analysis for supervisory control )). IEEE
Transactions on Robotics and Automation, 10(2):185195, 1994.
[79] M. Gomaa. (( Représentation et supervision des systèmes hybrides par réseaux de Petri )).
Thèse de doctorat, Institut National Polytechnique de Grenoble (France), Juillet 1997.
[80] M.M. Gomaa et S. Gentil. (( Hybrid industrial dynamical system supervision via hybrid
continuous causal Petri nets (hc2pns) )). Dans les proceedings de IEEE-SMC-CESA'96,
Symposium on Discrete Events and Manufacturing Systems, pages 285290, Lille (France),
Juillet 1996.
Références bibliographiques et bibliographie
145
[81] M. Gondran et M. Minoux. (( Graphes et Algorithmes )). Eyrolles, Paris (France), 1984.
[82] W.R. Goodall et R. Roy. (( Short term scheduling and control in the batch process industry
using hybrid knowledge based simulation )). International journal of Production Research,
34(2):3350, 1996.
[83] GOTHA. (( Les problèmes d'ordonnancement )). Recherche Opérationnelle, 27(1):77
150, 1993.
[84] H.-M. Hanisch. (( Analysis of place-transition nets with timed arcs and its application to
batch process control )). Dans les proceedings d'International Conference on Theory and
Application of Petri Nets, pages 282299, Springer-Verlag LNCS 691, Chicago (États-Unis),
Juin 1993.
[85] H.-M. Hanisch et S. Fleck. (( A ressource allocation scheme for exible batch plants based
on high-level Petri nets )). Dans les proceedings de IEEE-SMC-CESA'96, Symposium on
Discrete Events and Manufacturing Systems, pages 303308, Lille (France), Juillet 1996.
[86] N. Ishii et M. Muraki. (( An extended dispatching rule approach in an on-line scheduling
framework for batch process management )). International journal of Production Research,
34(2):329348, 1996.
[87] C. Jallut et G. Gilles.
RGE, (6), Juin 1990.
((
Automatique, productique et procédés chimiques discontinus )).
[88] M. D. Jeng et F. DiCesare. (( A review of synthesis techniques of Petri nets with applications to automated manufacturing systems )). IEEE Transactions on Systems, Man and
Cybernetics, 23(1):301312, 1993.
[89] K. Jensen. (( Coloured Petri nets. Basic concepts, analysis methods and practical use )). Basic
Concepts of Monographs in Theorical Computer Science, volume 1, Springer-Verlag, 1992.
[90] K. Jensen. (( Coloured Petri nets. Basic concepts, analysis methods and practical use )).
Analysis Methods of Monographs in Theorical Computer Science, volume 2, SpringerVerlag, 1994.
[91] K. Jensen et G. Rozenberg. (( High-level Petri nets: theory and application )). Prentice Hall
International, 1992.
[92] G.S. Joglekar et G.V. Reklaitis. (( A simulator for batch and semi-continuous processes )).
Computer & Chemical Engineering, 8:315327, 1984.
[93] S. Julia. (( Conception et pilotage des cellules exibles à fonctionnement répétitif modélisés
par réseaux de Petri )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France),
Juillet 1997.
[94] S. Julia, R. Valette et M. Tazza. (( Analysis of the behavior of a manufacturing cell with
cyclic feeding policies )). Dans les proceedings de International Conference on Systems, Man,
and Cybernetics, volume 2, pages 16831688, San Antonio (États-Unis), Octobre 1994.
[95] S. Julia, R. Valette et M. Tazza. (( Computing a feasible schedule under a set of cyclic
constraints )). Dans les proceedings de Second International Conference on Industrial Automation, pages 141146, Nancy (France), Juin 1995.
146
Références bibliographiques et bibliographie
[96] W. Khansa. (( Réseaux de Petri p-temporels contribution à l'étude des systèmes à évènements discrets )). Thèse de doctorat, Université de Savoie, Annecy (France), 1997.
[97] W. Khansa, P. Aygalinc et J.P. Denat. (( Structural analysis of p-time Petri nets )). Dans les
proceedings de IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing
Systems, pages 127136, Lille (France), Juillet 1996.
[98] W. Khansa, J.P. Denat et S. Collart-Dutilleul. (( P-time Petri nets for manufacturing
systems )). Dans les proceedings de Wodes'96 (International Workshop on Discret Event
Systems), pages 94102, Edinburgh (Royaume-Unis), Août 1996.
[99] E. Kondili, C.C. Pantelides et R.W. Sargent. (( A general algorithm for short-term scheduling of batch operations-i. Milp formulation )). Computers & Chemical Engineering,
17(2):211227, 1993.
[100] O. Korbaa, H. Camus et J.-C. Gentina. (( FMS cyclic scheduling with overlapping production
cycles )). Dans les proceedings d'ICATPN'97 (International Conference on Application and
Theory of Petri Nets), Workshop on Manufacturing and Petri Nets, pages 3552, Toulouse
(France), Juin 1997.
[101] J.-M. Kubek. (( Introduction des réseaux à prédicats contraints. Instanciation au domaine
temporel. Application à la maîtrise des aléas sémantiques ADA )). Thèse de doctorat, INSA
de Toulouse (France), 1994.
[102] C. Lansade et P. Tayrac. (( Simulation mixte )). Projet ANVAR TLS 0089, Pau (France),
Janvier 1997.
[103] J. Le Bail, H. Alla et R. David. (( Réseaux de Petri hybrides )). RAIRO APII.
[104] J. Le Bail, H. Alla et R. David. (( Hybrid Petri net )). Dans les proceedings de European
Control Conference, Grenoble (France), Juillet 1991.
[105] A. Le Gall. (( Un système interactif d'aide à la décision pour l'ordonnancement et le pilotage en temps-réel d'atelier )). Thèse de doctorat, ENSEEIHT, Toulouse (France), Décembre 1989.
[106] D.Y. Lee et F. DiCesare. (( Scheduling exible manufacturing systems using Petri nets
and heuristic search )). IEEE Transaction on Robotics and Automation, 10(2):123132,
Avril 1994.
[107] A. Lefort et P. Yim. (( The hypernets: a new modelling tool )). Dans les proceedings de
IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing Systems, pages
3035, Lille (France), Juillet 1996.
[108] M. Lemmon, K. He et C.J. Bett. (( Modeling hybrid control systems using programmable timed Petri nets )). Dans les proceedings d'ADPM'98 (Automatisation des Processus Mixtes),
pages 177184, Reims (France), Mars 1998.
[109] Z.H. Liu et S. Macchietto. (( Dynamic modelling and simulation of a multi-purpose batch
pilot plant )). Dans les proceedings d'AD CHEM'94, Kyoto (Japon), Mai 1994.
[110] P. Lopez. (( Approche énergétique pour l'ordonnancement de tâches sous contraintes de
temps et de ressources )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France),
Septembre 1991.
Références bibliographiques et bibliographie
147
[111] P. Merlin. (( Methodology for the design and implementation of communication protocols )).
IEEE Transaction on Communications, 24(6), 1979.
[112] J.O. Moody et P.J. Ansalkis. (( Petri net supervisors for DES in the presence of uncontrollable and unobervable transitions )). Dans les proceedings de thirty third Annual Allerton
House, Monticello, Octobre 1995.
[113] J.O. Moody, P.J. Antsaklis et M.D Lemmon. (( Automated design of a Petri net feedback
controller for a robotic assembly cell )). Dans les proceedings d'IEEE-ETFA'95 (Synposium on Emerging Technologies and Factory Automation), volume 2, pages 117128, Paris
(France), Octobre 1995.
[114] T. Murata. (( Petri-nets: properties, analysis and applications )). Dans les proceedings
d'IEEE, 77(4):541580, 1989.
[115] E. Niel, N. Rezg, J.-M. Diosse et J. Fravel. (( Système de commande-supervision orienté
sécurité opérationnelle )). APII, 28(5):539549, Juin 1994.
[116] H. Ohl. (( Fonctionnements répétitifs de systèmes exibles de production manufacturière :
analyse et optimisation des performances à l'aide des réseaux de Petri )). Thèse de doctorat,
Université de Lille I, (france), Septembre 1995.
[117] H. Ohl, E. Castelain et J.-C. Gentina. (( Synchrony theory applied to control problems in
exible manufacturing systems )). Dans les proceedings de International Conference on
Systems, Man, and Cybernetics, volume 2, pages 16891694, San Antonio (États-Unis),
Octobre 1994.
[118] A. Pagès et H. Pingaud. (( Un outil d'aide à l'ordonnancement d'ateliers batchs à production continue )). Dans les proceedings d'ADMP'94 (Automatisation des Processus Mixtes),
Bruxelles (Belgique), Novembre 1994.
[119] A. Pagès et H. Pingaud. (( An hybrid process model based on Petri nets applied to short term
scheduling of batch-semi continuous plants )). Dans les proceedings d'ADEDOPS (Analysis and Design of Event-Driven Operation in Process Systems), Londres (Angleterre),
Avril 1995.
[120] C.C. Pantelides. (( Modelling, simulation and optimisation of hybrid processes )). Dans
les proceedings d'ADEDOPS (Analysis and Design of Event-Driven Operation in Process
Systems), Londres (Angleterre), Avril 1995.
[121] C.C. Pantelides, D. Gritsis, K.R. Morison et R.W.H. Sargent. (( The mathematical modelling of transient systems using dierential-algebraic equations )). Computers & Chemical
Engineering, 12(5):449454, 1988.
[122] J.L. Peterson. (( Petri net theory and the modeling of systems )). Prentice-Hall, 1981.
[123] C. Petri. (( kommunication mit Automaten )). PhD thesis, University of Bonn (Allemagne), 1962.
[124] M. Pia Fanti, B. Maione, S. Mascolo et B. Turchiano. ((Event-based feedback control for
deadlock avoidance in exible production systems )). IEEE Transactions on Robotics and
Automation, 13(3):347363, 1997.
148
Références bibliographiques et bibliographie
[125] H. Pierreval. (( La simulation de fonderies : une modèlisation combinée discrète-continue )).
Dans les proceedings de SEE-IBRA-AFCET-ADMP'94 (Automatisation des Processus
Mixtes), pages 159165, Bruxelles (Belgique), Novembre 1994.
[126] H. Pingaud et R. Valette. (( L'approche réseau de Petri dans le cadre de la simulation, de
l'optimisation et de la conduite des procédés batchs )). Dans les proceedings de SIMO'96
(Simulation-Optimisation Commande), volume 10-1996, pages 3968, Toulouse (France),
Octobre 1996.
[127] H. Pingaud et R. Valette.(( Simulation, optimisation et conduite des procédés batchs : la
place et le rôle des modèles à évènements discrets )). Dans les proceedings des Journées
D'Études SEE, Pôle Productique Rhônes-Alpes, Février 1996.
[128] L. Puigjaner, A. Huercio et A. Espuna. (( Batch production control in a computer integrated
manufacturing environment )). Journal of Process Control, pages 281290, Novembre 1994.
[129] A. Puri. (( Theory of hybrid systems and discrete event systems )). PhD thesis, University
of California at Berkeley (États-Unis), 1995.
[130] Y. Quénec'hdu et J. Buisson. (( Le génie automatique dans l'automatisation des processus
continus )). RGE, (4/92):6166, Avril 1992.
[131] M.P. Rakotoson, C. Vercauter et J.-C. Gentina. (( Analyse des systèmes de production
dits continus-discrets et critères de hiérarchisation du niveau coordination/supervision )).
Dans les proceedings d'ADPM'92 (Automatisation des Processus Mixtes), pages 1122,
Janvier 1992.
[132] P.J.G. Ramadge et W.M. Wonham. (( The control of discrete event systems )). Dans les
proceedings d'IEEE, volume 77, pages 8197, Janvier 1989.
[133] C. Ramchandani. (( Analysis of asynchronous concurrent systems by timed Petri nets )).
PhD thesis, Massachussetts Institute of Technology, Cambridge (États-Unis), Février 1974.
[134] C. Reutenauer. (( The Mathematics of Petri Nets )). Masson and Prentice Hall International, 1990.
[135] N. Rezg. (( Contribution à la sécurité opérationnelle des systèmes : mise en ÷uvre d'une
structure de surveillance basée sur les réseaux de Petri objets contrôlés )). Thèse de doctorat,
INSA Lyon (France), Janvier 1996.
[136] N. Rezg et E. Niel. (( Monitoring system for discret event systems using failure-tolerance
techniques )). Dans les proceedings d'IEEE-ETFA'95 (Synposium on Emerging Technologies
and Factory Automation), volume 2, pages 383391, Paris (France), Octobre 1995.
[137] N. Rezg, E. Niel et J.M. Diosse. (( Operational safety measures using failure-tolerance techniques )). Computer Integrated Manufacturing and Automation Technology, pages 423428,
Troy, Octobre 1994.
[138] N. Rezg, E. Niel et A. Jutard. (( Commande et surveillance des systèmes à évènements
discrets à fonctionnement sûr )). Dans les proceedings de La Productivité dans un Monde
sans Frontières, pages 3544, Montréal (Canada), Octobre 1995.
Références bibliographiques et bibliographie
149
[139] P. Richard. (( Contribution des réseaux de Petri à l'étude de problèmes de recherche
opérationnelle )). Thèse de doctorat, Université François Rabelais, Tours (France), Décembre 1997.
[140] P. Richard et C. Proust. (( Petri nets for modelling linear programs )). Dans les proceedings de IEEE-SMC-CESA'96, Symposium on Discrete Events and Manufacturing Systems,
pages 3641, Lille (France), Juillet 1996.
[141] D.W.T. Rippin. (( Batch process systems engineering: a retrospective and prospective review )). Computers & Chemical Engineering, Suppl., 17:S1S13, 1993.
[142] B. Roy. (( Algèbre Moderne et Théorie des Graphes )). Dunod, volume II, Paris
(France), 1984.
[143] A.-E.-K. Sahraoui. (( Contribution à la commande et à la surveillance d'ateliers exibles )).
Thèse de doctorat, Université Paul Sabatier, Toulouse III (France), Octobre 1987.
[144] C. Sibertin-Blanc. (( High-level Petri nets with data structures )). Dans les proceedings de
Applications and Theory of Petri Nets (Finlande), Juin 1985.
[145] M. Silva et R. Valette. (( Petri nets and exible manufacturing )). Advances in Petri
nets 1989, pages 374417, Springer Verlag LNCS 424, 1990.
[146] M. Tittus. (( Control synthesis for batch processes )). PhD thesis, Chalmers University of
Technology, Göteborg (Suéde), 1995.
[147] C. Valentin. (( Contribution à la modélisation et à la conduite des procédés mixtes (continusdiscrets) : application à l'industrie papetière )). Thèse de doctorat, Institut National Polytechnique de Grenoble (France), Février 1993.
[148] C. Valentin et P. Ladet. (( Flow modelling in a class of hybrid (continuous-discrete) systems )). Dans les proceedings d'IEEE-SMC (International Conference on Systems, Man and
Cybernetics), Le Touquet (France), Octobre 1993.
[149] C. Valentin, P. Ladet et J. Ruiz. (( A generic Petri net based model for paper mills nishing
process )). Dans les proceedings d'IFAC-IFIP-IFORS-ISPE-INCOM-92 (symposium sur les
prolèmes de contrôle de l'information en technologie de fabrication), Toronto (Canada),
Mai 1992.
[150] R. Valette. (( Coordination problems in FMS control systems )). Coordination Management
by Means of Petri Nets, Modena (Italie), Avril 1988.
[151] R. Valette. (( Les réseaux de Petri )). Cours de R. Valette, Septembre 1995.
[152] R. Valette. (( Petri nets for control and monitoring: specication, verication and implementation )). Dans les proceedings d'ADEDOPS (Analysis and Design of Event-Driven
Operation in Process Systems), Londres (Angleterre), Avril 1995.
[153] R. Valette, R. Champagnat, D. Andreu et H. Pingaud. (( Modélisation des systèmes de
production hybrides )). Dans les proceedings d'AGIS'97 (Automatique-Génie InformatiqueImage-Signal), volume Conférence Invitée, Colloque de Recherche Doctorale, Angers
(France), Décembre 1997.
150
Références bibliographiques et bibliographie
[154] R. Valette et L.A. Künzle. (( Réseaux de Petri pour la détection et le diagnostic )). Journée d'Etudes Sûreté, Surveillance, Supervision : Détection et Localisation de Défaillances,
Groupement de Recherche Automatique, Paris (France), Novembre 1994.
[155] R. Valette, H. Pingaud, A. Pagès, D. Andreu et J.-C. Pascal. (( Modeling, simulation
and control of event-driven operation in process systems )). Dans les proceedings d'IEEEETFA'95, volume 3, pages 119128, Paris (France), Octobre 1995.
[156] W.M.P. van der Aalst. (( Interval timed coloured Petri nets and their analysis )). Application
and Theory of Petri Nets, pages 453472. Springer-Verlag LNCS 691, 1993.
[157] N. Viswanadham, Y. Narahari et T.L. Johnson. (( Deadlock prevention and deadlock avoidance in exible manufacturing systems using Petri net models )). IEEE Transactions on
Robotics and Automation, 6(6):713723, 1990.
[158] R. Wieting et M. Sonnenschein. (( Extending high-level Petri nets for modeling hybrid systems )). Dans les proceedings d'IMACS Synposium on System Analysis and Simulation,
volume 18-19, pages 259262, Berlin (Allemange), Juin 1995.
[159] E.C. Yamalidou, E.P. Patsidou et J.C. Kantor. (( Modeling discrete-event dynamical systems
for chemical process control - a survey of several new techniques )). Computers & Chemical
Engineering, 14(3):281299, 1990.
[160] K. Yamalidou, J. Moody, M. Lemmon et P. Antsaklis. (( Feedback control of Petri nets
based on place invariants )). Automatica, 32(1):1528, 1996.
[161] P. Yim, A. Lefort et A. Hébrard. (( System modelling with hypernets )). Dans les proceedings
d'IEEE-ETFA'95, volume 1, pages 3747, Paris (France), Octobre 1995.
[162] E. Zamaï. (( Architecture de surveillance-commande pour les systèmes à évènements discrets complexes )). Thèse de doctorat, Université Paul Sabatier, Toulouse III (France),
Septembre 1997.
Thèse de Ronan CHAMPAGNAT
Titre : Supervision des systèmes discontinus : dénition d'un modèle hybride et pilotage en
temps-réel.
Résumé : Cette thèse traite de la supervision des systèmes discontinus. Ce sont des systèmes qui transforment
une matière première de type continu par l'intermédiaire d'équipements continus ou discontinus travaillant par
lots.
Après avoir rappelé le cas discret, nous présentons les particularités des systèmes discontinus. Cette étude nous
permet de bien spécier les besoins pour la modélisation et d'étudier les extensions des réseaux de Petri pouvant
représenter des systèmes hybrides.
Ensuite, nous dénissons formellement un modèle hybride, basé sur la combinaison d'un réseau de Petri prédicatstransitions et de systèmes d'équations diérentielles algébriques : les réseaux prédicats-transitions-diérentiels.
Les interactions entre les deux outils mathématiques sont formellement dénies par l'introduction de fonctions de
sensibilisation (tests sur les variables continues) et de jonction (calculs des valeurs initiales des variables continues).
An de faciliter l'obtention d'un modèle dans le cadre des systèmes de grande taille, nous dénissons formellement
la fusion statique et la fusion dynamique de transitions dans le cadre des réseaux ordinaires et prédicats-transitionsdiérentiels. Puis nous donnons un ensemble de dénitions permettant de garantir qu'un modèle est calculable s'il
est composé de sous-modèles calculables. Il est alors possible d'avoir une approche modulaire pour l'obtention d'un
modèle. À titre d'exemple un système de stockage de gaz est présenté. Cette étude se termine par la présentation
d'un algorithme de simulation des réseaux prédicats-transitions-diérentiels.
Dans la dernière partie, nous traitons la problématique de la supervision des systèmes discontinus. Dans un
premier temps nous comparons les graphes potentiels et les réseaux de Petri, ce qui nous permet de mettre en
évidence un ensemble de contraintes venant du niveau ordonnancement et devant être pris en compte pour le
pilotage en temps-réel du système. Puis dans un second temps nous proposons une approche pour le pilotage en
temps-réel.
Mots-clés : réseaux de Petri, approche modulaire, modélisation hybride, simulation, systèmes discontinus,
graphes potentiels, pilotage en temps-réel, supervision.
Title: Supervision of batch systems: denition of a hybrid model and real-time control
Abstract: This thesis deals with the supervision of batch systems. These systems transform a continuous raw
material through continuous and batch equipments.
Beginning by a presentation of the supervision in the discrete case, it follows by the presentation of the specicities
of batch systems. From this study, the modeling requirements are specied. And the extension of Petri nets to
model hybrid systems are studied.
Then, a hybrid model is formally dened: dierential-predicate-transition nets. It is based on the coupling of a
predicate-transition net and a set of dierential algebraic equations. Interactions between the two formalisms are
formally dened by introducing enabling functions (test of continuous variables) and junction functions (compute
the initial values of continuous variables).
In order to deduce a model for large systems, static and dynamic transition merging are formally dened for
ordinary and dierential-predicate-transition nets. Then a set of restrictions, in order to guarantee that a model
can be computed if it is composed of computable sub-models, is given. It is thus possible to have a modular
approach to obtain a model. For instance a gas storage example is presented. This study is completed by a
presentation of a simulation algorithm for dierential-predicate-transition nets.
The last part deals with the supervision of batch systems. First, activity-on-arc graphs and Petri nets are
compared. A set of constraints coming from the scheduling level, and that should be taken into account for
real-time control, is then deduced. Second, an approach for supervisory control is proposed.
Keywords: Petri nets, modular approach, hybrid modeling, simulation, batch systems, activity-on-arc graphs,
supervisory control, supervision.