Une approche formelle du comportement temporel d'une classe de réseau de Petri
Benoît TrouilletLAGIS UMR 8146 CNRS B.P. 48F 59651 Villeneuve d’Ascq Cedex
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelleWIP
ApplicationConclusion
Introduction
Du contrôle au pilotage :Et à l’ordonnancement optimisé des systèmes complexes de production
Les réseaux de Petri :Paradigme de théories cohérentes, de la spécification à l’optimisation des performances dynamique d’un système flexible de production manufacturière.
Le contexte des étudesL’automatisation de machines ou d’éléments de procédés isolés
Implique un modèle déterministe et parallèleOutils possibles : RdP, Grafcet, Automates
Taille Faible
Parallélisme Limité
indéterminisme Non
Conflit d’accès aux ressources
Non
Contexte de la conception et de l’exploitation des SFPM
SystèmesTailles très forteSystèmes à événements discret
FlexiblesMultiples paramétrages, flexibilité de routageConflit d’accèsProductions diverses et variéesParallélisme très important (n gammes et p produits/gammes)
Optimisation de la production d’un SFPMCombinatoireComplexité (NP)α avec α≥1
Les Réseaux de Petri
Un outil intégrant un fort potentiel d’adaptation pour permettre de prendre en compte de façon cohérente différents points de vue complémentaires en spécification, conception et exploitation des SFPM
Les Réseaux de Petri
Un outil intégrant un fort potentielOutil de modélisation et représentation des SED à fort parallélisme intégrant tous les aspects potentiel relevant de la flexibilité des SFPMSupport mathématique élaboré:
Algèbre des dioïdes(max,+), (min,+)
Les Réseaux de Petri
Un outil intégrant un fort potentielOutil de modélisation et représentation des SED Outil d’analyse des propriétés comportementalesOutil de structuration et de modularitéOutil d’optimisation des performances
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Un exemple illustratif
Représentatif des problème d’optimisation et d’ordonnancement d’un SFPM utilisant un modèle RdP structuré
Les paramètres à fixer
Le marquage initialL’encours peut être une contrainte supplémentaireProblème NP
La résolution de conflit(s)R1
R2
R3
Soit 23 possibilités pour cet exemple
Atteignabilité de la borne
Le meilleur routageLa meilleure stratégie d’ordonnancement des ressourcesUn encours optimiséComplexité de l’optimisation
Ordonnancement optimal
Approche du modèle intégrant le parallélisme le plus efficaceLinéarisation et évaluation des performances
But : Un fonctionnement optimal, sans perte de solution
Pour notre exemple :Linéarisation du routage (optimalité du flux)Linéarisation des ressourcesLinéarisation des pondérationÉvaluation optimale des performances
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérations
Comportement temporelleWIP
Conclusion
Modélisation
Modélisation à l’aide de réseau de Petri : Définition d’une sous classe R=(P ∪PR,T,W) :
P Ø et T Ø(P,T,W) est un graphe d’événements composé d’une ou plusieurs composantes fortement connexes∀p∈ PR,|p°|=|°p|
≠ ≠
Décomposition du problème
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Étude du comportementTemporel Étude de l’encours
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Partie I : étude du comportement logique[MSR’01, Wodes'02]
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Objectif
Évaluation du comportement logique :Une approche algébriqueMarquage initial comme paramètre
But :Évaluation des performances temporelles des solutions Optimisation : demandes de production de moyenne et grande série
M(0) M(1) M(2) . . . M(k − 1) M(k) . . .
S(1) S(2) S(k)
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Partages des ressources
Partages de ressourcesHypothèses de fonctionnement
Graphe d’événementsSystème d’équations
Transformation des partages de ressources
Utilisation d’ heuristiques :Politiques de placement (Korbaa 98, Camus 97, Ohl 95)Recherche des ordonnancements admissibles
Utilisation de fonctions de routages Pour une machine, le séquencement des opérations est prédéfini(Cohen 98)Utilisation de la règle de jackson (Alsaba 06)
Transformation des partages de ressources
Un exemple illustratif :Franchissements :
t1 deux foist2 une foist3 une fois
Transformation des partages de ressources
Description de la méthode :Prise en compte des contraintes de précédences:
Construction d’un TGES illustrant les contraintes de précédence entre les tâches en conflit d’accès :
Abstraction des séquencements :On considère tous les sous-ensembles (Ti)i de transitions définis par :
L’élaboration du système d’équations :Soit la collection d’ensemble (Ti)les transitions de Ti ne peuvent être tirées simultanément
Transformation des partages de ressources
t11 t21 t2 t3
Transformation des partages de ressources
Vivacité des solutions obtenues :Mise en équation du théorème de vivacité de Commoner
Tout circuit élémentaire du GES doit contenir au moins un jeton
t11 t21 t2 t3
Conclusion partielle
Obtention d’un GEPDéterministeUn système d’équations
p11 p2
1p2 p3
p14 p2
4p5 p6
p7
t11(4)
t21(4)
t2(1)
t3
(1)
t4(2)
t5(3)
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Linéarisation
Évaluation des performancesAnalyse du régime asymptotiqueRecherche de régime cyclique (point fixe)
GES Système linéaire
(min,+)(max,+)
Linéarisation
GEP Système non linéaire
(min,div)
3
3
⎧⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎩
n1(k) = min (mp1(0) + 2n4(k − 1),mr11(0) + 2n2(k − 1))
n2(k) = min(
mp3(0) + n4(k − 1),⌊
mr12(0) + n1(k − 1)2
⌋)
n3(k) = min(⌊
mp2(0) + n1(k − 1)2
⌋,mp4(0) + n2(k − 1)
)
n4(k) =⌊
3n3(k − 1) + mp5(0)3
⌋
p1
p2
p3
p4
p5
r11
r12
2
2
22
Linéarisation
GEP Système non linéaire
Système linéaireGES
TransformationM. SilvaFluidificationTransformation
A. Munier
RdP
Pondération des arcs
T-semiflot de l’exemple :
[2,1,1,1]
Transition de normalisation :le cœfficient associé au T-semiflot : 1
3
3
p1
p2
p3
p4
p5
r11
r12
2
2
2 2
Linéarisation :
Pour un GEP consistant et conservatif
Théorème de Linéarisation des GEP :Un GEP est linéarisable si tout circuit élémentaire contient au moins une transition de normalisation. Interprétation : Pour chaque circuit élémentaire (gamme opératoire), il existe au moins une transition franchie une seule fois lors d’un cycle. Propriété indépendante du marquage initial.
Extension : [S. Hamaci et J.-L.Boimond]
Théorème de Linéarisation des GEP :Un GEP marqué est linéarisable s’il contient une transition de normalisation.Interprétation : Il existe une transition franchie une seule fois lors d’un cycle dans le réseau de Petri.
Pour notre exemple
Après linéarisation :Augmentation de la dimension de la matriceLe marquage initial en paramètre
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Étude du comportement cyclique
Pour un horizon fixé : p stepsM(k+p)=M(k)
Pour p=2 :M(k+2)=M(k)
B(M(0))2 ⊗N(k)=N(k+2)B(M(0))2 ⊗N(0)=N(2)
Finalement, pour le GES après transformation :B(M(0))2 ⊗ e = λ ⊗ e
Où λ est le ppcm des cœfficients du T-semiflot
Application : évaluation des performances
Résoudre le système d’équations Fixer l’horizon de recherche : p stepsRésolution de l’équation matricielle :
B(M(0))p ⊗ e = λ ⊗ e
Évaluation des performances des solutions obtenues
Obtention des solutions optimales pour l’horizon fixé a posteriori
Étude du comportement cyclique
Pour un horizon fixé : 2 steps
Nous devons donc résoudre :B(M(0))2 ⊗ e = λ ⊗ e
Bilan
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Choixd’horizons
K=2
Bilan
Obtention d’un ensemble de solutions Le comportement logique est correct vis-à-vis des spécificationsObtention d’une collection de marquages initiaux et d’un modèle GES
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Étude du comportementtemporel Étude de l’encours
Partie II : étude du comportement temporel [IMACS’05]
Objectif
Évaluation du comportement temporel :Une approche algébriqueMarquage initial comme paramètre
Garantir les performances temporelles des solutions
Hypothèses et objectif
Utilisation d’une approche de type (max,+)Le marquage initial comme paramètreBut : définir une borne temporelle maximale de fonctionnement.
p1
p2
p3
p4
p5
r11
r12
(1) (3)
(2)
(1)
Mise en équations
Définition de compteurs :
Mise en équations de l’évolution temporelle du graphe d’événements
p1
p2
p3
p4
p5
r11
r12
(1) (3)
(2)
(1)
Mise en équations
Évolution d’un système mono serveur :
L’évolution est régie par la production de jeton dans les places en amont :
t
t
t’
Dateurs
L’équation complète du compteurs :
Les compteurs sont fonction du marquage initial (comme paramètre).
Étude du comportement temporel
Les séquences possibles ont leur performance évaluée en parallèle
Chaque solution retenue possède une performance garantie
Mise en équations
Mise en équation (max,+)Marquage initial en paramètre
Équations récurrentesDT(n)=Δ[B(M(0))]DT(n-1)⊗δT
p1
p2
p3
p4
p5
r11
r12
(3)
(2)
(1)
t1
t3
t4
(1) t2
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Étude du comportementTemporel
Bilan
Choixd’horizons
K=2Borne
temporelleT≤8
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelleWIP
Conclusion
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Étude du comportementtemporel Étude de l’encours
Partie III : étude de l’encours
Décomposition du problème :Problème d’ordonnancement
cyclique
Solution(s) possible(s)
Étude du comportementlogique
Étude du comportementTemporel
Bilan
Encoursborné
K=2 T ≤ 8
Étude de l’encours
E ≤ 5
Plan
IntroductionContextePrésentation de l’exemple
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Application : RdPp1
p2
p3
p4
p5
p6
p7 p8
p9 p10
p11 p12
r1
r2
r3
t1(4)t2
(3)
t3(4)
t4(3)
t5(2)
t6(2)t7(1)
t8(1)t9(1)
t10(2)
2
3
3
5
3 2
3 2
2
2
25
Application : GEPp1
p2
p3
p4
p5
p6
p7 p8
p9 p10
p11 p12
r11
r12
r21
r22
r31
r32
t1(4)t2
(3)
t3(4)
t4(3)
t5(2)
t6(2)t7(1)
t8(1)t9(1)
t10(2)
2
3
3
5
3 2
3 2
22
25
Application : GES
p′1
p′2
p′3
p′4
p′5
p′6
p′7 p′8
p′9 p′10
p′11 p′12
r′11
r′12
r′21
r′22
r′31
r′32
t′1(4)
t′2(3)
t′3(4)
t′4(3)
t′5(2)
t′6(2)
t′7(1)
t′8(1)
t′9(1)
t′10(2)
p′13p′14
p′15p′16
p′17
p′18
p′19
p′20
t′16(1)
t′14(1)
t′11(4)
t′12(4)
t′15(2)
t′13(1)
Application• Δ1 = (2,0,1,1,3,5,0,0,3,2,3,2,2,0,1,0,1,0)
• Δ′1 = (0,2,1,1,3,5,3,2,0,0,3,2,0,2,0,1,0,1)
• Δ2 = (2,0,0,1,3,5,0,0,3,2,0,0,2,0,1,0,0,1)
• Δ′2 = (2,2,1,1,0,5,3,2,0,0,3,2,0,2,0,1,1,0)
• Δ3 = (2,2,0,1,3,5,3,2,0,0,3,2,2,0,0,1,0,1)
• Δ′3 = (2,2,1,0,3,5,0,0,3,2,3,2,0,2,1,0,1,0)
• Δ4 = (2,2,1,1,0,0,3,2,0,0,3,2,2,0,0,1,1,0)
• Δ′4 = (0,2,1,0,3,5,0,0,3,2,0,0,0,2,1,0,0,1)
p′1
p′2
p′3
p′4
p′5
p′6
p′7 p′8
p′9 p′10
p′11 p′12
r′11
r′12
r′21
r′22
r′31
r′32
t′1(4)
t′2(3)
t′3(4)
t′4(3)
t′5(2)
t′6(2)
t′7(1)
t′8(1)
t′9(1)
t′10(2)
p′13p′14
p′15p′16
p′17
p′18
p′19
p′20
t′16(1)
t′14(1)
t′11(4)
t′12(4)
t′15(2)
t′13(1)
Plan
IntroductionContextePrésentation de l’exempleRappels
Une approche formelleComportement logique
Linéarisation des ressourcesLinéarisation des pondérationsÉtude du comportement
Comportement temporelWIP
ApplicationConclusion
Conclusion : Sur une méthodologie d’évaluation d’un ordonnancement pour les graphes de Petri structurés
Gammes structurées en circuit :Graphe de Petri fortement connexe
Borne de performanceCalcul des bornes optimales (Sifakis, Silva)
Temps de CycleWIP
Méthode : Linéarisation
Optimisation flux/ratios (Frein/Ohl/Camus/Korbaa)Résolution des indéterminismes (flexibilité de gammes)
Résolution des conflits sur les ressources Conflits potentiels (fonction du MI)
Linéarisation des poidsGraphe d’événements
Recherche du MI pour l’encours et l’ordo des ressources
Méthode : Résolution
Obtention d’un modèle linéaire :
B(M(0))p ⊗ e = λ ⊗ e Où λ=ppcm(θi)DT(n)=Δ[B(M(0))]DT(n-1)⊗δT
Où le marquage initial est le paramètre