Vous êtes sur la page 1sur 8

e

20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

CALCUL DIRECT DE LA FIABILITE D’UN SYSTEME


PAR SON GRAPHE ORDONNE
DIRECT COMPUTATION OF SYSTEM RELIABITY
BY MEANS OF ITS ORDERED GRAPH
Jean-François AUBRY et Nicolae BRINZEI

Université de Lorraine, CRAN CNRS UMR 7039


2, Avenue de la Forêt de Haye
54518 Vandœuvre-lès-Nancy, France
{Nicolae.Brinzei,Jean-François.Aubry}@univ-lorraine.fr

Résumé
Le but de la communication est de présenter une nouvelle approche du calcul de la fiabilité des systèmes statiques non-
réparables basée sur la représentation de la fonction de structure par un graphe ordonné issu du diagramme de Hasse et
mettant en évidence la monotonie de celle-ci. Nous présenterons un algorithme de calcul direct du polynôme fiabilité du système
basé sur l’analyse du graphe ordonné s’appliquant aux systèmes cohérents. Enfin nous montrons comment cet algorithme est
aisément étendu aux systèmes non-cohérents.

Summary
This paper aims at the presentation of a novel approach to reliability assessment of the static and non-repairable systems based
on the representation of the structure function as an ordered graph deduced from the Hasse diagram and highlighting the
monotony property. We will present an algorithm for a direct calculus of the reliability polynomial of the system based on the
analysis of the ordered graph relevant to coherent systems. Finally, we will show how this algorithm is easily extended to non-
coherent systems.
______________________________________________________________________________________________________

Introduction
Les méthodes traditionnelles de calcul de la fiabilité des systèmes statiques non-réparables ont toutes pour objectif de donner
une expression plus ou moins explicite de la fonction de structure sous la forme d’un polynôme booléen minimal disjoint afin de
le traduire en polynôme de fiabilité. Les diagrammes de décision binaires ont largement contribué à l’obtention de ce polynôme
minimal grâce au recours à des heuristiques garantissant une bonne solution sinon la meilleure. A. Kaufmann [Kaufmann et
al.1975] a proposé une approche de calcul analytique direct de la fiabilité à partir de la connaissance des liens minimaux ou des
coupes minimales mais ne s’appliquant qu’aux systèmes cohérents. Il a théorisé cette propriété comme issue de la monotonie
de la fonction de structure illustrée sur le diagramme de Hasse sans recours au cadre Booléen.
L’approche par fonction génératrice universelle (universal generating function) développée par G Levitin [Levitin 2005] est une
alternative permettant le calcul de la fiabilité d’un système basée sur la transformation en z. Cette approche repose sur des
procédures récursives et fournit une méthode systématique pour l’énumération des états du système pouvant ainsi remplacer les
algorithmes complexes et couteux pour énumérer les états possibles de certains types de systèmes. Pour obtenir la fonction
r
génératrice universelle d’un système ayant r composants il est nécessaire d’effectuer (r-1)2 procédures de multiplication des
r
probabilités et 2 procédures d’évaluation de cette fonction ce qui pourrait nécessiter des temps de calculs excessifs.
La propriété de monotonie de la fonction de structure permet aussi une méthode systématique pour l’énumération des états d’un
système, comme la fonction génératrice universelle. En reprenant l’idée de Kaufmann et en s’appuyant sur la théorie des
graphes [Gondran et al. 1985], nous proposons une méthode algorithmique de calcul direct de la fiabilité des systèmes non-
réparables ne nécessitant pas le passage par la forme Booléenne de la fonction de structure et évitant ainsi une étape dans ce
calcul. On obtient de manière directe le polynôme exprimant la fiabilité du système en fonction des fiabilités de ses composants.

Rappels et définitions
Nous nous intéressons aux systèmes statiques dont l’état à tout instant ne dépend que de la combinaison des états de ses
composants (la même combinaison des états des composants donnera toujours le même état du système quelque soit le
temps). Nous utilisons une représentation binaire de la notion d’état : les composants et le système fonctionnent ou ne
fonctionnent pas et on caractérisera respectivement ces états par les entiers « 1 » ou « 0 » (l’ensemble des entiers naturels est
noté  ).

1 Notion de fonction de structure d’un système

Comme nous l’avons dit, nous ne nous plaçons pas dans le contexte Booléen. Nous devons donc définir formellement la notion de
fonction de structure d’un système ainsi que les propriétés de cette fonction sur lesquelles nous allons nous appuyer. Considérons
un système S à état binaire et supposons qu’il est constitué de r composants ci à états binaires également.
Notations :
Utilisons la notation suivante [Kaufmann et al.1975] pour représenter ces états : C = {c1, c2, …, cr} est l’ensemble des r
composants.

