une approche formelle du comportement temporel...

74
Une approche formelle du comportement temporel d'une classe de réseau de Petri Benoît Trouillet LAGIS UMR 8146 CNRS B.P. 48 F 59651 Villeneuve d’Ascq Cedex

Upload: trannguyet

Post on 16-Sep-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

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é

Présentation de l’exempleProduit de type

A

Produit de type B

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)

p

p

q

q

m

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 :

TGES

Séquencement des ressources

Équations

Transformation des partages de ressources

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

TGES

Séquencement des ressources

Équations

Transformation des partages de ressources

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éaire

Linéarisation

GEP Système non linéaire

Système linéaireGES

TransformationM. SilvaFluidificationTransformation

A. Munier

RdP

Linéarisation

GEP Système non linéaire

Système linéaire

Formalisation (MI) :Hamaci/Boimond

Linéarisation

GEP Système non linéaire

Système linéaire

Linéarisation

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

Pour notre exempleLe GEP équivalent est donné ci-dessous :

Linéarisation

GEP Système non linéaire

Système linéaire

Étude du comportement

Équations récurrentes

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

BilanProblème d’ordonnancement

cyclique

Séquence(s) possible(s)

Évaluation des performances

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

Méthode : optimisation

Optimisation du fonctionnement :K steps minimal

Performance optimale suivant un critère :WIPTemps de cycle