HAL Id: hal-02415927
https://hal.archives-ouvertes.fr/hal-02415927
Submitted on 17 Dec 2019
HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Approche et cadre de modélisation pour l’évaluation de l’impact de perturbations sur un ordonnancement
Sara Himmiche, Pascale Marangé, Alexis Aubry, Jean-François Pétin
To cite this version:
Sara Himmiche, Pascale Marangé, Alexis Aubry, Jean-François Pétin. Approche et cadre de modéli-
sation pour l’évaluation de l’impact de perturbations sur un ordonnancement. 12ème Colloque sur la
Modélisation des Systèmes Réactifs, MSR’19, Nov 2019, Angers, France. �hal-02415927�
Approche et cadre de mod´elisation pour l’´evaluation de l’impact de perturbations sur un ordonnancement
Sara Himmiche 12 , Pascale Marang´ e 12 , Alexis Aubry 12 , and Jean-Fran¸cois P´ etin 12
1
Universit´ e de Lorraine, CRAN, UMR 7039, F-54506 Vandœuvre-l` es-Nancy
2
CNRS, CRAN, UMR 7039, France
{sara.himmiche, pascale.marange, alexis.aubry, jean-francois.petin}@univ-lorraine.fr
Abstract
L’ordonnancement de la production est un probl` eme majeur aussi bien dans le monde industriel que celui de la recherche th´ eorique. Ce probl` eme est g´ en´ eralement trait´ e dans le but de proposer des ordonnancements optimaux. Dans le cadre d’un environnement de production dynamique, la g´ en´ eration classique d’ordonnancements n’est plus suffisante.
La question importante qui se pose aujourd’hui est: Comment prendre en compte les contraintes de flexibilit´ e et d’agilit´ e qui caract´ erisent ces syst` emes et leurs perturbations, dans le choix de l’ordonnancement ` a ex´ ecuter ?
Cet article r´ epond ` a cette question en proposant une approche g´ en´ erique pour ´ evaluer la robustesse d’un ordonnancement face aux perturbations. L’approche propos´ ee est bas´ ee sur des mod` eles de syst` emes ` a ´ ev´ enements discrets stochastiques et une m´ ethode d’´ evaluation par model-checking, dans le but de d´ efinir une approche et un cadre de mod´ elisation modulaire. Plus pr´ ecis´ ement, les automates temporis´ es stochastiques sont utilis´ es dans le but de mod´ eliser le probl` eme d’ordonnancement sous perturbations et le model-checking statistique est utilis´ e pour ´ evaluer ces mod` eles et ainsi permettre le calcul d’un indicateur de robustesse qui sera transmis au d´ ecideur.
1 Introduction
La question de l’ordonnancement de la production est un probl` eme de d´ ecision important dans le secteur industriel. En effet, pour garantir les meilleures performances de production, le d´ ecideur doit trouver un ordonnancement adapt´ e ` a son syst` eme de production et aux contraintes associ´ ees. Un probl` eme d’ordonnancement de la production consiste g´ en´ eralement ` a (i) affecter les ressources de l’atelier aux op´ erations, n´ ecessaires ` a la fabrication de jobs , (ii) d´ efinir l’ordre de r´ ealisation des op´ erations sur les ressources et (iii) ´ eventuellement d´ efinir la date de d´ ebut et de fin de chaque op´ eration. L’ordonnancement obtenu doit r´ epondre aux contraintes de la gamme logique du produit et de l’atelier (contraintes de pr´ ec´ edence, non pr´ eemption des op´ erations, etc.) et aux objectifs de production.
Ce probl` eme est g´ en´ eralement trait´ e dans le but d’obtenir des solutions d’ordonnancement optimales notamment dans le domaine de la Recherche Op´ erationnelle. Cependant, la plupart de ces travaux consid` erent que l’environnement de production est stable et que les donn´ ees de production sont connues et certaines. Ce qui peut ˆ etre consid´ er´ e comme une hypoth` ese forte dans le cas des syst` emes de production, car en pratique, un syst` eme de production ´ evolue dans un environnement dynamique et doit faire face ` a de nombreuses perturbations qui peuvent survenir pendant la production.
Dans le milieu de la Recherche Op´ erationnelle, la question de l’ordonnancement sous per-
turbations a ´ et´ e abord´ ee en profondeur [5] [13]. L’objectif de ces travaux consiste ` a construire
des ordonnancements robustes qui garantissent certaines performances malgr´ e la pr´ esence des
perturbations. L’inconv´ enient de ces approches est qu’elles sont d´ edi´ ees ` a un type de probl` eme d’ordonnancement donn´ e. Au cours des derni` eres ann´ ees, des approches alternatives, dans le domaine des Syst` emes ` a ´ Ev` enements Discrets (SED), ont ´ emerg´ e pour mod´ eliser et r´ esoudre des probl` emes d’ordonnancement d´ eterministes. Les premiers r´ esultats montrent que les approches sont adaptables aux probl` emes d’atelier consid´ er´ es. De plus leurs caract´ eristiques en font des candidats prometteurs afin de prendre en compte des perturbations [21, 7, 12, 9, 18].
L’objectif de ce papier est de proposer une approche d’´ evaluation de la robustesse d’ordon- nancements soumis ` a des perturbations. Cette approche repose sur i) une mod´ elisation par automates temporis´ es stochastiques (ATS) ` a partir de patrons instanciables, ii) une v´ erification par model-checking d’une propri´ et´ e de robustesse.
Deux questions de recherche sont abord´ ees dans ce papier : Comment d´ evelopper des mod` eles adaptables et agiles bas´ es sur des (ATS) pour les probl` emes d’ordonnancement sous perturbations ? Comment utiliser ces mod` eles et les outils associ´ es afin d’´ evaluer le niveau de robustesse d’un ordonnancement dans un contexte perturb´ e ?
Ce papier est structur´ e comme suit. La section 2 pr´ esente le contexte du probl` eme. La section 3 est consacr´ ee ` a la pr´ esentation g´ en´ erale de l’approche propos´ ee et des hypoth` eses connexes. La section 4 se concentre sur la mod´ elisation bas´ ee sur les automates temporis´ es stochastiques. La section 5 se concentre sur la formalisation et l’´ evaluation de la robustesse ` a l’aide du model checking. La section 6 pr´ esente une application de l’approche sur une ´ etude de cas. Quelques conclusions et perspectives sont pr´ esent´ ees ` a la fin de ce papier.
2 Contexte: Ordonnancement sous perturbations et ro- bustesse
Un atelier est g´ en´ eralement d´ efini par un ensemble J de jobs j (N bJ) qui doivent ˆ etre trait´ es par un ensemble R de ressources r (N bR). Chaque job j est d´ efini par une gamme, regroupant les op´ erations o jk ` a r´ ealiser dans un ensemble O J j (o jk est la k i` eme op´ eration dans la gamme de j). Une dur´ ee d’ex´ ecution d jkr est associ´ ee ` a l’ex´ ecution de l’op´ eration o jk sur la ressource r. Dans ce papier, les ressources peuvent subir des d´ efaillances (mais ˆ etre r´ epar´ ees avec une dur´ ee d rep ). Les ateliers de production sont de natures diff´ erentes et peuvent engendrer des contraintes sur l’ordre d’ex´ ecution des op´ erations. Par exemple, le Flow Shop et le Job Shop ont des contraintes de pr´ ec´ edence sur les op´ erations d’un job (d´ efinies par sa gamme). Alors que pour l’Open Shop, les op´ erations d’un job peuvent ˆ etre ex´ ecut´ ees dans n’importe quel ordre.
Dans un ordonnancement d´ eterministe S i , les param` etres et les informations sont consid´ er´ es comme certains. A partir de l’ordonnancement d´ eterministe, le s´ equencement des op´ erations sur la ressource g´ en` ere des contraintes suppl´ ementaires ` a prendre en compte lors de l’´ evaluation, ainsi que le temps d’ex´ ecution (appel´ e ´ egalement Makespan) C max ref (S i ).
En pratique, des perturbations peuvent remettre en cause cet ordonnancement. En effet,
deux types de perturbations sont recens´ ees : i) Incertitudes et ii) Al´ eas. Les incertitudes sont
d´ efinies comme ´ etant la diff´ erence entre les informations pr´ evues et les informations r´ eelles
disponibles (incertitudes sur le volume de la demande, dur´ ee de l’op´ eration, etc.). Les al´ eas
sont d´ efinis par l’occurrence d’´ ev´ enements incontrˆ olables (panne de machine, commande ur-
gente, etc.). Pour int´ egrer les perturbations dans le probl` eme d’ordonnancement, diff´ erents
mod` eles existent dans la litt´ erature [17] : description born´ ees ou par sc´ enario, description prob-
abiliste ou mod´ elisation stochastique et description floue. Dans cet article, nous utiliserons la
description probabiliste en consid´ erant les perturbations comme des variables al´ eatoires suivant
une distribution de probabilit´ e. En effet, dans le cadre de l’industrie 4.0, les donn´ ees historiques
recueillies ` a partir de composants de l’atelier peuvent ˆ etre utilis´ ees pour identifier la distribution de probabilit´ e d’un param` etre perturb´ e. Cette identification n’entre pas dans le cadre de cet article et les distributions de probabilit´ es seront consid´ er´ ees parfaitement connues.
Face ` a ces perturbations, une approche consiste ` a construire des solutions d’ordonnancement robustes ce qui pose la question de l’´ evaluation de cette robustesse. Afin d’´ evaluer l’impact des perturbations, la notion de robustesse a ´ et´ e d´ efinie comme suit: un ordonnancement robuste doit maintenir certaines performances malgr´ e les perturbations et variations g´ en´ er´ ees par le syst` eme de production ou son environnement [5]. Pour ´ evaluer la robustesse, une m´ etrique doit ˆ etre d´ efinie. Dans ce cadre, nous utilisons la m´ etrique d´ efinie dans [6] qui permet d’´ evaluer le niveau de robustesse (ou niveau de service) comme : “la probabilit´ e qu’un crit` ere soit inf´ erieur (resp.
sup´ erieur) ou ´ egal ` a une valeur donn´ ee ”. Par exemple, si dans le probl` eme d’ordonnancement, le crit` ere consid´ er´ e est le Makespan, le niveau de robustesse est la probabilit´ e que le celui-ci soit inf´ erieur ou ´ egal ` a une deadline donn´ ee d´ efinie par le d´ ecideur. Formellement, cette m´ etrique est donn´ ee par l’´ equation (1), avec P r la probabilit´ e que le makespan C max de l’ordonnancement S i soumis ` a un ensemble de perturbations P ert soit inf´ erieur ou ´ egal ` a une deadline donn´ ee ˜ d..
RL S i , P ert, ˜ d
= P r C max (S i , P ert) ≤ d ˜
(1) Dans la communaut´ e de la Recherche Op´ erationnelle, [13] et [5] pr´ esentent des approches pour g´ en´ erer des ordonnancements robustes sous perturbations (incertitude sur la dur´ ee ou la demande, panne machine). Mˆ eme si les techniques bas´ ees sur la recherche op´ erationnelle s’av` erent performantes et efficaces pour l’ordonnancement sous perturbations, l’inconv´ enient principal est que ces approches et leurs mod` eles sont d´ edi´ ees ` a des probl` emes d’ordonnancement donn´ es (li´ es ` a l’atelier et ` a la perturbation consid´ er´ ee) ce qui les rends peu ´ evolutifs et non r´ eutilisables pour d’autres probl` emes.
Dans le domaine de la sˆ uret´ e et de la s´ ecurit´ e, les SED sont g´ en´ eralement utilis´ es pour ´ evaluer la fiabilit´ e, la disponibilit´ e, la maintenabilit´ e et le diagnostique. Ainsi, ils ont prouv´ e leur efficacit´ e dans la mod´ elisation des syst` emes stochastiques et dynamiques. Grˆ ace ` a ces atouts, les SED peuvent ˆ etre consid´ er´ es comme de bons candidats pour r´ esoudre le probl` eme d’ordonnancement en g´ en´ eral, comme dans [20], [18]. De plus, il existe plusieurs travaux qui explorent l’utilisation des SED stochastiques pour l’ordonnancement sous perturbations [1]. A ce titre,[15] proposent une mod´ elisation stochastique bas´ ee sur un langage de file d’attente pour ´ evaluer l’impact d’une perturbation sur les temps d’attente des op´ erations. Dans [16], les r´ eseaux de p´ etri temporis´ es sont utilis´ es afin de tenir compte du risque de d´ eviation d’un ordonnancement en pr´ esence d’´ ev´ enements incontrˆ olables. Dans nos pr´ ec´ edents travaux [10] [11], nous proposons une ap- proche d’´ evaluation de la robustesse sp´ ecifi´ ee pour les incertitudes sur les dur´ ees d’ex´ ecution des op´ erations ainsi que pour les prise en compte des pannes machines en utilisant les automates temporis´ es stochastiques et avons d´ emontr´ e la faisabilit´ e de l’approche. L’objectif est ici d’aller plus loin et de g´ en´ eraliser l’approche ` a tout type de perturbations.
L’hypoth` ese de recherche de cet article est que les mod` eles et outils des SED stochastiques peuvent ˆ etre utilis´ es pour ´ evaluer la robustesse d’une solution d’ordonnancements sous plusieurs perturbations et ind´ ependamment du type de l’atelier. En effet, nous proposons une approche g´ en´ erique qui permettra i) de prendre en compte des perturbations de diff´ erents types et ii) d’´ evaluer la robustesse d’un ensemble d’ordonnancements soumis ` a ces perturbations.
3 Processus d’´ evaluation de la robustesse - vue d’ensemble
L’objectif principal du processus d’´ evaluation est d’aider le d´ ecideur ` a choisir l’ordonnancement
“robuste” qui r´ epond aux contraintes de son atelier ainsi que la deadline ` a satisfaire. Les
donn´ ees d’entr´ ee fournies par le d´ ecideur sont, un ensemble d’ordonnancements d´ eterministes S i ` a ´ evaluer ainsi que le makespan de chaque ordonnancement C max ref (S i ), l’ensemble de pertur- bations P ert ` a consid´ erer et la deadline ˜ d ` a satisfaire.
Le processus d’´ evaluation propos´ e est bas´ e sur deux ´ etapes essentielles. La premi` ere consiste
`
a mod´ eliser le comportement des ordonnancements et celui des perturbations. Cette ´ etape est importante pour repr´ esenter les caract´ eristiques du probl` eme ainsi que les diff´ erentes interac- tions qui existent entre ces ´ el´ ements.
La deuxi` eme ´ etape est l’´ evaluation de la robustesse. L’objectif de cette ´ etape est la formulation de la mesure de robustesse donn´ ee dans l’´ equation (1). La sortie du processus d’´ evaluation est alors l’ensemble des niveaux de robustesse RL i S i , P ert, ˜ d
qui sont associ´ es ` a chaque ordon- nancement et aux perturbations consid´ er´ ees. ces niveaux de robustesse sont remis au d´ ecideur afin qu’il puisse choisir l’ordonnancement ` a ex´ ecuter dans l’atelier.
Approche d’évaluation Décideur
Step1:
Modélisation des ordonnancements
et des perturbations
Step2:
Evaluation de la robustesse des ordonnancements
Ordonnancements𝑆
", 𝐶
%&'()*(𝑆
")
Perturbations (𝑃𝑒𝑟𝑡)
Niveau de robustesse
𝑅𝐿
"(𝑆
", 𝑃𝑒𝑟𝑡, 𝑑4)
Deadline 𝑑4
Patron (𝑃𝑒𝑟𝑡) Patron (𝑆
", 𝑜
67) Patron (𝑆
", 𝑟)
Figure 1: Processus d’´ evaluation de la robustesse
4 Etape 1 : mod´ ´ elisation du probl` eme
Pour mod´ eliser le comportement des ordonnancements et des perturbations, les mod` eles doivent tenir compte des caract´ eristiques dynamiques telles que la communication entre les ´ el´ ements de l’atelier, le temps d’ex´ ecution et le comportement probabiliste des perturbations. Le langage choisi dans cet article est celui des automates temporis´ es stochastiques (ATS) (1). En effet, il s’agit d’une extension des automates temporis´ es bien connus [2] qui s’enrichit par le partage de variables, les ´ ev´ enements synchronisant et les caract´ eristiques probabilistes [14].
D´ efinition 1. Formellement, un automate stochastique temporis´ e est pr´ esent´ e comme le n- uplet A = (L, V , E, C, Inv, P , T , L m , l 0 , v 0 ) avec :
• L est un ensemble fini de localit´ es (not´ ees par des sommets).
• V est un ensemble fini de variables.
• E est un ensemble fini d’´ ev´ enements synchronisant avec E = E
u∪ E
u¯.
– E
uest un ensemble fini d’´ ev´ enements urgents. Pour ´ eviter que l’automate reste dans une localit´ e, alors qu’une transition peut ˆ etre franchie, un ´ ev´ enement est d´ eclar´ e urgent.
– E
u¯est un ensemble fini d’´ ev´ enements non urgents.
• C est un ensemble fini d’horloges.
• Inv est un ensemble d’invariants (not´ es dans les localit´ es).
• P est un ensemble de probabilit´ es: i) discr` ete sur l’ensemble des transitions (` a partir d’une localit´ e, une transition peut conduire dans diff´ erentes localit´ es l
iavec des probabilit´ es p
io` u P
p
i= 1 (not´ e par des arcs en pointill´ es). ii) continue sur des variables d’automates (la condition de franchissement d’une transition est d´ efinie de fa¸ con al´ eatoire par une distribution de probabilit´ es).
• T est un ensemble fini de transitions (not´ ees par des arcs) (l, e, g, m, l
0) ∈ (L × E × G × M × L) o` u l et l
0sont respectivement les deux localit´ es d´ ebut et arriv´ ee. Sur une transition trois ´ el´ ements sont d´ efinis: i) Une garde (condition sur les variables, not´ ees entre crochets [] ) g ∈ G, ii) Une mise ` a jour (sur les variables ou les horloges, not´ ee sous la transition) m ∈ M , iii) L’´ ev´ enement de synchronisation e ∈ E (not´ e en dessous des gardes).
• L
m⊆ L est l’ensemble des localit´ es marqu´ ees (not´ ees par un double sommet).
• l
0∈ L est la localit´ e initial de l’automate.
• v
0est le vecteur d’initialisation des variables.
Pour mod´ eliser ` a la fois les ordonnancements et les perturbations, nous proposons une ap- proche modulaire bas´ ee sur plusieurs patrons. D’une part, l’ordonnancement est mod´ elis´ e avec deux patrons, le premier pr´ esentant le comportement de l’op´ eration ` a ex´ ecuter et le deuxi` eme, le comportement de la ressource qui ex´ ecute l’op´ eration. D’autre part, les perturbations sont repr´ esent´ ees par deux patrons qui mod´ elisent soit le comportement d’une incertitude soit d’un al´ ea. Chaque mod` ele doit ˆ etre instanci´ e en fonction des caract´ eristiques de l’atelier, du nombre d’op´ erations et de ressources, des caract´ eristiques et du nombre de perturbations.
4.1 Mod´ elisation de d’ordonnancement
L’ex´ ecution d’un ordonnancement est mod´ elis´ ee par deux patrons (op´ eration, ressource)
´ echangeant des informations.
Le patron d’op´ eration (fig.2a) mod´ elise le comportement d’une op´ eration o jk . A partir de la localit´ e Idle, lorsque la garde prenant en compte les contraintes de pr´ ec´ edence de la gamme du job, les contraintes de la s´ equence sur la ressource et la disponibilit´ e du job ( [P reOpJ is completed && P reOpR is completed && Job j is available]) est satisfaite, la transition est franchie vers la localit´ e Execution. La v´ erification de la disponibilit´ e du job permet de garantir le non chevauchement de plusieurs op´ erations d’un mˆ eme job et une ex´ ecution sˆ ure de l’ordonnancement d´ eterministe donn´ e. De plus lorsque la garde est satisfaite, l’op´ eration o jk se synchronise avec la ressource r qui lui est allou´ ee en utilisant l’´ ev´ enement de requˆ ete (Req(r)). La disponibilit´ e du job est alors mise ` a jour et l’identifiant de l’op´ eration est sauve- gard´ e (op´ eration:= o jk ), pour garder en m´ emoire l’op´ eration en cours d’ex´ ecution. Dans la localit´ e Execution, le mod` ele op´ eration attend l’occurrence de l’´ ev´ enement de synchronisa- tion (Comp(o jk )), indiquant la fin de l’ex´ ecution de l’op´ eration et franchit la transition vers sa localit´ e marqu´ ee Completed en mettant ` a jour l’´ etat de fin d’ex´ ecution de l’op´ eration (OpComp:=true) et de la disponibilit´ e du job de celle-ci.
Le patron de ressource (fig.2b) mod´ elise le comportement d’une ressource r. Dans la lo- calit´ e Idle initiale, le mod` ele Ressource r attend une requˆ ete d’ex´ ecution (Req(r)). Lors du franchissement de la transition, l’horloge locale est initialis´ ee ` a z´ ero (x r := 0) et l’identifiant de l’op´ eration est enregistr´ ee dans la variable o jk . Dans la localit´ e Executing Op, la ressource lance l’ex´ ecution de l’op´ eration. L’invariant (x r ≤ d jkr ) assure que la dur´ ee ne d´ epassera pas d jkr et lorsque la valeur de la dur´ ee est atteinte, la garde [x r == d jkr ] est alors satisfaite et l’´ ev´ enement de synchronisation Comp(o jk ) se d´ eclenche permettant ` a la ressource de retourner
`
a sa localit´ e initiale Idle.
Idle Execution Completed [P reOpJ is completed &&
P reOpR is completed &&
Job j is available]
Req(r) Job j is unavailable;
operation:= o
jk;
Comp(o
jk) Job j is available;
OpComp:=True;
(a) Patron d’une op´ eration
Idle
x
r≤ d
jkrExecuting Op Req(r)
clock x
r:= 0; o
jkr:= operation;
[ x
r== d
jkr] Comp(o
jk)
(b) Patron d’une ressource
Figure 2: Patrons de mod´ elisation d’un ordonnancement
Les patrons pr´ esent´ es (fig.2) partagent les informations en utilisant des ´ ev´ enements de syn- chronisation (Req, Comp) urgents, et des variables partag´ ees (operation). La prochaine partie d´ etaille la mod´ elisation des perturbations et leur int´ egration avec les patrons d’ordonnancement.
4.2 Mod´ elisation des perturbations
Nous faisons l’hypoth` ese que les perturbations consid´ er´ ees sont ind´ ependantes. Toute pertur- bation g´ en` ere une variation sur la dur´ ee d’ex´ ecution des op´ erations et donc sur le Makespan. La dur´ ee d’ex´ ecution d’une op´ eration affect´ ee par des perturbations, est exprim´ ee par (2). Chaque dur´ ee d’ex´ ecution de l’op´ eration d jkr est d´ efinie par une dur´ ee d’ex´ ecution de r´ ef´ erence d ref jkr donn´ ee par les donn´ ees d´ eterministes et une somme de fluctuations li´ ees ` a l’ensemble de per- turbations (P ert) consid´ er´ ees comme des incertitudes (U ) ou des al´ eas (H).
De plus on distinguera les incertitudes li´ ees ` a la dur´ ee d’ex´ ecution (U ex ) et les incertitudes li´ ees ` a l’occurrence des al´ eas (U H ). Les incertitudes li´ ees aux dur´ ees d’ex´ ecution sont la somme des diff´ erentes fluctuations g´ en´ er´ ees par chaque incertitude u appartenant ` a l’ensemble U ex ( P N bU
exu=1 δd U jkr
uex). Pour les al´ eas, nous faisons l’hypoth` ese que chaque op´ eration peut ˆ etre af- fect´ ee par un ou plusieurs al´ eas. Chaque al´ ea h ∈ H est li´ e ` a: une dur´ ee dH jkr h qui refl` ete le retard g´ en´ er´ e et une probabilit´ e p (h, o jk ) qui repr´ esente la probabilit´ e que l’al´ ea h impacte l’op´ eration o jk . ` A partir de cette probabilit´ e, une variable bool´ eenne H jk h peut ˆ etre construite avec H jk h = 1 si l’op´ eration o jk est effectivement impact´ ee par l’al´ ea h. Les retards dus aux al´ eas de H peuvent donc ˆ etre ´ ecrits comme P N bH
h=1 H jk h dH jkr h .
Le fait que chaque al´ ea soit li´ e ` a une dur´ ee permet de prendre en compte ´ egalement des incertitudes sur cette dur´ ee repr´ esent´ ees par l’ensemble U h (avec U H = S
h∈H
U h ). En effet, nous consid´ erons que la dur´ ee dH jkr h g´ en´ er´ ee par l’al´ ea est d’abord une dur´ ee de r´ ef´ erence connue dH jkr ref ,h et une somme de fluctuations P N bU
hu=1 δd U jkr
uhdues aux incertitudes sur cette dur´ ee comme
pour les incertitudes d’ex´ ecution. Au final, la dur´ ee d’ex´ ecution d jkr permettant de prendre en
compte les perturbations peut s’´ ecrire comme dans l’´ equation (2).
d jkr = d ref jkr +
N bU
exX
u=1
δd U
ex u
jkr +
N bH
X
h=1
H jk h ×
dH jkr ref,h +
N bU
hX
u=1
δd U
h u
jkr
(2)
Les variables de l’expression (2) sont des variables al´ eatoires qui suivent des distributions de probabilit´ e connues (seule d ref jkr est consid´ er´ ee comme d´ eterministe et statique). Toutes les fluctuations exprim´ ees par la variable δd sont consid´ er´ ees comme appartenant ` a des intervalles [δd − , δd + ]. Suite ` a la description donn´ ee des perturbations (2), nous pr´ esentons dans les sous- sections suivantes une approche de mod´ elisation adapt´ ee.
4.2.1 Patron de mod´ elisation d’une incertitude
Les patrons pr´ esent´ es dans (fig. 3a) proposent une mod´ elisation du comportement des pertur- bations qui vient s’ins´ erer dans le mod` ele d’initialisation (fig. 4).
Le patron pr´ esent´ e (fig.3a) permet de mod´ eliser le comportement des incertitudes que ce soit U ex ou U H . Il permet la repr´ esentation de la distribution de probabilit´ e discr´ etis´ ee suivie.
Suivant les notations donn´ ees dans l’expression 2, on note δd le param` etre de la dur´ ee associ´ e
`
a une variable al´ eatoire discr` ete X d . Le pas de discr´ etisation de la distribution de probabilit´ e est t et l repr´ esente le compteur d’it´ eration ex´ ecut´ ee. L’id´ ee de ce mod` ele est d’augmenter it´ erativement, la valeur de δd dans l’intervalle [δd − , δd − ].
Depuis la premi` ere localit´ e de (fig.3a), δd est initialis´ e ` a δd − et l est initialis´ ee ` a z´ ero (l := 0).
En arrivant ` a la localit´ e Prob, deux transitions sont possibles en fonction de la satisfaction de leurs gardes. La premi` ere garde mod´ elise le cas o` u δd est inf´ erieur ` a δd + ([δd < δd + ]). Lorsque cette garde est vraie, deux ´ evolutions probabilistes sont possibles. Avec la probabilit´ e p(l) la localit´ e finale EndProb est atteinte et δd garde sa derni` ere la valeur. Sinon, avec la probabilit´ e 1 − p(l), l’automate retourne ` a la localit´ e Prob avec mise ` a jour du param` etre d’it´ eration l ` a l + 1 ainsi que la mise ` a jour en δd = δd + t de sorte ` a augmenter la valeur de δd d’un pas t de discr´ etisation. De l` a, un autre pas de discr´ etisation est ex´ ecut´ ee. La probabilit´ e que X d = δd est la probabilit´ e de boucler dans le patron l − 1 fois et de sortir de la boucle lors de la l-i` eme it´ eration.
Si la fluctuation maximale est atteinte ([δd == δd + ]), l’automate ´ evolue directement vers la localit´ e EndProb et la valeur du δd devient δd + .
Idle Prob
•
EndProb δd := δd
−;
l := 0
[δd < δd
+]
[δd == δd
+] 1 − p(l) l := l + 1;
δd := δd + t
p(l)
(a) Patron d’une incertitude
Idle
•
NotImpacted
Impacted
1 − p(h, o
jk) H
hjk:= 0 p(h, o
jk) H
jkh:= 1
(b) Patron d’un al´ ea
Figure 3: Patrons stochastiques de perturbations
Les caract´ eristiques recueillies aupr` es du d´ ecideur permettent de d´ efinir les perturbations comme des variables al´ eatoires. Une variable al´ eatoire est li´ ee ` a une distribution de probabilit´ e connue ayant une fonction de r´ epartition d´ efinie (F X (x)). Nous pouvons d´ emontrer que p(l) peut ˆ etre calcul´ ee en fonction de F X (x) comme dans la proposition (1).
Proposition 1. la valeur p(l) est exprim´ ee en fonction d’une distribution de probabilit´ e tronqu´ ee dans l’intervalle [x min , x max + 1[.
p(0) = F F
X(x
min+1)−F
X(x
min)
X
(x
max)−F
X(x
min) f or l = 0 p(l) = F F
X(x
min+l+1)−F
X(x
min+l)
X
(x
min+l)−F
X(x
min+l−1) . 1−p(l−1) p(l−1) f or l ≥ 1
(3)
4.2.2 Patron de mod´ elisation d’un al´ ea
Le patron (fig. 3b) repr´ esente le comportement d’un al´ ea. Pour rappel, chaque op´ eration o jk
peut ˆ etre impact´ ee par un al´ ea h de H avec une probabilit´ e connue p(h, o jk ). Depuis la localit´ e Idle, (i) soit l’op´ eration est affect´ ee avec la probabilit´ e p(h, o jk ) et le patron passe ` a la localit´ e Impacted apr` es que la variable d’al´ ea (H jk h ) soit mise ` a 1; (ii) soit l’op´ eration n’est pas impact´ ee par l’al´ ea avec la probabilit´ e 1 − p(h, o jk ) et le patron passe dans la localit´ e NotImpacted apr` es que la variable H jk h ait ´ et´ e mise ` a 0.
4.3 Initialisation des perturbations
Le mod` ele d’initialisation permet l’int´ egration des diff´ erentes perturbations (fig.3a) et (fig.3b) dans l’approche de mod´ elisation sans affecter les autres mod` eles. A partir de la localit´ e initiale Begin Init, deux ´ evolutions sont possibles. Si la perturbation est consid´ er´ ee, la valeur du bool´ een P ert i est ` a 1 ([P ert i == 1]). Le patron de perturbation est ensuite associ´ e au mod` ele, qu’il s’agisse d’une incertitude (fig.3a) ou d’un al´ ea (fig.3b). Lorsque le patron de perturbation termine son ex´ ecution, le mod` ele ´ evolue vers la localit´ e End Init en mettant ` a jour le nombre de perturbations consid´ er´ ees au moyen du compteur c (c := c + 1). Si la perturbation n’est pas prise en compte, la valeur de P ert i est ` a 0 ([P ert i == 0]) et le mod` ele passe directement ` a la localit´ e End Init.
Begin Init
Patrons de perturbations (fig.3)
End Init
[P ert
i== 1]
[P ert
i== 0]
c := c + 1
Figure 4: Mod` ele d’initialisation des perturbations
A partir des donn´ ees fournies par le d´ ecideur au processus d’´ evaluation (fig.1), une proc´ edure
de prise en compte des perturbations est d´ efinie :
• La premi` ere ´ etape permet de d´ efinir les perturbations consid´ er´ ees P ert (P ert = {U , H }).
Le nombre de chaque type de perturbations N bU ex , N bH et N bU H = P
h∈H
N bU h peut ˆ
etre calcul´ e.
• La deuxi` eme ´ etape consiste ` a instancier les mod` eles de perturbations. Dans le cas d’incertitudes, le param` etre δd et ses bornes δd − et δd + sont instanci´ es selon le type de dur´ ee impact´ ee par l’incertitude (dur´ ee d’ex´ ecution, dur´ ee de r´ eparation, etc.). La probabilit´ e du mod` ele p(l) est ´ egalement calcul´ ee en fonction des donn´ ees probabilistes fournies par le d´ ecideur et des donn´ ees de l’atelier. Dans le cas des al´ eas, la probabilit´ e p(h, o jk ) est ´ egalement d´ etermin´ ee en fonction des donn´ ees d’entr´ ee.
• La derni` ere ´ etape consiste ` a instancier les mod` eles en fonction des donn´ ees de l’ordon- nancement (nombre d’op´ erations et de ressources) ainsi que le nombre de perturbations consid´ er´ ees.
Le nombre de mod` eles de perturbation ` a instancier, d´ epend du nombre d’op´ erations N bOp, et du nombre de perturbations. Le nombre de mod` eles (N bM) n´ ecessaires pour traiter le probl` eme de perturbations peut ˆ etre d´ eduit de (2) et est exprim´ e par (4).
N bM = N bOp × N bU ex + N bH + N bU H
(4)
4.4 Int´ egration des perturbations ` a l’ordonnancement
L’initialisation des mod` eles de perturbations permet l’initiation des diff´ erentes fluctuations g´ en´ er´ ees par les perturbations. Le lien entre les mod` eles de perturbations et ceux d’ordon- nancement se fait en ajoutant une transition au mod` ele d’op´ eration (fig.2a). En effet, la localit´ e initiale devient la localit´ e nomm´ ee Waiting o` u le mod` ele op´ eration attend que toutes les perturbations soient initialis´ ees, c’est-` a-dire que la garde [c == N bM] soit v´ erifi´ ee. Ensuite, la dur´ ee est mise ` a jour en tenant compte de l’expression (2). Apr` es avoir franchi la transition, le patron d’op´ eration est ex´ ecut´ e comme expliqu´ e dans la figure ( 2a).
Waiting
Operation Pattern (fig.2a) [c == N bM]
d
jkr= d
refjkr+ P
N bU exu=1
δd
U exjkru+ P
N bH h=1H
jkh×
dH
jkrref,h+ P
N bU h u=1δd
U hjkruFigure 5: Consid´ eration des perturbations dans le mod` ele d’op´ eration
Cette section d´ ecrit la phase de mod´ elisation du processus d’´ evaluation. La phase suivante du processus d’´ evaluation consiste ` a v´ erifier la propri´ et´ e qui permettra de mesurer les niveaux de robustesse.
5 Etape d’´ ´ evaluation de la robustesse
L’´ evaluation du niveau de robustesse d´ efini dans l’expression (1) est v´ erifi´ e en utilisant un
model-checker. Dans le domaine SED, un model-checker est g´ en´ eralement utilis´ ee pour v´ erifier
si un mod` ele satisfait ou non certaines propri´ et´ es. Ces propri´ et´ es peuvent ˆ etre exprim´ ees dans
plusieurs langages logiques (CTL, PCTL, etc.). Pour ´ evaluer la robustesse, nous utilisons une extension du model-checking pour les mod` eles STA qui sont exprim´ ees en logique PCTL (Probabilistic Computation Tree Logic). Ce langage est une extension probabiliste de CTL (Computation Tree Logic) [3]. Ce type de logique permet d’exprimer des propri´ et´ es telle que
“Quelle est la probabilit´ e que le mod` ele soit ` a l’´ etat A, dans l’intervalle pr´ ecis[0,T]? ”. Cette question peut ˆ etre transcrite en PCTL comme dans l’expression: P =?[F ≤ T “A”]. L’op´ erateur P =? exprime l’´ evaluation de probabilit´ e P r, l’op´ erateur F signifie qu’il existe ´ eventuellement un chemin o` u l’automate est ` a l’´ etat ”A”.
Pour ´ evaluer le niveau de robustesse d’un ordonnancement, la question pos´ ee ci-dessus devient:
”Quelle est la probabilit´ e que tous les chemins m` enent ` a un ´ etat global o` u tous les mod` eles d’op´ erations sont dans leur localit´ e marqu´ ee Completed avec une dur´ ee qui est inf´ erieure ou
´ egale ` a une deadline donn´ ee d”. En utilisant la logique PCTL, la formule (1) peut ˆ ˜ etre exprim´ ee comme la propri´ et´ e (5) o` u le Makespan C max (S i , P ert) est donn´ e par la valeur de l’horloge globale (clk).
P =?[F ≤ d ˜ “All operations o jk are Completed”] (5) Plusieurs m´ ethodes et outils existent pour v´ erifier les mod` eles stochastiques. Deux familles peuvent ˆ etre distingu´ ees : le Model Checking num´ erique (NMC) et le Model Checking statistique (SMC). D’une part, les NMC utilisent des m´ ethodes d’´ evaluation exactes afin de d´ eterminer la valeur de probabilit´ e d’une propri´ et´ e. Ce type de v´ erification garantit la pr´ ecision de la solution donn´ ee, mais il n’est pas adapt´ e aux probl` emes de grande taille. En r´ ealit´ e, lorsque la taille du syst` eme ` a v´ erifier est relativement grande, le NMC fait face ` a un probl` eme d’explosion combinatoire.
D’autre part, le SMC g´ en` ere diff´ erents chemins d’ex´ ecution et v´ erifie, apr` es chaque ex´ ecution, la satisfaction d’une propri´ et´ e ainsi que les r´ esultats statistiques associ´ es (comme pour la sim- ulation Monte Carlo). Ceci ´ evite l’explosion combinatoire [4]. Dans cette optique, nous avons choisi de l’utiliser pour ´ evaluer les niveaux de robustesse des ordonnancements. L’approche par solution SMC utilise la m´ ethode de l’intervalle de confiance afin de se rapprocher de la valeur de la probabilit´ e. Un intervalle de confiance (IC) est un intervalle estim´ e ayant une pr´ ecision sp´ ecifi´ ee et un niveau de confiance α tel que, la probabilit´ e RL i appartient ` a l’intervalle [RL i − ; RL i + ] avec une chance de 100 × (1 − α)% [19].
Dans la section suivante, nous combinons les mod` eles STA pr´ esent´ es dans la section pr´ ec´ edente avec la m´ ethode SMC pour ´ evaluer les niveaux de robustesse dans un intervalle pr´ ecis avec un niveau de confiance de α = 2 et une pr´ ecision = 0.01. Le Model-Checker SMC
´ evaluera la formule PCTL (5) en ex´ ecutant les N it´ erations.
6 Etude de cas
L’approche pr´ esent´ ee dans cet article est exp´ eriment´ ee sur une ´ etude de cas acad´ emique
pr´ esent´ ee dans [8]. Le but de l’exp´ erimentation est de d´ emontrer la faisabilit´ e de l’approche
et de mettre en œuvre le processus d’´ evaluation (fig. 1). Le syst` eme de production ´ etudi´ e
est un Job-Shop Flexible avec 8 jobs et 7 ressources. L’atelier comprend un tour CNC (M1),
une rectifieuse (M2), trois fraiseuses (M3 ` a M5) et deux fours (M6 et M7). Le d´ ecideur a
le choix entre trois ordonnancements S i = {S 1 , S 2 , S 3 }. Les donn´ ees d´ eterministes sont ex-
traites des diagrammes de Gantt (fig.6) : i) Makespans d´ eterministes (C max ref ) et ii) les dur´ ees
de r´ ef´ erence (dur´ ees d’ex´ ecution(d ref jkr ) et de r´ eparation ((d ref rep = 7)). Les perturbations prises
en compte par le d´ ecideur sont : i) une incertitude sur les dur´ ees d’ex´ ecution et de r´ eparation
S2 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839
R1 O11 o62 o82 o42 o65 o24 o67
R2 O41 o52 o72 o44 o66
R3 o21 o12 o83 o33 o85
R4 o61 o51 o23 o43
R5 o71 o81 o31 o64 o74
R6 o63 o13 o53 o84 o75
R7 o22 o32 o73 o25
S1 1 2 3 4 5 6 7 8 91011121314151617181920212223242526272829303132333435363738
R1 o11 o62 o82 o42 o24 o65 o67
R2 o41 o72 o52 o66 o44
R3 o61 o81 o23 o85
R4 o21 o12 o74 o64 o33
R5 o71 o31 o51 o83 O43
R6 o22 o13 o73 o53 o25
R7 o32 o63 o84 o75
S3 1 2 3 4 5 6 7 8 910 11 1213 14 15 1617 18 1920 21 22 2324 25 2627 28 29 3031 32 3334 35 36 3738 39 4041 42
R1 o11 o82 o42 o62 o24 o65 o67
R2 o41 o52 o72 o44 o66
R3 o21 o61 o23
R4 o81 o12 o83 o33 o85
R5 o51 o31 o71 o43 o64 o74
R6 o22 o13 o53 o63 o73
R7 o32 o84 o25 o75
Figure 6: Ordonnancements d´ eterministes ` a ´ evaluer
( δd − = −25%d ref et δd + = +25%d ref ). ii) un al´ eas de pannes machines. Le d´ ecideur fixe la deadline souhait´ ee ` a ˜ d = 110%C max ref (S i ).
6.1 Mod´ elisation de l’´ etude de cas
Les perturbations qui sont habituellement trait´ ees, dans la litt´ erature, sont des incertitudes sur les dur´ ees (notamment sur les dur´ ees d’ex´ ecution des op´ erations) et les pannes ressources.
Pour d´ emontrer l’applicabilit´ e de notre approche et de notre proc´ edure, nous consid´ erons que l’ensemble de perturbations est P ert = {u 1 , u 2 , h}, avec u 1 l’incertitude sur la dur´ ee d’ex´ ecution des op´ erations, u 2 l’incertitude sur la dur´ ee des r´ eparations et h l’occurrence de pannes sur les ressources. L’application de l’expression (2) d´ efinit la dur´ ee d jkr dans (6).
d jkr = d ref jkr + δd u jkr
1+ H hjk [dH jkr ref ,h + δd U
h u2