contribution à la commande des systèmes flexibles de...
TRANSCRIPT
No Ordre : 782
ED 363
UNIVERSITÉ D’ANGERS
ISTIA
ÉCOLE DOCTORALE D’ANGERS
2006
Thèse de DOCTORAT
Spécialité : Automatique et Informatique Appliquée
Présentée et soutenue publiquement par
Michel AL SABA
le 13 octobre 2006
à l’ISTIA - Université d’Angers
Contribution à la commande des systèmesflexibles de production manufacturière
dans l’algèbre (max,+)Jury
Président : *****************
Rapporteurs : Christian Commault, Professeur INPG, Grenoble
Jean-Jacques Loiseau, Directeur de Recherche CNRS, IRCCyN, Nantes
Examinateurs : Jean-Claude Gentina, Professeur ECL, Lille
Jean-Louis Boimond, Professeur Université d’Angers
Jan Komenda, Chargé de Recherche Institut de Mathématiques de Brno
Sébastien Lahaye, Maître de Conférences Université d’Angers
Jean-Louis Ferrier, Professeur Université d’Angers
Directeurs de thèse : Jean-Louis Boimond, Sébastien Lahaye
Laboratoire : LABORATOIRE D’INGÉNIERIE DES SYSTÈMES AUTOMATISÉS. 62, avenue Notre Dame
du Lac, F-49000 ANGERS
CONTRIBUTION À LA COMMANDE DES SYSTÈMES
FLEXIBLES DE PRODUCTION MANUFACTURIÈRE DANS
L’ALGÈBRE (MAX,+)
Michel AL SABA
./
Université d’Angers
Michel AL SABAContribution à la commande des systèmes flexibles de production manufactu-
rière dans l’algèbre (max,+)
Ce document a été préparé avec LATEX2ε et la classe these-IRIN version 0.92 de l’as-
sociation de jeunes chercheurs en informatique LOGIN, Université de Nantes. La classe
these-IRIN est disponible à l’adresse :
http://www.sciences.univ-nantes.fr/info/Login/
Résumé
Les systèmes flexibles de production manufacturière peuvent être représentés par une combinaison de
blocs appartenant à deux sous-classes de réseaux de Petri temporisés qui sont les graphes d’événements
temporisés pour modéliser des phénomènes de synchronisation, et les graphes d’état temporisés pour
modéliser des phénomènes de choix entre les ressources partagées. Le comportement des graphes d’évé-
nements temporisés peut être décrit par des équations linéaires dans l’algèbre (max,+). Etant donné un
ordonnancement, on montre qu’il est possible de représenter également les graphes d’état temporisés
comme des systèmes (max,+) linéaires. Dans une première partie, les systèmes flexibles de production
manufacturière sont décrits linéairement sous la forme de modèles de type tas, puis, dans une deuxième
partie en utilisant les modèles à commutations (max,+) linéaires. Une fois ces deux représentations
d’état (max,+) linéaires obtenues, nous proposons deux méthodes correspondantes de commande de
type juste-à-temps de ces systèmes.
Mots-clés : Systèmes flexibles de production manufacturière, réseaux de Petri temporisés, graphes d’évé-
nements temporisés, graphes d’état temporisés, commande de type juste-à-temps, algèbre (max,+), mo-
dèles de type tas, systèmes à commutations (max,+) linéaires, ordonnancement.
Abstract
Flexible manufacturing systems can be represented by a combination of blocks belonging to two timed
Petri nets subclasses which are timed event graphs to model synchronisation phenomena and timed state
graphs to model choice phenomena between shared ressources. The behavior of timed event graphs
can be described by linear equations in the (max,+) algebra. Fixing a schedule, we show that it is
possible to represent timed state graphs as well by (max,+) linear systems of equations. In a first part,
flexible manufacturing systems are described linearly based on heap models and in a second part by
using switching (max,+) linear models. Once these two (max,+) linear representations are obtained,
we propose two corresponding methods for a just in time control of these systems.
Keywords: Flexible manufacturing systems, timed Petri nets, timed event graphs, timed state graphs,
just in time control, (max,+) algebra, heap models, switching (max,+) linear systems, scheduling.
Remerciements
Le travail présenté dans ce mémoire a été préparé au Laboratoire d’Ingénierie des Systèmes Auto-
matisés dirigé par le Professeur Jean-Louis Ferrier. Je lui exprime ma profonde reconnaissance pour la
confiance qu’il m’a témoignée en m’acceptant au sein du laboratoire.
J’adresse mes sincères remerciements au Professeur Jean-Louis Boimond, et à Sébastien Lahaye
Maître de Conférences qui m’ont encadré et soutenu durant mon travail et qui n’ont jamais manqué de
m’orienter et de me conseiller. Ce travail n’aurait jamais abouti sans leurs aides. Qu’ils trouvent ici l’ex-
pression de mon respect et de ma profonde reconnaissance.
J’exprime toute ma reconnaissance à Christian Commault, Professeur à l’INPG et Jean-Jacques
Loiseau, Directeur de Recherche CNRS à l’IRCCyN, pour l’honneur qu’ils m’ont fait en acceptant de
rapporter cette thèse.
Je voudrais également remercier Jean-Claude Gentina, Professeur à l’École Centrale de Lille, et
Jan Komenda, de l’Académie des Sciences de la République Tchèque à l’Institut de Mathématiques de
Brno, de l’intérêt qu’ils ont porté à ces travaux en acceptant de les examiner.
Enfin, je remercie également les collègues du laboratoire, en particulier les doctorants, pour leur
témoignage d’amitié et pour l’ambiance de travail qu’ils ont su créer durant ces trois années.
A l’âme de mon père,
à ma mère, mes soeurs, mes frères,
et à tous ceux qui aiment de tous leurs coeurs.
Sommaire
Table des matières . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Notations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1 Préliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2 Modélisation des systèmes flexibles de production manufacturière . . . . . . . . . . . . . . . . . . . . . . . . . 41
3 Commande des systèmes flexibles de production manufacturière . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4 Extension pour la modélisation et la commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
5 Conclusion et Perspectives. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103
Bibliographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
ix
Table des matières
Table des matières 1
Notations 5
Introduction 7
1 Préliminaires 11
1.1 Réseaux de Petri, ordonnancement et commande . . . . . . . . . . . . . . . . . . . . . 11
1.1.1 Réseaux de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.1.2 Ordonnancement et commande . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.2 Dioïde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.1 Dioïde : définitions et exemples . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.2.2 La transformée en γ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.2.3 Structures ordonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.4 Moduloïde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
1.3 Théorie de la résiduation sur les dioïdes . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.3.1 Applications résiduables sur les dioïdes . . . . . . . . . . . . . . . . . . . . . . 27
1.3.2 Résiduation dans le cas matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.3.3 Résolution d’équations au point fixe dans un dioïde . . . . . . . . . . . . . . . . 30
1.4 Modèles de type tas, automates (max,+) et automates de type tas . . . . . . . . . . . . 31
1.4.1 Modèles de type tas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4.2 Automates (max,+) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.3 Automates de type tas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.5 Éléments de la théorie des systèmes linéaires . . . . . . . . . . . . . . . . . . . . . . . 35
1.5.1 Signaux et systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
1.5.2 Opérations sur les systèmes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2 Modélisation des systèmes flexibles de production manufacturière 41
2.1 Systèmes flexibles de production manufacturière . . . . . . . . . . . . . . . . . . . . . 43
2.2 Modélisation des graphes d’événements temporisés . . . . . . . . . . . . . . . . . . . . 45
2.2.1 Représentation d’état des graphes d’événements temporisés . . . . . . . . . . . 46
2.2.2 Forme récurrente explicite de la représentation d’état . . . . . . . . . . . . . . . 47
1
2 TABLE DES MATIÈRES
2.2.3 Réponse impulsionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
2.3 Modélisation des systèmes flexibles de production manufacturière en utilisant des sys-
tèmes à commutations (max,+) linéaires . . . . . . . . . . . . . . . . . . . . . . . . . 51
2.3.1 Représentation d’état des systèmes à commutations (max,+) linéaires . . . . . 51
2.3.2 Réponse des systèmes à commutations (max,+) linéaires . . . . . . . . . . . . 57
2.4 Modélisation des systèmes flexibles de production manufacturière en utilisant la théorie
des tas de pièces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.4.1 Représentation de réseaux de Petri temporisés saufs par des modèles de type tas
de pièces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
2.4.2 Représentation d’état des graphes d’état temporisés saufs . . . . . . . . . . . . . 61
2.4.3 Modélisation des systèmes flexibles de production manufacturière . . . . . . . . 66
2.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
3 Commande des systèmes flexibles de production manufacturière 69
3.1 Commande des systèmes pouvant être représentés par des graphes d’événements tempo-
risés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
3.2 Commande optimale des systèmes à commutations (max,+) linéaires . . . . . . . . . . 72
3.2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3.2.2 Commande de type juste-à-temps des systèmes à commutations (max,+) linéaires 73
3.2.3 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.3 Commande des systèmes pouvant être représentés par des graphes d’état temporisés saufs
auxquels sont associées des transitions d’entrée . . . . . . . . . . . . . . . . . . . . . . 76
3.4 Commande des systèmes flexibles de production manufacturière . . . . . . . . . . . . . 78
3.4.1 Cas des systèmes composés de sous-systèmes découplés . . . . . . . . . . . . . 78
3.4.2 Cas des sous-systèmes couplés . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3.4.3 Application numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.5 Etude de la complexité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4 Extension pour la modélisation et la commande 91
4.1 Rejet de perturbations pour des systèmes représentés par des graphes d’événements tem-
porisés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
4.2 Rejet de perturbations pour des systèmes représentés par des graphes d’état temporisés . 95
4.2.1 Tas de pièces associés à un graphe d’état temporisé comportant une entrée de
perturbation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
Notations 3
4.2.2 Commande optimale des systèmes représentés par des graphes d’état temporisés
saufs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5 Conclusion et Perspectives 103
Bibliographie 105
NotationsSED : système à événements discret.
SFPM : système flexible de production manufacturière.
T : ensemble fini non vide de lettres ou d’étiquettes (transitions d’un réseau de Petri ou pièces
dans un tas de pièces).
P : ensemble fini non vide de places d’un réseau de Petri.
R : ensemble fini non vide d’emplacements (slots).
mp : nombre de jetons initialement contenus dans la place p.
τp : durée minimale de séjour d’un jeton dans la place p.
GEvT : graphe d’événements temporisé.
GEtT : graphe d’état temporisé.
⊕ : addition dans un dioïde.
⊗ : multiplication dans un dioïde.
Rmax : algèbre (R ∪ {−∞},max,+).
Rmax : algèbre (R ∪ {±∞},max,+).
¹ : relation d’ordre liée à un dioïde.
a∗ : étoile de Kleene.
xq(k) : variable dateur du k-ième franchissement de la transition q.
xp(k) : variable dateur de la disponibilité du k-ième jeton dans la place p.
f ] : application résiduée de f .
f [ : application dualement résiduée de f .
La : produit à gauche par a, La(x) = a⊗ x.
Ra : produit à droite par a, Ra(x) = x⊗ a.
a◦\b : notation utilisée pour représenter L]a(b).
b◦/a : notation utilisée pour représenter R]a(b).
UJAT : commande optimale vis-à-vis du critère de juste-à-temps.
Φ(k, j) : matrice de transition d’un système relativement aux modèles à commutations (max,+)
linéaires.
5
6 Notations
h : réponse impulsionnelle d’un système relativement aux modèles à commutations (max,+)
linéaires.
Φ(j, k) : matrice de transition d’un système relativement aux modèles de type tas.
h : réponse impulsionnelle d’un système relativement aux modèles de type tas.
xG(ω) : variable dateur relative à un réseau de Petri à l’issue du mot ω.
xH(ω) : variable dateur relative à un modèle de type tas à l’issue du mot ω.
Introduction
Les systèmes à événements discrets (SED) recouvrent plusieurs domaines d’applications tels que les
systèmes flexibles de production manufacturière (SFPM), la logistique, les systèmes de transport, les ré-
seaux de télécommunication, les systèmes informatiques, etc. Ces systèmes se définissent par des espaces
d’états discrets dans lesquels toutes les variables d’état prennent leurs valeurs dans un ensemble dénom-
brable, et des évolutions provoquées par des transitions d’état. On nomme trajectoires les successions
d’état. Plusieurs approches sont proposées afin de maîtriser la complexité croissante de la conception, de
l’analyse et du pilotage de ces systèmes.
Une approche courante pour l’étude des SED consiste à ignorer la valeur explicite du temps et à s’in-
téresser uniquement à l’ordre d’occurrence des événements. Les modèles non temporisés ainsi obtenus
sont généralement élaborés à l’aide d’automates à états finis, de grafcets, de Réseaux de Petri (RdP), etc.
Une commande par supervision est proposée dans [Wonham, 2006] pour les automates. Pour certaines
applications, l’aspect temporel est crucial et doit être intégré au modèle de manière à spécifier les trajec-
toires des événements au cours du temps. Ces informations peuvent être représentées par des modèles
temporisés non stochastiques (automates temporisés, RdP Temporisés (RdPT), etc.) pour lesquels les
durées des activités sont connues a priori, ou des modèles temporisés stochastiques (chaînes de Markov,
réseaux de files d’attentes, RdP stochastiques) pour lesquels les durées des activités sont basées sur des
hypothèses statistiques.
Dans ce mémoire, nous étudions les SFPM représentés par des modèles temporisés non stochas-
tiques, plus précisément des RdPT. De tels modèles permettent de modéliser, avec un seul formalisme,
les contraintes fonctionnelles, temporelles et logistiques (ressources), et notamment de modéliser de ma-
nière simple les phénomènes de synchronisation et de partage de ressources, souvent présents dans les
SFPM.
Depuis plusieurs décennies, le monde de l’industrie est soumis à une évolution sensible du contexte
économique due à une forte concurrence et aux variations de la consommation, lesquelles exigent une
adaptation rapide de la production. Pour cela, les entreprises ont évolué en adoptant de nouvelles straté-
gies de pilotage des systèmes de production. C’est, par exemple, le cas avec l’apparition des notions de
"flux tendu" et de "flux tiré" dans un objectif de réduire au minimum les en-cours de production. Une
stratégie complémentaire consiste à concevoir des machines de moins en moins spécialisées, permettant
ainsi d’introduire de la flexibilité au sein des ateliers de production. Le pilotage d’ateliers flexibles pose
deux problèmes clés, souvent considérés séparément, tout d’abord l’ordonnancement des tâches sur les
machines, en vue de répartir "au mieux" les capacités de production des systèmes par rapport à la pro-
7
8 Introduction
duction envisagée, puis le calcul d’une commande de type juste-à-temps, visant à minimiser les en-cours
en retardant "au mieux" la production.
Au début des années 80, une théorie, permettant l’étude d’une catégorie de SED, a vu le jour. Cette
théorie concerne une sous-classe de RdPT, appelés graphes d’événements temporisés (GEvT), caracté-
risés par des phénomènes de saturation et de synchronisation. Il s’avère que l’évolution de l’état de ces
graphes est représentée par des équations linéaires dans une structure algébrique particulière, appelée
l’algèbre (max,+), ce qui rend cette théorie particulièrement appréciée des automaticiens.
Une théorie dite des tas de pièces est proposée dans les années 90 (voir l’article de référence
[Gaubert and Mairesse, 1999]). Cette théorie permet d’étendre, dans une algèbre de type (max,+), la
modélisation aux RdPT à choix libre (et donc de prendre en compte des phénomènes de conflit) mais
toutefois saufs (c-à-d 1-borné).
Ce travail de thèse a pour objectif d’apporter des éléments de réponse aux interrogations émises no-
tamment dans la conclusion de l’article [Gaubert and Mairesse, 1999] à propos d’une part de l’extension
des systèmes pouvant être modélisés par cette méthode et d’autre part le développement des heuristiques
pour l’ordonnancement [Brucker, 2001]. Il a été montré dans l’article [Gaubert and Mairesse, 1999] que
les modèles de type tas sont efficaces pour traiter les problèmes d’évaluation de performance (notam-
ment à travers le calcul du makespan) dans les systèmes de production tels que les jobshops. Les travaux
présentés dans ce mémoire visent à proposer des méthodes de modélisation et de pilotage des SFPM re-
présentés par des RdPT. Dans un premier temps, les SFPM sont représentés par une composition de
blocs appartenant à deux sous-classes de RdPT : les graphes d’événements temporisés (GEvT) non
nécessairement saufs et les graphes d’état temporisés (GEtT) saufs, sachant que ces types de graphes
admettent, chacun dans des dioïdes différents, des représentations (max,+) linéaires. A partir de ces
modèles, nous proposons une commande de type juste-à-temps reposant sur une heuristique d’ordonnan-
cement local, à la fois simple et efficace. En parallèle, des travaux sont développés afin de modéliser des
SFPM où interviennent des changements de mode. Pour cela, nous considérons les systèmes à commu-
tations (max,+) linéaires présentés dans [Van Den Boom and De Schutter, 2004], et développons, dans
ce cadre, une commande également de type juste-à-temps.
Ce mémoire est composé de quatre chapitres :
• Dans le premier chapitre, nous présentons les RdPT, et plus particulièrement deux sous-classes
complémentaires, à savoir les GEvT qui modélisent des phénomènes de saturation et de synchro-
nisation, et les GEtT qui modélisent des phénomènes de conflit. Une heuristique est décrite pour
apporter une solution à un problème d’ordonnancement d’une ressource dans un GEtT, un schéma
de commande en est déduit. Il s’ensuit un ensemble de définitions, de notations et de résultats
relatifs à l’algèbre (max,+), également appelée algèbre des dioïdes. Une partie du chapitre est
consacrée à la théorie de la résiduation, laquelle propose des solutions alternatives au problème
Introduction 9
d’inversion d’applications isotones définies sur des dioïdes. La théorie des tas de pièces est présen-
tée, les automates (max,+) et plus particulièrement les automates de type tas sont décrits. Enfin,
nous explicitons quelques éléments de la théorie des systèmes linéaires dans l’algèbre (max,+).
• Le deuxième chapitre est consacré à la présentation des systèmes flexibles de production manu-
facturière (SFPM) et à leurs modèles sous forme de RdPT. Notre approche consiste à décomposer
le RdPT modélisant un SFPM en différents GEvT et GEtT. Concernant les GEvT, nous rappelons
la méthode habituelle permettant de déduire la forme récurrente explicite de leur représentation
d’état dans l’algèbre (max,+). Puis nous abordons la représentation des GEtT par des modèles de
type tas. Un deuxième mode de représentation est basé sur la théorie des systèmes à commutations
(max,+) linéaires, lesquels sont bien adaptés pour exprimer des changements de comportement.
• Le troisième chapitre a trait à la synthèse de commande de type juste-à-temps des SFPM dans
l’algèbre (max,+).
– La première méthode est inspirée des travaux présentés dans [Lahaye, 2000] et propose une
commande de type juste-à-temps des systèmes à commutations (max,+) linéaires pouvant mo-
déliser des SFPM.
– La deuxième méthode repose sur les travaux présentés dans [Gaubert and Mairesse, 1999]. Avant
de traiter de la commande des SFPM, on s’intéresse à la commande des systèmes représentés
par des GEtT comportant une ressource partagée. Cette étude est, à notre connaissance, origi-
nale dans le cadre de l’algèbre (max,+). La loi de commande appliquée sur de tels GEtT est
telle que l’ordonnancement de la ressource partagée est réalisé en fonction des dates croissantes
d’achèvement des tâches souhaitées, ces tâches étant indiquées par une entrée de référence.
Cette règle est appelée la règle Earliest Due Date (EDD) ou la règle de Jackson. Deux types de
SFPM sont considérés, le premier concerne les systèmes comportant un relatif découplage entre
les sous-systèmes GEvT et GEtT, l’autre permet de considérer des sous-systèmes subissant une
influence mutuelle.
• Le quatrième chapitre a pour but de montrer les possibilités et perspectives des travaux proposés
dans le domaine de la commande des SED représentés par des modèles RdPT. A titre d’exemple,
nous proposons de reprendre une méthode de commande capable de prendre en compte des per-
turbations dans le cadre des GEvT, en l’appliquant à des GEtT.
• Une synthèse sur le travail réalisé est proposée en conclusion, des perspectives de recherche sont
présentées.
CHAPITRE 1Préliminaires
Ce chapitre a pour objectif de définir le cadre général des travaux proposés et d’expliciter certains
outils algébriques utilisés dans ce mémoire. Nous présentons brièvement, dans la première partie, les
réseaux de Petri et une heuristique pour gérer un problème d’ordonnancement, un schéma global du
pilotage de ces systèmes est ensuite esquissé. La deuxième partie présente un ensemble de définitions,
de notations et de résultats relatifs à l’algèbre des dioïdes. Nous rappellons qu’un dioïde, de par la pro-
priété d’idempotence de la loi additive est une structure algébrique que l’on peut munir d’une relation
d’ordre. La troisième partie est consacrée à la théorie de la résiduation qui est une alternative au pro-
blème d’inversion de certaines applications isotones définies sur des dioïdes, ce qui est important pour
la synthèse de commande en boucle ouverte, laquelle peut s’interpréter comme une inversion de modèle.
La quatrième partie de ce chapitre présente la théorie des tas de pièces, sont introduits les automates
(max,+) et les automates de type tas (comme un cas particulier) dans le but de modéliser des structures
de conflit au niveau des ressources partagées des systèmes flexibles de production manufacturière. Enfin,
nous explicitons quelques éléments de la théorie des systèmes linéaires dans l’algèbre (max,+).
1.1 Réseaux de Petri, ordonnancement et commande
1.1.1 Réseaux de Petri
Les réseaux de Petri (RdP) sont un outil graphique et mathématique, introduit en 1962 par Carl Adam
Petri [Petri, 1962]. Ils permettent la modélisation d’un grand nombre de SED. Ils sont particulièrement
adaptés à l’étude des processus complexes mettant en jeu des propriétés de synchronisme et de partage
de ressources.
L’étude du comportement au cours du temps des systèmes dynamiques, notamment l’évaluation de
leur performance (temps de cycle, ...), a conduit à associer la notion de temps aux modèles de type RdP.
Plusieurs modèles RdP intégrant le temps ont été proposés. Ces modèles peuvent être regroupés en deux
classes : les modèles déterministes et les modèles stochastiques. Les premiers considèrent des valeurs dé-
terministes pour les durées d’activité, alors que les seconds considèrent des valeurs probabilistes. Parmi
les RdP temporisés, on peut citer : les RdP temporels [Merlin, 1979] qui associent un intervalle tem-
porel à chaque transition ou à chaque place, les RdP T-temporisés [David and Alla, 1992] qui associent
11
12 CHAPITRE 1 — Préliminaires
une constante positive (appelée durée de franchissement minimum) à chaque transition et les RdP P-
temporisés [David and Alla, 1992, Hillion, 1989] qui associent une constante positive (appelée temps de
séjour minimum) à chaque place du graphe. Il a été montré que les RdP P-temporisés peuvent se ramener
à des réseaux T-temporisés et inversement [Murata, 1989]. Le choix de l’un de ces modèles temporisés
est donc arbitraire. Par souci d’homogénéité avec les travaux réalisés dans l’algèbre des dioïdes, nous
considérons par la suite seulement des RdP P-Temporisés (notés RdPT). Les définitions suivantes sont
issues de [Murata, 1989].
Définition 1.1. Un RdPT est un 5-uplet G = (T ,P,F ,M, τ), où :
1. T est un ensemble fini de transitions,
2. P est un ensemble fini de places,
3. F ⊆ (P × T ) ∪ (T × P) est une relation entre les places et les transitions (un ensemble d’arcs),
4. M : P → N est une application telle que M(p) est le marquage initial de la place p,
5. τ : P → R+ est une application telle que τ(p), notée τp, est le temps de séjour minimum d’un
jeton dans la place p.
Un RdP est représenté traditionnellement par un graphe orienté bipartite avec deux types de noeuds :
des places représentées par des cercles et des transitions représentées par des traits. Un élément de F est
un arc joignant une place à une transition et inversement d’où les expressions "places d’entrée d’une tran-
sition", "transitions de sortie d’une place". Nous notons x• (resp., •x) l’ensemble des successeurs (resp.,
prédécesseurs) immédiats du noeud, de type place ou transition, x. Le marquage M(p) est représenté
par M(p) jetons dans la place p. Un RdP est un système dynamique dont la structure n’est pas modifiée
mais dont le marquage M évolue selon la règle suivante. Supposons que la transition Ti soit franchis-
sable à l’instant t (c.-à-d. il y a au moins un jeton disponible dans chacune de ses places d’entrée), le
franchissement de la transition Ti se déroule en deux étapes :
1. A l’instant t, un jeton est retiré de chaque place ∈ •Ti.
2. A l’instant t, un jeton est ajouté dans chaque place p ∈ T •i . Ce jeton peut contribuer au franchis-
sement des transitions appartenant à p• après l’instant t+ τp, où τp correspond au temps de séjour
minimum d’un jeton dans la place p.
Notons que cette règle de franchissement correspond à un fonctionnement au plus tôt des RdPT.
On dit qu’un mot ω = a1a2...an ∈ T ∗ (T ∗ est l’ensemble des mots finis sur l’alphabet T , où une
lettre correspond à une transition) est une séquence de franchissement commençant par un marquage M ′
et atteignant un marquage M ′′ s’il existe une séquence de marquages M ′ = M0,M1, ...,Mn = M ′′
telle que la transition ai est franchissable pour le marquage Mi−1 et son franchissement donne lieu à
CHAPITRE 1 — Préliminaires 13
un nouveau marquage Mi. Le marquage M ′′ est dit atteignable, soit R(M ′) l’ensemble des marquages
atteignables à partir du marquage M ′.
Le langage du réseau de Petri G est l’ensemble L ⊂ T ∗ des séquences de franchissement de transi-
tions commençant par le marquage initial M et se terminant par un marquage atteignable.
Définition 1.2. Un RdP G avec un langage L est :
1. vivant si ∀ ω ∈ L, ∀ t ∈ T , ∃ u ∈ T ∗, tel que ωut ∈ L, c.-à-d. quels que soient les franchissements
antérieurs (ω), il est possible de trouver une séquence de franchissement (u) à partir de l’étape
courante et contenant la transition t ;
2. borné si ∃ k ∈ N tel que ∀M ′ ∈ R(M), ∀ p ∈ P,M ′(p) ≤ k ;
3. sauf (1-borné) si chaque place contient au plus un jeton : ∀M ′ ∈ R(M), ∀ p ∈ P,M ′(p) ≤ 1.
Rappelons quelques sous-classes classiques de RdPT.
1. Les graphes d’événements temporisés (GEvT) sont des RdPT tels que | •p | = | p• | = 1 pour tout
p ∈ P (voir un exemple sur la figure suivante
décrite en détail page 46).
2. Les graphes d’état temporisés (GEtT) sont des RdPT tels que ∀t ∈ T , | •t | = | t• | = 1 (voir un
exemple dans la figure 1.2, page 14).
3. Les RdPT à choix libre (CL) sont tels que ∀ p, q ∈ P, p• ∩ q• 6= φ⇒ p• = q•, ce qui correspond
à la définition des réseaux à choix libre étendus dans la littérature (voir un exemple dans la figure
1.1 où deux cas sont considérés : (I) RdP non à choix libre car p• ∩ q• = {b} et p• 6= q•, (II) RdP
à choix libre car p• ∩ q• = {a, b} et p• = q•).
On a les inclusions suivantes [Gaubert and Mairesse, 1999] : GEvT ⊂ graphes à CL et GEtT ⊂graphes à CL.
Exemple 1.3. Le RdPT représenté sur la figure 1.2 est un GEtT vivant et sauf. Son langage est L =
(I1O1 ∪ I2O2)∗(e ∪ I1 ∪ I2).
Les notions de base de parallélisme, de choix et de synchronisation sont illustrées sur la figure 1.3.
Pour le cas (I), les transitions a et b sont franchissables simultanément et indépendamment. Pour le cas
14 CHAPITRE 1 — Préliminaires
(I) (II)
ab b
a c
pp
Figure 1.1 – (I) RdP non à choix libre, (II) RdP à choix libre.
I1 I2
O2O1
P
P1 P2
t
t2
t1
Pièce 1 Pièce 2
Figure 1.2 – Un GEtT élémentaire.
(II), il y a un conflit, ou un choix, entre les franchissements des transitions a et b. Pour le cas (III),
il y a une synchronisation au niveau de la transition a. Nous remarquons que les GEtT permettent les
phénomènes de choix alors que les GEvT permettent les phénomènes de synchronisation.
(I) (II) (III)
a a ab b
P1 P2P
P1 P2
Figure 1.3 – Notions de base dans les RdP.
1.1.2 Ordonnancement et commande
"Un problème d’ordonnancement peut être vu de manière très large comme l’allocation dans le temps
de ressources en vue d’exécuter des tâches faisant partie d’un processus" [Blazewicz et al., 1996]. Dans
un atelier de production, les ressources sont souvent des machines, les travaux sont composés d’opéra-
tions. Dans les problèmes les plus simples, deux opérations d’un même travail ne peuvent pas s’exécuter
simultanément et une machine mono-serveur ne peut exécuter qu’une opération à la fois. Pour un travail
donné, l’ordre d’exécution des opérations, c.-à-d. l’ordre de passage du travail sur les machines, définit
CHAPITRE 1 — Préliminaires 15
sa gamme. Si l’ordre est libre, on parle d’un openshop, s’il est fixé, on parle d’un jobshop, s’il est fixé et
tous les travaux suivent le même parcours sur les machines, on parle d’un flowshop. Les jobshops avec
des machines multi-serveurs sont un cas particulier des systèmes flexibles de production considérés ul-
térieurement. Un ordonnancement est une solution satisfaisant toutes les contraintes de ce problème. En
général plusieurs ordonnancements sont possibles, ils sont souvent départagés à l’aide de critères sup-
plémentaires à optimiser. Le critère le plus répandu est la durée totale de l’ordonnancement (makespan),
noté Cmax, qui est égale à la plus grande date d’achèvement de l’ensemble des opérations (la date de
début de production étant supposée nulle). Le critère utilisé dans ce manuscrit se base sur la notion du
retard algébrique (lateness). Le retard algébrique relatif à une tâche i correspond à Li = Ci − di où Ci
est la date de fin d’exécution de la tâche i (completion time) et di est la date d’achèvement souhaitée de
la tâche i (due date).
Dans ce mémoire, on utilise la règle d’ordonnancement des tâches communément appelée Earliest
Due Date (EDD), ou règle de Jackson [Jackson, 1955]. Cette règle est reconnue pour sa simplicité et
pour fournir des résultats généralement correts lorsque le critère à optimiser porte sur le retard algé-
brique. Cette règle consiste à considerer successivement les tâches par dates croissantes d’achèvement
souhaitées. Appliquée sur le GEtT élémentaire décrit par la figure 1.2, où sont seulement représentés
deux types de tâches pour des raisons de clarté, cette règle d’ordonnancement est obtenue en rangeant
simplement les tâches I1O1 (resp., I2O2) correspondant aux traitements d’une pièce 1 (resp., pièce 2)
par ordre de dates croissantes d’achèvement souhaitées (indiquées par une entrée de référence).
L’ordonnancement EDD utilisé dans ce manuscrit est local, réactif et détermine la commande selon
la figure 1.4 suivante :
16 CHAPITRE 1 — Préliminaires
Figure 1.4 – Gestion d’une chaîne de production.
qui montre les fonctions de base de gestion d’une chaîne de production (système) et où se situe
l’ordonnancement réactif.
Nous traitons de la commande de type Juste-A-Temps (JAT) des SFPM (dont un exemple est consi-
déré dans la figure 2.1, page 45). L’objectif est le suivant : étant données les dates de franchissement
souhaitées des transitions de sortie, définies par la fonction dateur1 Z = {z(k)}k=0,...,kf , il s’agit de
trouver les dates de franchissement au plus tard des transitions d’entrée U = {u(k)}k=0,...,kf telles que
les franchissements des transitions de sortie Y = {y(k)}k=0,...,kf se produisent avant les dates souhai-
tées2. Dans un contexte de production, une telle commande revient à satisfaire la demande des clients
tout en minimisant les stocks internes.
1A chaque transition est associée une variable dateur désignant les dates successives de tir de la transition.2Ces dateurs sont généralement dans R et les applications numériques considérées dans ce manuscrit ont des valeurs dans
Z pour la simplicité avec kf fini souvent.
CHAPITRE 1 — Préliminaires 17
Il est connu que le calcul d’une commande optimale vis-à-vis du critère de JAT pour le type de sys-
tèmes considérés n’est pas possible en pratique, dans les délais de production envisagés dans la plupart
des systèmes complexes réels, du fait du problème d’ordonnancement des ressources partagées. Ce pro-
blème, analogue à celui de l’ordonnancement d’un atelier de type jobshop, est NP-difficile lorsqu’une
ressource est partagée par plus de trois tâches [Sotskov, 1991]. La solution alternative pour gérer les res-
sources partagées, est d’utiliser la règle d’ordonnancement locale EDD ce qui mène, grâce à sa simplicité,
à des calculs effectués rapidement dans les meilleurs délais.
1.2 Dioïde
Cette section rappelle certaines définitions et propriétés propres à la structure algébrique d’un dioïde.
Pour une présentation plus détaillée, le lecteur est invité à consulter l’ouvrage [Baccelli et al., 1992] et
la thèse de doctorat de Stéphane Gaubert [Gaubert, 1992].
1.2.1 Dioïde : définitions et exemples
Définition 1.4 (Demi-anneau). On appelle demi-anneau un ensemble D muni de deux lois internes ⊕et ⊗ telles que :
• la loi additive, notée⊕, est associative et commutative, elle admet un élément neutre, noté ε, appelé
élément zéro, tel que ∀a ∈ D, a⊕ ε = ε⊕ a = a ;
• la loi multiplicative, notée ⊗, est associative, elle admet un élément neutre, noté e, appelé élément
identité, tel que ∀a ∈ D, a⊗ e = e⊗ a = a ;
• la loi multiplicative ⊗ est distributive à gauche et à droite par rapport à la loi additive ⊕ :
∀a, b, c ∈ D, (a⊕ b)⊗ c = (a⊗ c)⊕ (b⊗ c) et c⊗ (a⊕ b) = (c⊗ a)⊕ (c⊗ b) ;
• l’élément zéro est absorbant pour la multiplication : ∀a ∈ D, a⊗ ε = ε⊗ a = ε.
Définition 1.5 (Dioïde). (D,⊕,⊗) est un demi anneau idempotent, également appelé dioïde, lorsque la
loi additive est idempotente, c.-à-d. ∀a ∈ D, a⊕ a = a.
On dit qu’un dioïde est commutatif si la loi ⊗ est commutative. Comme dans l’algèbre classique,
on note a ⊗ b par ab lorsqu’il n’y a pas d’ambiguïté possible. Notons que le terme a⊗k, également noté
ak, k ∈ N lorsqu’il n’y a pas d’ambiguïté, désigne le produit a⊗ a...⊗ a︸ ︷︷ ︸k fois
, sachant que a0 = e.
Exemple 1.6. (Dioïdes Rmax,Rmin)
18 CHAPITRE 1 — Préliminaires
• Rmax = (R ∪ {−∞},max,+) est un dioïde commutatif où la loi additive ⊕ correspond à l’opé-
ration max usuelle, la loi multiplicative ⊗ est équivalente à l’addition usuelle, et pour lequel
ε = −∞ et e = 0. Ce dioïde est appelé l’algèbre (max,+).
• Rmin = (R ∪ {+∞},min,+) est un dioïde commutatif où la loi additive ⊕ correspond à l’opéra-
tion min usuelle, la loi multiplicative ⊗ est équivalente à l’addition usuelle, ε = +∞ et e = 0. Ce
dioïde est appelé l’algèbre (min,+).
Exemple 1.7 (Dioïde matriciel). L’ensemble des matrices carrées de dimension n, à coefficients dans
un dioïde (D,⊕,⊗), est un dioïde matriciel, noté (Dn×n,⊕,⊗), où les opérations sont définies, à partir
des opérations du dioïde (D,⊕,⊗) (de manière analogue à l’algèbre classique), de la façon suivante :
∀A,B ∈ Dn×n;A⊕B : (A⊕B)ij = Aij ⊕Bij , ∀i, j = 1, ..., n,
A⊗B : (A⊗B)ij =n⊕
k=1
Aik ⊗Bkj , ∀i, j = 1, ..., n.
L’élément identité de Dn×n est la matrice, notée Idn, composée de e sur la diagonale et de ε partout
ailleurs. L’élément zéro, noté ε, est la matrice composée exclusivement de ε.
La somme et le produit de deux matrices de dimensions compatibles, non nécessairement carrées,
peuvent être définis de la façon suivante :
A ∈ Dn×p, B ∈ Dn×p; A⊕B : (A⊕B)ij = Aij ⊕Bij , ∀i = 1, ..., n, ∀j = 1, ..., p,
C ∈ Dn×p, D ∈ Dp×q; C ⊗D : (C ⊗D)ij =
p⊕
k=1
Aik ⊗Bkj , ∀i = 1, ..., n, ∀j = 1, ..., q.
Pour que ces matrices puissent être manipulées, en toute rigueur, comme des éléments d’un dioïde
matriciel, il faut considérer qu’elles appartiennent au dioïde de matrices carrées de dimensionmax(n, p, q),
en les complétant, si nécessaire, pour cela de lignes et/ou de colonnes constituées de l’élément ε.
Exemple 1.8 (Dioïde de séries formelles). Soit (D,⊕,⊗) un dioïde, on définit une série formelle en
q variables, notées p1 à pq, à coefficients dans D comme une application Π de Zq dans D : ∀κ =
(κ1,...,κq) ∈ Zq, Π(κ) représente le coefficient de pκ1
1 ...pκqq . Une autre représentation équivalente de la
série Π est :
Π =⊕
κ∈Zq
Π(κ1, ..., κq) pκ1
1 ...pκqq .
L’ensemble des séries formelles muni des opérations :
CHAPITRE 1 — Préliminaires 19
Π⊕Ψ : (Π⊕Ψ)(κ) = Π(κ)⊕Ψ(κ),
Π⊗Ψ : (Π⊗Ψ)(κ) =⊕
i+j=κ
Π(i)⊗Ψ(j),
est un dioïde, noté D[[p1, ..., pq]].
On appelle support de la série formelle Π l’ensemble :
Supp(Π) = {κ ∈ Zq | Π(κ) 6= ε}.
Une série formelle à support fini est appelée polynôme. Une série formelle dont le support est un
singleton (de Zq) est appelée monôme.
Définition 1.9 (Sous dioïde). Soient (D,⊕,⊗) un dioïde et un ensemble C ⊂ D, (C,⊕,⊗) est un sous
dioïde de (D,⊕,⊗) si :
• ε ∈ C et e ∈ C,
• C est fermé pour les lois ⊕ et ⊗.
Exemple 1.10 (Dioïdes Zmax, Zmin). Les dioïdes Zmax = (Z ∪ {−∞},max,+) et Zmin = (Z ∪{+∞},min,+) sont respectivement des sous dioïdes de Rmax et Rmin.
Remarque 1.11. Il faut noter qu’un sous-ensemble C peut être un dioïde sans être un sous-dioïde de D.
Définition 1.12 (Dioïde complet). Un dioïde (D,⊕,⊗) est complet si :
• il est fermé pour les sommes infinies,
• la loi ⊗ distribue sur les sommes infinies, c.-à-d. si pour tout a ∈ D et tout sous-ensemble B ⊆ D,
a⊗ (⊕
b∈B
b) =⊕
b∈B
(a⊗ b) et (⊕
b∈B
b)⊗ a =⊕
b∈B
(b⊗ a).
Un dioïde complet admet un élément maximum⊕a∈D
a, que l’on notera > pour Top.
L’élément > est absorbant pour l’addition, autrement dit, ∀a ∈ D, T ⊕ a = T.
Notons que, d’après la définition d’un dioïde, l’élément zéro ε est absorbant pour la multiplication pour
tout élément de D, aussi, on a : T ⊗ ε = ε⊗ T = ε.
Exemple 1.13. On vérifie facilement que les dioïdes suivants sont complets :
• (R ∪ {−∞,+∞},max,+) avec ε = −∞, e = 0 et T = +∞ est un dioïde noté Rmax. On a la
règle suivante :
(−∞) + (+∞) = (−∞).
20 CHAPITRE 1 — Préliminaires
• (R ∪ {−∞,+∞},min,+) avec ε = +∞, e = 0 et T = −∞ est un dioïde noté Rmin. On a la
règle suivante :
(−∞) + (+∞) = (+∞).
1.2.2 La transformée en γ
Les techniques de transformation jouent un rôle important dans l’étude des systèmes linéaires in-
variants. C’est le cas des transformées de Fourier ou Laplace pour les systèmes en temps continu de
la transformée en z pour les systèmes en temps discret. La transformée en γ, dont on rappelle ici la
définition, joue un rôle analogue à la transformée en z. En effet, elle permet de transformer les sup-
convolutions en des produits de séries formelles. La structure algébrique qu’il convient d’utiliser pour
une telle représentation est celle d’un dioïde de séries formelles.
Définition 1.14 (Transformée en γ). Pour un dateur {d(k)}k∈Z, la transformée en γ, notée D(γ), est
définie comme la série formelle
D(γ) =⊕
k∈Z
d(k)γk.
Supposons deux dateurs liés par la relation x1(k) = x2(k−n0), ce qui peut correspondre, en termes
de graphe, à deux transitions séparées par une place contenant n0 jetons. Il en résulte la relation en γ
suivante :X1(γ) =
⊕
k∈Z
x1(k)γk
=⊕
k∈Z
x2(k − n0)γk
= γn0
⊕
k∈Z
x2(k − n0)γ(k−n0)
= γn0X2(γ).
Il apparaît que multiplier une série en γ par γn0 revient à décaler la séquence de n0 unités. Il est donc
possible d’interpréter l’opérateur γ comme un opérateur de décalage "événementiel", ce que l’on écrit
parfois γx(k) = x(k − 1), ceci est illustré par la figure 1.5.
Figure 1.5 – Opérateur de décalage "événementiel".
Remarque 1.15 (Dioïde Zmax[[γ]]). Un ensemble de séries formelles à coefficients sur un dioïde complet
peut également être muni d’une structure de dioïde complet dont la loi⊕ est la somme de séries formelles
CHAPITRE 1 — Préliminaires 21
et la loi ⊗ est le produit de séries formelles. La transformée en γ des dateurs peut donc être considérée
comme appartenant à un dioïde de séries formelles en γ.
Nous noterons Zmax[[γ]] le dioïde complet des séries formelles en γ à coefficients dans Zmax et
à exposants dans Z. L’élément neutre de l’addition de Zmax[[γ]] est la série ε(γ) =⊕
k∈Zεγk (où
ε = −∞ est l’élément neutre de l’addition dans Zmax) et l’élément neutre de la multiplication est la
série e(γ) = eγ0 (où e = 0 est l’élément neutre de la multiplication de Zmax).
1.2.2.1 Propriétés de la transformée en γ
Linéarité : La linéarité de la transformation en γ signifie que la transformée d’une séquence obtenue
par combinaison linéaire d’autres séquences correspond à la combinaison linéaire (au sens du dioïde) des
transformées correspondantes. Autrement dit, ∀a, b non nuls, si :
x(k) = ax1(k)⊕ bx2(k)
alors on a :X(γ) =
⊕
k∈Z
x(k)γk
= a
(⊕
k∈Z
x1(k)γk
)⊕ b
(⊕
k∈Z
x2(k)γk
)
= aX1(γ)⊕ bX2(γ).
Convolution : Si y est obtenu par convolution de x et g, on a :
y(k) =⊕
i∈Z
x(i)⊗ g(k − i).
La transformée en γ de y(k), soit Y (γ), est obtenue par
Y (γ) =⊕
k∈Z
y(k)γk
=⊕
k∈Z
[⊕
i∈Z
x(i)⊗ g(k − i)]γk
=
[⊕
i∈Z
x(i)γi
]⊗[⊕
k∈Z
g(k − i)γ(k−i)
]
= X(γ)⊗G(γ).
1.2.3 Structures ordonnées
Cette section présente les bases de la théorie des treillis. Les treillis sont des concepts mathématiques
que l’on peut manipuler en tant qu’ensembles ordonnés ou en tant que structures algébriques. Les treillis
22 CHAPITRE 1 — Préliminaires
ont été amplement étudiés dans la littérature, nous invitons le lecteur à consulter [Birkhoff, 1940] pour
plus de détails. Des rappels sur la théorie des treillis sont également donnés dans [Baccelli et al., 1992]
et [Blyth and Janowitz, 1972].
L’idempotence de la loi additive ⊕ permet de définir une relation d’ordre, notée ¹, dans un dioïde.
En effet, soit (D,⊕,⊗) un dioïde, alors la relation ¹ définie par :
a ¹ b⇔ b = a⊕ b
est une relation d’ordre. En effet :
• a⊕ a = a du fait de l’idempotence de la loi ⊕, d’où a ¹ a (réflexivité),
• si a ¹ b et b ¹ a alors b = a⊕ b et a = b⊕ a, d’où a = b (antisymétrie),
• si a ¹ b et b ¹ c alors b = a⊕ b et c = b⊕ c, d’où c = b⊕ c = (a⊕ b)⊕ c = a⊕ (b⊕ c) = a⊕ c.On en déduit que a ¹ c (transitivité).
Cette relation d’ordre est compatible avec les lois ⊕ et ⊗, c.-à-d. :
• a ¹ b⇒ ∀c ∈ D, a⊕ c ¹ b⊕ c,• a ¹ b⇒ ∀c ∈ D, a⊗ c ¹ b⊗ c et c⊗ a ¹ c⊗ b.
La relation d’ordre est totale si :
∀a, b ∈ D, a º b ou b º a.
Une condition nécessaire et suffisante pour que l’ordre d’un dioïde soit total, s’écrit de façon évidente
comme suit :
∀a, b ∈ D, a⊕ b = a ou b.
Exemple 1.16. L’ordre total º défini dans Rmax coïncide avec l’ordre usuel, par exemple, 5 º 4, en
effet max(4, 5) = 5. Par contre, l’ordre º défini dans Rmin est total et est l’inverse de l’ordre usuel ≥,
par exemple, 4 º 5, en effet min(4, 5) = 4.
Définition 1.17 (Ensemble ordonné). Un ensemble ordonné est un ensemble S muni d’une relation
d’ordre, noté (S,¹).
Un ensemble est dit totalement ordonné si deux éléments quelconques s et s′ sont toujours compa-
rables, c.-à-d. si s ¹ s′ ou s′ ¹ s. Dans le cas où on ne peut pas comparer certains éléments l’ensemble
est dit partiellement ordonné.
La notation s ≺ s′ signifie s ¹ s′ et s 6= s′.
Remarque 1.18. En présence d’ambiguïtés sur l’ensemble considéré, nous désignons par la notation
¹S l’ordre d’un ensemble S .
CHAPITRE 1 — Préliminaires 23
Tout sous-ensemble U d’un ensemble ordonné (S,¹) peut également être ordonné par la restriction
de l’ordre de S aux éléments de U , notée ¹U . Cet ordre restreint est simplement défini par
u, u′ ∈ U ⊂ S, u ¹ u′ ⇐⇒ u ¹U u′.
Remarque 1.19. Si (S,¹) est partiellement ordonné, un sous-ensemble U ⊂ S , ordonné par la restric-
tion de ¹ à U , peut être tel que tous les éléments de U soient incomparables deux à deux. L’ensemble
(U,¹) est alors dit totalement non ordonné.
Un ensemble ordonné fini (S,¹) peut être représenté par un graphe appelé diagramme de Hasse.
Chaque élément de S est représenté par un sommet (décrit par •). Un arc reliant deux sommets du
diagramme signifie que les éléments représentés par ces sommets sont comparables. Par convention,
l’ordre est croissant dans le sens du bas vers le haut du diagramme.
Pour la figure 1.6, l’ensemble S = {a, b, c, d} est partiellement ordonné pour l’ordre ¹ décrit par le
diagramme. Le sous-ensemble U = {a, b} ⊂ S est un ensemble ordonné par la restriction de ¹ à U .
Néanmoins, dans ce cas précis, (U,¹) est totalement non ordonné (cf. remarque 1.19).
¹6
t¡¡¡
t@@@t
t
a b
c
d a et b sont incomparables
a ¹ c, b ¹ c, c ¹ d
a ¹ d, b ¹ d (par transitivité de l’ordre ¹)
Figure 1.6 – Diagramme de Hasse d’un ensemble ordonné ({a, b, c, d},¹)
Remarque 1.20. Un ensemble totalement ordonné est également appelé une chaîne en référence à son
diagramme de Hasse.
Exemple 1.21 (Ensembles ordonnés).
• (R,≤), (Z,≤), (N,≤), (Q,≤) où ≤ est l’ordre naturel, sont totalement ordonnés.
• Soit S un ensemble. L’ensemble des parties de S , noté P(S), est un ensemble ordonné par l’in-
clusion. Cet ensemble ordonné est noté (P(S),⊂). Il s’agit d’un ordre partiel. Par exemple, deux
sous-ensembles disjoints de S ne sont pas comparables suivant l’ordre ⊂.
• Soit (S,¹) un ensemble ordonné. L’ensemble des vecteurs
(α
β
)de S2×1 est ordonné par
24 CHAPITRE 1 — Préliminaires
l’ordre (α
β
)¹(a
b
)⇐⇒ (α ¹ a et β ¹ b).
Même si l’ordre ¹ est total sur S , l’ordre qu’il induit sur S2×1 n’est que partiel.
Remarque 1.22. On dira que deux ensembles ordonnés sont isomorphes si leurs diagrammes de Hasse
ont la même forme.
Définition 1.23 (Majorant, minorant). Soit S un ensemble muni d’une relation d’ordre ¹ et U un
sous-ensemble de S .
On appelle minorant de U tout élément s de S tel que ∀u ∈ U, s ¹ u.
On appelle majorant de U tout élément s′ de S tel que ∀u ∈ U, u ¹ s′.
Définition 1.24 (Bornes d’un ensemble). Un sous-ensembleU ⊂ S est dit borné s’il admet un majorant
et un minorant. Lorsque l’ensemble des majorants de U a un plus petit élément, ce plus petit élément est
appelé borne supérieure de U et est noté sup(U) ou∨U . De même, lorsque l’ensemble des minorants
de U a un plus grand élément, cet élément est appelé borne inférieure de U (notée inf(U) ou∧U ).
Définition 1.25 (Demi-treillis). Un sup-demi-treillis est un ensemble S ordonné, dans lequel tout couple
d’éléments (s, s′) admet une borne supérieure (plus petit majorant) notée sup(s, s′) ou s∨ s′. De même,
un inf-demi-treillis est un ensemble S ordonné, dans lequel tout couple d’éléments (s, s′) admet une
borne inférieure notée inf(s, s′) ou s ∧ s′.
Remarque 1.26 (Principe de dualité). Notons ¹op l’inverse de la relation d’ordre ¹. Si (S,¹) est un
sup-demi-treillis, alors (S,¹op) est un inf-demi-treillis, et vice versa. Par conséquent, une proposition
impliquant ¹, ∨ et ∧ reste vraie en remplaçant ¹ par ¹op et en permutant ∨ et ∧. Il s’agit du principe
de dualité.
Définition 1.27 (Treillis). Un treillis est un ensemble ordonné (S,¹) qui est à la fois un sup-demi-
treillis et un inf-demi-treillis ; autrement dit, un treillis est un ensemble ordonné dans lequel tout couple
d’éléments admet un plus petit majorant et un plus grand minorant.
Définition 1.28 (Sous-treillis). On appelle sous-treillis d’un treillis S , un sous-ensembleU de S qui avec
chaque couple {u, u′} de U contient aussi u∨u′ et u∧u′ dans U . On dit aussi que ce sous-ensemble est
fermé pour les lois ∨ et ∧.
Remarque 1.29. Il faut noter qu’un sous-ensemble U peut être un treillis sans être un sous-treillis de S .
Exemple 1.30. [Ponasse and Carrega, 1979] Considérons le diagramme de Hasse d’un treillis fini Scontenant 8 éléments (figure 1.7). On remarque que les ensembles {h, d, e, b}, {h, d, f, a} sont des sous-
treillis, il en est de même pour l’ensemble {h, f, c, g} qui en outre est une chaîne.
CHAPITRE 1 — Préliminaires 25
Par contre, l’ensemble {h, d, e, a} n’est pas un sous-treillis, car d∨ e (c.-à-d. b) ne fait pas partie de
l’ensemble.
Néanmoins on voit que {h, d, e, a} est un treillis (pour la relation d’ordre existant entre a, d, e et h
dans S) mais pas un sous-treillis de S puisque dans {a, d, e, h}, d ∨ e = a alors que, dans S , d ∨ e = b.
s
ss s
s
s s
s
h
d e f
b
a c
g
¡¡¡¡
@@
@@
@@
@@
@@
@@
@@
@@@
@@@
¡¡¡¡
Figure 1.7 – Diagramme de Hasse du Treillis (S,¹)
Définition 1.31 (Demi-treillis complet et treillis complet). Un sup-demi-treillis (resp. inf-demi-treillis)
S est dit sup-complet (resp. inf-complet) si tout sous-ensemble (fini ou infini) de S admet un plus petit
majorant (resp. un plus grand minorant) dans S . Un treillis est dit complet s’il est à la fois inf-complet et
sup-complet.
Remarque 1.32. Pour un sup-demi-treillis complet noté (S,∨), la borne supérieure de tout sous-ensemble
de S est définie, y compris pour S . Un sup-demi-treillis complet S a donc nécessairement un plus grand
élément noté >S =∨
s∈S s . Pour la même raison, un inf-demi-treillis complet (S,∧) a toujours un plus
petit élément noté εS =∧
s∈S s. En outre, un demi-treillis fini est complet (sup-complet ou inf-complet)
et un treillis fini est complet.
Exemple 1.33.
• En ajoutant l’élément +∞ à Z, l’ensemble (Z ∪ {+∞},≤) est totalement ordonné sup-complet.
• En revanche, (Q ∪ {+∞},≤) est un ensemble totalement ordonné qui n’est ni sup-complet, ni
inf-complet. Par exemple, le sous-ensemble {x ∈ Q |x ≤√2} de Q n’a pas de plus petit majorant
dans Q.
1.2.4 Moduloïde
[Wagneur, 1991]
26 CHAPITRE 1 — Préliminaires
Définition 1.34 (Monoïde). Un monoïde (M,⊥) est un ensemble M muni d’une loi de composition
interne, notée ⊥, associative et possédant un élément neutre. Si cette loi est commutative, le monoïde est
commutatif.
Définition 1.35 (Moduloïde). Soit (D,⊕,⊗) un dioïde, on appelle moduloïde sur D, un monoïde com-
mutatif (M,⊕) d’élément neutre noté ε, muni d’une loi de composition externe ” · ” : D ×M → Mvérifiant pour tout a, b ∈ D et α1, α2 ∈M,
1. (a⊕ b).α1 = a.α1 ⊕ b.α1,
2. (a⊗ b).α1 = a.(b.α1),
3. a.(α1 ⊕ α2) = a.α1 ⊕ a.α2,
4. ε.α1 = ε,
5. e.α1 = α1 où e est l’élément neutre de ⊗.
L’addition d’un moduloïde est idempotente, en effet :
∀a ∈ (M,⊕, ·), a⊕ a = e · a⊕ e · a = (e⊕ e) · a = e · a = a.
Comme pour un dioïde, l’idempotence de l’addition permet de doter un moduloïde d’une relation
d’ordre º définie par :
α1 º α2 ⇔ α1 = α1 ⊕ α2.
Exemple 1.36 (Moduloïde RZ
max et RZ
min ). L’ensemble des applications de Z dans R muni du max
point-à-point est un monoïde commutatif, noté ici (M,⊕). Ce monoïde, doté de plus de la loi de com-
position externe :
Rmax ×M→M
(α, x) 7→ α·x : t ∈ Z, (α.x)(t) = α⊗x(t) = α+x(t),
est un moduloïde sur Rmax, traditionnellement noté RZ
max.
Définition 1.37 (Sous-moduloïde). On appelle sous-moduloïde de (M,⊕, ·) sur D, toute partie non
vide N de M, stable pour la loi ⊕ et la loi externe ” · ”, et telle que (N ,⊕, ·) forme un moduloïde sur
D.
Exemple 1.38. L’ensemble des applications croissantes de Z dans R muni des mêmes lois de composi-
tion que celles de RZ
max est un sous-moduloïde de RZ
max.
CHAPITRE 1 — Préliminaires 27
1.3 Théorie de la résiduation sur les dioïdes
1.3.1 Applications résiduables sur les dioïdes
Les applications définies sur les dioïdes sont généralement non inversibles. D’un point de vue pra-
tique, il est souvent suffisant de disposer, à défaut de la solution d’une équation, de la plus grande ou
de la plus petite solution de l’inéquation correspondante. Ceci donne une alternative à l’inversion d’ap-
plications non bijectives. Dans la suite de cette section, nous supposons que C et D sont deux dioïdes
complets, et que Π est une application de C dans D.
Définition 1.39 (Application résiduable, application dualement résiduable). [Cohen, 1998]
Une application Π : (C,¹) → (D,¹) isotone3 est dite résiduable, si l’inéquation Π(x) ¹ y admet
une plus grande solution dans C pour tout y ∈ D. L’application Π est dite dualement résiduable, si
l’inéquation Π(x) º y admet une plus petite solution dans C pour tout y ∈ D.
Les applications résiduables, ou dualement résiduables, sur les dioïdes complets ont de nombreuses
propriétés, dont certaines sont démontrées dans [Baccelli et al., 1992, §4]. Seules quelques définitions
sont rappelées ici.
Définition 1.40 (Application semi-continue supérieurement, application semi-continue inférieure-
ment).
• Une application Π : C → D est dite semi-continue supérieurement si pour tout sous ensemble I
de C,
∧
x∈I
Π(x) ∈ D existe et Π(∧
x∈I
x) =∧
x∈I
Π(x).
• L’application Π est dite semi-continue inférieurement si pour tout sous ensemble I de C,
⊕
x∈I
Π(x) ∈ D existe et Π(⊕
x∈I
x) =⊕
x∈I
Π(x).
Théorème 1.41. [Baccelli et al., 1992]
Soit Π une application isotone d’un dioïde complet C dans un dioïde complet D. Sont équivalents :
(i) Π est résiduable.
(ii) Π est semi-continue inférieurement et Π(εC) = εD.
(iii) Il existe une application unique, isotone et semi-continue supérieurement Π] : D → C telle
que :
Π ◦Π] ¹ ID,
3Le qualificatif isotone est utilisé pour désigner les applications, qui préservent l’ordre, définies sur des ensembles ordonnés.
28 CHAPITRE 1 — Préliminaires
Π] ◦Π º IC ,
ID et IC étant respectivement les applications identités de D et C. L’application Π] est appelée
application résiduée de Π.
De façon duale, sont équivalents :
(i) Π est dualement résiduable.
(ii) Π est semi-continue supérieurement et Π(TC) = TD.
(iii) Il existe une application unique, isotone et semi-continue inférieurement Π[ : D → C telle que :
Π ◦Π[ º ID,
Π[ ◦Π ¹ IC .
L’application Π[ est appelée application dualement résiduée de Π.
Définition 1.42 (Homomorphisme). Soient C et D deux dioïdes et Π : C → D. L’application Π est un
homomorphisme si ∀a, b ∈ C :
Π(a⊕ b) = Π(a)⊕Π(b) et Π(εC) = εD,
Π(a⊗ b) = Π(a)⊗Π(b) et Π(e) = e.
Une application qui vérifie seulement la première relation est appelée "⊕-morphisme", une applica-
tion qui vérifie seulement la deuxième relation est appelée "⊗-morphisme".
Définition 1.43 (Isomorphisme). L’application Π : C → D est un isomorphisme si Π−1 : D → C existe
et si Π et Π−1 sont des homomorphismes.
Les applications La et Ra correspondent à la multiplication, respectivement à gauche et à droite, par
l’élément a de D, on a :
La : D → D
x 7→ La(x) = a⊗ x,
et
Ra : D → D
x 7→ Ra(x) = x⊗ a.
Sachant que D est un dioïde complet, La et Ra sont des applications semi-continues inférieurement
et La(ε) = Ra(ε) = ε. D’après le théorème 1.41, les applications La et Ra sont donc résiduables. Les
applications résiduées sont notées respectivement L]a et R
]a .
CHAPITRE 1 — Préliminaires 29
Notation 1.44. Les applications résiduées L]a et R
]a sont également notées :
L]a(x) = a◦\x,
R]a(x) = x◦/a.
Théorème 1.45. Les applications L]a et R
]a vérifient les propriétés suivantes :
a(a◦\x) ¹ x (x◦/a)a ¹ x (1.1)
a◦\(ax) º x (xa)◦/a º x (1.2)
a(a◦\(ax)) = ax ((xa)◦/a)a = xa (1.3)
a◦\(x ∧ y) = a◦\x ∧ a◦\y (x ∧ y)◦/a = x◦/a ∧ y◦/a (1.4)
(a⊕ b)◦\x = a◦\x ∧ b◦\x x◦/(a⊕ b) = x◦/a ∧ x◦/b (1.5)
(ab)◦\x = b◦\(a◦\x) x◦/(ba) = (x◦/a)◦/b (1.6)
b(a◦\x) ¹ (a◦/b)◦\x (x◦/a)b ¹ x◦/(b◦\a) (1.7)
(a◦\x)b ¹ a◦\(xb) b(x◦/a) ¹ (bx)◦/a (1.8)
Le lecteur peut trouver les preuves de ces propriétés dans [Baccelli et al., 1992, p.182-185],
[Gaubert, 1992, §5.3].
1.3.2 Résiduation dans le cas matriciel
Il s’agit d’étendre l’application résiduée de la multiplication au cas des dioïdes matriciels, sachant
que les résultats décrits dans la partie précédente ont été développés sur des dioïdes généraux (scalaires).
Considérons à présent l’application LA définie sur le dioïde matriciel Dn×n :
LA : Dn×n → Dn×n
X 7→ LA(X) = A⊗X, avec A ∈ Dn×n,
on a les résultats suivants.
Théorème 1.46. Soit D un dioïde complet et Dn×n le dioïde des matrices à valeurs dans D. Soit B ∈Dn×n, la plus grande solution de AX ¹ B est la matrice L
]A(B) ∈ Dn×n, notée également A◦\B. Les
éléments de cette matrice sont donnés par la relation :
(A◦\B)ij =n∧
l=1
Ali◦\Blj , pour i, j = 1, ..., n.
30 CHAPITRE 1 — Préliminaires
Le théorème suivant exprime les applications résiduées de LA et RA dans le cas où les matrices
considérées ne sont pas nécessairement de dimension carrée. Soient les applications :
LA : Dp×q → Dn×q RA′ : Dq×p → Dq×n
X 7→ AX (A ∈ Dn×p), X 7→ XA′ (A′ ∈ Dp×n).
Les inéquations AX ¹ B et XA′ ¹ B′ admettent L]A(B) et R]
A′(B) comme plus grandes solutions
respectives. Les expressions de ces matrices s’obtiennent via le théorème suivant.
Théorème 1.47. [Baccelli et al., 1992, §4]
Soient B ∈ Dn×q, B′ ∈ Dq×n, on a :
(L]A(B))ij = (A◦\B)ij =
n∧
l=1
Ali◦\Blj , i = 1, ..., p, j = 1, ..., q,
(R]A′(B
′))ij = (B′◦/A′)ij =n∧
l=1
B′il◦/A′jl, i = 1, ..., q, j = 1, ..., p.
1.3.3 Résolution d’équations au point fixe dans un dioïde
Il s’agit de résoudre les équations suivantes :
Π(x)⊕ b = x, (1.9)
Π(x) ∧ b = x. (1.10)
Théorème 1.48. [Baccelli et al., 1992, §4]
Soit D un dioïde complet et Π : D → D une application semi-continue inférieurement (cf. définition
1.40). La plus petite solution de l’équation (1.9) est Π∗(b), où
Π∗ =⊕
n∈N
Πn avec Π0 = IdD, Πn = Π ◦Π ◦ ...Π︸ ︷︷ ︸n fois
.
L’application Π∗ est bien définie car son ensemble d’arrivé D est un dioïde complet.
Exemple 1.49. (Equation (a⊗ x)⊕ b = x)
Dans cet exemple, on prend Π = La : D → D;x 7→ a⊗ x. La plus petite solution de l’équation
x = (a⊗ x)⊕ b
est
Π∗(b) = a∗ ⊗ b avec a∗ =⊕
n∈N
an.
CHAPITRE 1 — Préliminaires 31
Notation 1.50. L’opérateur ”∗” est appelé étoile de Kleene. On note ”+” l’opérateur défini dans un
dioïde complet (D,⊕,⊗) par :
a ∈ D, a+ =⊕
n≥1
an.
On a :
a∗ = e⊕ a+ et a+ = a⊗ a∗.
Théorème 1.51. [Baccelli et al., 1992, §4]
Soit D un dioïde complet et Π : D → D une application semi-continue supérieurement. La plus
grande solution de l’équation (1.10) est Π∗(b), où
Π∗ =∧
n∈N
Πn.
L’application Π∗ est bien définie car son ensemble d’arrivé D est un dioïde complet.
1.4 Modèles de type tas, automates (max, +) et automates de type tas
1.4.1 Modèles de type tas
Mazurkievicz a noté dans [Mazurkiewicz, 1977] que les monoïdes de trace, qui sont partiellement
commutatifs, et leurs sous-ensembles (langages de trace) sont un modèle naturel du comportement
logique des RdP saufs. Les monoïdes de trace, dans lesquels certaines lettres commutent et d’autres
non, permettent d’identifier les différentes représentations séquentielles des événements parallèles. Dans
[Viennot, 1986], Viennot a observé que les monoïdes de trace sont isomorphes à ceux des monoïdes de
tas, qui sont des monoïdes dans lesquels les générateurs (les éléments) sont des pièces et où la concaténa-
tion (l’opération interne) consiste en un empilement de pièces sur un tas, ce qui donne une représentation
graphique intuitive des monoïdes de trace qui ressemble à un jeu de Tetris. La représentation ci-après des
modèles de type tas est issue des travaux de [Gaubert and Mairesse, 1999] et intègre le temps, ce qui est
important pour les RdPT.
Un modèle de type tas est basé sur la manipulation de pièces. Sa représentation est bidimension-
nelle : l’axe vertical indique la hauteur du tas de pièces4, l’axe horizontal représente un nombre fini
d’emplacements (de slots). Une pièce est un bloc solide (éventuellement non connecté quand elle occupe
des emplacements non voisins) qui occupe une partie (non vide) des slots, avec des contours supérieur
et inférieur en forme d’escalier. Un exemple, où l’axe horizontal est constitué de 3 slots, est donné sur la
figure 1.8 suivante.
4La hauteur du tas de pièces va représenter le temps dans ce manuscrit.
32 CHAPITRE 1 — Préliminaires
A chaque séquence ordonnée de pièces est associé un tas correspondant à l’empilement des pièces au-
dessus du sol (horizontal). Une pièce occupe la position la plus basse possible par rapport au sol et aux
pièces éventuellement déjà empilées. Le déplacement d’une pièce est seulement sujet à des translations
verticales. La définition formelle d’un modèle de type tas est la suivante :
Définition 1.52. Un modèle de type tas est un 5-upletH = (T ,R, R, l, u), où :
• T est un ensemble fini de pièces.
• R est un ensemble fini de slots.
• R : T → P(R) définit le sous-ensemble des slots occupés par chaque pièce. Chaque pièce est
supposée occuper au moins un slot, c.-à-d. ∀a ∈ T , R(a) 6= ∅.• l : T ×R → R∪{−∞} définit la hauteur du contour inférieur de chaque pièce pour les différents
slots.
• u : T ×R → R∪{−∞} définit la hauteur du contour supérieur de chaque pièce pour les différents
slots. Par construction, nous avons : u ≥ l.
Par convention, l(a, r) = u(a, r) = −∞ si r /∈ R(a) et minr∈R(a)l(a, r) = 0.
Une pièce ’a’ occupe une région du planR× R+, de la forme {(r, y) ∈ R(a)× R+ | λ+ l(a, r) ≤y ≤ λ + u(a, r)}, où λ ∈ R+ dépend des pièces déjà empilées (λ = 0 s’il n’y a pas de pièces déjà
empilées).
Le mot ω = a1...ak ∈ T ∗ de longueur k est interprété comme le tas obtenu en empilant les k
pièces a1, ..., ak (dans cet ordre). Nous rappelons que T ∗ est le monoïde libre sur l’alphabet T , c.-à-d.
l’ensemble des mots finis auquel est associée la loi de concaténation telle que T ∗ = ⋃n∈NT n où T n est
l’ensemble des mots de longueur n sur T .
Le contour supérieur du tas ω est défini comme le vecteur ligne xH(ω), de dimension card(R), où
xH(ω)r est la hauteur du tas relativement au slot r. Par exemple, on a relativement au tas de pièces
correspondant au mot I1O1 représenté sur la figure 1.9 : xH(I1O1)P1 = τ1, xH(I1O1)P = τ +
τ1, xH(I1O1)P2 = −∞. L’hypothèse d’un plan horizontal, correspondant au sol, impose que xH(e) =
(0, ..., 0) où e est le mot vide. La hauteur du tas ω est yH(ω) = maxr∈RxH(ω)r.
Une interprétation possible d’un modèle de type tas consiste à considérer les pièces comme des tâches
et les slots comme des ressources. Chaque tâche "a" nécessite, pour être réalisée, un sous-ensemble de
ressourcesR(a) durant un certain temps (égal à u(a, r)−l(a, r) pour la ressource r ∈ R(a)). Dans le cas
le plus simple où l(a, r) = 0, ∀r ∈ R(a), l’exécution d’une tâche commence dès lors que les ressources
requises, utilisées par les tâches précédentes, soient libérées.
Les applications xH et yH correspondent à des fonctions dateurs du modèle de type tas au sens où
xH(ω)r représente le temps d’achèvement de la tâche r à l’issue de l’application du mot ω et yH(ω)
représente le temps d’achèvement de l’ensemble des tâches à l’issue de l’application du mot ω.
CHAPITRE 1 — Préliminaires 33
temps
slots
0
pièce correspondant à la lettre I1
temps
slots0
pièce correspondant à la lettre O1
temps
slots
0
2
pièce correspondant à la lettre I2
temps
slots0
pièce correspondant à la lettre O2
Figure 1.8 – Tas de pièces associés aux mots I1, O1, I2 et O2.
Exemple 1.53. Considérons le modèle de type tas défini par :
T = {I1, I2, O1, O2},R = {P1, P, P2} ;R(I1) = R(O1) = {P1, P}, R(I2) = R(O2) = {P, P2} ;u(I1, .) = [τ1, 0,−∞], l(I1, .) = [0, 0,−∞],
u(I2, .) = [−∞, 0, τ2], l(I2, .) = [−∞, 0, 0],u(O1, .) = [0, τ,−∞], l(O1, .) = [0, 0,−∞],
u(O2, .) = [−∞, τ, 0], l(O2, .) = [−∞, 0, 0].Les pièces correspondant aux lettres I1, I2, O1, O2 sont représentées sur la figure 1.8. Lorsqu’une
pièce a une hauteur du contour inférieur et supérieur nulle au niveau d’un slot, on lui attribue cependant
une aire non nulle, ceci afin de distinguer le cas où les hauteurs sont égales à −∞. Un tas de pièces
correspondant au mot I1O1 est représenté sur la figure 1.9.
temps
slots
0
+
tas de pièce correspondant au mot I1O1
Figure 1.9 – Tas de pièces associé au mot I1O1.
Par exemple, nous pouvons déduire directement les valeurs xH(I1O1) = [τ1, τ1+τ,−∞] et yH(I1O1) =
τ1 + τ .
34 CHAPITRE 1 — Préliminaires
1.4.2 Automates (max,+)
Cette section découle de l’observation que la hauteur d’un tas de pièces peut être reconnue par un
automate de type tas lequel est un cas particulier d’automate (max,+) qui est lui-même une particulari-
sation de la notion classique d’automate avec multiplicité sur le semi-anneau (max,+)
[Gaubert and Mairesse, 1999]. L’idée principale est de considérer des pièces générales (décrites dans la
section précédente) dans un automate de type tas, ce qui permet de modéliser le temps à travers la hauteur
des pièces calculée par un automate de type tas.
Définition 1.54. Étant donné un alphabet fini T , un automate (max,+) est un 4-upletA = (Q, I, F,M),
où :
• Q est un ensemble fini d’états ;
• I ∈ R1×card(Q)max et F ∈ R
card(Q)×1max sont les vecteurs d’état initial et final respectivement ;
• M : T ∗ → Rcard(Q)×card(Q)max est un ⊗-morphisme (M(ab) =M(a)⊗M(b)).
Le morphisme M est spécifié uniquement par la famille finie de card(Q) × card(Q) matrices,
M(a), a ∈ T . Ainsi, pour un mot ω = a1...an, nous avons M(ω) = M(a1...an) = M(a1)...M(an),
le produit de matrices étant interprété dans le semi-anneau (max,+).
Définissons à présent le vecteur xA(ω) = IM(ω) ∈ R1×card(Q)max et le scalaire yA(ω) = IM(ω)F ∈
Rmax associés à l’automate (max,+) A, xA et yA sont dits reconnus par l’automate A. Nous avons :
xA(e) = I,
xA(ωa) = xA(ω)M(a),
yA(ω) = xA(ω)F.
(1.11)
Il en résulte qu’un automate (max,+) peut être vu comme un système (max,+) linéaire dont le com-
portement dynamique est dicté par des lettres.
1.4.3 Automates de type tas
L’objectif de cette section est de montrer que la hauteur de tas de pièces est reconnue par un auto-
mate de type tas lequel est un automate (max,+) avec un morphisme particulier. Ceci permettra dans le
deuxième chapitre de donner une représentation (max,+) des RdPT saufs [Gaubert and Mairesse, 1999].
Définition 1.55. A un modèle de type tasH = (T ,R, R, l, u) est associé le morphisme :
M : T ∗ → Rcard(R)×card(R)max , a 7→ M(a) = I ⊕ [l(a, .)]
tu(a, .), (1.12)
où I est la matrice identité définie par Iii = e = 0, Iij = ε = −∞, i 6= j, et l(a, i) = −l(a, i) si
l(a, i) 6= ε et l(a, i) = ε autrement, et où l(a, .), u(a, .) sont des vecteurs lignes.
CHAPITRE 1 — Préliminaires 35
L’automate (max,+) noté H = (R, IRt, IR,M) est dit automate de type tas associé au modèle de
type tasH, où IR est un vecteur colonne de dimension card(R) dont les éléments sont égaux à e.
Exemple 1.56. Associé au modèle de type tas défini dans l’exemple 1.53, considérons l’automate de type
tas défini par le 4-uplet (R, (e e e), (e e e)t,M), où le morphismeM est tel que :
M(I1) = I ⊕ [l(I1, .)]tu(I1, .) =
e ε ε
ε e ε
ε ε e
⊕
−e−eε
(τ1 e ε
)=
τ1 e ε
τ1 e ε
ε ε e
,
M (O1) = I ⊕ [l(O1, .)]tu(O1, .) =
e ε ε
ε e ε
ε ε e
⊕
−e−eε
(e τ ε
)=
e τ ε
e τ ε
ε ε e
,
M (I2) = I ⊕ [l(I2, .)]tu(I2, .) =
e ε ε
ε e ε
ε ε e
⊕
ε
−e−e
(ε e τ2
)=
e ε ε
ε e τ2
ε e τ2
,
M (O2) = I ⊕ [l(O2, .)]tu(O2, .) =
e ε ε
ε e ε
ε ε e
⊕
ε
−e−e
(ε τ e
)=
e ε ε
ε τ e
ε τ e
.
Il en résulte queM (I1O1) =M (I1)M (O1) =
τ1 e ε
τ1 e ε
ε ε e
e τ ε
e τ ε
ε ε e
=
τ1 τ1τ ε
τ1 τ1τ ε
ε ε e
etM (I2O2) =M (I2)M (O2) =
e ε ε
ε e τ2
ε e τ2
e ε ε
ε τ e
ε τ e
=
e ε ε
ε τ2τ τ2
ε τ2τ τ2
.
Remarque 1.57. Notons que ∀a, b ∈ T : R(a) ∩ R(b) = ∅ ⇒ M(a)M(b) = M(b)M(a), ce qui
signifie que si deux pièces, a et b, n’occupent pas les mêmes slots, alors il est équivalent d’empiler la
pièce a puis la pièce b et la pièce b puis la pièce a.
1.5 Éléments de la théorie des systèmes linéaires
Après cette présentation sur les outils algébriques, la suite de ce chapitre est consacrée à la pré-
sentation d’éléments de la théorie des systèmes linéaires dans les dioïdes. Ces notions sont utiles pour
développer les modèles des systèmes et leurs commandes (en termes de signaux appliqués en entrées).
Pour plus de détails voir [Baccelli et al., 1992, §6].
36 CHAPITRE 1 — Préliminaires
1.5.1 Signaux et systèmes
Définition 1.58 (Signal). On appelle signal une application x : R → (D,⊕,⊗), t 7→ x(t), avec D un
dioïde complet.
Cet ensemble DR est muni d’une structure de moduloïde (cf. définition 1.35, page 26). Pour cela, on
définit deux opérations :
• Une loi additive interne, notée ⊕, définie par :
∀x1, x2 ∈ DR, (x1 ⊕ x2)(t) = x1(t)⊕ x2(t).
• Une loi externe, qui joue le rôle du produit d’un signal par un scalaire, notée ” · ”, définie par :
∀a ∈ D, ∀x ∈ DR, (a · x)(t) = a⊗ x(t).
Dans l’ensemble DR, on dit qu’un signal est croissant s’il satisfait :
∀τ1, τ2 ∈ R , τ1 ≥ τ2 ⇒ x(τ1) º x(τ2),
ce qui revient à dire s’il est une fonction isotone de (R,≥) dans (D,º).
Exemple 1.59. Le moduloïde ZR
max (resp., RR
max) constitue un ensemble de signaux discrets (resp.,
continus).
Définition 1.60 (Produit de convolution). Le produit de convolution, noté⊗, de deux signaux est défini
par :
∀x1, x2 ∈ DR, (x1 ⊗ x2)(t) =
∮
τ∈R
x1(τ)x2(t− τ) =∮
τ∈R
x1(t− τ)x2(τ),
où le symbole∮
est la somme, il est remplacé par⊕
pour les signaux discrets, et est utilisé dans
cette expression afin de renforcer l’analogie avec la théorie des systèmes continus.
Exemple 1.61. Le produit de convolution de deux signaux de RR
min satisfait la relation suivante :
∀x1, x2 ∈ RR
min, ∀t ∈ R, (x1 ⊗ x2)(t) = infτ∈R
{x1(τ) + x2(t− τ)},
on parle de produit d’inf-convolution.
De manière duale, le produit de convolution de deux signaux de RR
max est défini par la relation suivante :
∀x1, x2 ∈ RR
max, ∀t ∈ R, (x1 ⊗ x2)(t) = supτ∈R
{x1(τ) + x2(t− τ)},
on parle de produit de sup-convolution.
CHAPITRE 1 — Préliminaires 37
Définition 1.62 (Système linéaire). On appelle système, un opérateur, noté Σ, défini d’un ensemble de
signaux (d’entrée) vers un ensemble de signaux (de sortie). Le système Σ est linéaire si :
∀x1, x2 ∈ DR, Σ(x1 ⊕ x2) = Σ(x1)⊕ Σ(x2) (propriété d’additivité), (1.13)
∀x1 ∈ DR, ∀a ∈ D, Σ(a⊗ x1) = a⊗ Σ(x1) (propriété d’homogénéité). (1.14)
Définition 1.63 (Système stationnaire). Un système Σ est stationnaire (ou invariant dans le temps) si
∀x ∈ DZ, ∀τ ∈ Z, Σ(∆τ (x)) = ∆τΣ(x),
où ∆τ est le système élémentaire linéaire retard (ou opérateur retard) défini de ZR
min → ZR
min par :
∀t ∈ R, ∀u, y ∈ ZR
min, τ ∈ Z, y(t) = [∆τ (u)](t) = u(t− τ).
1.5.2 Opérations sur les systèmes
Il existe trois opérations élémentaires permettant de mettre en relation des systèmes : la composition
en série, la composition en parallèle et la mise en feedback. Une opération de commutation, utilisée dans
ce mémoire, est également décrite.
• Composition série (voir une illustration sur la figure 1.10) Σ = Σ2 ⊗ Σ1 est défini par :
[Σ(x)](t) = [Σ2(Σ1(x))](t).
1 2x ( x )
Figure 1.10 – Composition en série.
• Composition parallèle (voir une illustration sur la figure 1.11) Σ = Σ1 ⊕ Σ2 est défini par :
[Σ(x)](t) = [Σ1(x)](t)⊕ [Σ2(x)](t).
2
1x ( x )
Figure 1.11 – Composition en parallèle.
38 CHAPITRE 1 — Préliminaires
• Mise en feedback (voir une illustration sur la figure 1.12) Considérons le schéma suivant, où Σ1
et Σ2 sont deux systèmes linéaires.
Figure 1.12 – Mise en feedback.
La relation entre la sortie y et l’entrée x satisfait :
y = Σ1(Σ2(y)⊕ x) = Σ1(Σ2(y))⊕ Σ1(x).
D’après le théorème 1.48, la plus petite solution existe et est donnée par :
(Σ1Σ2)∗Σ1(x) = (
⊕
n∈N
(Σ1Σ2)n)Σ1(x).
• Commutation Les systèmes sont commutés selon l’appartenance d’une variable de commutation,
notée σ, à une partition Z(n) de l’espace d’état (voir une illustration sur la figure 1.13) c.-à-d.
suivant la valeur de σ les réponses aux entrées u vont être soient celles de l’opérateur Σ1,Σ(u) =
Σ1(u) lorsque σ ∈ Z(1) ou celles de l’opérateur Σ2,Σ(u) = Σ2(u) lorsque σ ∈ Z(2). Autrement
dit en fonction de l’occurrence des événements, la valeur de σ peut évoluer, et l’évolution de
Σ(u)(k) va suivre les règles d’évolution de Σ1 ou de Σ2 suivant la valeur de σ à l’étape k.
Figure 1.13 – Commutation entre deux systèmes.
CHAPITRE 1 — Préliminaires 39
1.6 Conclusion
Dans ce chapitre, nous avons brièvement présenté des concepts, des définitions et des outils mathé-
matiques utilisés par la suite. Après un rappel sur les réseaux de Petri, nous avons abordé les problèmes
d’ordonnancement et de commande. Puis la structure algébrique des dioïdes et la théorie de la résidua-
tion ont été présentées. Cette théorie permet de donner une pseudo inverse pour les applications isotones
définies sur des ensembles ordonnés, elle sera utilisée pour calculer la commande en juste-à-temps. Dans
la dernière partie de ce chapitre, nous avons introduit le modèle de type tas et donné un ensemble de
définitions sur la théorie des systèmes utiles pour aborder, dans le chapitre suivant, la modélisation de
systèmes flexibles de production manufacturière.
CHAPITRE 2Modélisation des
systèmes flexibles deproduction
manufacturièreDans la littérature, l’étude des systèmes à événements discrets (SED) se fait à travers diffé-
rentes approches, telles que la simulation, les chaînes de Markov [Baynat, 2000], les files d’at-
tentes [Baynat, 2000], les automates [Ramadge and Wonham, 1989, Wonham, 2006], l’algèbre des
dioïdes, les réseaux de Petri déterministes [Murata, 1989, Proth and Xie, 1995] ou stochastiques
[Ciardo et al., 1997]. De nombreux travaux sont basés sur les Réseaux de Petri Temporisés (RdPT) pour
modéliser les Systèmes Flexibles de Production Manufacturière (SFPM). De tels systèmes sont souvent
complexes dans le cas d’applications industrielles réelles, d’où l’intérêt - en vue de les étudier - de les
décomposer en sous-classes plus petites et moins complexes. Dans le cadre des RdP, il est souvent in-
téressant de distinguer les phénomènes de synchronisation de ceux de choix, ce qui permet l’emploi de
méthodes spécifiques et appropriées pour traiter ces phénomènes.
Notre objectif est d’étudier les SFPM à travers l’utilisation de modèles algébriques, ces derniers pou-
vant être déduits de modèles RdPT. Les RdPT mettant uniquement en jeu des phénomènes de synchroni-
sation et de saturation peuvent être modélisés par une sous-classe de graphes appelés Graphes d’Événe-
ments Temporisés (GEvT). Ces derniers admettent une représentation linéaire dans certaines structures
algébriques de dioïde. Une telle représentation est bien adaptée pour aborder, par exemple, les problèmes
de commande ou d’évaluation de performances. Dualement, les RdPT appelés Graphes d’Etats Tempo-
risés (GEtT) sont adaptés pour modéliser des phénomènes de choix propres aux ressources partagées, ce
qui les rend complémentaires par rapport aux GEvT. Une représentation linéaire dans certaines structures
algébriques de dioïde est possible pour ces derniers pour autant qu’un ordonnancement sur la répartition
des ressources partagées soit donné. Il est important de noter que les GEvT que nous allons utiliser ne
sont pas nécessairement saufs (voir par exemple la machine M1 décrite dans la figure 2.1 située page
41
42 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
45), contrairement aux GEtT, supposés saufs en général dans ce manuscrit (voir par exemple la machine
M2 décrite dans la figure 2.1), ceci étant dû à l’approche automate utilisée pour représenter les GEtT.
La transformation d’un RdPT en un GEvT nécessite de connaître a priori les règles d’ordonnance-
ment des ressources partagées, lesquelles peuvent être sources de conflit. En effet, la connaissance de
telles règles permet de déduire un comportement déterministe de la trajectoire suivie par chacun des
jetons au sein du RdPT. A notre connaissance, il n’existe pas de méthode systématique pour établir sim-
plement un GEvT à partir d’un RdPT, notamment dans le cas où les trajectoires d’entrée (correspondant
aux différents événements en entrée) ne sont pas périodiques. Dans le cas d’un comportement cyclique
d’un RdP, des méthodes systématiques hors ligne sont proposées, par exemple dans [Hillion, 1989],
[Trouillet, 2003]. Dans [Hillion, 1989], les auteurs s’intéressent aux ateliers de production de type job-
shops saufs. Les travaux (jobs) sont dupliqués autant de fois qu’il y a de type de pièces à produire, ce qui
permet de construire un GEvT équivalent composé de trois types de circuits vivants (contenant chacun
un jeton). Le premier type de circuits définit l’ordre des tâches d’un job (selon un séquencement donné)
à accomplir sur les différentes machines. Le deuxième type de circuits indique l’ordre de passage des
tâches (selon un ordonnancement fixé) des différents jobs sur les mêmes machines. Dès lors, il n’y a plus
de conflits possibles au niveau des différentes machines constituant l’atelier de production, ce qui permet
d’obtenir un GEvT, où seuls subsistent des phénomènes de synchronisation. Enfin, le troisième type de
circuits permet de commander les dates d’occurrences des jobs à effectuer. Dans [Trouillet, 2003], l’au-
teur s’intéresse aux SFPM avec des gammes linéaires (les opérations successives de production d’une
pièce ne pouvant pas être permutées). Ces SFPM sont caractérisés par des ressources partagées, éven-
tuellement multiples, et par des processus d’assemblage et de désassemblage. A partir de ces hypothèses
un modèle RdPT du SFPM est élaboré où les lignes de la gamme opératoire sont dupliquées autant de
fois qu’il y a de produits souhaités dans un cycle de production. Dans le cas de ressources partagées
multiples, les GEvT équivalents sont construits en dupliquant les transitions communes, ce qui permet
un franchissement unitaire des transitions dans un cycle. Ces transitions sont alors ordonnées selon une
priorité et un marquage initial correspondant est obtenu.
Dans ce manuscrit, une approche différente est proposée, elle est basée sur l’utilisation d’un mo-
dèle algébrique de type (max,+) pour représenter un RdPT, ceci indépendamment de l’ordonnancement
choisi. Une telle approche est préférable à une transformation globale du RdPT initial en un GEvT, no-
tamment lorsque les trajectoires d’entrées sont longues et non périodiques. En effet, cette transformation
nécessite, pour chaque entrée donnée, un arbitrage a priori des conflits, ce qui peut s’avérer coûteux
en temps de calcul de par la dimension éventuellement importante du GEvT généré. Au contraire, la
représentation algébrique d’un RdPT, utilisée dans le cadre de cette thèse, est indépendante de l’ordon-
nancement choisi, et par conséquent, de l’entrée considérée. Ceci est particulièrement intéressant dans
le sens où n’importe quelle trajectoire d’entrée de référence peut être considérée pour le même modèle,
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 43
lequel a une représentation d’état de taille fixe.
L’objectif de ce chapitre est d’établir un modèle mathématique (max,+) linéaire qui reflète le com-
portement dynamique des SFPM considérés dans ce rapport (et modélisés par des RdPT). La première
méthode consiste en une décomposition de ces RdPT en plusieurs blocs appartenant à deux sous-classes :
les GEvT (bien adaptés pour représenter des machines dédiées mono ou multi-serveurs) et les GEtT
(adaptés pour représenter des machines mono-serveur partagées). La deuxième méthode repose sur des
modèles à commutations, chaque ordonnancement permet la définition d’un sous-modèle relatif à un
comportement dynamique spécifique. Chaque sous-modèle, ou modèle local, est valide dans une zone
de fonctionnement sous certaines conditions d’opération. Une telle approche permet donc de prendre
en compte plusieurs affectations possibles des ressources partagées. Elle peut aussi être utilisée dans le
cas où il y a un changement de structure du système, ou de mode de fonctionnement, tels une rupture
de synchronisation ou un changement de l’ordre d’occurrences des événements. La construction de tels
multi-modèles suivra les étapes suivantes, inspirées de [Murray-Smith and Johansen, 1997] :
• Décomposition de l’intervalle complet de fonctionnement du système en régimes d’opérations.
• Sélection d’un modèle local linéaire pour chaque régime d’opération selon les conditions d’opéra-
tions associées.
• Détermination des variables locales associées à chaque sous-modèle et des variables globales.
• Application d’une méthode pour combiner les sous-modèles afin de former le modèle global.
Nous nous concentrons dans cette thèse sur les systèmes dits à commutations (max,+) linéaires
introduits dans [Van Den Boom and De Schutter, 2004]. Ces systèmes multi-modèles peuvent être vus
comme des automates capables de commuter entre plusieurs représentations d’état (max,+) linéaires.
Ce chapitre est organisé en quatre parties :
• Les SFPM sont introduits dans la section 2.1. Un exemple, repris par la suite, est donné.
• Un rappel sur la modélisation des GEvT dans l’algèbre (max,+) est proposé dans la section 2.2.
Un exemple de modèle représentant un atelier de coupe de bois est donné.
• La modélisation des SFPM en utilisant des systèmes à commutations (max,+) linéaires est décrite
dans la section 2.3. Un atelier de soudure et de peinture est présenté comme exemple d’illustration.
• La modélisation des SFPM en utilisant la théorie des tas de pièces est décrite dans la section 2.4.
2.1 Systèmes flexibles de production manufacturière
Les Systèmes Flexibles de Production Manufacturière sont caractérisés par le fait que :
44 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
1. Les différentes pièces sont produites selon des gammes (ensemble d’opérations successives, ou
suite fixée de tâches à accomplir).
2. Les machines peuvent être partagées entre plusieurs tâches.
Dans ce manuscrit, on suppose que chaque type de pièces passe successivement par des étapes de
traitement disposées de façon linéaire, comparables à une ligne de production. Des processus d’assem-
blage et de désassemblage de pièces sont pris en compte éventuellement.
Nous distinguons les ressources opératoires qui modifient l’état d’une pièce, par exemple un traite-
ment, et les ressources de transport qui n’affectent que la position des pièces.
Les SFPM disposent d’un nombre fini de ressources telles que des stocks, des outils, des palettes, des
robots. Il s’agit pour nous de représenter de manière réaliste le comportement dynamique d’un SFPM,
ceci dans le but d’optimiser un fonctionnement parallèle d’entités indépendantes qu’il convient de syn-
chroniser de façon rigoureuse.
Aussi nous sommes amenés à choisir un modèle qui puisse intégrer toutes les caractéristiques et les
paramètres de pilotage d’un SFPM :
1. La flexibilité des gammes opératoires concrétisée par le parallélisme et le séquencement des opé-
rations.
2. La flexibilité au niveau des ressources qui dépend du paramétrage des machines et de leurs affec-
tations.
3. La flexibilité du transport, où peuvent intervenir des palettes, des chariot filoguidés, des convoyeurs.
Une modélisation susceptible de prendre en compte globalement ces différents points de vue est
possible en utilisant la classe des RdPT. Une méthode de construction systématique d’un SFPM est
proposée dans [Amar et al., 1992] en utilisant les RdPT. Comme exemple d’illustration, considérons le
SFPM décrit par la figure 2.1, dans lequel trois types de pièces (notés A,B,C) sont traités.
Une pièce de type A suit la séquence de tâches suivante :
- elle passe dans la machine M1, la présence de deux jetons dans la place P3 signifie que cette
machine peut traiter deux pièces simultanément et indépendamment,
- puis elle passe dans la machine M2, également utilisée pour traiter des pièces de type B.
Une pièce de type B suit la séquence de tâches suivante :
- elle passe dans la machine M3, également utilisée pour traiter des pièces de type C,
- puis elle passe dans la machine M2.
Enfin une pièce de type C est traitée par la machine M3.
On peut noter que les ressources des machines M2 et M3 sont partagées entre deux lignes de pro-
duction.
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 45
X5
X6 Y3
Y2Y1
P10
P11
P12
P7
P8
P9
X4
X1 X2 X3
U3U2U1
machin
e M
1
Pièce A Pièce B Pièce C
P1
P2P3
P4
P5 P6
P13
X7
machin
e M
2
machin
e M
3
Figure 2.1 – Exemple d’un SFPM constitué de trois machines.
2.2 Modélisation des graphes d’événements temporisés
Un GEvT est un RdPT où seuls sont représentés des phénomènes de synchronisation et de saturation.
Définition 2.1. Un GEvT ordinaire est un RdPT tel que toute place a exactement une transition en amont
et une transition en aval.
A titre d’illustration, nous proposons dans l’exemple suivant un GEvT représentant le fonctionnement
d’un atelier de coupe de bois.
Exemple 2.2. (Atelier de coupe de bois)
Le GEvT de la figure 2.2 modélise une machine de coupe de bois. Quand une pièce arrive, elle est
traitée (découpée) pour autant qu’une ressource machine soit disponible.
Le nombre de jetons dans une place s’interprète comme le nombre de ressources disponibles. Par
exemple, le nombre de jetons dans la place p1, ici zéro, correspond au nombre de pièces initialement en
attente d’être traitées par la machine de coupe, c.-à-d. le nombre de "ressources" qui vont être consom-
mées. Le nombre de jetons dans la place p2 indique le nombre de pièces qui peuvent être traitées simul-
tanément et indépendamment par la machine de coupe. Le temps associé à la place p1 indique le temps,
à savoir 1 unité de temps (u.t.), mis par une pièce pour aller à la rentrée de la machine. Le temps associé
à la place p3 indique la durée du traitement, à savoir 1 u.t.. Le temps associé à la place p2 (2 u.t.) est
46 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
Figure 2.2 – Modèle GEvT d’un atelier de coupe de bois.
le temps de remise en état (setup) de la machine. Le début de la coupe par la machine se traduit par
l’enlèvement d’un jeton dans chacune des places p1 et p2 et par l’ajout d’un jeton dans la place p3. La
fin de la coupe d’une pièce par la machine se traduit par l’enlèvement d’un jeton dans la place p3 et par
l’ajout d’un jeton dans les places p2 et p4. Le nombre de jetons dans la place p4 correspond au nombre
de pièces traitées et non encore sorties du système. Le temps associé à la place p4 indique la durée du
transport vers la sortie du système, à savoir (2 u.t.).
2.2.1 Représentation d’état des graphes d’événements temporisés
Définition 2.3 (Conditions initiales canoniques). Les conditions initiales d’un GEvT sont dites cano-
niques si tous les jetons du marquage initial sont considérés comme disponibles depuis l’instant −∞.
D’une manière générale, les équations modélisant le fonctionnement au plus tôt des GEvT, dans des
conditions initiales canoniques, ont la forme suivante dans le dioïde Rmax :
X(k) =k0⊕i=0AiX(k − i)⊕
k0⊕i=0BiU(k − i),
Y (k) =k0⊕i=0CiX(k − i),
(2.1)
avec k0 = maxpi∈P
(M(pi)), oùM(pi) est le marquage initial de la place pi, les vecteurs de variablesX,Y, U
sont des vecteurs de dateurs associés respectivement aux transitions internes, de sorties et d’entrées.
Par la suite, les conditions initiales seront supposées canoniques. A titre d’illustration, considérons le
GEvT décrit dans la figure 2.2. Notons que sans intervention vis-à-vis de l’entrée, le marquage du graphe
n’évolue pas et reste égal au marquage initial. En effet, seul le franchissement de la transition (source)
u peut faire évoluer le marquage du graphe. Initialement les deux jetons présents dans la place p2 sont
disponibles depuis l’instant−∞, ainsi la transition x1 est potentiellement deux fois franchissables dès la
mise à disposition de deux jetons dans la place p1. Soit la variable d’état x1(k), associée à la transition
x1, correspondant à la date du k-ième franchissement de cette transition. La date du k-ième franchisse-
ment de la transition x1 est possible 1 u.t. après la date du k-ième franchissement de la transition d’entrée
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 47
u et 2 u.t. après le (k− 2)-ième franchissement de la transition x2 (sachant qu’il y a 2 jetons initialement
présents dans la place p2), ce qui correspond au maximum de ces deux temps. Il en résulte l’expression
suivante :
x1(k) = max(2 + x2(k − 2), 1 + u(k)) = 2⊗ x2(k − 2)⊕ 1⊗ u(k)
dans l’algèbre (max,+).
En faisant de même pour les autres transitions, il en résulte la représentation d’état suivante :
X(k) =
ε ε
1 ε
X(k)⊕
ε ε
ε ε
X(k − 1)⊕
ε 2
ε ε
X(k − 2)⊕
1
ε
U(k),
Y (k) =(ε 2
)X(k),
avec X = (x1 x2)t, U = u et Y = y.
2.2.2 Forme récurrente explicite de la représentation d’état
La représentation d’état sous une forme ARMA (Auto Regressive Moving Average) donnée par la
représentation (2.1) peut se ramener, moyennant une extension de la dimension du vecteur d’état, à une
forme récurrente markovienne du type :
X(k) = AX(k − 1)⊕BU(k),
Y (k) = CX(k).(2.2)
Pour obtenir une telle représentation, il faut transformer le graphe afin que :
– le marquage d’une place située entre deux transitions internes soit égal à un ;
– le marquage d’une place située entre une transition source ou puits et une transition interne soit
nul.
Ceci revient dans le cas de l’exemple précédent à considérer d’abord le GEvT correspondant à la figure
2.3.
Il en résulte la représentation d’état suivante :
48 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
Figure 2.3 – Forme markovienne du modèle GEvT d’un atelier de coupe de bois.
X(k) =
ε ε ε
1 ε ε
ε ε ε
X(k)⊕
ε ε e
ε ε ε
ε 2 ε
X(k − 1)⊕
1
ε
ε
U(k),
Y (k) =(ε 2 ε
)X(k),
avec X = (x1 x2 x3)t, U = u et Y = y.
Enfin, pour s’affranchir de la matrice relative à X(k), notée A0 dans l’expression (2.1), et sous ré-
serve que le GEvT correspondant soit vivant, il suffit de calculer l’étoile de Kleene de la matrice A0
et d’appliquer la résolution de l’équation décrite dans l’exemple 1.49 (page 30) pour arriver à la forme
markovienne décrite par l’expression (2.2). Il en résulte l’expression suivante dans le cas de l’exemple
considéré :
X(k) =
ε ε e
ε ε 1
ε 2 ε
X(k − 1)⊕
1
2
ε
U(k),
Y (k) =(ε 2 ε
)X(k),
sachant que :
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 49
A∗0 =
ε ε ε
1 ε ε
ε ε ε
∗
=
e ε ε
1 e ε
ε ε e
, A = A∗0
ε ε e
ε ε ε
ε 2 ε
=
ε ε e
ε ε 1
ε 2 ε
,
B = A∗0
1
ε
ε
=
1
2
ε
, C =(ε 2 ε
).
Il en résulte finalement le GEvT suivant :
Figure 2.4 – GEvT d’un atelier de coupe de bois pouvant être modélisé selon les équations d’état (2.2).
Un tel GEvT est équivalent, en terme de comportement entrée-sortie (x1 est une transition non ob-
servable), au GEvT suivant :
50 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
X2
X1
Figure 2.5 – GEvT équivalent, en terme de comportement entrée-sortie, au GEvT de la figure 2.4.
2.2.3 Réponse impulsionnelle
Partant de la forme d’état (2.2), le développement de la récurrence donne :
Y (k) = CX(k)
= CAX(k − 1)⊕ CBU(k)
= CA2X(k − 2)⊕ CABU(k − 1)⊕ CBU(k)
= CA3X(k − 3)⊕ CA2BU(k − 2)⊕ CABU(k − 1)⊕ CBU(k)...
= CApX(k − p)⊕p−1⊕i=0
CAiBU(k − i), ∀p ∈ N.
En adoptant la convention X(k) = ε et U(k) = ε pour k < 0, (c.-à-d. en considérant des conditions
initiales canoniques), on peut exprimer le comportement entrée-sortie du GEvT à l’aide de l’expression
suivante :
Y (k) =⊕i∈Z
H(i)⊗ U(k − i) (2.3)
avec
H(i) =
{ε si i < 0,
CAiB sinon.(2.4)
Il est possible de donner une interprétation des termes de la matrice H ∈ (Zmax)q×p, où q représente
le nombre de sorties et p le nombre d’entrées : l’élément Hij(k) est la date du ki-ème tir de la transition
de sortie Yi dépendant de l’entrée Uj , où Uj est défini par :
Uj(k) =
{ε si k < 0,
e sinon,(2.5)
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 51
sachant que les autres entrées sont telles que Ul(k) = ε, ∀l 6= j. Une telle entrée Uj revient à franchir
un nombre infini de fois la transition Uj à la date 0 et peut être interprétée comme l’équivalent d’une
impulsion appliquée à l’entrée Uj du GEvT. L’élément Hij(k) est alors appelé la réponse impulsionnelle
correspondante.
En considérant un GEvT mono-entrée, mono-sortie, on peut remarquer que l’expression (2.3) cor-
respond à une convolution, plus exactement à une sup-convolution (dans l’algèbre traditionnelle), de la
réponse impulsionnelle du système par son entrée. En effet, on a :
Y (k) =⊕i∈Z
H(i)⊗ U(k − i) = maxi=0,...,k
(H(i) + U(k − i)) def= (H ∗ U)(k), (2.6)
ce qui montre l’analogie avec la relation entrée-sortie d’un système linéaire continu.
A titre d’exemple, la date de franchissement numéro 6 de la transition de sortie y du GEvT précédent, en
réponse à une entrée impulsionnelle, est :
H(6) = C ⊗A6 ⊗B =(ε 2 ε
)
ε 8 ε
ε 9 ε
ε ε 9
1
2
ε
= 13.
Remarque 2.4. Une extension au cas des systèmes (max,+) linéaires non stationnaires est proposée
dans [Lahaye, 2000]. On considère alors les équations d’état suivantes :
{X(k) = A(k)X(k − 1)⊕B(k)U(k),
Y (k) = C(k)X(k).(2.7)
Le caractère non stationnaire est induit par la possible variation des paramètres de la représentation
d’état en général. Dans [Lahaye, 2000], une classe de RdPT, appelée "GEvT avec ajout/retrait dyna-
mique de jetons", est notamment identifiée comme des systèmes (max,+) linéaires. Ces modèles sont
utilisés dans la section suivante afin de représenter des systèmes à commutations.
2.3 Modélisation des systèmes flexibles de production manufacturière en
utilisant des systèmes à commutations (max, +) linéaires
2.3.1 Représentation d’état des systèmes à commutations (max,+) linéaires
Nous considérons dans cette section la commutation des systèmes (max,+) linéaires - correspon-
dant à différents GEvT - introduite et étudiée dans [Van Den Boom and De Schutter, 2004]. Cette classe
52 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
de systèmes correspond à des SED pouvant commuter entre plusieurs modes de fonctionnement. Dans
chaque mode l = 1, ..., q, le système est décrit par un modèle d’état (max,+) linéaire de la forme :
{x(k) = A(l)(k)x(k − 1)⊕B(l)(k)u(k),
y(k) = C(l)(k)x(k),(2.8)
dans lequel les matrices A(l), B(l) et C(l) sont les matrices du système correspondant au l-ième mode
de fonctionnement. En général la commutation d’un modèle vers un autre modèle permet la modélisa-
tion d’un changement dans la structure d’un système, dû par exemple à l’apparition, ou la disparition,
d’un phénomène de synchronisation ou à un changement dans l’ordre d’occurrences des événements.
Plusieurs exemples d’applications sont proposés dans [Van Den Boom and De Schutter, 2004].
Les instants de commutation sont déterminés par un mécanisme dit de commutation. Une variable
σ(k) est définie et peut dépendre, selon une applicationψ, de l’état précédent x(k−1), du mode précédent
l(k − 1), de la variable d’entrée u(k) ou d’une variable extérieure de décision v(k), soit :
σ(k) = ψ(x(k − 1), l(k − 1), u(k), v(k)) ∈ Rnσ , (2.9)
où nσ est la dimension du vecteur de commutation σ. Partitionnons Rnσ en q sous-ensembles Z(i), i =
1, . . . , q. Le mode l(k) est obtenu en déterminant à quel sous-ensemble la variable de commutation σ(k)
appartient : si σ(k) ∈ Z(i), alors l(k) = i. Par exemple, un système à deux modes de commutation
(max,+) linéaires est représenté sur la figure 2.6.
Figure 2.6 – Un système à commutations (max,+) linéaires.
Seuls des systèmes stationnaires sont considérés par la suite, et l’indice k dans les notations matri-
ciellesA(l)(k), B(l)(k), C(l)(k) peut alors paraître superfétatoire. On a décidé de maintenir cette notation
d’indice dans un souci d’homogénéité avec l’article fondateur [Van Den Boom and De Schutter, 2004].
En supposant que la variable de commutation σ(k) est connue durant toute la séquence des événe-
ments étudiés (horizon d’étude), nous allons expliciter la solution de l’équation d’état (2.8) et identifier
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 53
@@¶¶¶
- »»XX -
Mode 1 Mode 2
P1
M1
M1
P1
M3
P2
M2
P2
M2 M3
Figure 2.7 – Cheminement des produits selon les modes 1 ou 2 de production.
sa réponse impulsionnelle (§2.3.2). En se référant à l’équation (2.9), nous pouvons par exemple avoir un
tel cas de figure si :
1. σ(k) = ψ(v(k)), dans laquelle la variable extérieure de décision v(k) est supposée connue sur
toute la séquence des événements étudiés.
2. σ(k) = ψ(l(k − 1)) en fonction du précédent mode, où la fonction l(k − 1) (qui précise le mode
à l’étape k − 1) est explicitée et déterministe.
Exemple 2.5. Nous considérons un système manufacturier constitué de trois machines. Le système pro-
duit un seul type de pièce en assemblant deux produits, notés P1 et P2. Deux modes de production peuvent
être choisis. Dans le premier mode, les produits P1 (resp., P2) sont prétraités par une machineM1 (resp.,
M2), puis assemblés et transformés par une machineM3. Dans le second mode, les produits P1 et P2 sont
assemblés et prétraités par la machineM1, puis transformés successivement par les machinesM2 etM3.
Les temps de traitement sur les machines M1, M2 et M3 sont respectivement 3, 4 et 5 unités de temps.
Le cheminement des produits est symboliquement représenté pour chacun des deux modes sur la figure
2.7. Un modèle GEvT décrivant les deux modes de production de cet atelier est donné sur la figure 2.8.
Quand une commutation entre les modes a lieu, nous supposons que des pièces semi-finies prétraitées
par les machines M1 et M2 (stockées dans les places en aval) peuvent être transformées indifféremment
par la machineM3 dans le premier mode et par les machinesM2 etM3 dans le deuxième mode. De plus,
nous supposons qu’il n’y a pas de temps de set-up sur les machines quand elles commutent d’un mode à
l’autre.
Dans ce système de production, les gammes des travaux sont fixées (cheminements définis pour cha-
cun des modes), mais l’ordre d’exécution des opérations peut changer selon le mode choisi. Il s’agit donc
d’un jobshop. Notons que dans cet exemple, nous ne modélisons pas de partage de ressources (contrai-
rement aux SFPM modélisés à l’aide de la théorie des tas de pièces ci-après §2.4) puisque seules des
modifications dans les synchronisations sont prises en compte.
Le fonctionnement du système peut être représenté par une équation d’état (max,+) linéaire cor-
respondant à l’équation (2.8) (page 52) spécifique à chaque mode. Dans les deux modes, on peut noter
54 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
X1 X3
X2 X4
X5
X6
Y
Y
X1
X2
X3
X4
X5
X6
produit P1
Mode 1 Mode 2
3 34
4
5
5
MachineM1
MachineM2
MachineM1
MachineM3
MachineM2
MachineM3
produit P2 produit P1 produit P2
Figure 2.8 – Modèles GEvT pour les deux modes de production de l’atelier.
la présence de :
- deux dateurs U1 et U2 d’entrées des produits respectivement P1 et P2.
- six dateurs X1, X2, X3, X4, X5, X6 correspondant à l’état du système, pour représenter respective-
ment les dates d’entrées et de sorties des produits sur les machines M1, M2 et M3.
- un dateur Y de sortie représentant les dates de livraison des produits finis.
Supposons que : xt = (X1 X2 X3 X4 X5 X6), ut = (U1, U2) et y = Y .
Dans le mode 1, le système (max,+) linéaire correspondant satisfait les équations d’état suivants :
X1(k) = X2(k − 1)⊕ U1(k),
X2(k) = 3X1(k),
X3(k) = X4(k − 1)⊕ U2(k),
X4(k) = 4X3(k),
X5(k) = X2(k)⊕X4(k)⊕X6(k − 1),
X6(k) = 5X5(k),
Y (k) = X6(k),
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 55
ce qui correspond au système d’équations matricielles suivantes :x(k) = α(1)x(k)⊕ α(2)x(k − 1)⊕ β(1)u(k),
y(k) = Cx(k),
avec :
α(1) =
ε ε ε ε ε ε
3 ε ε ε ε ε
ε ε ε ε ε ε
ε ε 4 ε ε ε
ε 0 ε 0 ε ε
ε ε ε ε 5 ε
,α(2) =
ε 0 ε ε ε ε
ε ε ε ε ε ε
ε ε ε 0 ε ε
ε ε ε ε ε ε
ε ε ε ε ε 0
ε ε ε ε ε ε
, β(1) =
0 ε
ε ε
ε 0
ε ε
ε ε
ε ε
, C =(ε ε ε ε ε 0
).
De la même façon, le système (max,+) linéaire correspondant au deuxième mode satisfait les équa-
tions matricielles suivantes :x(k) = α(3)x(k)⊕ α(2)x(k − 1)⊕ β(2)u(k),
y(k) = Cx(k),
avec :
α(3) =
ε ε ε ε ε ε
3 ε ε ε ε ε
ε 0 ε ε ε ε
ε ε 4 ε ε ε
ε ε ε 0 ε ε
ε ε ε ε 5 ε
,α(2) =
ε 0 ε ε ε ε
ε ε ε ε ε ε
ε ε ε 0 ε ε
ε ε ε ε ε ε
ε ε ε ε ε 0
ε ε ε ε ε ε
, β(2) =
0 0
ε ε
ε ε
ε ε
ε ε
ε ε
, C =(ε ε ε ε ε 0
).
Sachant que la plus petite solution de l’équation x = ax⊕ b est a∗b (cf. l’exemple 1.49 page 30), il
en résulte les deux systèmes (max,+) linéaires définis respectivement par les matrices A(1), B(1), C(1)
et A(2), B(2), C(2).
A(1) = (α(1))∗ ⊗ α(2) =
ε 0 ε ε ε ε
ε 3 ε ε ε ε
ε ε ε 0 ε ε
ε ε ε 4 ε ε
ε 3 ε 4 ε 0
ε 8 ε 9 ε 5
,
56 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
B(1) = (α(1))∗ ⊗ β(1) =
0 ε
3 ε
ε 0
ε 4
3 4
8 9
, C(1) =(ε ε ε ε ε 0
),
et A(2) = (α(3))∗ ⊗ α(2) =
ε 0 ε ε ε ε
ε 3 ε ε ε ε
ε 3 ε 0 ε ε
ε 7 ε 4 ε ε
ε 7 ε 4 ε 0
ε 12 ε 9 ε 5
,
B(2) = (α(3))∗ ⊗ β(2) =
0 0
3 3
3 3
7 7
7 7
12 12
, C(2) =(ε ε ε ε ε 0
),
sachant que : (α(1))∗ =
0 ε ε ε ε ε
3 0 ε ε ε ε
ε ε 0 ε ε ε
ε ε 4 0 ε ε
3 0 4 0 0 ε
8 5 9 5 5 0
et (α(3))∗ =
0 ε ε ε ε ε
3 0 ε ε ε ε
3 0 0 ε ε ε
7 4 4 0 ε ε
7 4 4 0 0 ε
12 9 9 5 5 0
.
Il en résulte les représentations d’état suivantes :
{x(k) = A(l)(k)x(k − 1)⊕B(l)(k)u(k),
y(k) = C(l)(k)x(k),
avec,
pour le mode 1 :
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 57
A(1)(k) =
ε 0 ε ε ε ε
ε 3 ε ε ε ε
ε ε ε 0 ε ε
ε ε ε 4 ε ε
ε 3 ε 4 ε 0
ε 8 ε 9 ε 5
, B(1)(k) =
0 ε
3 ε
ε 0
ε 4
3 4
8 9
, C(1)(k) =(ε ε ε ε ε 0
),
pour le mode 2 :
A(2)(k) =
ε 0 ε ε ε ε
ε 3 ε ε ε ε
ε 3 ε 0 ε ε
ε 7 ε 4 ε ε
ε 7 ε 4 ε 0
ε 12 ε 9 ε 5
, B(2)(k) =
0 0
3 3
3 3
7 7
7 7
12 12
, C(2)(k) =(ε ε ε ε ε 0
).
2.3.2 Réponse des systèmes à commutations (max,+) linéaires
Les modèles manipulés précédemment rappellent ceux utilisés pour représenter des systèmes (max,+)
linéaires non stationnaires décrits dans les travaux de thèse de Sébastien Lahaye [Lahaye, 2000]. En
termes de modélisation, des changements de structure du système sont ici pris en compte, alors que seules
des variations des paramètres (temporisations, nombre de ressources) ont été étudiées dans [Lahaye, 2000].
La première équation décrite dans (2.8) peut être écrite pour k ≥ k0 :
x(k) = A(l)(k)x(k − 1)⊕B(l)(k)u(k)
= A(l)(k)A(l)(k − 1)x(k − 2)⊕A(l)(k)B(l)(k − 1)u(k − 1)⊕B(l)(k)u(k)
= A(l)(k)A(l)(k − 1)A(l)(k − 2)x(k − 3)⊕A(l)(k)A(l)(k − 1)B(l)(k − 2)u(k − 2)
⊕A(l)(k)B(l)(k − 1)u(k − 1)⊕B(l)(k)u(k)...
= Φ(k, k0)x(k0)⊕k⊕
j=k0+1
Φ(k, j)B(l)(j)u(j),
où Φ(k, j) est la matrice dite de transition donnée par :
Φ(k, j) =
non défini pour j > k,
Id pour j = k,
A(l)(k)A(l)(k − 1)...A(l)(j + 1) pour j < k.
Il en résulte la sortie :
y(k) = C(l)(k)Φ(k, k0)x(k0)⊕k⊕
j=k0+1
C(l)(k)Φ(k, j)B(l)(j)u(j). (2.10)
58 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
Remarque 2.6. La matrice de transition satisfait la propriété de composition :
Φ(k, i) = Φ(k, j)⊗ Φ(j, i), où k ≥ j ≥ i,
et en particulier pour k ≥ i+ 1
Φ(k, i) = A(l)(k)Φ(k − 1, i) = Φ(k, i+ 1)A(l)(i+ 1).
Proposition 2.7. La plus petite solution du système d’équations (2.8) (correspondant à un fonctionne-
ment au plus tôt) est donnée par la relation suivante :
∀k ∈ Z, y(k) =⊕j≤k
h(k, j)u(j) où h(k, j) = C(l)(k)Φ(k, j)B(l)(j)
(h est la réponse impulsionnelle du système).
Preuve :
En faisant tendre k0 vers−∞ dans l’équation (2.10), il apparaît que toute solution est plus grande que y.
Posons y(k) = C(l)(k)x(k) avec x(k) =⊕j≤k
Φ(k, j)B(l)(j)u(j), montrons que x satisfait la première
équation de (2.8). Nous avons :
x(k) =⊕j≤k
Φ(k, j)B(l)(j)u(j)
=⊕
j≤k−1
Φ(k, j)B(l)(j)u(j)⊕B(l)(k)u(k)
= A(l)(k)[⊕
j≤k−1
Φ(k − 1, j)B(l)(j)u(j)]⊕B(l)(k)u(k) (cf. Remarque 2.6)
= A(l)(k)x(k − 1)⊕B(l)(k)u(k).
¤
2.4 Modélisation des systèmes flexibles de production manufacturière en
utilisant la théorie des tas de pièces
Cette section est inspirée des travaux proposés dans [Gaubert and Mairesse, 1999] et porte sur la
théorie dite des tas de pièces (cf. rappels décrits dans la section 1.4, page 31). Cette théorie permet de
disposer d’une classe particulière d’automates (max,+) capable de représenter des RdPT saufs. En ce
qui nous concerne, nous allons restreindre leurs utilisations à des GEtT saufs auxquels sont associées
des entrées, lesquels forment une sous-classe de RdPT saufs capables d’appréhender des phénomènes de
choix.
De tels modèles de type tas de pièces, utilisés conjointement avec des modèles (max,+) linéaires
(correspondant à des GEvT non nécessairement saufs), permettent la représentation de modèles RdPT
correspondant à des SFPM.
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 59
2.4.1 Représentation de réseaux de Petri temporisés saufs par des modèles de type tas de
pièces
Théorème 2.8. [Gaubert and Mairesse, 1999] L’automate de type tas, associé au modèle de type tas
de pièces H = (T ,R, R, l, u), reconnaît le contour supérieur xH et la hauteur yH d’un tas de pièces
correspondant à un mot ω, ce qui signifie que ∀ω ∈ T ∗ :
• xH(ω) = ItRM(ω),
• yH(ω) = ItRM(ω)IR.
En fait, dans le cadre des RdPT saufs, xH et yH correspondent à des dateurs au sens où xH(ω)r
représente le temps d’achèvement de la tâche r à l’issue de l’application du mot ω et yH(ω) représente
le temps d’achèvement de l’ensemble des tâches à l’issue de l’application du mot ω. Des éléments du
preuve sont donnés ci-dessous.
Preuve : Le morphisme associé au modèle de type tas peut être décrit sous la forme suivante :
M(a)sr =
e si s = r /∈ R(a),u(a, r)− l(a, s) si r ∈ R(a), s ∈ R(a),ε autrement,
ce qui découle de l’équation (1.12), page 34.
Il en résulte que la dynamique du modèle de type tas peut être décrite sous la forme suivante :
xH(ωa)r =
{xH(ω)r si r /∈ R(a),maxs∈R(a) xH(ω)s + u(a, r)− l(a, s) si r ∈ R(a),
ce qui découle de l’équation (1.11), page 34 régissant la construction du tas de pièces.
Par exemple, considérons le cas d’une pièce "a" comportant une base horizontale (l(a, s) = 0, s ∈R(a)). Le fait d’ajouter une telle pièce à un tas ω fait que l’on doit calculer d’abord la hauteur de la base
de cette pièce, égale à maxs∈R(a) xH(ω)s. Il en résulte que la hauteur du tas ωa pour un emplacement
r ∈ R(a) est maxs∈R(a) xH(ω)s + u(a, r). Clairement, nous avons :
∀r ∈ R, xH(e)r = e,
yH(ω) = maxr xH(ω)r = xH(ω)IR.
¤
A présent nous associons à chaque place p et à chaque mot ω ∈ L (L étant le langage du RdPT), les
nombres réels non négatifs suivants :
• z(ω)p correspond à l’instant où le dernier jeton arrivé dans la place p, à l’issue de l’ordonnance-
ment ω, devient disponible pour les franchissements des transitions situées en aval.
• z′(ω)p correspond au dernier instant de présence d’un jeton dans la place p à l’issue de l’ordon-
nancement ω.
60 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
Nous posons z′(ω)p = z(ω)p = 0, si aucun jeton n’a jamais été présent dans la place p.
Soit G un RdPT, nous posons :
xG(ω)p =
{z(ω)p si M
ω→M ′ avec M ′(p) = 1,
z′(ω)p si Mω→M ′ avec M ′(p) = 0.
(2.11)
En d’autres termes, xG(ω)p est le temps d’accomplissement du dernier événement associé à la place p
(temps de disponibilité, ou de départ, du dernier jeton) à l’issue de l’ordonnancement ω.
Théorème 2.9. [Gaubert and Mairesse, 1999] Soit G = (T ,P,F ,M, τ) un RdPT sauf auquel est asso-
cié un langage L, alors le modèle de type tasH = (T ,P, R, l, u), où :
• ∀a ∈ T , R(a) = a• ∪ •a,
• ∀a ∈ T , ∀p ∈ a•, u(a, p) = τp,
• ∀a ∈ T , ∀p ∈ •a\a•, u(a, p) = 0, où ”\” est la soustraction des ensembles,
• ∀a ∈ T , ∀p ∈ R(a), l(a, p) = 0,
est tel que :
∀ω ∈ L, xG(ω) = xH(ω), yG(ω) = yH(ω),
ce qui signifie que les fonctions dateurs du vecteur xG et du scalaire yG du RdPT G coïncident respecti-
vement avec le contour supérieur xH et la hauteur yH du tas associé au modèle de type tasH.
Preuve : Considérons ω ∈ L, a ∈ T , tels que ωa ∈ L. Nous avons :
xG(ωa)p =
xG(ω)p si p /∈ a• ∪ •a,maxp′∈•a xG(ω)p′ + τp si p ∈ a•,maxp′∈•a xG(ω)p′ si p ∈ •a\a•.
(2.12)
Cette équation décrit le fait que le franchissement de la transition a à l’issue du mot ω a lieu à l’instant de
la disponibilité du dernier jeton dans les places antérieures : T = maxp′∈•a xG(ω)p′ . Il suffit de vérifier
que maxp′∈•a xG(ω)p′ = maxp′∈•a∪a• xG(ω)p′ pour que l’équation (2.12) coïncide avec celle du modèle
de type tasH.
Dans ce cas, il reste à vérifier que ∀p′′ ∈ a•\•a, xG(ω)p′′ ≤ T . Pour toute place p′′ ∈ a•\•a, le fran-
chissement de a au temps T ajoute un jeton au marquage de la place p′′. Le réseau étant sauf, il existe au
plus un jeton dans chaque place, pour chaque exécution admissible du système. Nous concluons que le
temps de sortie du dernier jeton dans la place p′′, à l’issue de la séquence du franchissement ω, doit être
strictement inférieur à T . Sachant que xG(ω)p′′ est égal au dernier instant de la présence d’un jeton dans
la place p′′ à l’issue du mot ω en utilisant la relation (2.11).
¤
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 61
Il résulte des deux précédents théorèmes que les dates de franchissement des transitions d’un RdPT
sauf sont reconnues par un automate de type tas, lequel peut être vu comme un système (max,+)-linéaire
dont la dynamique est pilotée par des lettres.
Il est montré dans [Gaubert and Mairesse, 1999] que les modèles de type tas sont particulièrement
intéressants pour évaluer successivement un grand nombre d’ordonnancements dans un RdPT sauf. Pour
cela, les auteurs ont considéré un modèle de type tas correspondant à un jobshop sauf : il en résulte un
calcul plus simple du makespan des différents ordonnancements considérés du jobshop (en évaluant juste
la hauteur des tas de pièces correspondants) en comparaison à l’approche classique consistant à trans-
former le jobshop en autant de GEvT qu’il y a d’ordonnancements à considérer. Ainsi, non seulement il
est possible de s’affranchir des transformations, mais en plus on peut effectuer des analyses intéressantes
(comme le rendement asymptotique) et plus simplement en utilisant ces modèles de type tas. Pour notre
part, nous allons adopter ces modèles en vue de piloter dans un objectif de juste-à-temps les SFPM.
Dans la section suivante, nous allons appliquer la théorie des tas de pièces développée pour les RdPT
saufs au cas particulier des GEtT saufs en construisant les modèles de type tas associés. En effet, contrai-
rement à une approche globale consistant à modéliser un RdPT par un modèle de type tas, nous distin-
guons dans les RdP les graphes d’état de ceux d’événements, ce qui permet un traitement plus approprié
(dans un objectif de commande en ce qui nous concerne) pour chacun de ces deux types de graphes.
2.4.2 Représentation d’état des graphes d’état temporisés saufs
Nous appliquons la théorie des tas de pièces développée pour les RdPT saufs au cas particulier des
GEtT saufs auxquels sont associées des entrées. Ainsi les dates de franchissement des transitions de
tels graphes pourront être reconnues par un automate de type tas A qui peut être vu comme un système
(max,+)-linéaire dont la dynamique peut être représentée par un vecteur d’état xA de type dateur, piloté
par des lettres.
2.4.2.1 Systèmes autonomes
Dans [Heidergott et al., 2006] les auteurs ont affecté un indice k au vecteur d’état x à l’issue d’une
séquence donnée de lettres (ou un mot) a1...ak de longueur k. Nous procédons, de même, en posant :
x(k) = xA(a1...ak), ce qui permet de représenter les équations (1.11) (page 34) sous la forme d’une
relation récurrente à l’étape k, soit :
{x(k) = x(k − 1)M (ak) ,
y(k) = x(k)F,(2.13)
pour k ≥ 1, avec x(0) = (0, ..., 0).
A titre d’illustration, considérons le GEtT élémentaire de la figure décrite ci-dessous représentant un
62 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
système de production de deux types de pièces, où les transitions I1, I2, O1, O2 sont considérées, pour
l’instant, comme des transitions internes du graphe. Les composantes du vecteur d’état x(k) sont les
dates de disponibilité, ou de départ, du k-ième jeton dans les places P1, P, P2.
I1 I2
O2O1
P
P1 P2
1
13
Figure 2.9 – Un GEtT élémentaire.
Les équations d’état correspondant à ce GEtT sont :
{x(k) = x(k − 1)A(k),
y(k) = x(k)C(k),
avec x = (xP1, xP , xP2), ak = I1O1, ou I2O2, A(k) = M(ak) la matrice associée à l’étape k, et
C(k) = F t1 , ou F t
2 , selon le choix de la séquence ak réalisée à l’étape k, sachant que :
M (I1O1) =
3 4 ε
3 4 ε
ε ε e
,M (I2O2) =
e ε ε
ε 2 1
ε 2 1
, F1 = (e, ε, ε) et F2 = (ε, ε, e).
le calcul de ces matrices se déduit aisément de l’exemple 1.56 (page 35).
2.4.2.2 Systèmes non autonomes
Dans un but de commande, nous allons associer aux GEtT précédents des transitions d’entrée. Ces
entrées sont composées de transition (source) avec une place de stockage située en aval, il en résulte les
équations non autonomes suivantes :
{x(k) = x(k − 1)⊗A(k)⊕ u(k)⊗B(k),
y(k) = x(k)⊗ C(k).(2.14)
Notons que l’étude dans une algèbre de type (max,+) d’un tel modèle (non autonome) de type tas est,
à notre connaissance, propre à cette thèse. Reconsidérons le GEtT élémentaire de la figure 2.9 en lui
associant des entrées de commande, soit le graphe représenté sur la figure 2.10.
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 63
O1 O2
P1
P
P2
I1 I2
U2U1
P3 P4
Figure 2.10 – GEtT élémentaire associé à deux entrées de commande.
Posons u = (U1, U2), x = (xP1, xP , xP2) et y = (O1, O2).
Supposons que le jeton disponible dans la place P à l’étape k soit affecté pour le franchissement de
la transition I1, alors A(k) = M(I1). Comme il existe à présent une synchronisation au niveau de la
transition I1, alors le temps de franchissement de I1 est égal au maximum du temps de disponibilité
du jeton dans la place P (égal à xP (k)) et du temps de disponibilité du jeton dans la place P3 (égal à
4⊗ U1). Il en résulte l’équation d’état suivante :
(xP1, xP , xP2)(k + 1) = [(xP1, xP , xP2)(k)⊕ U1⊗ 4⊗ (ε, e, ε)]⊗M(I1)
ou encore
(xP1, xP , xP2)(k + 1) = (xP1, xP , xP2)(k)⊗M(I1)⊕ U1⊗ 4⊗ (ε, e, ε)⊗M(I1).
L’étape suivante est le franchissement, autonome, de O1 qui intervient après la disponibilité du jeton
dans P1, d’où
x(k + 2) = x(k + 1)⊗M(O1).
En posant F = (ε, e, ε) nous obtenons l’équation suivante qui regroupe les deux étapes :
x(k + 2) = (x(k)⊕ U1⊗ 4⊗ F )M(I1)M(O1).
Regroupons les deux étapes en une seule et en changeant l’indice pour refléter cet effet, nous trouvons
l’équation :
x(k) = x(k − 1)⊗M(I1O1)⊕ U1⊗ 4⊗ F ⊗M(I1O1).
Par identification avec la première relation de l’équation (2.14) nous obtenons :
A(k) =M(I1O1), B(k) = 4FM(I1O1).
64 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
Pour calculer la sortie O1, il suffit de projeter le nouveau vecteur d’état x(k) afin de ne retenir que
sa première composante, laquelle correspond à la date de disponibilité du jeton dans la place P1, d’où
O1(k) = (xP1, xP , xP2)(k)(e, ε, ε)t. En posant F1 = (e, ε, ε), par identification avec la deuxième
égalité de l’équation (2.14) nous obtenons : C(k) = F t1 .
Nous pouvons refaire le même raisonnement pour affecter le jeton pour le franchissement de la
transition I2.
On note que F = (ε, e, ε), F1 = (e, ε, ε) et F2 = (ε, ε, e) sont les vecteurs d’interface qui permettent
de relier les composantes des vecteurs d’état, de type dateurs de transitions, aux modèles de type tas,
dont les composantes des vecteurs d’état sont des dateurs de places comme décrit précédemment. Les
équations qui décrivent le graphe de la figure 2.10 sont celles de (2.14) avec : A(k) =M(ak), B(k) =
FA(k), C(k) = F t1 , resp., F t
2 , et ak = I1O1, resp. I2O2, selon la séquence I1O1, resp. I2O2, réalisée
à l’étape k.
2.4.2.3 Matrice de transition
Partant de la première équation de (2.14) et d’une façon similaire à [Lahaye et al., 1999], le dévelop-
pement de la récurrence sur x(k) est tel que :
x(k) = x(k − 1)A(k)⊕ u(k)B(k)
= x(k − 2)A(k − 1)A(k)⊕ u(k − 1)B(k − 1)A(k)⊕ u(k)B(k)
= x(k − 3)A(k − 2)A(k − 1)A(k)⊕ u(k − 2)B(k − 2)A(k − 1)A(k)
⊕ u(k − 1)B(k − 1)A(k)⊕ u(k)B(k)...
= x(k − p)Φ(k − p, k)⊕p−1⊕i=0
u(k − i)B(k − i)Φ(k − i, k), ∀p ∈ N,
où Φ(j, k) est la matrice de transition donnée par :
Φ(j, k) =
non définie pour j > k,
I pour j = k,
A(j + 1)A(j + 2)...A(k) pour j < k.
Remarque 2.10. La matrice de transition satisfait la propriété de composition :
Φ(j, k) = Φ(j, i)⊗ Φ(i, k), où k ≥ i ≥ j,
et en particulier pour k ≥ i+ 1
Φ(i, k) = A(i+ 1)Φ(i+ 1, k) = Φ(i, k − 1)A(k).
En sachant que : ∃k0 = k−p | x(k0) =⊕j≤k0
u(j)B(j)Φ(j, k0) (système relaxé), et en tenant compte
de la remarque 2.10, nous avons à l’issue de l’événement k :
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 65
x(k) =⊕j≤k0
u(j)B(j)Φ(j, k)⊕ ⊕k0≤j≤k
u(j)B(j)Φ(j, k) =⊕j≤k
u(j)B(j)Φ(j, k).
D’après la deuxième équation de (2.14), nous calculons :
y(k) =⊕j≤k
u(j)B(j)Φ(j, k)C(k) =⊕j≤k
u(j)h(j, k) = [H(u)](k) où h est la réponse impulsionnelle du
système telle que h(j, k) = B(j)Φ(j, k)C(k).
A titre d’exemple, considérons que les dates de tirs des entrées du graphe représenté par la figure 2.10
sont 7, 11, 35 pour U1 et 0, 2, 4, 6, 20, 32 pour U2, et que la distribution du jeton présent dans la place P
se fera selon la règle : premier arrivé (jeton disponible dans les places P3 ou P4), premier servi. Ainsi,
le jeton sera attribué 4 fois pour produire une pièce de type 2, puis 2 fois pour produire une pièce de type
1, puis 2 fois pour produire une pièce de type 2 et enfin une fois pour produire une pièce de type 1. Le
tas de pièces correspondant est représenté sur la figure 2.11, les dates de tirs des sorties étant égales à
14, 18, 42 pour O1 et 4, 6, 8, 10, 24, 36 pour O2. On peut noter que les entrées de contrôle permettent de
constituer des tas de pièces où les pièces ne sont pas nécessairement entassées les unes sur les autres,
c’est le cas par exemple des trois dernières pièces empilées sur le tas.
P1 P P2
15
14
1918
23
24
25
39
42
43
109
11
3
5
37
7
4
6
8
36
35
pièce I1O1
pièce I2O2
slots
Figure 2.11 – Tas de pièces.
66 CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière
2.4.3 Modélisation des systèmes flexibles de production manufacturière
Chaque ligne de production d’un SFPM est considérée comme résultant d’un assemblage de GEtT
auxquels sont associées des transitions d’entrées et de GEvT1. Considérons, par exemple, le SFPM de la
figure 2.1 (page 45), et reproduit dans la figure 2.12.
GEvT GEtT1
GEtT2
U1 U2 U3
X4 X6
Y1 Y2 Y3
X5
Y2Y1
P10
P11
P12
M2
P4 P13
X7
X4
X1
U1
M1
P1
P2P3
GEvT
X6 Y3
P7
P8
P9
X2 X3
U3U2
M3
P5 P6
GEtT1X4 X6
GEtT2
Figure 2.12 – Assemblage des trois sous-systèmes correspondant au SFPM de la figure 2.1.
Chacun de ces trois sous-systèmes peut alors être décrit : le GEvT via l’algèbre (max,+) et les GEtT
auxquels sont associées des transitions d’entrées (notés GEtT1 et GEtT2) via des modèles de type tas.
Soit pour le GEvT :
x(k) =
ε 5
e ε
x(k − 1)⊕
5
ε
u(k),
y(k) =(e ε
)x(k),
avec u = U1, x = (X1, X4)t, y = X4.
Soit pour le GEtT1 :{x(k) = x(k − 1)A(k)⊕ u(k)B(k),
y(k) = x(k)C(k),
avec u = (U2 ⊗ 4, U3 ⊗ 3), x = (xP7, xP8, xP9), y = (X6, Y 3), A(k) = M(ak), B(k) = FA(k) et
1Selon le point de vue adopté on peut parler de décomposition ou d’assemblage en modules génériques.
CHAPITRE 2 — Modélisation des systèmes flexibles de production manufacturière 67
C(k) = F t1 , resp. F t
2 , et ak = X2X6, resp. X3Y 3, selon la séquence X2X6, resp. X3Y 3, réalisée à
l’étape k, où :
M (X2X6) =
3 4 ε
3 4 ε
ε ε e
,M (X3Y 3) =
e ε ε
ε 2 1
ε 2 1
,
F1 = (e, ε, ε), F2 = (ε, ε, e) et F = (ε, e, ε).
Soit pour le GEtT2 :
{x(k) = x(k − 1)A(k)⊕ u(k)B(k),
y(k) = x(k)C(k),
avec u = (X4 ⊗ 1, X6), x = (xP10, xP11, xP12), y = (Y 1, Y 2), A(k) = M(ak), B(k) = FA(k) et
C(k) = F t1 , resp. F t
2 , et ak = X5Y 1, resp. X7Y 2, selon la séquence X5Y 1, resp. X7Y 2, réalisée à
l’étape k, où :
M (X5Y 1) =
3 4 ε
3 4 ε
ε ε e
,M (X7Y 2) =
e ε ε
ε 2 1
ε 2 1
,
F1 = (e, ε, ε), F2 = (ε, ε, e) et F = (ε, e, ε).
En appliquant à l’entrée les valeurs suivantes :
U1 =(
5 14 18 22 26 32), U2 =
(ε ε ε 7 11 35
)etU3 =
(0 2 4 6 20 32
)
nous obtenons en sortie les valeurs suivantes :
Y 1 =(
14 23 27 31 35 41), Y 2 =
(ε ε ε 17 19 43
), Y 3 =
(4 6 8 10 24 36
),
sachant que la gestion des jetons dans les places P8, P11 se fait selon la règle premier arrivé/premier
servi.
2.5 Conclusion
Deux approches de modélisation des SFPM ont été présentées dans ce chapitre. La première méthode
considère plusieurs sous-modèles (max,+) linéaires relatifs à des comportements dynamiques différents.
La deuxième méthode est basée sur un modèle RdPT composé d’un assemblage séquentiel de GEvT et
de GEtT auxquels sont associées des entrées, chacun de ces graphes étant représenté linéairement dans
une algèbre de type (max,+). Cela a été rendu possible pour les graphes de type GEtT grâce à la mise
en oeuvre d’une règle d’ordonnancement locale EDD et à l’utilisation de la théorie des tas des pièces.
Une commutation entre ces sous-modèles est effectuée selon les ordonnancements fixés.
Les modèles d’état obtenus sont utilisés pour aborder, dans le chapitre suivant, le problème de la
synthèse de commande en juste-à-temps des SFPM.
CHAPITRE 3Commande des systèmes
flexibles de productionmanufacturière
Classiquement, commander un système revient à agir sur ses entrées dans le but d’obtenir en sorties
des performances spécifiées par un cahier des charges. Dans le cas des systèmes à événements discrets,
deux notions de commande ont été développées via l’approche algébrique des dioïdes : la commande
par poursuite de trajectoire et la commande par poursuite de modèle.
La technique de commande par poursuite de trajectoire suppose une trajectoire de consigne connue a
priori. Il s’agit d’établir une commande du système (appelée également trajectoire d’entrée) telle que la
réponse en sortie "suive au mieux" une trajectoire de consigne (correspondant au comportement souhaité
en sortie du système), ce qui pose un problème d’inversion du modèle du système. L’approche proposée
dans [Cohen et al., 1989] permet d’établir la plus grande trajectoire d’entrée telle que la réponse, notée
y, soit inférieure ou égale à une trajectoire de consigne, notée z. Ce problème de poursuite de trajectoire
de sortie (classique en automatique) est résolu de façon optimale en utilisant la théorie de la résiduation
dans le cas des GEvT [Cohen et al., 1989]. Plus précisément, pour un modèle du système M , il s’agit de
calculer le plus grand élément de l’ensemble suivant :
{u ∈ DZ | y =M(u) ¹ z}, (3.1)
où ¹ est l’ordre défini dans le dioïde D.
Une telle commande est optimale vis-à-vis du critère de juste-à-temps lequel vise à satisfaire la
demande des clients tout en minimisant les en-cours de production. Étant donné un modèle RdPT du
système, l’objectif de commande peut se décrire ainsi : étant données les dates de franchissement sou-
haitées des transitions de sortie, définies par la fonction dateur Z = {z(k)}k=0,...,kf , il s’agit de trouver
les dates de franchissement au plus tard des transitions d’entrée U = {u(k)}k=0,...,kf telles que les dates
69
70 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
de franchissement des transitions de sortie Y = {y(k)}k=0,...,kf se produisent avant les dates souhaitées.
Elle est notée uJAT , et se définit par :
uJAT =⊕
M(u)¹z
u.
Différents travaux ont permis d’étendre la commande en juste-à-temps des systèmes (max,+) li-
néaires notamment dans les cas où :
• le modèle ne reflète pas le comportement réel du système [Boimond and Ferrier, 1996],
[Menguy et al., 2000a], [Menguy, 1997, §6] ;
• des entrées sont non maîtrisables [Menguy et al., 2000b], [Menguy, 1997, §5.4.2] ;
• le système est linéaire mais non stationnaire [Lahaye, 2000] ;
• le modèle est hybride, c.-à-d. est composé de parties continues et discrètes, interconnectées entre
elles [Hamaci et al., 2006] ;
• des contraintes additionnelles sur l’état sont considérées [Houssin, 2005].
La commande par poursuite de modèle a pour objectif le calcul d’un correcteur, noté F , tel que le
comportement entrée-sortie du système corrigé, noté GF , composé du modèle du système, noté M , et
du correcteur F , soit aussi "proche" que possible de celui du modèle de référence, noté Gref . Plusieurs
études ont été menées. Une étude consiste à placer le correcteur en amont du système nominal, autre-
ment dit, à précompenser le système [Libeaut, 1996], [Libeaut and Loiseau, 1996], [Cottenceau, 1999,
§3.2]. Une autre étude consiste à placer le correcteur dans la boucle de retour [Cottenceau et al., 2000],
[Cottenceau et al., 2001], [Lüders and Santos-Mendes, 2002]. La figure 3.1 présente les schémas-blocs
du modèle M du système, du système en boucle fermée où le correcteur est situé dans la boucle de retour
et du modèle de référence Gref .
M M
Figure 3.1 – Commande par poursuite de modèle.
Une structure de commande généralisant ces approches a été proposée dans [Maia et al., 2003]. Elle
est basée sur l’utilisation simultanée d’un précompensateur (situé dans la boucle d’action) et d’un bloc
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 71
situé dans la boucle de retour de sortie.
Dans ce qui suit, nous nous intéressons uniquement au problème de commande par poursuite de tra-
jectoire. Nous montrons que la synthèse de cette commande vis-à-vis du critère de juste-à-temps, établie
pour des systèmes représentés par des graphes d’événements temporisés, se généralise pour des SFPM
représentés par des modèles à commutations (max,+) linéaires, ou par des RdPT saufs, pour autant que
la gestion des ressources communes soit résolue au fur et à mesure via une règle d’ordonnancement.
Nous avons considéré dans le cadre de cette thèse une règle d’ordonnancement locale de type Earliest
Due Date (EDD). Nous allons étudier la commande des SFPM en considérant chacun des modèles pré-
sentés dans le chapitre précédent (modèles à commutations, modèles de type tas). Ainsi ce chapitre est
organisé de la façon suivante :
– A titre de rappel, la première section traite de la commande optimale vis-à-vis du critère de juste-
à-temps des systèmes modélisés par des GEvT. Un exemple est donné à titre d’illustration.
– La deuxième section aborde le problème de la commande des systèmes à commutations (max,+)
linéaires. Une application est proposée.
– La troisième section traite de la commande des systèmes pouvant être représentés par des GEtT
saufs auxquels sont associées des transitions d’entrée.
– La commande des SFPM est alors considérée. Par souci de simplicité, on s’intéresse dans un
premier temps aux SFPM composés de sous-systèmes séparés par des stocks intermédiaires. Un
tel "découplage" facilite la synthèse de la commande. Le cas des SFPM sans stocks intermédiaires
est ensuite considéré, les modifications sur les algorithmes de commande qui en résultent sont
alors données.
Une synthèse de ces travaux est proposée dans les publications [Alsaba et al., 2006a],
[Alsaba et al., 2006b], [Alsaba et al., 2006c].
3.1 Commande des systèmes pouvant être représentés par des graphes
d’événements temporisés
Soient une entrée de référence Z connue a priori et un modèle GEvT décrit dans l’algèbre (max,+)
par les équations suivantes :
{X(k) = AX(k − 1)⊕BU(k),
Y (k) = CX(k).
La synthèse de la commande en juste-à-temps (JAT), notée uJAT , pose un problème de pseudo-inverse
que la théorie de la résiduation [Blyth and Janowitz, 1972] permet de résoudre directement. En effet, la
commande optimale, au sens du JAT, est solution d’un système d’équations, correspondant au modèle
72 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
d’état inversé, appelées équations d’état backward. Cette commande, basée sur le calcul itératif du co-
état, est définie comme étant la plus grande solution des équations d’état-adjoint suivantes :
{ξ(k) = A◦\ξ(k + 1) ∧ C◦\Z(k),
uJAT (k) = B◦\ξ(k),(3.2)
où ξ représente le vecteur d’état-adjoint, de même dimension que X (voir [Baccelli et al., 1992, §5.6])
pour plus de détails. Ce vecteur regroupe les dateurs associés aux transitions du modèle backward et
correspond au franchissement le plus tardif possible des transitions du GEvT tel que la sortie Y soit
inférieure, ou égale, au sens du dioïde à la consigne Z (Y ¹ Z). A ces équations backward, est associée
la condition initiale suivante :
∃ kf tel que z(k) = >(i.e., +∞) et ξ(k) = >, ∀k > kf .
Cette condition initiale signifie qu’on ne souhaite pas contrôler la production au-delà de l’événement fixé
kf .
A titre d’exemple, considérons le GEvT de la figure 2.12 (page 66) décrit par les équations (max,+)
suivantes (voir §2.2.2 pour obtenir une des formes récurrentes explicites possibles) :
X(k) =
ε 5
e ε
X(k − 1)⊕
5
ε
U1(k),
Y (k) = X4(k) =(e ε
)X(k).
Étant donnée l’entrée de référence Z =(
10 19 23 27 31 37)
souhaitée en sortie Y (= X4)
du GEvT, appliquons les équations (3.2) avec kf = 5 sachant qu’il y a 6 événements souhaités en sortie,
il en résulte le vecteur d’état-adjoint ξt =
(10 19 23 27 31 37
14 18 22 26 32 >
)et la commande U1JAT =
(5 14 18 22 26 32
).
Une extension au cas des GEvT non stationnaires est proposée dans [Lahaye et al., 1999]. Nous allons,
dans la section qui suit, reprendre ces travaux afin de les appliquer dans le cadre de la commande des
systèmes à commutations (max,+) linéaires.
3.2 Commande optimale des systèmes à commutations (max, +) linéaires
3.2.1 Introduction
Plusieurs études ont été menées en vue d’étendre la classe des SED pouvant être analysés à l’aide
de l’algèbre (max,+). Parmi ces travaux, nous nous concentrons dans cette section sur les systèmes dits
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 73
à commutations (max,+) linéaires introduits dans [Van Den Boom and De Schutter, 2004]. Ces der-
niers peuvent être vus comme des automates capables de commuter entre plusieurs représentations d’état
(max,+) linéaires. De tels automates sont adéquats pour modéliser des SED dans lesquels plusieurs
modes d’opération prennent effet. Comparativement à des modèles (max,+) linéaires, la commutation
permet de prendre en compte des phénomènes additionnels tels qu’une "rupture de synchronisation" (par
exemple, une correspondance annulée entre deux trains), ou un changement de l’ordre d’occurrences
des événements. Dans [Van Den Boom and De Schutter, 2004], les auteurs ont proposé d’appliquer une
commande prédictive. Dans cette thèse, nous traitons le problème de la commande en JAT. Au §2.3.2,
nous avons établi la réponse des systèmes à commutations (max,+) linéaires en adaptant des travaux
sur les systèmes (max,+) linéaires non stationnaire. Poursuivant cette démarche, nous nous inspirons
de [Lahaye et al., 1999] pour établir leur commande de type JAT. Soulignons encore que l’apport des
commutations réside dans la prise en compte de changement de structure du système.
3.2.2 Commande de type juste-à-temps des systèmes à commutations (max,+) linéaires
Comme il est dit dans la Proposition 2.7 (page 58), la sortie y d’un système à commutations (max,+)
linéaires satisfait la relation :
∀k ∈ Z, y(k) = [H(u)](k) =⊕j≤k
h(k, j)u(j) où h(k, j) = C(l)(k)Φ(k, j)B(l)(j).
La proposition suivante décrit la commande de type JAT d’un tel système.
Proposition 3.1. La commande optimale de type JAT, notée uJAT (k), est donnée par :
uJAT (k) = [H](z)](k) =∧j≥k
h(j, k)◦\z(j).
Preuve : Soit ω le signal défini par : ∀k ∈ Z, ω(k) =∧j≥k
h(j, k)◦\z(j).
1. Posons x satisfaisant H(x) ¹ z et montrons que x ¹ ω (c.-à-d. ω est la plus grande commande).
On a :
∀k ∈ Z,⊕i≤k
h(k, i)x(i) ¹ z(k),
∀k, i ∈ Z, i ≤ k ; h(k, i)x(i) ¹ z(k),
∀k, i ∈ Z, i ≤ k ; x(i) ¹ h(k, i)◦\z(k),∀i ∈ Z, x(i) ¹ ∧
k≥i
h(k, i)◦\z(k) = ω(i).
2. Montrons, à présent, que ω satisfait H(ω) ¹ z. En utilisant le fait de choisir un terme parmi
plusieurs dans une opération ∧ et l’équation (1.1) (page 29), on en déduit que ∀k ∈ Z :⊕i≤k
h(k, i)ω(i) =⊕i≤k
h(k, i)[∧j≥i
h(j, i)◦\z(j)] ¹ ⊕i≤k
h(k, i)[h(k, i)◦\z(k)] ¹ ⊕i≤k
z(k) = z(k),
74 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
ce qui montre que ω est effectivement la plus grande solution deH(x) ¹ z.
¤
Remarque 3.2. Il est toujours possible de calculer une telle commande, dans ce chapitre, car les
exemples considérés sont sur un horizon fini. De plus on peut également calculer une telle commande
pour des signaux infinis mais rationnels (ce qu’on va traiter dans le quatrième chapitre), car si l’entrée
de référence z(k) est rationnelle alors l’entrée optimale u(k) le sera aussi.
Dans ce qui suit, nous montrons que uJAT est la solution d’un système d’équations récurrentes
backward (au sens où les événements sont considérés selon un ordre inverse à ceux considérés dans
un modèle forward). Ces équations présentent une forte analogie avec les équations d’état-adjoint de la
théorie de la commande optimale.
Commençons par remarquer que :
uJAT (k) =∧j≥k
h(j, k)◦\z(j),
=∧j≥k
(C(l)(j)Φ(j, k)B(l)(k))◦\z(j), (voir Proposition 2.7)
=∧j≥k
B(l)(k)◦\[(C(l)(j)Φ(j, k))◦\z(j)], (voir équation (1.6) (page 29))
= B(l)(k)◦\ξ(k),où ξ(k) =
∧j≥k
(C(l)(j)Φ(j, k))◦\z(j).
La proposition suivante montre que ξ est la plus grande solution d’un système backward.
Proposition 3.3. La plus grande solution de l’équation :
ξ(k) = A(l)(k + 1)◦\ξ(k + 1) ∧ C(l)(k)◦\z(k) (3.3)
est donnée par :
ξ(k) =∧j≥k
(C(l)(j)Φ(j, k))◦\z(j).
Preuve :
1. Montrons que ξ(k) est une solution de l’équation (3.3).
∀k ∈ Z,
A(l)(k + 1)◦\ξ(k + 1) ∧ C(l)(k)◦\z(k)= A(l)(k + 1)◦\[ ∧
i≥k+1
(C(l)(i)Φ(i, k + 1))◦\z(i)] ∧ C(l)(k)◦\z(k),
=∧
i≥k+1
(C(l)(i)Φ(i, k + 1)A(l)(k + 1))◦\z(i) ∧ C(l)(k)◦\z(k), (cf. équations (1.4) et (1.6))
=∧
i≥k+1
(C(l)(i)Φ(i, k))◦\z(i) ∧ (C(l)(k)Φ(k, k))◦\z(k), (voir remarque 2.6, page 57)
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 75
=∧i≥k
(C(l)(i)Φ(i, k))◦\z(i),
= ξ(k).
2. Supposons que {ξ(k)}k∈Z soit une solution de l’équation (3.3), montrons alors que ξ ¹ ξ.
∀k ∈ Z :ξ(k) = A(l)(k + 1)◦\[A(l)(k + 2)◦\ξ(k + 2) ∧ C(l)(k + 1)◦\z(k + 1)] ∧ C(l)(k)◦\z(k),
= [A(l)(k + 2)A(l)(k + 1)]◦\ξ(k + 2) ∧ [C(l)(k + 1)A(l)(k + 1)]◦\z(k + 1) ∧ C(l)(k)◦\z(k),(cf. équations (1.4) et (1.6), page 29)
...
= Φ(k + k0, k)◦\ξ(k + k0) ∧k+k0−1∧
j=k
(C(l)(j)Φ(j, k))◦\z(j), ∀k0 ≥ 1
(voir remarque 2.6, page 57)
Il est clair que ∀k, ξ(k) ¹ ξ(k) lorsque k0 → +∞.
¤
Finalement, la commande {uJAT (k)}k∈Z peut être calculée en utilisant la procédure itérative back-
ward suivante :
{ξ(k) = A(l)(k + 1)◦\ξ(k + 1) ∧ C(l)(k)◦\z(k),
uJAT (k) = B(l)(k)◦\ξ(k).
3.2.3 Application
Revenons à l’exemple 2.5 (page 53). La variable de commutation σ(k), et par conséquence l(k), sont
supposés connus sur toute la séquence des événements étudiés. Nous pouvons alors appliquer la méthode
proposée pour calculer la commande en JAT. La table suivante regroupe les grandeurs concernées :
z(k) correspond à la date souhaitée de livraison de la k-ième pièce, l(k) donne le numéro du mode
de fonctionnement sélectionné pour la k-ième pièce, uJAT1(·) et uJAT2
(·) sont les entrées optimales
résultantes, et y(·) est la réponse de la sortie aux entrées uJAT1(·) et uJAT2
(·). Nous vérifions que y(k) ¹z(k), ce qui signifie, vis-à-vis du système de production, que les dates de livraison de chaque produit sont
antérieures à celles souhaitées.
k 0 1 2 3 4 5 6 7 8
z(k) 20 60 70 80 83 85 90 95 100
l(k) 1 1 2 2 2 1 2 1 2
uJAT1(k) 12 52 58 63 68 75 78 85 88
uJAT2(k) 11 51 58 63 68 76 78 86 88
y(k) 20 60 70 75 80 85 90 95 100
76 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
Données numériques relatives à l’exemple.
3.3 Commande des systèmes pouvant être représentés par des graphes
d’état temporisés saufs auxquels sont associées des transitions d’en-
trée
Avant de traiter de la commande des SFPM, on s’intéresse à la commande des GEtT auxquels sont
associées des transitions d’entrée, ce qui permet de se focaliser sur les phénomènes de choix. La loi
de commande appliquée dans le cadre de ces graphes est telle que l’ordonnancement de la ressource
partagée est obtenu en ordonnant les tâches par dates croissantes d’achèvements souhaitées, ces dates
étant indiquées par une entrée de référence. Cette règle est appelée la règle Earliest Due Date (EDD),
ou la règle de Jackson [Jackson, 1955]. Étant donnée la représentation (max,+) linéaire des graphes,
décrite dans les sections 2.4.2.2 et 2.4.2.3, la méthode de commande se ramène à résoudre un problème
d’inversion de modèle.
Ainsi, il résulte la commande en JAT, notée uJAT , suivante :
uJATi(k) =∧j≥k
Zi(j)◦/(B(k)Φ(k, j)C(j)), avec
Φ(k, j) = A(k + 1)A(k + 2)...A(j) (cf. §2.4.2.3), B(k) = FA(k) et C(j) = F ti (j) (cf. §2.4.2.2),
soit,
uJATi(k) =∧j≥k
Zi(j)◦/(FA(k)A(k + 1)...A(j)F ti (j)),
où l’entrée de référence Zi(j) correspond à Z1(j), resp., Z2(j) (c.-à-d. la sortie souhaitée pour Y1, resp.,
pour Y2) selon la séquence I1O1, resp., I2O2, réalisée à l’étape j.
Soit uJATi(k) = ξ(k)◦/F avec ξ(k) =∧j≥k
Zi(j)◦/(A(k)A(k + 1)...A(j)F ti (j))
=∧j≥k
Zi(j)◦/(A(k)Φ(k, j)Fti (j)) =
∧j≥k
Zi(j)◦/(Φ(k − 1, j)F ti (j)).
La proposition suivante montre que ξ est la plus grande solution d’un système backward.
Proposition 3.4. ξ est la plus grande solution de l’équation :
ξ(k) = ξ(k + 1)◦/A(k) ∧ Zi(k)◦/(A(k)Fti (k)). (3.4)
Preuve : La preuve est analogue à celle de la proposition 3.3.
1. Montrons que ξ(k) est une solution de l’équation (3.4).
∀k ∈ Z,
ξ(k + 1)◦/A(k) ∧ Zi(k)◦/(A(k)Fti (k))
= [∧
j≥k+1
(Zi(j)◦/(Φ(k, j)Fti (j)))]◦/A(k) ∧ Zi(k)◦/(A(k)F
ti (k)),
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 77
= [∧
j≥k+1
(Zi(j)◦/(A(k)Φ(k, j)Fti (j)))] ∧ Zi(k)◦/(A(k)Φ(k, k)F
ti (k)), (cf. équation (1.6))
=∧j≥k
Zi(j)◦/(A(k)Φ(k, j)Fti (j)),
= ξ(k).
2. Supposons que {ξ(k)}k∈Z soit une solution de l’équation (3.4), montrons alors que ξ ¹ ξ.
∀k ∈ Z :
ξ(k) = ξ(k + 2)◦/[A(k)A(k + 1)] ∧ Zi(k + 1)◦/[A(k)A(k + 1)F ti (k + 1)] ∧ Zi(k)◦/[A(k)F
ti (k)],
(cf. équations (1.4) et (1.6))...
= ξ(k + k0)◦/(A(k)Φ(k, k + k0 − 1)) ∧k+k0−1∧
j=k
Zi(j)◦/(A(k)Φ(k, j)Fti (j)), ∀k0 ≥ 1
Il est clair que ∀k, ξ(k) ¹ ξ(k) lorsque k0 → +∞.
¤
Afin de simplifier l’analyse, considérons le graphe représenté par la figure 2.9 (page 62). Le fait d’uti-
liser la règle d’ordonnancement de Jackson (laquelle vise à gérer la ressource afin de respecter l’ordre
des dates croissantes indiquées par l’entrée de référence) revient à appliquer l’algorithme de commande
suivant à l’étape k (avec k = l + h, où l et h indiquent respectivement les numéros d’occurrence des
entrées de référence) :
si Z1(l)¹Z2(h) alors :
ξ(k) = (ξ(k + 1) ∧ Z2(h)◦/Ft2)◦/M(I2O2),
Ξ2(h) = ξ(k)◦/F,
h = h− 1,
sinon : (3.5)
ξ(k) = (ξ(k + 1) ∧ Z1(l)◦/Ft1)◦/M(I1O1),
Ξ1(l) = ξ(k)◦/F,
l = l − 1,
où Ξ1(l), resp., Ξ2(h), correspond à la date de franchissement de la transition d’entrée I1(l), resp., I2(h),
et les vecteurs d’interfaces sont F = (ε, e, ε), F1 = (e, ε, ε) et F2 = (ε, ε, e). La règle d’ordonnancement
de Jackson permet de répartir la ressource partagée en réalisant une sélection parmi les séquences I1O1
et I2O2, ceci à chaque étape k de l’algorithme.
Notons que le test Z1(l)¹ Z2(h) donne une priorité à la séquence I1O1 en cas d’égalité entre Z1(l) et
Z2(h) (même échéance).
Il est important de rappeler que la commande obtenue correspond à la commande optimale en JAT
du GEvT correspondant au RdPT obtenu en considérant l’ordonnancement utilisé. Toutefois, la méthode
proposée ici pour calculer la commande permet une réduction importante de la complexité, au sens où il
78 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
n’est pas nécessaire de transformer le RdPT initial en un GEvT équivalent pour chaque ordonnancement
considéré. Rappelons que les dimensions des matrices manipulées sont indépendantes de l’ordonnance-
ment considéré, ce qui est une propriété intéressante due à la modélisation de type tas utilisée. Un calcul
de complexité est présenté à la fin du chapitre.
Remarque 3.5. Un raisonnement analogue à celui mené au §3.2.2 permet d’aboutir à la forme suivante
du vecteur d’état-adjoint :
ξ(k) =∧j≥k
Zi(j)◦/(Φ(k, j)C(j)) =∧j≥k
Zi(j)◦/(A(k + 1)...A(j)F ti (j))
qui est la plus grande solution de l’équation implicite du système d’équations suivant (semblable à celui
d’un GEvT) :
{ξ(k) = ξ(k + 1)◦/A(k + 1) ∧ Zi(k)◦/F
ti (k),
uJAT (k) = ξ(k)◦/(F (k)A(k)),
ce qui est cohérent avec les résultats précédents de par la relation suivante entre les deux états-adjoints :
ξ(k) = ξ(k)◦/A(k) (il suffit de résiduer à droite les deux côtés de l’équation implicite par A(k) pour re-
trouver la formule utilisée dans l’algorithme). L’utilisation du vecteur d’état-adjoint ξ dans l’algorithme
est motivée par l’interprétation graphique liée aux modèles de tas de pièces que l’on peut donner à un
tel vecteur. En fait, ξ donne le contour inférieur du tas de pièces (une illustration numérique est donnée
dans la section suivante), alors que ξ n’a pas de signification directe.
3.4 Commande des systèmes flexibles de production manufacturière
Chaque ligne de production d’un SFPM est considérée comme étant un assemblage de GEtT et de
GEvT. Nous allons considérer deux types de liaisons entre ces deux sous-classes. Dans le premier cas,
le plus simple à traiter, les différents graphes sont reliés par des places tampons (par exemple, des stocks
intermédiaires), ce qui permet un relatif découplage vis-à-vis du calcul de la commande. Le deuxième
cas, plus général, tient compte "d’influences mutuelles" ou "couplage" entre les différents systèmes.
3.4.1 Cas des systèmes composés de sous-systèmes découplés
C’est le cas du système représenté sur la figure 2.1 (page 45), pour lequel sa correspondance en
termes de sous-systèmes est décrite sur la figure 2.12 (page 66). Pour l’assemblage des sous-modèles
GEtT ou GEvT, une zone de stockage de capacité infinie est ajoutée en amont de chaque sous-modèle
(représentée par les places P1, P4, P5, P6, P13 dans le SFPM de la figure 2.1). Cette hypothèse permet
alors de calculer la loi de commande par applications successives des algorithmes proposés pour chaque
sous-modèle : à travers l’utilisation des équations (3.2) pour un modèle de type GEvT et à travers les
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 79
équations (3.5) pour un modèle de type GEtT sauf.
La démarche permettant le calcul de la commande optimale (au sens du JAT) est la suivante : étant
donnés Z1, Z2, nous obtenons ξ4, ξ6 en appliquant l’algorithme (3.5) au GEtT2. Étant donné ξ4 (consi-
déré comme une entrée de référence vis-à-vis du GEvT), nous calculons U1JAT en appliquant l’algo-
rithme (3.2) au GEvT. Finalement, étant donnés ξ6, Z3 (considérés comme des entrées de référence vis-
à-vis du GEtT1), nous obtenons U2JAT , U3JAT en appliquant l’algorithme (3.5) au GEtT1. Notons que
ξ2, ξ3 (resp., ξ5, ξ7) correspondent aux dates où la ressource de la machine M3 (resp., M2) est assignée
aux pièces. Ces dates sont les plus tardives possibles permettant de satisfaire la consigne.
3.4.1.1 Application numérique
Appliquons l’algorithme de commande précédent à l’exemple de la figure 2.12 (page 66), en consi-
dérant l’entrée de référence suivante :
Z =
Z1
Z2
Z3
=
14 32 33 34 35 41
ε ε ε 30 31 43
10 11 12 13 24 36
.
Étant donnés Z1, Z2, nous obtenons, en appliquant l’algorithme (3.5) au GEtT2 :
(ξ4
ξ6
)=
(10 19 23 27 31 37
ε ε ε 16 18 42
).
A titre d’exemple, les deux premières valeurs numériques obtenues de ξ sont : ξ(8) = (ε 42 42) et
ξ(7) = (38 38 42) qui donnent le contour inférieur du tas de pièces correspondant. Par contre, il n’y a
pas de signification graphique pour celles de ξ (ξ(8) = (ε ε 43) et ξ(7) = (41 42 42)).
Nous remarquons sur la figure 3.2 que la commande au niveau des transitions X4, X6 se ramène,
vis-à-vis du tas de pièces correspondant, à "retenir" certaines pièces aussi longtemps que possible tout
en respectant le critère de JAT. Ceci implique que les pièces ne sont plus nécessairement empilées (voir
par exemple la sixième pièce de type 1, ou la première pièce de type 2).
Puis, en considérant ξ4 et appliquant l’algorithme (3.2) au GEvT, nous déduisons l’entrée de com-
mande :
U1JAT =(
5 14 18 22 26 32)
.
A présent, en considérant ξ6 et Z3, et en appliquant l’algorithme (3.5) au GEtT1, nous obtenons :(U2JAT
U3JAT
)=
(ε ε ε 7 11 35
0 2 4 6 20 32
).
La sortie du système, induite par UJAT , est calculée, en utilisant les équations (2.2) pour les GEvT et
80 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
P10 P11 P12
20
19
24
27
23
28
31
32
38
41
43
35
42
18
16
17
11
14
36
15
3 pièce de type 2 (date souhaitée = 43)ième
6 pièce de type 1 (date souhaitée = 41)ième
5 pièce de type 1 (date souhaitée = 35)ième
4 pièce de type 1 (date souhaitée = 34)ième
2 pièce de type 2 (date souhaitée = 31)ième
1 pièce de type 2 (date souhaitée = 30)ière
3 pièce de type 1 (date souhaitée = 33)ième
2 pièce de type 1 (date souhaitée = 32)ième
1 pièce de type 1 (date souhaitée = 14)ière
slots
t
Figure 3.2 – Tas de pièces résultant de l’application de l’algorithme (3.5) au GEtT2.
(2.14) pour les GEtT, et correspond à : Y =
Y 1
Y 2
Y 3
=
14 23 27 31 35 41
ε ε ε 17 19 43
4 6 8 10 24 36
.
Nous pouvons vérifier que Y ¹ Z. A titre d’illustration Y 1 et Z1 sont représentés dans la figure 3.3.
Exemple 3.6. On s’intéresse au SFPM représenté sur la figure (3.4) où une ressource est partagée entre
trois lignes de production.
Le problème de commande se ramène à un problème d’ordonnancement d’un atelier de type job-
shop. Un tel problème est NP-difficile du fait que la ressource est partagée par au moins trois tâches
[Sotskov, 1991]. La solution alternative que nous utilisons pour gérer la ressource partagée, est basée
sur la règle d’ordonnancement locale de Jackson. Une telle gestion des ressources correspond à appli-
quer l’algorithme de commande suivant à l’étape k (avec k = l + h+ g) :
(3.6)
si max(Z1(l), Z2(h), Z3(g)) = Z2(h) alors :
ξ(k) = (ξ(k + 1) ∧ Z2(h)◦/Ft2)◦/M(X2X5),
Ξ2(h) = ξ(k)◦/F,
h = h− 1,
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 81
12
temps
événement
Figure 3.3 – Trajectoires relatives à Y 1 et Z1.
si max(Z1(l), Z2(h), Z3(g)) = Z3(g) alors :
ξ(k) = (ξ(k + 1) ∧ Z3(g)◦/Ft3)◦/M(X3X6),
Ξ3(g) = ξ(k)◦/F,
g = g − 1,
sinon ( max(Z1(l), Z2(h), Z3(g)) = Z1(l) ) :
ξ(k) = (ξ(k + 1) ∧ Z1(l)◦/Ft1)◦/M(X1X4),
Ξ1(l) = ξ(k)◦/F,
l = l − 1,
où Ξ1(l) (resp., Ξ2(h),Ξ3(g)) correspond à la date de franchissement de la transition d’entrée X1(l)
(resp.,X2(h), X3(g)) et les vecteurs d’interfaces sont :F = (ε, e, ε, ε), F1 = (e, ε, ε, ε), F2 = (ε, ε, e, ε)
et F3 = (ε, ε, ε, e). Il apparaît clairement que la règle d’ordonnancement de la ressource partagée réa-
lise une sélection parmi les séquences X1X4, X2X5 et X3X6 à chaque étape k de l’algorithme.
Considérons le modèle de type tas correspondant au SFPM défini par :
T = {X1, X2, X3, X4, X5, X6},R = {P1, P, P3, P4} ;R(X1) = R(X4) = {P1, P}, R(X2) = R(X5) = {P, P3}, R(X3) = R(X6) = {P, P4} ;u(X1, .) = [3, 0,−∞,−∞], l(X1, .) = [0, 0,−∞,−∞],
u(X2, .) = [−∞, 0, 1,−∞], l(X2, .) = [−∞, 0, 0,−∞],
u(X3, .) = [−∞, 0,−∞, 5], l(X3, .) = [−∞, 0,−∞, 0],u(X4, .) = [0, 1,−∞,−∞], l(X4, .) = [0, 0,−∞,−∞],
82 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
GEvTi
GEvTo
GEtT
Figure 3.4 – Modèle d’un SFPM où une ressource est partagée en trois lignes de production.
u(X5, .) = [−∞, 1, 0,−∞], l(X5, .) = [−∞, 0, 0,−∞],
u(X6, .) = [−∞, 1,−∞, 0], l(X6, .) = [−∞, 0,−∞, 0].
Les tas de pièces correspondant aux lettres X1, X2, ..., X6 sont représentés dans la figure 3.5.
M(X1) = I⊕[l(X1, .)]tu(X1, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
−e−eε
ε
(3 e ε ε
)=
3 e ε ε
3 e ε ε
ε ε e ε
ε ε ε e
,
M (X4) = I⊕[l(X4, .)]tu(X4, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
−e−eε
ε
(e 1 ε ε
)=
e 1 ε ε
e 1 ε ε
ε ε e ε
ε ε ε e
,
M (X2) = I⊕[l(X2, .)]tu(X2, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
ε
−e−eε
(ε e 1 ε
)=
e ε ε ε
ε e 1 ε
ε e 1 ε
ε ε ε e
,
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 83
slots
0
temps
0
pièce correspondant à la lettre X4
slotsP1 P P3 P4
pièce correspondant à la lettre X1
P4P3PP1
3
1
temps
slots
0
temps
0
pièce correspondant à la lettre X5
slotsP1 P P3 P4
pièce correspondant à la lettre X2
P4P3PP1
1
1
temps
slots
0
temps
0
pièce correspondant à la lettre X6
slotsP1 P P3 P4
pièce correspondant à la lettre X3
P4P3PP1
5
1
temps
Figure 3.5 – Tas de pièces associés aux lettres X1, X2, ..., X6.
M (X5) = I⊕[l(X5, .)]tu(X5, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
ε
−e−eε
(ε 1 e ε
)=
e ε ε ε
ε 1 e ε
ε 1 e ε
ε ε ε e
,
M (X3) = I⊕[l(X3, .)]tu(X3, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
ε
−eε
−e
(ε e ε 5
)=
e ε ε ε
ε e ε 5
ε ε e ε
ε e ε 5
,
M (X6) = I⊕[l(X6, .)]tu(X6, .) =
e ε ε ε
ε e ε ε
ε ε e ε
ε ε ε e
⊕
ε
−eε
−e
(ε 1 ε e
)=
e ε ε ε
ε 1 ε e
ε ε e ε
ε 1 ε e
.
Il en résulte que :
M (X1X4) =M (X1)M (X4) =
3 e ε ε
3 e ε ε
ε ε e ε
ε ε ε e
e 1 ε ε
e 1 ε ε
ε ε e ε
ε ε ε e
=
3 4 ε ε
3 4 ε ε
ε ε e ε
ε ε ε e
,
84 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
M (X2X5) =M (X2)M (X5) =
e ε ε ε
ε e 1 ε
ε e 1 ε
ε ε ε e
e ε ε ε
ε 1 e ε
ε 1 e ε
ε ε ε e
=
e ε ε ε
ε 2 1 ε
ε 2 1 ε
ε ε ε e
,
etM (X3X6) =M (X3)M (X6) =
e ε ε ε
ε e ε 5
ε ε e ε
ε e ε 5
e ε ε ε
ε 1 ε e
ε ε e ε
ε 1 ε e
=
e ε ε ε
ε 6 ε 5
ε ε e ε
ε 6 ε 5
.
Appliquons l’algorithme de commande pour l’entrée de référence suivante :
Z =
Z1
Z2
Z3
=
22 24 25 50
25 40 41 50
27 39 44 52
,
étant donnés Z, nous obtenons en appliquant l’algorithme (3.2) au GEvTo :
ξo =
ξ4
ξ5
ξ6
=
19 21 22 47
18 20 21 46
26 38 43 51
,
puis, en considérant ξo et appliquant l’algorithme (3.6) au GEtT, nous déduisons :
ξi =
ξ1
ξ2
ξ3
=
5 11 17 42
3 9 15 40
21 28 34 46
, dont une interprétation sous une forme graphique est propo-
sée sur la figure 3.6.
Enfin, en appliquant l’algorithme (3.2) au GEvTi, il en résulte :
UJAT =
U1JAT
U2JAT
U3JAT
=
4 10 16 41
0 6 12 37
21 28 34 46
.
La sortie du système, induite par UJAT , est donnée (en utilisant les équations (2.2) et (2.14)) par :
Y =
Y 1
Y 2
Y 3
=
11 17 23 48
6 12 18 43
27 34 40 52
.
En fait, la commande obtenue est équivalente à la commande optimale en JAT du GEvT correspondant
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 85
slots
0
temps
P4P3PP1
11
3
5
9
15
17
21
27
28
34
40
42
46
52
pièce de type 1
pièce de type 2
pièce de type 3
Figure 3.6 – Tas de pièces résultant de l’application de l’algorithme (3.6) au GEtT.
au RdPT obtenu en considérant l’ordonnancement utilisé, mais avec une importante réduction de la
complexité.
Enfin nous pouvons généraliser, de la même façon, l’algorithme pour une ressource partagée avec un
nombre n > 3 de lignes de production.
3.4.2 Cas des sous-systèmes couplés
Dans le cas où il n’y a pas toujours de place tampon entre les sous-systèmes (voir, par exemple, le
SFPM représenté sur la figure 3.7), l’approche backward utilisée pour synthétiser la loi de commande est
plus compliquée au sens où il faut veiller à exprimer l’influence du comportement dynamique des sous-
systèmes entre eux. Cet effet donne lieu à un ralentissement dû au phénomènes de synchronisation au
niveau des franchissements des transitions appartenant aux interfaces, et par conséquent les dateurs des
places associées aux GEtT sont influencés aussi. Les GEtT considérés étant saufs, il suffit juste de corri-
ger les équations backward en considérant de plus l’influence des événements d’entrées (causés par les
systèmes en amont) décalés d’un événement (étant donnée la présence d’un jeton dans la place centrale).
Ces événements ne sont pas pris en compte lors du calcul de la commande avec des places tampons (cf.
86 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
X6 Y3
P7
P8
P9
X4
X1 X2 X3
U3U2U1
machin
e M
1
Pièce A Pièce B Pièce C
P1
P2P3
8
P5 P6
Y2Y1
P10
P11
P12
machin
e M
2
machin
e M
3
Figure 3.7 – Exemple de SFPM sans place tampon de stockage entre les sous-systèmes.
§3.4.1), où était seulement considérée la réponse à l’entrée de référence donnée par le client (la réponse
en sortie). En effet, cet échantillon était calculé à l’étape précédente de l’algorithme sans considérer le
ralentissement éventuel dû au comportement du système situé en amont. Pour simplifier, considérons un
système constitué d’une machine ayant une ressource partagée entre deux ligne de production fabriquant
l’une des pièces de type 1, l’autre des pièces de type 2. Considérons le cas où une production est lancée,
plus précisément que l pièces de type 1 et h pièces de type 2 sont déjà produites (soit k = l + h). Sup-
posons qu’une machine va être affectée pour produire une pièce de type 2 lors de l’étape k suivante (le
numéro de l’étape actuelle étant supposée k + 1), il en résulte la relation :
∆(k) = (∆(k + 1) ∧ ξO2(h)◦/Ft2)◦/M(I2O2).
Considérons à présent la transition I2 (voir figure 3.8). Cette transition pouvant être retardée par un sys-
tème situé en amont, il en résulte que le calcul du vecteur d’état précédent (∆(k)) fait intervenir le terme
(ξI2(h)◦/Ft).
Enfin, afin de prendre en compte une éventuelle influence due à un système situé en amont de la tran-
sition I1, ξI1(l) doit être décalée d’un échantillon (du fait du jeton situé dans la place P centrale) et
projetée convenablement sur l’espace d’état, aussi le calcul de ∆(k) fait également intervenir le terme
[(ξI1(l + 1)◦/F t)◦/M(I2O2)].
Ces différentes interactions sont représentées sur la figure 3.8.
Un raisonnement similaire pour la production d’une pièce de type 1 permet de proposer l’algorithme de
commande suivant dans le cas général :
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 87
Figure 3.8 – L’influence des dynamiques en amont sur les GEtT.
si Z1(l)¹Z2(h) alors :
∆(k) = [∆(k + 1) ∧ ξO2(h)◦/Ft2 ∧ ξI1(l + 1)◦/F t]◦/M(I2O2) ∧ ξI2(h)◦/F t,
ξI2(h) = ∆(k)◦/F,
h = h− 1,
(3.7)
sinon :
∆(k) = [∆(k + 1) ∧ ξO1(l)◦/Ft1 ∧ ξI2(h+ 1)◦/F t]◦/M(I1O1) ∧ ξI1(l)◦/F t,
ξIi(l) = ∆(k)◦/F,
l = l − 1,
(3.8)
où F1 = (e, ε, ε), F2 = (ε, ε, e), F = (ε, e, ε).
La règle d’ordonnancement EDD utilisée pour gérer la ressource partagée permet une sélection parmi
les séquences I1O1 et I2O2 à chaque étape k = h+ l de l’algorithme.
3.4.3 Application numérique
Appliquons l’algorithme de commande précédent sur l’exemple de la figure 3.9.
88 CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière
GEvT GEtT1
GEtT2
U1 U2 U3
X4 X6
Y1 Y2 Y3
X4
X1
U1
M1
P1
P2P3
GEvT
X6 Y3
P7
P8
P9
X2 X3
U3U2
M3
P5 P6
GEtT1
Y2Y1
P10
P11
P12
M2
X4 X6
GEtT2
8
Figure 3.9 – Décomposition sous forme de GEtT et GEvT correspondant au SFPM de la figure 3.7.
Soit l’entrée de référence suivante :
Z =
Z1
Z2
Z3
=
18 20 42 43 45
ε 19 21 31 41
ε 19 24 37 40
.
Nous appliquons l’algorithme précédent, étape par étape, en commençant par le dernier événement, il en
résulte les entrées du GEtT2 (ξi sont des dateurs associés aux transitions du modèle backward) :
ξ4 =(
10 16 32 38 42)
et ξ6 =(ε 14 20 26 30
),
nous obtenons en entrées du GEtT1 :
ξ2 =(ε 11 17 23 27
)et ξ3 =
(ε 15 21 36 39
),
et ξ1 =(
2 8 24 30 34)
pour le GEvT.
Finalement, nous déduisons les commandes optimales :
UJIT 1=(
0 6 22 28 32), UJIT 2
=(ε 7 13 19 23
),
UJIT 3=(ε 12 18 33 36
).
La sortie du système, en réponse à l’entrée UJIT , est donnée par :
Y =
Y 1
Y 2
Y 3
=
13 19 35 41 45
ε 15 21 27 31
ε 16 22 37 40
.
Nous pouvons vérifier que Y ¹ Z.
CHAPITRE 3 — Commande des systèmes flexibles de production manufacturière 89
3.5 Etude de la complexité
Le calcul de la loi de commande s’effectue en hors ligne et suppose connue a priori la trajectoire
de référence. Intéressons nous toutefois à la complexité du calcul de la loi de commande. En effet, on
pourrait concevoir un calcul de commande, en temps réel, capable de réactualiser la loi de commande au
vu de l’acquisition de nouvelles informations sur les consignes, à l’image des travaux proposés dans le
cadre des GEvT, décrits dans la thèse d’Eric Menguy [Menguy et al., 2000b]. La construction du modèle
de type tas pour les GEtT nécessite le calcul des matricesM(a) de dimension Q×Q associées à chaque
lettre a de l’alphabet T de dimension N , où Q représente le nombre d’états de l’automate résultant
(par abus de notation). En supposant que chaque opération (comparaison, addition ou maximisation)
prenne une unité de temps, alors la construction totale demande 2 × Q2 × N unités de temps (selon
le morphisme considéré). La sommation de deux matrices est de complexité O(Q2), le produit habituel
de deux matrices est de complexité O(Q3), dans le cas présent les matrices M(a), a ∈ T diffèrent
de la matrice d’identité seulement sur deux lignes et deux colonnes d’où une complexité du produit se
ramenant à O(Q2). Une résiduation matricielle correspond à une multiplication avec la transposée d’une
matrice, ce qui correspond à une complexité égale à O(Q2). Au total, la complexité est O(Q2 × |Z|)où |Z| est la dimension de l’entrée de référence, ce qui peut permettre (selon le temps de réponse du
système) l’application en temps réel d’une telle loi de commande, utile pour des SFPM amenés à traiter
différentes demandes clients, les calculs, étant réactualisés pour chaque nouvelle commande d’un client.
3.6 Conclusion
Nous avons étendu la commande de type JAT, considérée habituellement pour des SED représentés
par des GEvT, sur des SED mettant en jeu des phénomènes de partages de ressources ou admettant au
fil de l’évolution des modifications dans la synchronisation des événements. Nous avons proposé pour
cela deux méthodes différentes. La première méthode repose sur la théorie de commutation de systèmes
(max,+) linéaires pouvant être vus comme des automates capables de commuter entre plusieurs repré-
sentations d’état (max,+) linéaires. Nous avons montré que sous certaines conditions (la variable de
commutation est connue a priori durant l’horizon d’étude) ces SFPM admettent des commandes de type
JAT inspirées des systèmes non stationnaires, et permettent en plus de prendre en compte des change-
ments de structure du système. La deuxième méthode de commande de type JAT est basée sur la théorie
de tas de pièces utilisée pour modéliser dans l’algèbre (max,+) le partage des ressources. Le modèle,
issu d’une telle approche, permet de développer un algorithme de résiduation propre aux GEtT saufs, qui
par combinaison avec un calcul classique de résiduation des GEvT, permet de disposer d’une commande
globale des SFPM avec une complexité réduite (un gain par rapport à la première méthode).
CHAPITRE 4Extension pour lamodélisation et la
commandeL’objectif de ce chapitre est de montrer, à travers un exemple, les possibilités et les perspectives
des travaux réalisés durant cette thèse dans les domaines de la modélisation et de la commande des
SED, plus spécifiquement des SFPM représentés par des modèles RdPT. Nous proposons de transposer
une technique de commande, appliquée aux systèmes représentés par des GEvT, permettant la prise en
compte de perturbations.
En théorie des systèmes linéaires, le problème du rejet de perturbations consiste à trouver (si possible)
une commande telle que la sortie du système soit indépendante de la perturbation, ou "invariante" par
rapport à la perturbation. Dans le cadre d’une approche géométrique des systèmes, ce problème consiste à
rechercher une commande capable de maintenir l’état du système dans le noyau de la matrice de sortie. En
théorie des systèmes discrets, ce problème a été résolu par Wonham et Morse [Wonham and Morse, 1970,
Wonham, 1985] à travers la synthèse d’une commande par retour d’état basée sur les notions de sous-
espaces (A,B)-invariants et de sous-espaces de commandabilité.
Dans [Lhommeau et al., 2002], les auteurs ont transposé cette théorie dans le cadre des systèmes
(max,+) linéaires. La solution proposée ne conduit pas à annuler l’influence de la perturbation sur la
sortie, ce qui n’est pas surprenant dans le cadre des SED. En effet, le noyau d’une application définie sur
des ensembles ordonnés ne correspond pas à un sous-espace ayant une image nulle mais à un ensemble
de classes d’équivalences.
Aussi, la commande recherchée vise à maintenir l’état du système dans la classe d’équivalence gé-
nérée par la trajectoire de la perturbation. En fait, il est montré qu’il est possible de disposer de la plus
grande commande respectant ce critère, dite optimale au sens du juste-à-temps, telle que la sortie soit
inchangée par rapport à celle générée par la perturbation.
Pour un GEvT, le problème de commande en présence de perturbations consiste à retarder au plus
tard le tir des transitions d’entrées (contrôlables), tout en poursuivant la trajectoire de sortie due aux
91
92 CHAPITRE 4 — Extension pour la modélisation et la commande
tirs des transitions de perturbations, par nature non contrôlables. En pratique, il s’avère intéressant de
retarder le plus possible l’entrée des jetons qui se retrouveraient inutilement bloqués au sein du graphe
du fait de perturbations, ceci sans retarder davantage le tir des transitions de sorties (perturbées).
Nous tentons dans ce chapitre de reprendre ces résultats en vue de les appliquer à des GEtT où
interviennent des perturbations. Nous considérons le problème de la synthèse de correcteurs par retour
de sortie. Le comportement des GEtT est supposé cyclique, ce qui permet d’appliquer un résultat issu
des systèmes linéaires non stationnaires dans l’algèbre (max,+) et décrits dans [Lahaye et al., 2004].
Nous traiterons un exemple illustrant l’intérêt de l’approche.
4.1 Rejet de perturbations pour des systèmes représentés par des graphes
d’événements temporisés
Nous invitons le lecteur à consulter [Lhommeau et al., 2002] pour plus de détails sur la synthèse d’un
contrôleur en présence de perturbations pour un système modélisé par un GEvT1. Dans cette section, le
comportement des GEvT est exprimé dans le dioïde, noté Zmax[[γ]], des séries formelles en une variable
γ et à coefficients dans Zmax.
Considérons la transformée en γ des dateurs u(.), x(.) et y(.) de l’équation (2.2) (page 47), on a
{X(γ) = γAX(γ)⊕BU(γ),
Y (γ) = CX(γ).
La première équation est implicite et admet pour plus petite solution :
X(γ) = (γA)∗BU(γ).
Le report de cette solution dans l’équation de sortie fait que l’on obtient l’expression suivante :
Y (γ) = H(γ)U(γ) avec H(γ) = C(γA)∗B.
Cette équation exprime le comportement entrée-sortie du système. La matrice de séries formelles :
H(γ) = C(γA)∗B (4.1)
est appelée matrice de transfert du système. On peut noter que H(γ) correspond bien à la transformée
en γ de la réponse impulsionnelle (2.4). On note que la sup-convolution, exprimée dans l’équation (2.6),
de la réponse impulsionnelle h(.) par le signal d’entrée u(.) est transformée en un produit entre les séries
formelles C(γA)∗B et U(γ).
1La boîte à outils "Minmaxgd0.5b" sous Scilab, accessible à l’adresse http://www.istia.univ-angers.fr/ hardouin/outils.html,
a été utilisée pour effectuer tous les calculs de ce chapitre.
CHAPITRE 4 — Extension pour la modélisation et la commande 93
Exemple 4.1. Concernant le GEvT décrit dans la figure 2.2 (page 46), on obtient la représentation
suivante :
X(γ) = =
(ε 2γ2
1 ε
)X(γ)⊕
(1
ε
)U(γ)
Y (γ) =(ε 2
)X(γ)
.
Le calcul de la matrice de transfert H(γ) = C(γA)∗B donne H(γ) = 4(3γ2)∗.
Par la suite, on considère un GEvT représenté par abus de notation de la manière suivante :{x = Ax⊕Bu,y = Cx,
où :
• x ∈ X = Znmax[[γ]], u ∈ U = Z
rmax[[γ]], y ∈ Y = Z
mmax[[γ]] représentent le vecteur d’état, le vecteur
de commande et le vecteur de sortie respectivement.
• Les applications An×n : X → X , Bn×r : U → X , Cm×n : X → Y sont représentées par des
matrices constantes à coefficients dans Zmax[[γ]].
D’après l’équation (4.1), la fonction de transfert est CA∗B.
Ajoutons au GEvT une entrée de perturbation, notée q. Il en résulte les équations d’état suivantes :
{x = Ax⊕Bu⊕ Sq,y = Cx.
(4.2)
Le terme q dans l’équation (4.2) représente une perturbation non mesurable pouvant ralentir le franchis-
sement de certaines transitions. A titre d’exemple, q peut retarder les franchissements de la transitionX3
du graphe représenté sur la figure 4.2. Dans un contexte manufacturier, cette perturbation peut représen-
ter un arrêt de machine dû par exemple à une rupture temporaire de stock de matière première.
Supposons que q appartienne à un ensemble Q et que l’application S : Q → X relie la perturbation q à
l’état x.
Pour un système représenté par un GEvT, le problème de commande en présence de perturbations
consiste à retarder au plus le tir des transitions d’entrées contrôlables, tout en poursuivant les trajec-
toires de sorties dues aux tirs des transitions non contrôlables. En effet, il est possible de retarder l’entrée
des jetons qui se retrouveraient inutilement bloqués à l’intérieur du graphe du fait de perturbations, ceci
sans retarder davantage le tir des transitions de sorties. Une solution consiste à chercher un retour de
sortie F , i.e., u = Fy ⊕ v, satisfaisant cet objectif (voir la figure 4.1).
94 CHAPITRE 4 — Extension pour la modélisation et la commande
Entrée
Perturbation
Sortie
Figure 4.1 – La structure de commande par retour de sortie.
Formellement, le problème de commande peut être défini comme suit. La solution explicite du sys-
tème d’équations (4.2) est x = A∗Bu ⊕ A∗Sq, ce qui donne la sortie y = CA∗Bu ⊕ CA∗Sq. Cette
dernière équation permet d’établir la commande u telle que CA∗Bu ¹ CA∗Sq et telle que la sortie gé-
nérée par q reste inchangée. Plus précisément, l’objectif de commande consiste à calculer la plus grande
commande u satisfaisant cette inégalité. L’application de la résiduation LCA∗B (voir page 29) donne :
u = CA∗B◦\CA∗Sq.
Proposition 4.2. [Lhommeau et al., 2002] La plus grande solution de l’inéquation x∗ ¹ a∗ est x = a∗.
En fait cette plus grande solution satisfait l’égalité x∗ = a∗.
Pratiquement ce calcul de commande suppose la connaissance de la perturbation q. Pour un système
manufacturier, q peut représenter un approvisionnement en matières premières connu a priori
[Menguy et al., 2000b].
Dans le cas contraire, on utilise un contrôleur par retour de sortie. Quand v = ε (soit u = Fy), la
proposition suivante donne le plus grand contrôleur par retour de sortie du système d’équations (4.2).
Proposition 4.3. [Lhommeau et al., 2002] Le plus grand contrôleur par retour de sortie du système
représenté par les équations d’état :{x = Ax⊕BFy ⊕ Sq,y = Cx,
est
F = (CA∗B)◦\(CA∗S◦/CA∗S). (4.3)
Preuve :
La première relation est implicite et sa solution est donnée par :
CHAPITRE 4 — Extension pour la modélisation et la commande 95
x = A∗BFy ⊕A∗Sq et par conséquent :
y = CA∗BFy ⊕ CA∗Sq,
cette dernière équation est également implicite et sa solution est : y = (CA∗BF )∗CA∗Sq.
L’objectif du contrôleur est de laisser inchangée la sortie générée par q, i.e. formellement :
(CA∗BF )∗CA∗S = CA∗S ⇒(CA∗BF )∗ = CA∗S◦/CA∗S ⇒CA∗BF = CA∗S◦/CA∗S (voir Proposition 4.2)
D’où la relation (4.3) en appliquant la résiduation LCA∗B .
¤
4.2 Rejet de perturbations pour des systèmes représentés par des graphes
d’état temporisés
4.2.1 Tas de pièces associés à un graphe d’état temporisé comportant une entrée de per-
turbation
Nous considérons dans cette section le problème de la commande des systèmes pouvant être repré-
sentés par des GEtT saufs en présence de perturbations q. Les équations d’état relatives à ces systèmes
sont les suivantes :{x(k) = x(k − 1)A(k)⊕ u(k)B(k)⊕ q(k)S(k),y(k) = x(k)C(k).
(4.4)
Nous proposons une méthode de commande de type JAT en se basant sur les automates de type tas de
pièces. Cette méthode est optimale pour un ordonnancement donné (déterminé par les dates périodiques
d’occurrence des entrées contrôlables du système, soient les transitions X1, X2 du graphe représenté
dans la figure 4.2). A titre d’exemple, nous considérons sur la figure 4.2 deux séquences périodiques de
production, soient {X1, q,X3} et {X2, X4}.
GEtT
Figure 4.2 – Un GEtT avec une entrée de perturbation q.
96 CHAPITRE 4 — Extension pour la modélisation et la commande
Le modèle de type tas associé au GEtT est le suivant :
• T = {X1, X2, q,X3, X4},P = {P1, P2, P3, P4} ;
• P (X1) = {P1, P2}, P (X2) = {P2, P3}, P (q) = {P4},P (X3) = {P1, P2, P4}, P (X4) = {P2, P3} ;
• l(X1, .) = [0, 0,−∞,−∞], u(X1, .) = [3, 0,−∞,−∞],
l(X2, .) = [−∞, 0, 0,−∞], u(X2, .) = [−∞, 0, 1,−∞],
l(q, .) = [−∞,−∞,−∞, 0], u(q, .) = [−∞,−∞,−∞, 0],l(X3, .) = [0, 0,−∞, 0], u(X3, .) = [0, 1,−∞, 0],l(X4, .) = [−∞, 0, 0,−∞], u(X4, .) = [−∞, 1, 0,−∞].
Sur la figure 4.3 sont représentés les tas de pièces associés aux mots X1, q,X3 et X1qX3. On a
xH(X1qX3) = [3, 4,−∞, 3] et yH(X1qX3) = 4.
slots
slots
slots
slots
temps
temps
temps
temps
Figure 4.3 – Tas de pièces associés aux mots X1, q,X3 et X1qX3.
Les tas de pièces représentés sur la figure 4.4 sont associés aux motsX2, X4 etX2X4. On a xH(X2X4) =
[−∞, 2, 1,−∞] et yH(X2X4) = 2.
temps
temps
temps
slots
slots
slots
Figure 4.4 – Tas de pièces associés aux mots X2, X4 et X2X4.
CHAPITRE 4 — Extension pour la modélisation et la commande 97
Dans la figure 4.2, la transition q peut représenter une séquence de matières premières dont l’approvi-
sionnement est incontrôlable. Nous avons le choix entre trois séquences élémentaires de franchissement
de transitions : X1qX3, qX1X3 ou X2X4 (les deux premières séquences ayant des tas de pièces équi-
valents).
Les matrices associées sont :
M (q) = I ,M (X1) = I ⊕
−e−eε
ε
(3 e ε ε
)=
3 e ε ε
3 e ε ε
ε ε e ε
ε ε ε e
,
M (X3) =
e 1 ε e
e 1 ε e
ε ε e ε
e 1 ε e
,M (X1qX3) =M (X1)M (q)M (X3) =
3 4 ε 3
3 4 ε 3
ε ε e ε
e 1 ε e
,
de même, on a :
M (X2X4) =M (X2)M (X4) =
e ε ε ε
ε e 1 ε
ε e 1 ε
ε ε ε e
e ε ε ε
ε 1 e ε
ε 1 e ε
ε ε ε e
=
e ε ε ε
ε 2 1 ε
ε 2 1 ε
ε ε ε e
.
4.2.2 Commande optimale des systèmes représentés par des graphes d’état temporisés
saufs
Décrits par les équations (4.4), les GEtT saufs peuvent être représentés par des équations non sta-
tionnaires. En s’inspirant de [Lahaye et al., 2004], on explicite une reformulation stationnaire du modèle
d’état lorsque la séquence de production est périodique. Supposons que le mot de base qui se répète soit
X1qX3X2X4, nous obtenons alors la matrice de monodromie, c.-à-d. la matrice de transition calculée
pour une séquence, suivante :
A =M (X1qX3X2X4)
=M (X1qX3)M (X2X4) =
3 4 ε 3
3 4 ε 3
ε ε e ε
e 1 ε e
e ε ε ε
ε 2 1 ε
ε 2 1 ε
ε ε ε e
=
3 6 5 3
3 6 5 3
ε 2 1 ε
e 3 2 e
,
correspondant au tas de pièces représenté sur la figure 4.5.
Notons que les séquences X1q et qX1 donnent le même résultat. On a d’autre part :
98 CHAPITRE 4 — Extension pour la modélisation et la commande
slots
slots
slots
temps
temps
temps
Figure 4.5 – Tas de pièces associés aux mots X1qX3, X2X4 et X1qX3X2X4.
x =(X1 X2 X3 X4
), u =
(X1 X2
),
v =(V1 V2
), y =
(X3 X4
),
B =
(3 6 5 3
ε 2 1 ε
), S =
(e 3 2 e
),
C =
e ε
ε ε
ε e
ε ε
.
B correspond à la première et la troisième ligne de la matrice A, de par le lien entre les transitions d’en-
trées et les places P1, P3. De manière équivalente, S correspond à la quatrième ligne de la matrice A,
de par le lien entre la transition de perturbation et la place P4.
Proposition 4.4. Le plus grand contrôleur par retour de sortie du système représenté par les équations
d’état :
{x = xA⊕ yFB ⊕ qS,y = xC,
est :
F = (SA∗C◦\SA∗C)◦/(BA∗C). (4.5)
Preuve : En procédant comme pour le cas des GEvT nous obtenons la solution de la première relation
implicite :
x = yFBA∗ ⊕ qSA∗ et par conséquent :
y = yFBA∗C ⊕ qSA∗C,
CHAPITRE 4 — Extension pour la modélisation et la commande 99
cette dernière équation est également implicite et sa solution est :
y = qSA∗C(FBA∗C)∗.
L’objectif du contrôleur est de laisser inchangée la sortie générée par q, i.e formellement :
SA∗C(FBA∗C)∗ = SA∗C ⇒(FBA∗C)∗ = SA∗C◦\SA∗C ⇒FBA∗C = SA∗C◦\SA∗C (voir Proposition 4.2)
D’où la relation (4.5) en appliquant la résiduation RBA∗C .
¤
Appliqué au GEtT représenté sur la figure 4.2, on obtient après calcul :
F =
(3γ(6γ)∗ 1(6γ)∗
1γ(6γ)∗ 5γ(6γ)∗
),
ce qui correspond au système contrôlé représenté sur la figure 4.6.
Figure 4.6 – Le système contrôlé relatif au système de la figure 4.2.
Considérons les trajectoires d’entrées et de perturbation suivantes :
V1 = 10⊕ 12γ ⊕ 30γ2 ⊕+∞γ3,
V2 = 11⊕ 14γ ⊕ 35γ2 ⊕+∞γ3,
q = 13⊕ 20γ ⊕ 33γ2 ⊕+∞γ3.
A titre de comparaison, la sortie Y du système (sans correction), notée YBO, (i.e., pour u = v) est :
YBO =(Y1 Y2
)=(V1 V2
)BA∗C ⊕ qSA∗C,
=(13⊕ 20γ ⊕ 33γ2 ⊕+∞γ3 15⊕ 22γ ⊕ 36γ2 ⊕+∞γ3
).
Appliquons à présent la commande décrite précédemment, soit :
100 CHAPITRE 4 — Extension pour la modélisation et la commande
(U1 U2
)= YBOF ⊕
(V1 V2
)
=(13⊕ 20γ ⊕ 33γ2 ⊕+∞γ3 15⊕ 22γ ⊕ 36γ2 ⊕+∞γ3
)( 3γ(6γ)∗ 1(6γ)∗
1γ(6γ)∗ 5γ(6γ)∗
)
⊕(10⊕ 12γ ⊕ 30γ2 ⊕+∞γ3 11⊕ 14γ ⊕ 35γ2 ⊕+∞γ3
)
=
(10⊕ 16γ ⊕ 30γ2 ⊕+∞γ3
14⊕ 21γ ⊕ 35γ2 ⊕+∞γ3
)t
.
Nous vérifions que : Y = YBO, ce qui confirme que les dates de franchissements des sorties ne
sont pas affectées. Par contre, nous vérifions que : u ≥ v, ce qui confirme que les entrées de jetons
peuvent être retardées sans changer le comportement des sorties générées par la perturbation q.
Remarque 4.5. On peut concevoir de combiner les deux approches de commande utilisées dans le cadre
de cette thèse. A titre d’exemple, considérons l’automate de la figure 4.7. Le mode nominal correspond à
une perturbation q qui respecte le fonctionnement cyclique décrit précédemment au §4.2.2 et pour lequel
les matrices sont : A(1)(k) = A,B(1)(k) = B,S(1)(k) = S et C(1)(k) = C. En présence d’une forte
perturbation (due, par exemple, à l’absence prolongée de matière première), on peut souhaiter produire
uniquement des pièces de type 2, le modèle du système correspond alors au GEvT2 de la figure 4.8. Suite
à un retour à des conditions de fonctionnement normal, on peut concevoir de revenir au mode nominal
après un passage par un mode de récupération (où la production peut se restreindre à la pièce de type 1
(cf. GEvT1 de la figure 4.8) de manière à "compenser" une absence temporaire de production).
3
3 3
3
q est compensée
Mode nominal
Le comportement deredevient “normale”q
q est très contraignante, nerespectant plus lefonctionnement nominal
i
q(k) S
GEvT1 GEvT2
Figure 4.7 – Automate de commutation.
CHAPITRE 4 — Extension pour la modélisation et la commande 101
GEvT2GEvT1
Figure 4.8 – Les GEvT correspondant aux modes non nominaux.
4.3 Conclusion
Une technique de commande appliquée au système représenté par un GEvT permettant la prise en
compte de perturbations a été transposée dans ce chapitre. Une telle transposition pourrait être entre-
prise dans le futur en considérant d’autres types de commandes développées dans le cadre des GEvT
notamment au sein du laboratoire.
CHAPITRE 5Conclusion et
PerspectivesA travers ce manuscrit, nous avons contribué à l’étude des systèmes flexibles de production manu-
facturière représentés par des modèles temporisés déterministes. Nous avons pour cela considéré des
modèles Réseaux de Petri Temporisés (RdPT) de ces systèmes qui permettent d’une part de modéli-
ser, avec un seul formalisme, les contraintes fonctionnelles, temporelles et logistiques (ressources), et
d’autre part de modéliser les problèmes d’ordonnancement dans les systèmes à événements discrets.
Une approche basée sur l’utilisation d’un modèle algébrique de type (max,+) pour représenter un RdPT
a été présentée, ceci indépendamment de l’ordonnancement choisi. Une telle approche est préférable à
une transformation globale du RdPT initial en un Graphe d’Événements Temporisés (GEvT), ayant une
représentation (max,+) linéaire, notamment lorsque les trajectoires d’entrées sont longues et non pé-
riodiques. En effet, cette transformation nécessite, pour chaque entrée donnée, un arbitrage a priori des
conflits, ce qui peut s’avérer coûteux en temps de calcul de par la dimension éventuellement importante
du GEvT résultant. Au contraire, une représentation algébrique de type tas de pièces d’un RdPT est in-
dépendante de l’ordonnancement choisi, et par conséquent, du comportement de l’entrée considérée, ce
qui est particulièrement intéressant dans notre cas, au sens où n’importe quelle trajectoire d’entrée de
référence peut être considérée à partir du même modèle, lequel a une représentation d’état de taille fixe.
Nous avons étendu la commande de type Juste-A-Temps (JAT), considérée habituellement pour des
systèmes à événements discrets réduits à des GEvT, sur des systèmes à événements discrets admettant
au fil de l’évolution des modifications dans la synchronisation des événements ou admettant des phéno-
mènes de partages de ressources et représentés par un assemblage de GEvT et de Graphes d’Etat Tempo-
risés (GEtT) saufs. Nous avons proposé pour cela deux approches différentes. La première repose sur la
notion de commutation de systèmes (max,+) linéaires, pouvant être vus comme une commutation, gé-
rée par un automate, entre plusieurs représentations d’état (max,+) linéaires. Nous avons montré, qu’en
connaissant les valeurs de la variable de commutation à l’avance durant l’horizon d’étude, ces systèmes
admettent des commandes de type JAT inspirées des systèmes (max,+) linéaires non stationnaires pour
lesquels des changements de structure du système peuvent être pris en compte.
La deuxième méthode de commande de type JAT est basée sur la théorie des tas de pièces utilisée
103
104 CHAPITRE 5 — BIBLIOGRAPHIE
pour modéliser dans l’algèbre (max,+) le partage de ressources de GEtT élémentaires saufs auxquels
des transitions d’entrée sont associées. Le modèle, issu d’une telle approche, permet de développer un
algorithme de résiduation propre à ces graphes, qui par combinaison avec un calcul classique de résidua-
tion des GEvT, permet de disposer d’une commande globale des SFPM.
En résumé, nous avons montré que la synthèse de cette commande vis-à-vis d’un critère de type JAT,
établie pour des systèmes (max,+) linéaires permettant la représentation de phénomènes de synchroni-
sation, se généralise pour des systèmes à commutations (max,+) linéaires et pour des systèmes avec
conflits représentés par des RdPT saufs, pour autant que ces conflits soient résolus au fur et à mesure via
une règle d’ordonnancement. Nous avons considéré dans le cadre de cette thèse une règle d’ordonnance-
ment locale de type Earliest Due Date.
En termes de perspectives, il serait intéressant d’établir un comparatif entre les deux approches
(GEvT et GEtT ; systèmes à commutations (max,+) linéaires) et de mener des travaux sur la trans-
position de différents types de commande déjà développés dans le cadre des systèmes pouvant être re-
présentés par des GEvT, pour les appliquer dans le cadre des SFPM. En complément, d’autres types
d’ordonnancements réactifs (voir [Brucker, 2001]) pourraient être considérés comme un outil d’aide à
la décision dans les SFPM, avec des critères différents (makespan, dates de débuts, dates butoirs, etc).
De plus, il serait important de calculer la commande par poursuite de trajectoire dans le cas d’ordonnan-
cement périodique. Par ailleurs, il serait également intéressant de chercher à appréhender, à l’aide des
systèmes à commutations (max,+) linéaires, la modélisation de phénomènes de partage de ressources.
Enfin une généralisation en considérant d’autres structures de GEtT élémentaires est possible.
Bibliographie
[Alsaba et al., 2006a] Alsaba, M., Boimond, J.-L., and Lahaye, S. (2006a). On Just In Time Control of
Flexible Manufacturing Systems via Dioid Algebra. In Proceedings of INCOM’06, volume 2, pages
137–142, ST. ETIENNE, FRANCE.
[Alsaba et al., 2006b] Alsaba, M., Boimond, J.-L., and Lahaye, S. (2006b). Sur la commande des sys-
tèmes flexibles de production manufacturière par l’algèbre des dioïdes. In Proceedings of CIFA’06,
BORDEAUX, FRANCE.
[Alsaba et al., 2006c] Alsaba, M., Lahaye, S., and Boimond, J.-L. (2006c). On Just In Time Control of
Switching Max-Plus Linear Systems. In Proceedings of ICINCO’06, Setubal, Portugal.
[Amar et al., 1992] Amar, S., Craye, E., and Gentina, J.-C. (1992). A Method of Hierarchical Specifi-
cation and Prototyping of FMS. In Proceedings of the IEEE-ETFA, volume 1, pages 44–49.
[Baccelli et al., 1992] Baccelli, F., Cohen, G., Olsder, G.-J., and Quadrat, J.-P. (1992). Synchroniza-
tion and Linearity: An Algebra for Discrete Event Systems. Wiley and Sons. Accessible à la page
http://www-rocq.inria.fr/metalau/cohen/SED/SED1-book.html
[Baynat, 2000] Baynat, B. (2000). Théorie des files d’attentes : des chaînes de Markov aux réseaux à
forme produit. Ed Hermès.
[Birkhoff, 1940] Birkhoff, G. (1940). Lattice Theory. Number XXV. Providence, Rhode Island.
[Blazewicz et al., 1996] Blazewicz, J., Ecker, K.-H., Pesch, E., Schmidt, G., and Weglarz, J. (1996).
Scheduling in Computer and Manufacturing Processes. Springer Verlag, Berlin.
[Blyth and Janowitz, 1972] Blyth, T.-S. and Janowitz, M.-F. (1972). Residuation Theory. Pergamon
Press.
[Boimond and Ferrier, 1996] Boimond, J.-L. and Ferrier, J.-L. (1996). Internal Model Control and Max-
Algebra. IEEE Trans. on Automatic Control, 41(3):457–461.
[Brucker, 2001] Brucker, P. (2001). Scheduling Algorithms. Springer-Verlag, Berlin.
[Ciardo et al., 1997] Ciardo, G., Nicol, D., and Trivedi, K. (1997). Discrete-Event Simulation of Fluid
Stochastic Petri Nets. In IEEE/PNPM, pages 217–225, France.
[Cohen et al., 1989] Cohen, G., Moller, P., Quadrat, J.-P., and Viot, M. (1989). Algebraic Tools for the
Performance Evaluation of Discrete Event Systems. IEEE Proceedings: Special issue on Discrete
Event Systems, 77(1):39–58.
[Cohen, 1998] Cohen, G. (1998). Residuation and Applications. In Algèbres Max-PLus et applications
en informatique et automatique : Ecole de printemps d’informatique théorique, Noirmoutier : INRIA.
105
106 BIBLIOGRAPHIE
[Cottenceau, 1999] Cottenceau, B. (1999). Contribution à la commande de systèmes à événements dis-
crets : synthèse de correcteurs pour les graphes d’événements temporisés dans les dioïdes. Thèse,
LISA - Université d’Angers.
[Cottenceau et al., 2001] Cottenceau, B., Hardouin, L., Boimond, J.-L., and Ferrier, J.-L. (2001). Model
Reference Control for Timed Event Graphs in Dioid. Automatica, 37:1451–1458.
[Cottenceau et al., 2000] Cottenceau, B., Lhommeau, M., Hardouin, L., and Boimond, J.-L. (2000).
Data Processing Tool for Calculation in Dioid. In Workshop on Discrete Event Systems (WO-
DES’2000), Ghent, Belgium.
[David and Alla, 1992] David, R. and Alla, H. (1992). Du Grafcet au réseaux de Petri. Editions Hermès,
Paris.
[Gaubert, 1992] Gaubert, S. (1992). Théorie des systèmes linéaires dans les dioïdes. Thèse, Ecole des
Mines de Paris.
[Gaubert and Mairesse, 1999] Gaubert, S. and Mairesse, J. (1999). Modeling and Analysis of Timed
Petri Nets using Heaps of Pieces. IEEE Trans. on Automatic Control, 44(4):683–697.
[Hamaci et al., 2006] Hamaci, S., Boimond, J.-L., and Lahaye, S. (2006). On Modeling and Control
of Hybrid Timed Event Graphs with Multipliers using (Min, +) Algebra. Journal of Discrete Event
Dynamic Systems, vol.16, p.241-256.
[Heidergott et al., 2006] Heidergott, B., Olsder, G.J., and van der Woude, J. (2006). Max Plus at Work.
Princeton, New Jersey.
[Hillion, 1989] Hillion, H. (1989). Modélisation et analyse des systèmes de production discrets par les
réseaux de Petri temporisés. Thèse, Université de Paris IV, France.
[Houssin, 2005] Houssin, L., Lahaye, S. and Boimond, J.-L. (2005). Commande en juste-à-temps sous
contraintes des systèmes (max,+)-linéaires. Journal Européen des Systèmes Automatisés (JESA),
vol.39, p. 335-350.
[Jackson, 1955] Jackson, J. (1955). Scheduling a Production Line to Minimize Maximum Tardiness.
Research report 43, University of California, Los Angeles. Management Science Research Project.
[Lahaye et al., 2004] Lahaye, S., Boimond, J.-L., and Hardouin, L. (2004). Linear Periodic Systems
over Dioid. Journal of Discrete Event Dynamic Systems: Theory and Applications, Kluwer Academic
Publishers, vol.14, p. 133-152.
[Lahaye, 2000] Lahaye, S. (2000). Contribution à l’étude des systèmes linéaires non stationnaires dans
l’algèbre des dioïdes. Thèse, LISA - Université d’Angers.
[Lahaye et al., 1999] Lahaye, S., Boimond, J.-L., and Hardouin, L. (1999). Optimal Control of (Min,+)
Linear Time-Varying Systems, Petri Nets and Performance Models. Proceedings of PNPM’99, pages
170–178, Zaragoza Spain.
BIBLIOGRAPHIE 107
[Lüders and Santos-Mendes, 2002] Lüders, R. and Santos-Mendes, R. (2002). Multivariable Control of
Discrete Event Systems in Dioids. In IFAC World Congress on Automatic Control, Barcelona.
[Lhommeau et al., 2002] Lhommeau, M., Hardouin, L., and Cottenceau, B. (2002). Disturbance De-
coupling of Timed Event Graphs by Output Feedback Controller. In Workshop On Discrete Event
Systems (WODES’2002), Zaragoza, Spain.
[Libeaut, 1996] Libeaut, L. (1996). Sur l’utilisation des dioïdes pour la commande des systèmes à
événements discrets. Thèse de doctorat, Ecole Centrale de Nantes.
[Libeaut and Loiseau, 1996] Libeaut, L. and Loiseau, J.-J. (1996). On the Control of Timed Event
Graphs. In Proceedings of WODES’96, Edinburgh.
[Maia et al., 2003] Maia, C.-A., Hardouin, L., Santos-Mendes, R., and Cottenceau, B. (2003). Optimal
Closed-Loop Control of Timed-Event Graphs in Dioids. IEEE Trans. on Automatic Control, 48:2284–
2287.
[Mazurkiewicz, 1977] Mazurkiewicz, A. (1977). Concurrent Program Schemes and their Interpreta-
tions. Research report daimi rep., Aarhus University. PB-78.
[Menguy, 1997] Menguy, E. (1997). Contribution à la commande des systèmes linéaires dans les
dioïdes. Thèse, LISA - Université d’Angers.
[Menguy et al., 2000a] Menguy, E., Boimond, J.-L., Hardouin, L., and Ferrier, J.-L. (2000a). A First
Step Towards Adaptative Control for Linear in Max Algebra. Journal of Discrete Event Dynamic
Systems, 10(4):347–367.
[Menguy et al., 2000b] Menguy, E., Boimond, J.-L., Hardouin, L., and Ferrier, J.-L. (2000b). Just In
Time Control of Timed Event Graphs: Update of Reference Input, Presence of Uncontrollable Input.
IEEE Trans. on Automatic Control, 45(11):2155–2158.
[Merlin, 1979] Merlin, P. (1979). Methodology for the Design and Implementation of Communication
Protocole. IEEE Transaction on Communication, 24(6).
[Murata, 1989] Murata, T. (1989). Petri Nets: Properties, Analysis and Applications. In IEEE Procee-
dings: Special issue on Discrete Event Systems, volume 77, pages 541–581.
[Murray-Smith and Johansen, 1997] Murray-Smith, R. and Johansen, T. (1997). Multiple Model Ap-
proaches to Modelling and Control. Taylor and Francis, London.
[Petri, 1962] Petri, C.-A. (1962). Kommunikation mit Automaten. Thèse, Institut für Instrumentelle
Mathematik, Bonn, Germany.
[Ponasse and Carrega, 1979] Ponasse, D. and Carrega, J.-C. (1979). Algèbre et topologie booléennes.
Editions Masson, Paris.
108 BIBLIOGRAPHIE
[Proth and Xie, 1995] Proth, J. and Xie, X. (1995). Les réseaux de Petri pour la conception et la gestion
des systèmes de production. Edition MASSON.
[Ramadge and Wonham, 1989] Ramadge, P. and Wonham, W. (1989). The control of discrete-event
systems. IEEE TAC, volume 77, pages 81–98.
[Sotskov, 1991] Sotskov, Y. (1991). The Complexity of Scheduling Problems with 2 and 3 Jobs. In
European Journal Operational Research, volume 53, pages 326–336.
[Trouillet, 2003] Trouillet, B. (2003). Sur l’évaluation du comportement logique des systèmes de pro-
duction manufacturière par méthodes exactes. Thèse, LAIL - Université de Lille 1.
[Van Den Boom and De Schutter, 2004] van den Boom, T. and de Schutter, B. (2004). Modelling and
Control of Discrete Event Systems using Switching Max-Plus-Linear Systems. In Proceedings of
WODES’04, pages 115–120, Reims, France.
[Viennot, 1986] Viennot, G. (1986). Heaps of Pieces, I: Basic Definitions and Combinatorial Lemmas.
In Labelle and Leroux, editors, Combinatoire Enumérative, number 1234 in Lect. Notes in Math.,
pages 321-350. Springer.
[Wagneur, 1991] Wagneur, E. (1991). Moduloids and Pseudomodules. 1. dimension theory. Discrete
Math., 98:57-73, 1991.
[Wonham, 1985] Wonham, W.-M. (1985). Linear Multivariable Control: A Geometric Approach, 3rd
edition. Springer Verlag.
[Wonham and Morse, 1970] Wonham, W.-M. and Morse, A.-S. (1970). Decoupling and Pole Assigne-
ment in Linear Multivariable Systems: a Geometric Approach. SIAM Journal on Control, pages 1–18.
[Wonham, 2006] Wonham, W.M. Lecture notes on control of discrete-event systems, University of To-
ronto, Department ECE, Toronto, 2006.
http://www.control.toronto.edu/people/profs/wonham/wonham.html
Contribution à la commande des systèmes flexibles deproduction manufacturière dans l’algèbre (max,+)
Michel AL SABA
Résumé
Les systèmes flexibles de production manufacturière peuvent être représentés par une combinaison de
blocs appartenant à deux sous-classes de réseaux de Petri temporisés qui sont les graphes d’événements
temporisés pour modéliser des phénomènes de synchronisation, et les graphes d’état temporisés pour
modéliser des phénomènes de choix entre les ressources partagées. Le comportement des graphes d’évé-
nements temporisés peut être décrit par des équations linéaires dans l’algèbre (max,+). Etant donné un
ordonnancement, on montre qu’il est possible de représenter également les graphes d’état temporisés
comme des systèmes (max,+) linéaires. Dans une première partie, les systèmes flexibles de production
manufacturière sont décrits linéairement sous la forme de modèles de type tas, puis, dans une deuxième
partie en utilisant les modèles à commutations (max,+) linéaires. Une fois ces deux représentations
d’état (max,+) linéaires obtenues, nous proposons deux méthodes correspondantes de commande de
type juste-à-temps de ces systèmes.
Mots-clés : Systèmes flexibles de production manufacturière, réseaux de Petri temporisés, graphes
d’événements temporisés, graphes d’état temporisés, commande de type juste-à-temps, algèbre
(max,+), modèles de type tas, systèmes à commutations (max,+) linéaires, ordonnancement.
Abstract
Flexible manufacturing systems can be represented by a combination of blocks belonging to two timed
Petri nets subclasses which are timed event graphs to model synchronisation phenomena and timed state
graphs to model choice phenomena between shared ressources. The behavior of timed event graphs
can be described by linear equations in the (max,+) algebra. Fixing a schedule, we show that it is
possible to represent timed state graphs as well by (max,+) linear systems of equations. In a first part,
flexible manufacturing systems are described linearly based on heap models and in a second part by
using switching (max,+) linear models. Once these two (max,+) linear representations are obtained,
we propose two corresponding methods for a just in time control of these systems.
Keywords: Flexible manufacturing systems, timed Petri nets, timed event graphs, timed state
graphs, just in time control, (max,+) algebra, heap models, switching (max,+) linear systems,
scheduling.