Communication 4E /3 page 1/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

r
Soit X  ( x1 , x2 , x3 , ... xr ) le mot binaire (on parle aussi de r-uple ou de vecteur) état de l'ensemble des r composants, X  D ,
D={0,1}  N . xi  D , est la variable binaire état du composant ci ; si ci fonctionne xi  1 ; si ci est défaillant xi  0 . Ainsi la
fiabilité du composant ci est exprimée par la probabilité que sur l’intervalle 0, t  la variable binaire xi  1 et est notée par
Ri  t   Pr  xi  1, t  qui s’évalue pour chaque t 
, par exemple Ri  t   Pr  xi  1, t   et pour un composant non-
réparable dont sa durée de vie est caractérisée par la loi exponentielle.
r r
Le mot binaire état de l’ensemble des r composants X  D peut donc prendre 2 valeurs différentes.
Soit y la variable binaire état du système S : y  1 si le système fonctionne ; y  0 si le système est en panne.
r
Relation d’ordre (partiel) sur la variable X dans D :
Considérons la relation d’ordre sur D définie par les opérations  et  dans N . Considérons maintenant deux valeurs distinctes
de X : A, B  D .
r

A  ( a1 , a2 , a3 , ...ar ) et B  (b1 , b2 , b3 , ...br ) ; ai , bi  0,1


Définitions :
On dira que :
1) A  B si et seulement si i  0,1,..., r , ai  bi
2) A majore B que l’on note A  B si et seulement si i  0,1,..., r , ai  bi
3) A minore B que l’on note A   B si et seulement si i  0,1,..., r , ai  bi
Il s’agit de relations d’ordre sur D puisqu’elles sont : réflexives ( A   A ), transitives ( A   B ,B   C ,  A   C ) et
r

antisymétriques ( A   B,B   A,  A  B ). Un ensemble muni d’une telle relation est un ensemble ordonné [Arnold et al.
1997], [Velu 2005]. On peut donner une représentation de cette relation par son diagramme de Hasse (figure 1.a dans le cas d’un
système à trois composants) dans lequel un arc entre deux valeurs de X montre l’existence de cette relation. On voit sur ce
diagramme que les triplets 101 et 010 ne sont pas comparables, le premier ne majore pas le second. Cela illustre le fait que la
relation d’ordre n’est pas totale.

111 0 zero 111

011 101 110 1 zero 011 101 110

001 010 100 2 zeros 001 010 100

(a) (b)

000 3 zeros 000

Figure 1. Diagramme de Hasse de l’ensemble D (figure (a)) et


3

le diagramme d’état d’une fonction de structure monotone sur cet ensemble (figure (b)).

Remarque : en toute rigueur, le diagramme doit être orienté selon la relation choisie. Ici sans orientation, on a représenté les deux
relations   et   qui sont symétriques. Le fait d’avoir placé les triplets de haut en bas en fonction du nombre de 1 qu’ils
contiennent permet de voir que tous les arcs sont orientés vers le haut pour la relation   et vers le bas pour la relation   .
Définition :
Notons φ la fonction qui à chaque valeur de X (états des composants associés aux sommets du graphe) associe une valeur
y  ( X )  D de l’état du système S. On l’appelle généralement fonction de structure (FdS) du système.
C’est une fonction binaire des r variables xi . On peut alors définir la notion de monotonie de cette fonction (au même titre qu’on le
fait dans les réels : y  f ( x) avec x , y   est monotone si : x1  x2  f ( x1 )  f ( x2 ) ).

Définition :
Une fonction de structure est monotone si elle possède la propriété suivante :
A   B  ( A )  ( B )
où A et B sont deux valeurs de X mot binaire des valeurs possibles des états des r composants du système.
r
On peut matérialiser cela sur le diagramme de Hasse si on connaît les 2 valeurs de y , par exemple en encadrant en traits
pleins les valeurs de X pour lesquelles y  1 (le système fonctionne) et en pointillés celles pour lesquelles y  0
(le système
r
ne fonctionne pas). Le diagramme obtenu que nous appellerons diagramme d’état du système représente les propriétés de D et
celles de la fonction de structure y  ( X ), X  D . La figure 1.b donne un exemple de diagramme d’état d’une fonction de
r

structure à 3 variables. On voit facilement ici que la fonction est monotone (pour tout chemin dans le graphe allant de 000 à 111
ou inversement, la valeur de y change une seule fois).

Communication 4E /3 page 2/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

Définition :
Un système est dit cohérent si :
 sa fonction de structure est monotone,
 il est défaillant si tous ses composants sont défaillants et
 il fonctionne si tous ses composants fonctionnent.
Le système représenté par la figure 1.b est donc cohérent.
Pratiquement il est d’usage de dire qu’un système à r composants serait non-cohérent si tel que, fonctionnant avec n
composants en état de marche, il tomberait en panne à la réparation d’un des r-n composants défaillants ou encore tel que, en
panne avec m composants défaillants, il fonctionnerait à nouveau à la défaillance d’un des r-m composants en état de marche.

2 Coupes et liens d’un système.


Revenons brièvement sur les notions de coupes et liens d’un système. A. Kaufmann [Kaufmann et al. 1975] a formellement
démontré que ces concepts sont dérivés de ceux de coupes et chemins de la théorie des graphes.
Soit y  ( x1 , x2 , x3 ,...xr ) la fonction de structure d’un système constitué d’un ensemble de composants C = {c1, c2, …, cr}.
Soit a  C, a = {ci, i I} avec I  {1, 2, …, r}, un sous ensemble de composants du système,
xi  1 ,i  I 
Si :   y  1 alors a est un lien.
xi  0 ,i  I 
xi  0 ,i  I 
Si :   y  0 alors a est une coupe.
xi  1 ,i  I 
Le cardinal de I est l’ordre du lien (de la coupe), c’est à dire le nombre de composants du lien (de la coupe).
Sur le diagramme d’état toute combinaison d’états de composants assurant le fonctionnement du système correspond à un lien :
le sous ensemble de composants dont la variable état vaut “1”. Sur la figure 1.b les liens correspondent aux nœuds encadrés en
traits pleins et sont donc: {c1, c2, c3}, {c2, c3}, {c1, c3}, {c1, c2} et {c1}. Sur le diagramme d’état, toute combinaison d’états de
composants induisant la défaillance du système correspond à une coupe : le sous ensemble de composants dont les états sont
à “0”. Sur la figure 1.b, les coupes correspondent aux nœuds encadrés en pointillé, ils sont: {c1, c2}, {c1, c3}, {c1, c2, c3}.
Parmi ces sous-ensembles (liens et coupes), certains sont minimaux. Un lien (une coupe) minimal(e) est un lien (une coupe) qui
n’inclut aucun sous ensemble de composants qui soit lui-même un lien (une coupe). Dans notre exemple, {c2, c3} et {c1} sont les
liens minimaux et {c1, c2} et {c1, c3} sont les coupes minimales. A. Kaufmann [Kaufmann et al. 1975] a défini toutes les relations
qui existent entre les sous-ensembles des liens et des coupes.

3 Exemple introductif
Considérons le système d’alimentation électrique secouru par batterie de la figure 2.a. En fonctionnement normal, la puissance
est transmise à partir du réseau par le commutateur. Sur la défaillance du réseau (chute de tension), le système de diagnostic
commande le commutateur en position 2 afin que la puissance soit dorénavant fournie par la batterie. On notera
{x N , x B , x D , x S } le 4-uple des variables état des composants : réseau, batterie, diagnostic et, respectivement, commutateur.
Soit y la variable dont la valeur est “1” si le système est capable de délivrer de l’énergie ou “0” sinon.
xN, xB, xD, xS

1111

Diagnostic D
0111 1011 1101 1110
1/2

Réseau N 1
0011 0101 1001 0110 1010 1100

Batterie B 2
Commutateur S
0001 0010 0100 1000

(a) (b)

0000

Figure 2. Système d’alimentation électrique secouru (figure (a)) et son diagramme d’état (figure (b)).

Sur le diagramme d’état (figure 2.b), les nœuds correspondant à des liens minimaux sont surlignés en gris et les nœuds
correspondants à des coupes minimales sont surlignés en noir.

4 Graphe ordonné d’une fonction de structure monotone

Soit une fonction de structure monotone y  ( X ) de D r  D . Considérons le sous ensemble T  D r tel que
y  ( X )  1 pour X T .

Communication 4E /3 page 3/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

1
Définition : Nous appellerons graphe ordonné de la fonction de structure (FdS) du système, la partie du diagramme d’état de
( X ) réduite aux sommets associés aux valeurs de X  T (tous les cas où le système fonctionne).
Au sens de la théorie des graphes, il s’agit en fait d’un graphe sans circuit puisque partant d’un sommet quelconque, il n’existe
pas de chemin permettant d’y revenir.
Pour l’exemple de la figure 2.a, le dessin du graphe ordonné s’obtient en supprimant sur le graphe de la figure 2.b tous les
nœuds encadrés en pointillés (représentant les coupes du système).
Définition : Nous appellerons ordre d’un sommet, le nombre de 1 dans la valeur de X associée à ce sommet (nombre de
composants en état de marche) que nous désignerons par la variable l.
Si l est son ordre, tout sommet possède au plus l arcs entrants (venant du bas) et au plus r-l arcs sortants (vers le haut).
Remarque : l’orientation des arcs du graphe matérialise la relation A   B (et lA < lB). Si nous maintenons la convention de
ranger les valeurs de X par ordre « croissant » de bas en haut, il n’est pas nécessaire de maintenir l’orientation des arcs.

1111

0111 1011 1101 1110

0101 0110 1100

Figure 3. Exemple de graphe ordonné.

4.1 Maxima et minima du graphe ordonné


r
Compte tenu de la relation d’ordre établie dans D , les maxima, respectivement minima, du graphe sont tels qu’aucun autre
élément du graphe ne les majorent, respectivement ne les minorent.
r
- Le sommet 1 . Il est donc l’unique maximum du graphe ordonné de la FdS.
- Les minima du graphe correspondent en fait aux liens minimaux du système (aucun arc n’en sort ; dans le diagramme
d’état leurs minorants correspondaient à des coupes).

4.2 Sous graphes ordonnés de la fonction de structure :


Considérons l’ensemble des sommets L j du graphe appartenant aux chemins allant du maximum à l’un des minima j d’ordre
minimal l (correspondant au lien minimal j). On sait que cet ensemble existe du fait de la relation d’ordre.
La longueur de ces chemins est égale à r-l (nombre de composants moins l’ordre du lien concerné). Cet ensemble associe un
nombre d’arcs partant du maximum égal à r-l et un même nombre d’arc entrants au minimum. Le nombre de ces chemins est
(r-l)! (Pour des chemins de longueur 2, il en faut 2, pour des chemins de longueur 3 il en faut 6, de longueur 4, il en faut 24, …).
Par exemple, sur la figure 3, le lien correspondant à 1100 est {c1, c2} donc d’ordre 2. Le degré r du système étant 4, la longueur
des chemins constituant Lc , c  est donc de 2 et il y a 2 chemins différents.
1 2

Cet ensemble est le (ou l’un des) plus grands sous ensembles (de mêmes dimensions) de chemins ainsi définis. Il permettra
donc de mettre en évidence le (ou un des) plus grand monôme de la forme réduite (contenant donc le moins de lettres). La
question qui se pose est donc de savoir si on peut choisir ce sous ensemble au hasard parmi tous ceux possibles (en nombre
égal au nombre de liens minimaux d’ordre minimal) pour obtenir un polynôme minimal. La réponse est évidemment non car il n’y
aucune raison a priori pour que ce choix n’impacte pas le processus de réduction du reste du graphe.

Définition :
On appellera sous graphe ordonné relatif au lien minimal j de la FdS, le graphe obtenu à partir du graphe ordonné en
supprimant l’ensemble L j (la suppression de ces sommets entraine celle de tous les arcs qui y arrivent ou en sortent).
Ce sous graphe peut avoir plusieurs maxima et a un minima de moins que le graphe initial. Ces minima correspondent aux
autres liens minimaux du système. Ce sous graphe peut être constitué de parties non-connexes.
Le nombre de maxima d’ordre r-1 du sous graphe (situés sur la deuxième ligne) est au plus égal à l’ordre du lien minimal
qui vient d’être supprimé. En effet, on a vu que r-l arcs sortants du maximum du graphe entier on été enlevés et donc autant
de sommets ont été enlevés sur cette même ligne qui en contenait au plus r (dans le diagramme de Hasse il y en avait
exactement r). Il en reste donc au plus r-(r-l)=l.

Calcul direct de la fiabilité des systèmes cohérents à partir du graphe ordonné


2
Tous les calculs de fiabilité de systèmes amènent à un polynôme de fiabilité qui contient toujours les fiabilités des liens
minimaux et un certain nombre de monômes (produits de fiabilités de composants) affectés de signes positifs ou négatifs et
éventuellement de coefficients entiers >1. En se référant au graphe ordonné, nous pouvons déduire de cette remarque un
algorithme de calcul direct de la fiabilité du système :

1
Plutôt que le terme diagramme nous adoptons le terme graphe car nous le traiterons comme tel afin d’exploiter les méthodes
de recherche de chemins dans les graphes.
2
Rappelons que ce polynôme est unique, il n’y aura donc pas d’optimum à chercher.

Communication 4E /3 page 4/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

Prenons l’exemple d’un système cohérent dont le graphe ordonné est donné par la figure 3 :
On considère donc que le polynôme fiabilité contient les fiabilités des liens minimaux. Soit sur l’exemple les liens {c₁,c₂}, {c₂,c₃},
{c₂,c₄} et {c₁,c₃,c₄} donneront R  R , R  R , R  R , R  R  R .
1 2 2 3 2 4 1 3 4
Considérons le sous graphe ordonné constitué du minimum 1100 et tous les nœuds qui le majorent. La probabilité pour que le
système soit dans un de ces quatre états est la probabilité pour que x1  1 et x2  1 quelque soient les valeurs des deux autres
R1  R2 . De même les
variables. Cette probabilité pour que le système soit dans un des états de ce sous graphe s’écrit donc

sous graphes dont les minimum sont 0110, 0101 et 1011 correspondent respectivement aux monômes R  R , R  R et
2 3 2 4
R1  R3  R4 . On voit donc que faire la somme de ces quatre monômes revient à prendre une fois la probabilité d’être dans
chacun des minima mais plusieurs fois la probabilité des sommets majorants qui appartiennent à plusieurs sous graphes (c’est
aussi ce que nous dit le théorème de Sylvester Poincaré). Il faudra donc en « enlever » un certain nombre. La propriété de
monotonie illustrée par le graphe ordonné va nous y aider amplement.

5 Graphe ordonné pondéré


Nous allons introduire la notion de poids associé aux nœuds du graphe qui devient ainsi un graphe ordonné pondéré
(voir [Aubry et al. 2015] pour la définition formelle).
Commençons par affecter à tous les minima du graphe le poids « 1 » et aux autres nœuds le poids « 0 ». Nous propageons
ensuite les poids des minima à tous leurs majorants, c'est-à-dire en incrémentant leurs poids respectifs. Cette propagation est
itérée sur tous les minima du graphe. Dans notre exemple, cela donne le graphe ordonné pondéré de la figure 4.

4
1111

2 1 2 2
0111 1011 1101 1110

1 1 1
0101 0110 1100

Figure 4. Pondération du graphe ordonné de la figure 3.

6 Principe du raisonnement
En continuant sur le même exemple, on sait maintenant combien de fois chaque nœud de la fonction a été compté
lorsqu’on prend en compte seulement les liens minimaux. L’objectif est alors de chercher comment réduire progressivement à
« 1 » les poids des nœuds majorants afin qu’ils ne contribuent pas plusieurs fois au résultat.
Pour cela, nous introduisons deux listes de monômes M⁺ et M⁻ contenant respectivement les monômes à contribution positive et
négative dans la fiabilité du système.
A la fin de la première étape décrite précédemment, on met dans la liste M⁺ les monômes correspondants aux minima et à leurs
majorants. Sur l’exemple, ces monômes sont : R  R , R  R , R  R et R  R  R qui constituent le contenu
1 2 2 3 2 4 1 3 4
temporaire de M⁺. On peut supprimer maintenant du graphe tous les minima ayant le poids égal à 1. On obtient le graphe
résiduel de la figure 5 A. Dans ce graphe, l’objectif est de chercher les plus grands monômes (sous graphes) qui puissent réduire
le poids résiduel des nœuds afin que les minima atteignent un poids égal à 1. Si un tel minima existe déjà, il doit être retiré du
graphe immédiatement. La suite du processus de réduction est montrée sur la figure 5.
Le graphe résiduel contenant trois minima, trois sous graphes correspondant à trois monômes peuvent être identifiés. S’ils sont
extraits du graphe, ils peuvent réduire les poids des nouveaux minima à « 1 ». Considérant successivement chacun de ces sous
graphes, (avec deux nœuds et un arc) associés à un monôme de trois lettres, leur extraction ramène le poids des minima à
« 1 ».
Ainsi, à l’étape A (figure 5), le monôme R1  R2  R3 est placé dans la liste des monômes à contribution négative M⁻. Cela signifie
que son retrait va réduire d’un degré les poids des deux sommets qu’il représente. On obtient un nouveau graphe sur lequel le
sommet 1111 a un degré 3 et le sommet 1110 un degré de 1 ce qui permet d’éliminer ce dernier (étape B).
A l’étape C, c’est le monôme R1  R2  R4 qui permet de réduire encore le degré de deux sommets (en obtenant le sous-graphe
de l’étape D) et à l’étape E, c’est le monôme R2  R3  R4 .
Ici, le résultat amène tout de suite à des sommets de degré « 1 » sur la deuxième ligne mais aussi sur la première qui a perdu
successivement trois degrés. Le calcul s’arrête donc après avoir noté dans la liste M⁻ ces trois monômes. On a donc :
M   R1  R2 ; R2  R3 ; R2  R4 ; R1  R3  R4 et M   R1  R2  R3 ; R1  R2  R4 ; R2  R3  R4 .

La fiabilité du système est donc :


RS  R1  R2  R2  R3  R2  R4  R1  R3  R4  R1  R2  R3  R1  R2  R4  R2  R3  R4

Communication 4E /3 page 5/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

4 3 3
1111 1111 1111
B
A C

2 2 2 2 2 1 2 2
0111 1101 1110 0111 1101 1110 0111 1101

1 2 2
1111 1111 1111

1 F 2 E 2 1
0111 0111 0111 1101

Figure 5. Réduction du graphe pondéré sur l’exemple de la figure 4.

7 Algorithme général
Dans le cas général, il se peut que le poids de certains sommets devienne nul, voire négatif ; il faudra alors rajouter
des éléments pour atteindre l’objectif.
L’algorithme à mettre en œuvre consiste donc à rechercher les minima de graphes et pour chacun d’eux le sous graphe
constitué de ses majorants. A chacun de ces sous graphe sera associé le monôme fiabilité correspondant. Le signe du monôme
sera positif s’il contribue à augmenter le poids du minima ou au contraire négatif s’il contribue à le diminuer. Les programmes de
recherche de chemins (et par la suite de sous graphes) dans les graphes ainsi que l’optimisation éventuelle de cette recherche
sont bien connus [Gondran et al. 1985], [Lacomme et al. 2003] et il n’est pas difficile de les adapter à notre cas particulier. On
pourra trouver dans [Aubry et al. 2015] la description formelle de l’algorithme du cas général.

complexité
Le nombre d’itérations nécessaire pour l’exécution complète d’un algorithme est considéré comme représentatif de sa
complexité [Matousek et al 1998]. Ce nombre d’itérations doit être exprimé en fonction de la donnée d’entrée du problème, ici le
nombre de composants r et l’ordre des liens minimaux d’ordre minimal l. Nous avons démontré [Aubry et al. 2015] que le nombre
i l
total d’itérations de notre algorithme est majoré par la valeur C
i 0
r  l i
r . Sur l’exemple présenté dans les figures 3 et 4, r=4 et

i 2

C 4 2  i 4! 4! 4! 24 24 24
l=2 donnent donc 4  C42  C41  C40        6  4  1  11 . On voit
i 0
2! .2! 1! .3! 0! .4! 4 6 24
pratiquement à partir de cet exemple, qu’une itération correspond à l’identification d’un minimum du graphe au cours de ses
réductions successives. A chaque minimum est donc associé un monôme du polynôme fiabilité du système. Ici nous en avons
eu 7, ce qui est bien majoré par 11. La complexité de l’algorithme peut donc être qualifiée de simple. Par rapport aux approches
traditionnelles basées sur le modèle Booléen, il n’y a pas besoin ici d’optimisation comme dans la recherche du polynôme
minimal disjoint par les algorithmes de BDD, cette optimisation menant à une complexité NP (non-polynomial, c'est-à-dire
beaucoup plus complexe) [Bolling et al. 1996]. De plus, il n’est pas besoin de transformer le polynôme Booléen (qui peut contenir
des variables complémentées) en polynôme de fiabilité, nécessitant des calculs supplémentaires.
Pour caractériser de manière plus complète un logiciel, en plus de la complexité caractérisant la recherche de la solution
proprement dite, il faut évaluer celle du modèle sur lequel la recherche précédente s’effectue. Ici, il s’agit de représenter le
graphe ordonné pondéré qui traduit la relation d’ordre sur le vecteur des états des composants (diagramme de Hasse). On peut
remarquer que dans le cas où la donnée d’entrée est la liste des liens minimaux, ils correspondent aux minima du graphe et
celui-ci qui peut être construit au fur et à mesure de l’exécution de l’algorithme. Notons par ailleurs que le graphe représentant
les liens du système est représentatif du niveau de redondance (ou de défense en profondeur) du système, c'est-à-dire qu’en
général il est plutôt large (représentatif du nombre total de composants) mais peu profond (ordre des liens minimaux).

Calcul direct de la fiabilité des systèmes non-cohérents à partir du graphe ordonné


Les systèmes non-cohérents n’obéissent pas au principe de monotonie de leur fonction de structure. C’est souvent le
cas des systèmes incluant des boucles de contrôle. Les méthodes de calcul basées sur la connaissance des coupes minimales
ou des liens minimaux ne sont donc pas légitimes parce que dans leur diagramme d’état un nœud associé à un lien peut être
majoré selon la relation d’ordre par un nœud associé à une coupe. Les concepts de coupes minimales ou de liens minimaux
n’ont donc pas de sens. Il est souvent recommandé de traiter le problème comme celui de la réduction d’une fonction Booléenne
ordinaire en une somme de monômes disjoints [Rauzy et al. 2005], [Chatelet et al. 1999], [Heidtmann 1989]. La décomposition
selon les techniques de type BDD peut donner différentes solutions selon son ordre et nécessite une méthode d’optimisation
(heuristique en général) pour obtenir un polynôme minimal. Nous avons montré dans [Aubry et al. 2015] qu’une première
approche peut être d’identifier les variables responsables de la non-cohérence par l’examen du diagramme d’état et appliquer le
théorème de Shannon pour décomposer le système en deux sous-systèmes lesquels peuvent être cohérents. Cette méthode est
à réserver aux systèmes à faible non-cohérence (une ou deux coupes dans le graphe ordonné). Dans tous les cas et plus
spécifiquement pour les systèmes plus fortement non-cohérents, nous proposons de résoudre le problème avec une extension
de la méthode présentée précédemment en introduisant le concept de lien terminal [Aubry et al. 2015].

Communication 4E /3 page 6/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

8 Notion de lien terminal


Définition :
Dans le diagramme d’état considérons un chemin allant du maximum {1111….11} au minimum {0000….00} et le mot binaire
(chaine de caractères) des valeurs successives prises par la fonction de structure au long de ce chemin. Dans ce mot,
considérons la dernière occurrence de « 1 » avant une suite ininterrompue de « 0 » et le nœud associé à ce « 1 ». Si à partir de
ce nœud, tous les chemins pour atteindre le minima ne sont associés qu’à des « 0 » alors ce nœud est associé à un lien qu’on
appellera lien terminal.
On recherchera alors l’ensemble de liens terminaux du graphe.
Nous étendons alors le graphe ordonné à tous les nœuds majorant l’ensemble des liens terminaux. Dans ce graphe, la majorité
des nœuds sont associés à des liens où y  1 mais quelques-uns peuvent être associés à des coupes où y  0 , le système
étant non-cohérent.
On trouvera la définition formelle de ce graphe ordonné étendu dans [Aubry et al. 2015] et [Brinzei et al.2015].
L’idée est de reconsidérer l’algorithme du graphe ordonné pondéré avec comme objectif de réduire non seulement le poids des
nœuds associés à des liens à « 1 » mais aussi celui des nœuds associés à coupes à « 0 ».

Prenons l’exemple d’un système non-cohérent issu de (Limnios 2005). Il s’agit d’un réservoir alimenté au moyen d’une
pompe cP et vidangé par une vanne sous le contrôle d’un régulateur cR en fonction du niveau dans le réservoir mesuré par un
capteur cS (figure 6.a).
PCR
111

régulateur R
011 101 110

capteur C 001 010 100


pompe P

vanne
réservoir
(a) (b)
000
Figure 6: Système de régulation du niveau d’un réservoir (figure (a)) et son diagramme d’état (figure (b)).

L’événement redouté est débordement du réservoir, les événements de base étant les défaillances des trois composants pompe,
capteur et régulateur. L’arbre des défaillances est donné dans [Limnios 2005], le diagramme d’état de ce système peut être
construit comme le montre la figure 6.b. On peut voir ainsi que le système est bien non-cohérent. En suivant le chemin en
pointillés sur la figure 6.b allant du nœud (111) au nœud (000), l’état du système change trois fois. Si le capteur et le régulateur
sont défaillants, le système fonctionne cependant si le régulateur défaille le premier il est resté dans cet état alors que si le
capteur défaille le premier, le système est passé par un état de panne.
PCR PCR

111
2 A 111
2 B

011
1 101
1 110
1 101
1 110
1

1
100

PCR PCR
111
1 111
2
D C

101
0 101
1
Figure 7: Réduction du graphe pondéré du système {Pompe, Capteur, Régulateur}.

Il est simple d’identifier deux liens terminaux : la pompe d’une part et l’ensemble capteur-régulateur associés respectivement aux
nœuds (100) et (011). Les poids de ces nœuds sont donc mis à 1 et propagés aux nœuds qui les majorent, les nœuds (101),
(110) et (111) prennent respectivement les poids ”1”, ”1” et ”2” (figure 7.A).
Après avoir retiré les minima et mis dans M les monômes correspondants RP et RC  RR on obtient le graphe
+

résiduel de la figure 7.B. Ses deux minima ont un poids de "1", le nœud (110) qui est un lien peut donc être retiré du graphe (sa
contribution n’a été comptée qu’une seule fois). On ne peut cependant pas faire de même avec le nœud (101) qui correspond à
une coupe (le système est défaillant). On obtient le sous graphe de la figure 7.C dans lequel le poids du minima doit être ramené
à ”0”. Pour cela nous considérons le sous graphe constitué par ce nœud et ses majorants réduits ici au seul sommet (111) et

Communication 4E /3 page 7/8


e
20 Congrès de maîtrise des risques et de sûreté de fonctionnement - Saint-Malo 11-13 octobre 2016

nous retirons sa contribution, c'est-à-dire que nous mettons le monôme RP  RR dans la liste des monômes à contribution
négative et nous décrémentons de 1 les poids de ces deux nœuds. On obtient alors le graphe de la figure 7.D Dans ce graphe,
le nœud (101) qui est une coupe a le poids "0"et le nœud (111) qui est le dernier lien a le poids "1", ce qui est l’objectif final :
chaque lien a contribué une seule fois et les coupes résiduelles dans le graphe n’ont pas contribué au résultat.
La fiabilité du système est donc la somme des monômes à contribution positive moins la somme des monômes à contribution
négative, soit dans cet exemple : RS  RP  RC  RR  RP  RR .

En considérant que le capteur et le régulateur ont des lois de fiabilité exponentielles de paramètres C  6  10 5 h 1
et  R  1,2  10 5 h 1 et que la fiabilité de la pompe suit une loi de Weibull de paramètres  2 et   26280 h , on peut
tracer la courbe de fiabilité du système en fonction du temps. Elle est représentée par la courbe rouge de la figure 8. A titre de
comparaison, la même courbe tracée à partir de l’arbre de défaillances à l’aide du logiciel GRIF (® Satodev) est donnée par la
courbe en bleu de la même figure ; elles sont parfaitement superposées.
1
0,8
Fiabilité

0,6
0,4 Calcul par GRIF

0,2 Calcul direct

0
0 20000 40000 60000 80000 100000
Temps [h]

Figure 8: Fiabilité du système de régulation du niveau d’eau.

L’algorithme formel de calcul direct de la fiabilité des systèmes aussi bien cohérent que non-cohérent, qui est une
extension de celui défini dans le cas cohérent, a été présenté dans [Brinzei et al. 2015]. Sa complexité s’exprime avec la même
formule que précédemment, l étant dans ce cas l’ordre des liens terminaux d’ordre minimal.

Conclusions et perspectives
Une nouvelle approche de calcul de la fiabilité des systèmes basée sur la théorie des graphes a été présentée dans
cet article. Partant de la relation d’ordre existant entre les différentes valeurs du vecteur des états des composants nous avons
construit un graphe directement exploitable en termes de calcul de la fiabilité des systèmes. Nous avons développé un
algorithme de faible complexité pour le calcul de la fiabilité des systèmes cohérents. Cet algorithme a été très facilement étendu
au cas des systèmes non-cohérents grâce à l’introduction de la notion de lien terminal. Un autre intérêt de cette approche qui ne
repose plus sur un modèle Booléen est son extension facile au cas des systèmes multi-états qui sera présentée prochainement.

Références
ème
- Arnold A. et Guessarian I. 1997. Mathématiques pour l’informatique, 3 édition, Ed. Masson Paris.
- Aubry J-F, Brinzei N. 2015. Systems dependability assessment: Modeling with graphs and finite state automata, ISTE-Wiley,
ISBN: 978-1-84821-765-2.
- Bolling B, Wegener H. 1996. Improving the variable ordering in BDD is NP complexe, IEEE Transactions on computers, vol. 45
(9), sept. 1996.
- Brinzei N, Aubry J-F. 2015. An approach of reliability assessment of systems based on graphs models. European Safety and
Reliability Conference ESREL in Safety and Reliability of Complex Engineered Systems, CRC Press/Balkema, Taylor &
Francis Group, 2015, 1485-1493.
- Châtelet E, Dutuit Y, Rauzy A, Bouhoufany T. 1999. An optimized procedure to generate sums of disjoint products, Reliability
Engineering and System Safety 65 (1999) pp 289-294.
- Gondran M, Minoux M. 1985. Graphes et algorithmes. Eyrolles.
- Heidtmann K-D. 1989. Sums of disjoint products by sub products inversion, IEEE Transactions on Reliability 38 (3) (1989) pp
305-311.
- Kaufmann A., Grouchko G., Cruon R. 1975. Modèles mathématiques pour l'étude de fiabilité des systèmes. Editions Masson et
Cie, Paris.
- Lacomme Ph, Prins C, Sevaux. 2003. M. Algorithmes de graphes, Eyrolles.
- Limnios N. 2005. Arbres de défaillances.2è édition revue et augmentée. Editions Hermès et Lavoisier.
- Levitin G. 2005. The Universal Generating Function in Reliability Analysis and Optimization. Springer-Verlag London.
- Matousek.& Nesetril 1998. Invitation to discrete mathematics, Oxford University Press.
- Rauzy A, Châtelet E, Dutuit Y, Bérenguer C. 2003. A practical comparison of methods yo assess sums of products, Reliability
Engineering and System Safety 79 (2003) pp 33-42.
ème
- Velu, J. 2005. Méthodes Mathématiques pour l’informatique, 4 édition, Dunod, Paris.

Communication 4E /3 page 8/8

Vous aimerez peut-être aussi