Universite Des Sciences Et Technologies de Lille: #D'ordre
Universite Des Sciences Et Technologies de Lille: #D'ordre
Universite Des Sciences Et Technologies de Lille: #D'ordre
N° d'ordre: 1841
Thèse
DOCTEUR DE L'UNIVERSITE
Spécialité
Automatique et Informatique Industrielle
Présentée par
Jalel AKAICHI
Membres du jury
M. Bayart Professeur, École Universitaire Des Ingénieurs de Lille, Codirectrice
E. Craye Professeur, École Centrale de Lille, Président
M. Moalla Professeur, Faculté des Sciences de Tunis, Examinateur
R. Soenen Professeur, Université de Valenciennes, Rapporteur
F. Simonot-Lion Maître de conférence, Institut National Polytechnique de Lorraine,
Rapporteur
M. Staroswiecki Professeur, Université des Sciences et Technologie de Lille,
Codirecteur
.J. P. Thomesse Professeur, Institut National Polytechnique de Lorraine, Rapporteur
SCD LILLE 1
Avant-Propos
Je remercie vivement :
Les membres du groupe MRES 2033 pour l'échange d'idées fructueux qu'on a eu
ensemble. Je remercie particulièrement Madame F. Simonot-Lion, Monsieur J. P.
Thomesse et Monsieur Luis Vega.
C. F. Kettering
Présentation générale
1 Contexte du travail
Le travail présenté dans cette thèse, s'est déroulé dans le cadre d'un projet soutenu
par le Ministère de Recherche et de l'Enseignement Supérieur, qui s'intitule "Impact
des réseaux de terrains et de l'instrumentation intelligente dans la conception des
systèmes automatisés de production" et dont les résultats et les perspectives figurent
dans le rapport de fin de contrat (convention N° 92.P.0239). Ont participé à ce projet
des industriels et des laboratoires de recherche dont la liste se trouve en annexe. Notre
travail s'est concentré sur la modélisation des systèmes automatisés de production à
intelligence distribuée et la proposition de méthodes de répartition basées
essentiellement sur une approche de classification.
2 Problématique
- 8-
Présentation générale
Ces stratégies nous ont paru insuffisantes et/ou inadaptées à notre contexte pour
deux raisons fondamentales :
• la première est relative à la modélisation du système automatisé de production.
En effet, nous pensons qu'il est primordial de caractériser les concepts relatifs
aux entités élémentaires de répartition, aux relations entre ces entités, à la
définition des critères et des contraintes de répartition,
• la deuxième est relative à la mesure des performances des solutions de
répartition. En effet, il est important de proposer une approche adaptée au
contexte du système automatisé de production, permettant d'établir une
fonction coût tenant compte des critères définis, qui prendra en charge la
mesure des performances des solutions en exploitant les connaissances que
l'on a sur les entités élémentaires.
L'objectif de ce travail est de trouver des solutions aux deux problèmes cités ci-
dessus, ainsi que de proposer des nouvelles stratégies de répartition. Notre intérêt s'est
porté essentiellement sur l'utilisation des méthodes de classification hiérarchique. Cette
-9-
Systèmes Automatisés de Production à Intelligence Distribuée
3 Plan de la thèse
Dans le chapitre III une étude détaillée relative aux stratégies de répartition sera
présentée. Cette étude englobera la manière d'établir les fonctions d'évaluation des
solutions réparties, les critères et les contraintes de répartition ainsi que quelques
algorithmes de répartition de la littérature. Nous présentons également une classification
des stratégies existantes.
- 10-
Présentation générale
l'optimalité locale sera démontrée. Ces algorithmes ont été implémentés en C, et testés
sur des exemples d'architectures fonctionnelles.
- 11 -
L'un des hommes tend l'arc de la
programmation fonctionnelle,
l'autre brandit une équation. Ils ne
rapporteront peut-être pas le même
gibier, mais ils traversent le fjord
sur le même bateau, celui de la
logique.
Embarquons
Chapitre 1
Introduction ...................................................................................................................................... 14
I.1 Le système automatisé de production ......................................................................................... 14
1.2 Architectures d'un système automatisé de production ................................................................ 16
I.3 Les machines de l'architecture matérielle ................................................................................... 17
1.3. 1 Les instruments intelligents ...................................................................................................... 18
1.3. 1.1 Les capteurs intelligents ........................................................................................................ 20
I.3. 1.2 Les actionneurs intelligents................................................................................................... 22
1.3.2 Instruments intelligents: architecture matérielle ou fonctionnelle .......................................... 23
1.4 Structuration des fonctions du système d'automatisation ........................................................... 24
1.5 Les traitements du système d'automatisation .............................................................................. 31
1.5. 1 Les aides à la conduite ............................................................................................................. 32
I.5. 1.1 Les traitements de surveillance ............................................................................................. 33
l5. 1.2 Les traitements de pilotage ................................................................................................... 33
1.5. 1.3 Elaboration d'informations complémentaires ...................................................................... 34
I.5.2 Les aides à la maintenance ...................................................................................................... 34
1.5.2. 1 Les traitements de surveillance ............................................................................................. 35
!.5.2.2 Les traitements d'ordonnancement ....................................................................................... 35
1.5.2.3 Elaboration d'informations complémentaires ...................................................................... 36
1.5.3 Les aides à la gestion ............................................................................................................... 36
1.5.3. 1 Les aides à la gestion de production ..................................................................................... 36
1.5.3.2 Les traitements de gestion technique .................................................................................... 37
1.6 Conclusion .................................................................................................................................. 38
Systèmes Automatisés de Production à Intelligence Distribuée
Introduction
- 14-
Chapitre 1 : Les traitements du système automatisé de production
,..
.~
"til
.~
•
"til
0
•=.
......•
•~
Figure 1.1
Système automatisé de production
SA : système d'automatisation
- 15-
Systèmes Automatisés de Production à Intelligence Distribuée
Actionneurs
Réseau de
Capteurs
Figure 1.2
Exemple d'architecture de système automatisé de production à intelligence distribuée
- 16-
Chapitre 1 : Les traitements du système automatisé de production
machines sur les moyens de communication. Elle est le résultat d'activités de choix de
matériels (machines, réseaux, exécutifs et protocoles), de dimensionnement de ces
matériels et de définition des points de connexion. La caractérisation d'une architecture
matérielle donnée est indispensable (coûts, capacités, performances, ... )pour vérifier ses
propriétés et, ainsi, la valider.
- 17-
Systèmes Automatisés de Production à Intelligence Distribuée
Les instruments intelligents font partie des machines que l'on trouve dans
l'architecture matérielle du système automatisé de production. Dans le paragraphe
suivant, nous présentons les instruments intelligents : capteurs et actionneurs. Ces
derniers seront décrits d'un point de vue matériel et fonctionnel.
- 18-
Chapitre 1 : Les traitements du système automatisé de production
Dans la boucle mesure, décision, action (MDA) [Sta 94b ], la partie décision a
été la première à profiter des nouvelles possibilités de traitement de 1' information. En
effet, les automates programmables, les régulateurs numériques, les systèmes
numériques de contrôle commande ont complètement transformé la tâche des
opérateurs.
La partie mesure a suivi, avec 1' amélioration des performances des capteurs
(grâce à des procédures de traitement de signal et de validation des données) et
l'intégration de nouvelles fonctionnalités aux transmetteurs, destinées à faciliter
1'exploitation de la partie mesure par la partie décision.
Les instruments intelligents (capteurs et actionneurs, ... ) sont les machines les
plus fréquentes dans l'architecture matérielle du système d'automatisation. Ils
bénéficient de ressources permettant la réalisation de traitements locaux. Ces
possibilités nouvelles vont leur permettre non seulement de remplir leurs fonctions
initiales (la délivrance des mesures par les capteurs; la réalisation d'actions sur le
processus physique par un actionneur), mais également d'améliorer leurs performances.
Cette amélioration permet de répondre à de nouvelles exigences, grâce à l'implantation
de traitements spécifiques.
- 19-
Systèmes Automatisés de Production à Intelligence Distribuée
-20-
Chapitre 1 : Les traitements du système automatisé de production
prise en charge d'une partie des fonctions de décision. Dès lors, un capteur intelligent
dispose de fonctionnalités nouvelles à savoir (voir figure 1.3):
Figure 1.3
Structure fonctionnelle d'un capteur intelligent
- 21 -
Systèmes Automatisés de Production à Intelligence Distribuée
Processus physique
Figure 1.4
Actionneur en boucle ouverte communicant
-22-
Chapitre 1 : Les traitements du système automatisé de production
Figure 1.5
Structure fonctionnelle d'un actionneur intelligent en boucle fermée
-23-
Systèmes Automatisés de Production à Intelligence Distribuée
distribution qui vont résider sur ce type d'instruments seront supposés affectés
avant le recours aux stratégies de distribution. Les instruments de ce type
peuvent être considérés comme faisant partie des éléments de l'architecture
opérationnelle du système.
La définition des services offerts par le système d'automatisation passe par une
structuration de ses fonctions.
De nombreux travaux s'attachent à une telle modélisation et différents modèles
ont été étudiés pour mettre en évidence les fonctions d'un système d'automatisation
[Bay 92a], [Del 89], [Ver 89], [Sim 92]. Selon l'objectif de ces modèles, certains se
limitent à la description des activités du système pendant sa phase d'exploitation,
d'autres décrivent les activités du système à partir de sa phase de conception jusqu'à sa
phase de démantèlement.
Dans ce premter chapitre, nous détaillons les fonctions d'un système
d'automatisation ainsi que leurs interactions, elles constituent son architecture
fonctionnelle.
-24-
Chapitre 1 : Les traitements du système automatisé de production
Axe "Hiérarchie"
Flux de produits
Axe "topologie
~-----------''----~ du processus
de production"
Axe Fonctionnel
Traitements
Figure 1.6
Les différents niveaux du système d'automatisation (d'après [Del 89] )
Le premier axe est l'axe hiérarchique selon lequel on peut décomposer une
fonction en un certain nombre de niveaux hiérarchisés (le nombre de niveaux dépend de
l'application) ; à un niveau donné, une entité, qui offre des services accessibles du
niveau supérieur, s'appuie sur les niveaux inférieurs pour effectuer les requêtes qui lui
viennent du niveau supérieur.
- 25-
Systèmes Automatisés de Production à Intelligence Distribuée
fonctions du système a été proposée dans [Ver 89]. La figure 1.7 présente cette
extension.
Hiérarchies
, - - - - - - - - - - - - - - , Réseaux usine
Partie
Commande
Suivi de production
Maintenance
Conduite par opérateur
Commande ..,....--~
._1
d .P..
. . . terrain
6 0
Capteurs/actiOnneurs
6
Processus physique
Figure 1.7
Modèle 3 axes [Ver 89}
Le modèle 3 axes précédent repose sur une partition entre partie opérative et
partie commande qui rend difficile [Dum 96] :
• la différenciation entre le fonctionnel et l'organique, ainsi la partition entre le
monde physique et le monde de l'information n'apparaît pas,
• la mise en valeur de l'unicité du système automatisé de production.
Pour résoudre ces problèmes, J. J. Duméry et al. [Dum 96] propose un cadre de
modélisation (voir figure 1.8) reposant sur deux principes :
• un principe de matérialité énonçant que "la réalité est unique et porte toutes
ses vues". La réalité correspond à l'implémentation sous ses formes matérielle
et logicielle. Les aspects sont des interprétations fonctionnelles de cette
implémentation.
• un principe d'abstraction/encapsulation : une hiérarchie d'abstraction propre à
chaque aspect permet à un niveau donné, de ne laisser apparaître du niveau
-26-
Chapitre 1 : Les traitements du système automatisé de production
·:
"'\··
....... .
~·
Gestion
des flux
Figure 1.8
Cadre de modélisation [Dum 96} ·
Les activités du cycle de vie, ainsi que les flux circulant entre ces différentes
activités sont décrits dans [Bay 92b] et seront exposés dans ce paragraphe. La figure 1.9
illustre le cycle de vie du système automatisé de production. On y distingue les activités
suivantes:
-27-
Systèmes Automatisés de Production à Intelligence Distribuée
Stratégie
.
·-.':":-~=-=-~-~-~-
1 i
1 :
: ~------~
•• • • •• • •
E=-·, li
G____...._.,
Améliorer ~ _ i __
, :
:
,,
, i
:
, :
,,
:
:
,, :
.
,_
Stratégie
Stratégie
......
~ Flux de produits
Activité impliquant
des opérateurs
Informations processus
__ ..,...
IlL!:::::====·U.Il
--
Comptes rendus Activités n'impliquant
pas d'opérateur
Ordres
···~
Objectifs relatifs à l'évolution du systèmé
---
- Objectifs de production et de maintenance
Figure 1.9
Activités et cycle de vie [Bay 92b]
-28-
Chapitre 1 : Les traitements du système automatisé de production
-29-
Systèmes Automatisés de Production à Intelligence Distribuée
- 30-
Chapitre 1 : Les traitements du système automatisé de production
L'objectif de cette description dans [Bay 92a] était d'avoir une vue complète des
activités effectuées tout au long du cycle de vie du système d'automatisation, de manière
à mettre en évidence les traitements, nécessaires à la réalisation de ces aides, qui
pouvaient être implantés dans les instruments intelligents.
L'objectif commun des modèles présentés est de faire apparaître les différentes
fonctions confiées au système d'automatisation. Celui-ci doit contrôler et commander le
processus par des traitements adéquats, en fonction des tâches qui lui ont été confiées. Il
ne peut accéder au processus que via des capteurs et des actionneurs qui constituent
l'interface système d'automatisation/processus.
L'analyse des différentes activités présentées ci-dessus permet de déterminer
l'ensemble des traitements à implanter. Ces traitements matériels et/ou logiciels seront
supportés par un ensemble d'équjpements de contrôle commande, et assistés par des
opérateurs humains.
Ce sont ces traitements, qui constituent l'architecture fonctionnelle du système
automatisé de production, qui seront distribués sur les différents équipements. Nous
décrirons ci-dessous ces traitements, en nous limitant à ceux relatifs à la phase
d'exploitation du système d'automatisation. Dans celle-ci on distingue trois grandes
classes de traitements : les traitements d'aide à la conduite, d'aide à la maintenance et
d'aide à la gestion.
- 31 -
Systèmes Automatisés de Production à Intelligence Distribuée
De cette analyse, il résulte que la liste des traitements qui permettent d'assurer la
conduite de l'installation pour produire en quantité et qualité, est longue. Toutefois le
travail de 1' opérateur se trouve facilité par les aides à la conduite implantables au niveau
du système d'automatisation. Ces aides s'orientent selon trois axes principaux : la
surveillance, le pilotage et l'élaboration de l'information.
-32-
Chapitre 1 : Les traitements du système automatisé de production
L'ensemble des capteurs fournit des données aux automatismes, qui peuvent être
transmises aux opérateurs de conduite. En fait, compte tenu du nombre de données
disponibles sur un système automatisé de production, il est intéressant d'élaborer des
informations synthétiques qui seront mises à la disposition de 1' opérateur et lui
permettront d'avoir une vue globale de certaines parties du système (par exemple courbe
de tendances, histogrammes, ... ). Les traitements d'élaboration de l'information ont la
charge de cette fonction.
- 33-
Systèmes Automatisés de Production à Intelligence Distribuée
Les algorithmes de surveillance ont pour mission, comme nous l'avons déjà
mentionné dans le paragraphe relatif aux aides à la conduite, de détecter, localiser et
- 34-
Chapitre 1 : Les traitements du système automatisé de production
- 35-
Systèmes Automatisés de Production à Intelligence Distribuée
L'élaboration des informations autres que celles produites par les capteurs
permet d'enrichir l'information relative au système. Ainsi, connaissant certaines
données initiales et sachant à tout instant quelles sont les quantités de produit
générées et consommées, il est par exemple possible d'informer l'utilisateur, sur
- 36-
Chapitre l : Les traitements du système automatisé de production
l'état des stocks, sur les commandes d'approvisionnement à renouveler, sur les
prix de revient estimés, ...
1.6 Conclusion
-37-
Systèmes Automatisés de Production à Intelligence Distribuée
- 38-
On doit utiliser les modèles, mais
ne pas y croire
Henri Teil
Chapitre II
Introduction ....................................................................................................................................... 41
Ill Structuration du système d'automatisation ................................................................................. 41
Il2 Modélisation de l'architecture fonctionnelle du système d'automatisation ............................... .44
Il2.1 Les modules ............................................................................................................................. 45
Il2.2 Les capsules ............................................................................................................................. 47
Il2.3 Les atomes de distribution ....................................................................................................... 49
II.2.3.1 Caractérisation des atomes de distribution .......................................................................... 52
II.2.3.1.1 L'activité de traitement d'un atome de distribution ........................................................... 52
I/.2.3.1.2 L'activité de gestion d'un atome de distribution ................................................................ 53
I/.2.4 Caractérisation des variables ................................................................................................. 54
I/.2.4.1 Les variables produites ......................................................................................................... 54
I/.2.4.2 Les variables consommées .................................................................................................... 54
II.2.5 Classification des atomes de distribution ................................................................................ 55
I/.2.6 Redondance des atomes de distribution ..... :............................................................................ 56
I/.2. 7 Gestion des états d'un atome de distribution ........................................................................... 58
/1.2. 7.1 Vue externe des états d'un atome de distribution ................................................................. 59
I/.2. 7.2 Vue interne des états d'un atome de distribution .................................................................. 60
Il. 2. 7. 2.1 Suspension ......................................................................................................................... 61
II. 2. 7. 2. 2 Répétition. .......................................................................................................................... 62
II. 2. 7. 2. 3 Contre ordre ...................................................................................................................... 63
II.2.8 Relations entre les atomes de distribution ............................................................................... 64
I/.2.8.1 Relations d'échanges d'information ...................................................................................... 66
II. 2. 8. 2 Mesure de la relation d'échanges d'information .................................................................. 67
II. 3 Ordonnancement des atomes de distribution ............................................................................. 68
I/.4 Implantation des atomes ............................................................................................................. 70
I/.5 Conclusion .................................................................................................................................. 72
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Introduction
Quelle que soit la forme sous laquelle se présenteront les traitements, on note
Ce(A) l'ensemble des informations traversant les deux interfaces (hommes/SA et
SA/processus) de l'extérieur vers A, et Pe(A) l'ensemble des informations traversant les
- 41 -
Systèmes Automatisés de Production à Intelligence Distribuée
Ce(A) est l'ensemble des données consommées par l'application A, Pe(A) est
l'ensemble des données produites (figure 2.1 ). Les signaux représentent les informations
analogiques, tandis que les codes désignent les informations numériques.
Opérateurs Opérateurs
Processus Processus
Figure 2.1
Application, données consommées et produites
Notons que l'intersection des ensembles de données consommées par A1 et par son
complément peut être non vide :
Ce(A)I tî Ce(CA1)*0 si une partie des données consommées par les traitements
de AI, est consommée également par les traitements de CA,. Sachant que
Ce(CA1) = Ce(A\A1).
-42-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Système de communication
P.(A,) Ce(A)
J
Figure 2.2
Application distribuée
Par contre, nous considérons qu'une donnée n'est produite que par un seul
producteur, l'intersection des ensembles de données produites par A1 et par son
Dans la suite, les indices e s'appliquent aux données échangées avec l'environnement
(extérieur à A), les indices i s'appliquent aux données échangées avec d'autres parties de
A (intérieur de A).
-43-
Systèmes Automatisés de Production à Intelligence Distribuée
• les intersections entre les parties de A (deux à deux) sont vides, puisqu'un
traitement ne peut pas être implanté sur deux sites différents,
• l'union des parties de A est égal-à A.
Uce(Ar) = Ce(A)
IeJ
UPe(Ar) = Pe(A)
IeJ
Dans la plupart des travaux relatifs aux systèmes distribués (pour l'informatique,
ou l'automatisation), la définition et la caractérisation des traitements élémentaires,
appelés suivant les domaines d'applications : processus, capsules, modules,
programmes, ... ou dans le cadre de ce travail "atomes de distribution", ont été présentés
et caractérisés d'une manière sommaire. Les travaux qui se sont intéressés à la
modélisation et l'utilisation des traitements élémentaires sont fortement orientés
"systèmes informatiques" [Sto 78], [Ram 89], [Mun 90] et présentent des limites pour
une utilisation dans un autre contexte. Le domaine qui nous concerne plus précisément
est celui des Systèmes Automatisés de Production à Intelligence Distribuée (SAPID),
-44-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Deux modèles nous ont paru très proche de notre spécification, et qui s'incluent
dans notre domaine de travail sont: les modèles de module [Tho 80] et de capsule
[Asl 92]. Nous présentons succinctement ces modèles, leurs propriétés et leurs limites
par rapport à notre domaine de travail. Puis nous détaillerons le modèle que nous avons
développé basé sur la notion d'atome de distribution. Enfin nous décrirons les relations
existantes entre atomes, les moyens de mesure de ces relations et leur classification. Ces
informations sont très utiles pour la simplification et la résolution du problème de
répartition.
Dans le système SYGARE [Tho 80], une application est vue comme un
ensemble de tâches parallèles coopérant pour la réalisation d'un certain objectif. Les
tâches sont décomposées en entités élémentaires appelées modules.
Un module exprime un algorithme et est perçu comme un automate séquentiel
élaborant des sorties à partir d'entrées définies. Il constitue l'unité de répartition.
-45-
Systèmes Automatisés de Production à Intelligence Distribuée
D'autres travaux ont été conduits dans [Ben 84]J ~Ls C'.A~a:e11t pour objectif le
développement d'outils de programmation nécessaires pour le niveau 3 [Tho 80]. Les
concepts relatifs aux événements ont été particulièrement étudiés.
Une autre approche a été proposée dans [Sak 84]; elle consiste à décrire une
application en se basant sur l'expression des communications entre les entités
constituant l'application. L'approche consiste en un développement d'une solution en
deux étapes :
-46-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
-47-
Systèmes Automatisés de Production à Intelligence Distribuée
• son interface qui définit l'ensemble des objets publics qui lui permettent de
communiquer avec le monde extérieur, (2.5)
• son corps constitué par un ensemble d'objets, (2.6)
• ses attributs qui définissent l'ensemble des caractéristiques physiques et
logiques qui vont permettre la gestion de la capsule dans les différentes phases
de création, de chargement et d'exécution, (2.7)
• ses liens de communication dynamiques gérés par l'exécutif, ce qui évite la
recompilation de l'application à chaque changement de capsule. L'application
constituée de capsules, est ainsi reconfigurable en ligne, c'est à dire qu'elle ne
nécessite ni réinitialisation ni arrêt du système en cours d'exécution. (2.8)
Elle est caractérisée aussi par son information d'état gérée par l'exécutif. Celui-ci
assure à tout moment la cohérence entre les demandes d'opérations sur les capsules et
l'état de ces capsules. Les états principaux répertoriés pour la gestion des capsules sont
les suivants :
• non_existante : la capsule n'est pas définie,
• chargée : la capsule est chargée sur un site donné,
• en service : une demande de création de la capsule a été faite,
• active: une demande de démarrage de la capsule a été faite.
-48-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
• une capsule est une fusion entre traitement et contrôle, ce qui rend difficile la
différenciation entre ces éléments, et par conséquent leur répartition séparée
(traitement ou contrôle) ou combinée (traitement et contrôle).
• enfin, la caractérisation des données (données consommées, données produites)
propres aux capsules, n'entre pas dans la définition précédemment donnée.
Pour ces raisons, nous proposons une modélisation structurelle des traitements
élémentaires, que nous avons voulu générale et qui est caractérisée par :
• la séparation entre traitement, contrôle, et communication, ce qui laissera le
choix aux utilisateurs de l'architecture adaptée à leurs besoins (distribuer les
traitements et/ou le contrôle), et laissera la communication à la charge de la
machine support,
• la caractérisation claire et précise des traitements, de leur contrôle, et des
données qu'ils manipulent, ainsi que l'introduction de contraintes temporelles
relatives à ces dernières, qui assureront entre autre le maintien de la cohérence
du système,
• le caractère composition, permettant l'obtention de traitements de mveau
hiérarchique plus élevé en faisant appel à des règles de composition.
Bien que la modélisation des traitements élémentaires ne soit pas très détaillée, la
terminologie relative à ceux-ci est riche dans les travaux traitant des domaines
d'informatique parallèle et distribuée, ainsi que du temps réel [Mun 90], [Tal 91],
[Che 89].
-49-
Systèmes Automatisés de Production à Intelligence Distribuée
Le mot tâche est utilisé pour désigner soit un traitement élémentaire [Bro 84], soit
un groupe de traitements élémentaires [Tho 80]. Il est défini comme une description
algorithmique des mécanismes permettant de réaliser une fonction de l'application. Plus
concrètement, il s'agit d'un code exécutable avec ou sans instance de contexte.
Une tâche est également définie avec plus de détail dans le projet SCEPTRE
[Bro 84], comme un agent actif responsable de l'exécution par une machine d'un
programme composé à partir du répertoire des instructions de cette machine. Elle ne
peut entreprendre l'exécution d'une instruction de ce programme qu'après avoir terminé
l'exécution de l'instruction précédente. En ce sens elle est séquentielle.
Une tâche SCEPTRE possède un nom et des attributs caractéristiques de la
machine sur laquelle elle s'exécute et de la façon dont on la gère. Elle peut être
programmée, microprogrammée ou même câblée (cas des tâches gérant les unités
d'échange ou les coupleurs d'entrées/sorties).
Le mot processus est également très utilisé pour décrire un traitement élémentaire.
Il est défini comme une suite d'actions exééutables nécessairement sur le même site, et à
laquelle est associé un même contexte d'exécution.
-50-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
-51 -
Systèmes Automatisés de Production à Intelligence Distribuée
Un atome de distribution (figure 2.3), que nous noterons, suivant les besoins "a"
ou ai, est caractérisé par son activité de traitement et son activité de gestion.
Soit X l'ensemble des variables, qui constitue la base de données du système. Ces
variables sont de différents types, et elles sont utilisées (produites et/ou consommées)
par les atomes de distribution de l'ensemble A.
Soit F(X) l'ensemble des parties de X.
L'activité de traitement de l'atome de distribution est caractérisée par:
• un ensemble de variables produites: P(a), à cet ensemble peut être associé la
date de dernière production et éventuellement une information de validité. P est
une application définie de la maniere suivante :
P: A~F(X)
a~ P(a)
• un ensemble de variables consommées : C(a), à chacune desquelles peut être
associé un délai de péremption. C est une application définie de la manière
suivante:
C :A~F(X)
a~ C(a)
• une règle de transformation : T(a) des variables consommées en variables
produites, qui constitue le modèle de comportement de l'atome de distribution.
Cette règle de transformation peut être paramétrée.
D'un point de vue pratique, plusieurs versions d'une même variable - c'est à dire
des valeurs de cette variable produites à des instants différents - peuvent être présentes
simultanément dans la mémoire de la machine support.
-52-
Chapitre 2 : Modélisation du système d'automatisation par atomes de dis~ibution
-------------------
11.2.3.1.2 L'activité de gestion d'un atome de distribution
Y(a)
P(a)
Figure 2.3
Atome de distribution
-53-
Systèmes Automatisés de Production à Intelligence Distribuée
p-1 :X~ A
x~ p-1(x)
-rk(P-1(x))
On suppose que les dates de mise à jour des variables produites par un même
atome de distribution sont identiques.
-54-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Pour chaque variable x, l'application c-1 (x) définit l'ensemble des atomes de
distribution qui la consomment structurellement, c'est à dire qui en consomment au
c-1: X~ F(A)
x~ c-1(x)
Chaque variable consommée doit être suffisamment fraîche pour qu'elle puisse
être utilisée. Un délai de péremption ô(a,x) est associé à un couple (atome de
distribution consommateur, version d'une variable consommée). Sachant que xk est
produite à l'instant 'tk(P-1(x)), la date de fin de validité temporelle peut être calculée
par:
-55-
Systèmes Automatisés de Production à Intelligence Distribuée
-56-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Quel que soit le mode de redondance des atomes de distribution, il doit assurer
[Ara 94] le meilleur compromis entre:
• la tolérance aux fautes logicielles : la complexité des logiciels et les
évolutions fonctionnelles régulières nécessitent à la fois une méthodologie de
développement adaptée et une architecture supportant les anomalies
résiduelles dues notamnient à des concurrences complexes d'événements,
• les performances temps réel : les temps de réponse demandés exigent entre
autres, une analyse critique de la messagerie entre atomes,
• la continuité et la qualité de service : les durées d'indisponibilité de fonctions
et le taux de pertes de traitements suite à une défaillance doivent être nulles
ou minimales. Il est, par ailleurs, obligatoire de réinsérer et synchroniser des
répliques sans interruption de fonctionnement,
• le coût : le sur-dimensionnement (puissance de calcul, capacité mémoire,
nombre de processeurs, bande passante de communication) doit conserver la
compétitivité du système.
-57-
Systèmes Automatisés de Production à Intelligence Distribuée
des données sur plusieurs équipements, par contre elle augmentera la charge des
équipements compte tenu de l'implantation des atomes redondants.
Disposant d'un modèle externe, m1s en place dans le cadre de travaux sur
l'instrumentation intelligente [Sta 94a], nous avons choisi d'utiliser le même formalisme
que nous avons affiné. Dans ce sens, nous associons à chaque atome de distribution un
certain nombre d'états qui peuvent être représentés par l'arborescence ci-dessous (figure
2.5):
Vue externe de l'AD
Figure 2.5
Les états d'un atome de distribution
-58-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
La vue externe des états d'un atome de distribution permet de le décrire du point
de vue d'un utilisateur, c'est à dire du point de vue d'une entité susceptible de formuler
une requête d'exécution.
L'ensemble des services proposés par le système est organisé en modes
d'utilisation [Bay 92b].
A l'entrée du système dans un mode d'utilisation comportant le service rempli par
l'atome de distribution, celui-ci devient autorisé. Une requête relative à un service
autorisé sera acceptée par le système de gestion des états des atomes de distribution, elle
sera refusée dans le cas contraire. Cependant, il ne suffit pas que la requête soit acceptée
pour que le service associé à l'atome de distribution puisse être rendu: encore faut-il que
celui-ci ait la possibilité de s'exécuter.
L'atome de distribution devient disponible si les supports matériels de l'activité
T(a) sont disponibles et les ressources informationnelles (les variables de C(a)) sont
validées (figure 2.6). Dans le cas contraire, les conditions nécessaires à son exécution
correcte n'étant pas réunies, l'atome de distribution est indisponible, et la requête, bien
qu'autorisée, ne peut être satisfaite.
mode
mode
ressources
ressources
L'état autorisé
Figure 2.6
Autorisation et disponibilité d'un atome de distribution
-59-
Systèmes Automatisés de Production à Intelligence Distribuée
mode : l'entrée du système dans un mode d'utilisation comportant le service délivré par l'atome de
distribution
mode : entrée du système dans un mode d'utilisation ne comportant pas le service rempli par
l'atome de distribution
ressources : les supports matériels de l'activité T(a) sont disponibles et les ressources
informationnelles (les variables de C(a)) sont validées
La vue interne décrit les états d'un atome de distribution tels qu'ils sont gérés par
le site auquel son exécution est confiée. Lorsqu'un atome de distribution est disponible,
il peut se trouver dans différents états (figure 2.7). L'état inactif concerne un atome de
distribution disponible, mais dont l'exécution n'a pas été demandée. L'atome de
distribution passe dans l'état en attente dès qu'une requête relative à son exécution a été
présentée, et qu'elle est valide, c'est à dire que son origine et son mode de transmission
sont autorisés. Cependant, il est possible qu'à un moment donné, plusieurs requêtes
relatives à des atomes de distribution différents implantés sur le même site et tous
disponibles soient présentées. En général, un seul atome de distribution pourra passer
dans l'état en exécution, les autres restent dans l'état en attente.
-60-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Requête valide
fin
d'exécution
stratégie de
l'ordonnanceur
Figure 2.7
Mécanismes de transition d'états de l'atome de distribution
11.2.7.2.1 Suspension
Lorsque l'exécution d'un atome de distribution se déroule sans qu'elle puisse être
suspendue (pour exécuter un atome de distribution de priorité plus importante, par
exemple), on dit que l'atome de distribution est non préemptif. Dans le cas contraire -
atomes de distribution préemptifs - l'ordonnanceur gère non seulement la liste des
atomes de distribution en attente mais aussi la liste des atomes de distribution
suspendus. L'état suspendu doit alors être ajouté au graphe des états représenté dans la
partie inférieure de la figure 2.7, comme le montre la figure 2.8.
- 61 -
Systèmes Automatisés de Production à Intelligence Distribuée
Requête valide
stratégie de
l' ordonnanceur
Figure 2.8
Mécanisme de transition d'états dans le cas d'atomes de distribution préemptifs
-62-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Requête valide
fin
stratégie de
1' ordonnanceur
Figure 2.9
Mécanisme de transition d'états pour la répétition d'un atome de distribution
-63-
Systèmes Automatisés de Production à Intelligence Distribuée
Requête valide
fin stratégie de
d'exécution l'ordonnanceur
répétée
Fin de calcul
contre ordre
stratégie de stratégie de
1' ordonnanceur l'ordonnanceur
Figure 2.10
Transition d'états avec contre ordre
Cette relation résulte de l'interconnexion des atomes de distribution par des flux
de données, c'est pourquoi nous développons d'abord la relation de transfert
d'informations. A ce niveau, nous considérons l'ensemble des données manipulées par
les atomes de distribution, sans entrer dans le détail de la hiérarchie des flux
d'informations. En effet, les systèmes automatisés de production assurent des fonctions
multiples qui s'échangent des messages divers. Une telle diversité des messages conduit
à qualifier et hiérarchiser des types de flux d'informations, liés aux contraintes à
-64-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
Pour modéliser les relations entre atomes de distribution on peut utiliser les
concepts relatifs à la théorie des graphes. Ainsi l'ensemble des atomes de distribution du
système d'automatisation à répartir, peut être représenté à l'aide d'un graphe G(A, U)
dont A constitue l'ensemble des sommets représentant les atomes de distribution et U
suivant le cas des arêtes ou des arcs désignant les relations de transfert de données entre
les atomes de distribution. Les éléments de U peuvent être pondérés par des valeurs
indiquant les coûts de communications unidirectionnels (si on utilise un graphe orienté)
ou bidirectionnels (si on utilise un graphe non orienté) entre les différents atomes de
distribution. La figure 2.11 illustre des relations de transfert de données, entre des
atomes de distribution du système d'automatisation.
Nous présenterons dans ce qui suit les relations d'échanges d'informations, ainsi
que les relations de précédence liant les atomes de distribution.
-65-
Systèmes Automatisés de Production à Intelligence Distribuée
(a) (b)
Figure 2.11
Relations entre atomes de distribution
(a) Liens unidirectionnels (b) Liens bidirectionnels
Définitions
• deux atomes de distribution ai,aj communiquent signifie que :
-66-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
<p(ai,aj) = 0 et <p(aj,ai) = 0,
Propriété
• <p(ai,aj)n <p(aj,ai) = 0, puisque une même variable ne peut pas être
-67-
Systèmes Automatisés de Production à Intelligence Distribuée
• des fréquences des échanges entre les atomes de distribution. En effet les
atomes de distribution communiquant à des fréquences élevées engendreront
des charges réseaux plus élevées.
Les stratégies d'ordonnancement local ou global des tâches sont des éléments
déterminants [Bay 95] d'une part du choix des machines, des exécutifs et des moyens de
communication, d'autre part de la distribution des atomes sur une architecture matérielle
donnée. En effet, les tâches dans une architecture opérationnelle résultent de la
projection d'un atome de l'architecture fonctionnelle. Cet atome est généralement soumis
à des contraintes de temps ; il est donc primordial que les tâches soient exécutées et
terminées en respectant ces contraintes. C'est sur l'algorithme d'ordonnancement que
repose la solution du problème de distribution.
-68-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
-69-
Systèmes Automatisés de Production à Intelligence Distribuée
Un client est un processus d'application qui demande des services (des données
ou des actions). Les applications sont définies par des relations de type client/serveur
entre les processus d'application et les équipements de production.
-70-
Chapitre 2 : Modélisation du système d'automatisation par atomes de distribution
- 71 -
Systèmes Automatisés de Production à Intelligence Distribuée
11.5 Conclusion
-72-
When an idea is wanting,
a word can always be found to take
its place
Goethe
Chapitre III
Introduction ...................................................................................................................................... 75
111.1 Les solutions admissibles ......................................................................................................... 75
111.2 Classification des stratégies de répartition .............................................................................. 76
111.3 Les critères de répartition ........................................................................................................ 78
111.3.1 Le coût d'exécution d'un atome de distribution ..................................................................... 79
111.3.2 Les coûts de communication entre atomes de distribution .................................................... 81
111. 3. 3 Le coût d'interférence entre atomes de distribution .............................................................. 84
Ill. 4 Les contraintes ......................................................................................................................... 85
111.4.1 Les contraintes logiques ........................................................................................................ 86
111.4.2 Les contraintes physiques...................................................................................................... 87
111.5 Fonctions coûts et architecture du système d'automatisation .................................................. 88
111. 6 Les algorithmes de répartition ................................................................................................. 89
lll. 6.1 Les algorithmes itératifs de recherche locale........................................................................ 90
111.6.2 Recherche d'un homomorphisme faible entre graphes ......................................................... 92
111.6.3 Partition des coupes minimales d'un graphe ........................................................................ 95
Ill. 6. 5 Les algorithmes génétiques .................................................................................................. 97
Ill. 6. 6 Autres approches utilisées ................................................................................................... 100
111.7 Conclusion ............................................................................................................................. 101
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Introduction
- 75-
Systèmes Automatisés de Production à Intelligence Distribuée
• une deuxième difficulté consiste à évaluer si une partition candidate les satisfait
ou non. Une partition qui satisfait les contraintes est appelée partition
admissible,
• une dernière difficulté consiste à choisir une solution, parmi toutes celles qui
satisfont les contraintes. Il s'agit là du problème de l'optimisation de la
distribution, qui suppose que l'on ait défini un (ou plusieurs) critère(s)
permettant de comparer entre les différentes solutions admissibles. Le
problème de la définition et de l'évaluation du (des) critère(s) est comparable à
celui de la définition et de l'évaluation des contraintes. On se trouve confronté à
un problème NP-complet, le nombre de partitions d'un ensemble de n éléments
en k classes étant très important, il est hors de question sauf cas très
particuliers, de rechercher les solutions par énumération. La dernière difficulté
est ainsi relative à la mise au point d'algorithmes fournissant des résultats
acceptables dans un temps acceptable.
de la base de données D={d1, d2, ••. , dk} (di est une partie de X), et d'un ensemble
d'applications de contrôle G={g 1, g2, ••• , gk}. Ce travail est consacré à la répartition de
-76-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Figure 3.1
Classification des stratégies de répartition
-77-
Systèmes Automatisés de Production à Intelligence Distribuée
Ces approches font généralement appel à des fonctions coût appelées aussi
fonctions objectif, pour évaluer les performances des répartitions possibles et en choisir
une. Elles font aussi appel à des heuristiques et des contraintes pour tenir compte des
exigences des utilisateurs et du système et afin d'accélérer la recherche de la solution
compte tenu de l'aspect combinatoire du problème de distribution.
Un placement optimal est celui qui minimise la fonction coût. Celle-ci dépend
des coûts d'exécution des atomes de distribution placés sur les diverses machines, et des
coûts de communication et d'interférence entre atomes de distribution. Il existe d'autres
critères comme par exemple le taux d'utilisation des ressources (processeur, mémoire,
liens de communication) et la tolérance aux pannes.
Il faut noter qu'il existe des cas particuliers où le problème d'allocation peut être
réduit à un problème polynomial :
• pour un système bimachines, des recherches effectuées par Stone [Sto77] ont
montré comment un placement optimal peut être trouvé efficacement ;
• pour des machines identiques supportant chacune au plus deux atomes de
distribution, un algorithme a été proposé pour trouver un placement optimal
-78-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Nous listons dans ce qui suit les paramètres mis en jeu pour l'évaluation du
placement des atomes de distribution sur les différentes machines, dans l'objectif
d'obtenir une architecture opérationnelle admissible vérifiant un ensemble de
contraintes, et satisfaisant un ensemble de critères. Dans ce chapitre et en guise
d'illustration, nous considérons uniquement la contrainte d'exploitation de toutes les
machines, qui stipule que chacune des machines doit supporter au moins un atome de
distribution.
Soit A= {a}, a2, a3, <14} l'ensemble des atomes de distribution et soit M={m}, m2,
-79-
Systèmes Automatisés de Production à Intelligence Distribuée
Le coût d'exécution peut être soit évalué à partir des simulations, soit calculé par
des méthodes basées sur la complexité des algorithmes (le nombre de boucles, le
nombre d'appels de sous programmes, ... ). Ce coût d'exécution varie en fonction de la
puissance de traitement des machines.
Les coûts d'exécution peuvent être formellement décrits par une application e
définie de la manière suivante :
e:AxM~9t
La charge d'une machine mi est estimée à Le( ai, mi)Xii . Tandis que la charge
i=l
telle que Xij=l si ai est implanté sur la machine mj 0 sinon. La table 3.1 présente les
coûts d'exécution des atomes de distribution sur les machines de notre exemple.
mt m2 m3
a. 10 20 30
a2 40 5 10
aJ 70 50 80
a4 50 80 20
Table 3.1
Coûts d'exécution des atomes de distribution sur les machines.
Une des solutions envisageables est {(at, ml), (a2, m2), (a3, m2),(a4, m3)} et le
- 80-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
v(x)=f(x)l(x)
sachant qu'on suppose que <1j et~ sont placés sur des machines différentes.
La charge réseau engendrée par la transmission de tous les éléments de Eij, peut
être déduite de la formule précédente ainsi
- 81 -
Systèmes Automatisés de Production à Intelligence Distribuée
Les l(Sij) octets seront envoyés de ~ vers ~' tandis que les l(SjJ octets seront
envoyés de~ vers~· Il s'agit de minimiser le nombre de trames à envoyer sur le
réseau, de façon à optimiser le temps de réponse et à libérer le réseau le plus
rapidement possible.
- 82-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Soit ntri le nombre de trames nécessaire à l'envoi des l(Sij) octets de a; vers aj.
Soit ntrj le nombre de trames nécessaire à l'envoi des l(Sj) octets de~ vers a;.
l(ro~IJ )+l(rok·)
JI
sachant que :
k nbti k k nbtij k
l(ro IJ.. )="
~ :firo ..
IJ
et l(ro ..
JI
)="
~ ±Jro ..
JI
k=l k=l
et étant donné que la fréquence d'envoi des trames sont égales à celle de l'envoi
des variables.
(a;, a) ~ V(a;, ~)
Le coût de communication total entre les atomes de distribution sur les machines
peut être évalué par la fonction suivante :
- 83-
Systèmes Automatisés de Production à Intelligence Distribuée
k k n n
f/R(A))= ,L,L_L_LV(ai, ai)XipXjq avecp;éq
p=l Cf=l i=l j=l
al a2 aJ a4
al 0 20 0 40
a2 0 5 70
aJ 0 35
a4 0
Table 3.2
Coûts de communication entre atomes de distribution
Une des solutions envisageable~{(ai, mt),(~, mt), (a3, m2), (a2, m3)} et le
coût associé est égal à 130.
- 84-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
deux atomes de distribution dont l'un utilise beaucoup d'espace mémoire et l'autre
beaucoup les entrées sorties. Les simulations montrent que l'ajout des coûts
d'interférence, est un facteur qui améliore considérablement le degré de parallélisme
dans le placement des atomes de distribution en utilisant la méthode des coupes
minimales [Mun 90].
Le coût d'interférence moyen entre les atomes de distribution sur les machines
peut être évalué par la fonction suivante :
k n n
fh(R(A))= LLL h(ai, aj)xipXjp
p=l i=l j=l
a. az al a4
at 0 100 0 40
az 0 5 99
al 0 35
a4 0
Table 3.3
Coûts d'interférence entre atomes de distribution
- 85-
Systèmes Automatisés de Production à Intelligence Distribuée
Nous listons dans ce qm suit quelques contraintes. Ces dernières peuvent être
classées en deux classes :
• Les contraintes indépendantes du matériel appelées contraintes logiques,
• Les contraintes dépendantes du matériel appelées contraintes physiques.
E M}.
- 86-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
- 87-
Systèmes Automatisés de Production à Intelligence Distribuée
Cette dernière contrainte peut être combinée avec la contrainte d'utilisation totale
pour donner :
- 88-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Figure 3.2
Architecture fonctionnelle du système d'automatisation
Rappelons que l'architecture matérielle est décrite aussi à l'aide d'un graphe
connexe et non orienté dont les sommets désignent les machines sur lesquelles seront
implantés les atomes de distribution, et les arêtes décrivent les liens physiques entre ces
machines (possibilité d'avoir plusieurs réseaux) (figure 3.3). Les arêtes peuvent être
pondérées par la capacité du système de communication.
100
Figure 3.3
Architecture matérielle du système d'automatisation
- 89-
Systèmes Automatisés de Production à Intelligence Distribuée
Dans ce qui suit nous présentons une classe d'algorithmes issus des méthodes
approchées, et deux algorithmes issus des méthodes exactes. Les méthodes approchées
peuvent converger vers des solutions optimales à l'aide d'algorithmes tels que les
algorithmes gloutons, le recuit simulé qu'on présentera. Nous terminerons par la
présentation des algorithmes génétiques qui font partie de nouvelles méthodes
prometteuses.
- 90-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Fo ction coût
minimum global
minimum local
configuration
Figure 3.4
L'amélioration itérative conduit à des minima locaux; le recuit simulé permet de
converger vers l'optimum global.
- 91 -
Systèmes Automatisés de Production à Intelligence Distribuée
Soient les deux graphes Gt(Vt, Et) et G2(V2, E2). Il existe un homorphisme
faible entre Gt et 02, s'il existe une projection H définie de la manière suivante:
-92-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Figure 3.5
Homomorphisme faible entre le graphe des Atomes de distribution et le graphe des
machines
Figure 3.6
Graphe des machines avec boucle
-93-
Systèmes Automatisés de Production à Intelligence Distribuée
Soit A= {a1, a2, a3, a4 } l'ensemble des atomes de distribution et soit M={m 1, m 2,
m 3 } l'ensemble des machines. La table 3.1 représente les coûts d'exécution, et la figure
3. 7 décrit les coûts de communication entre atomes.
mt m2 mJ
a. 10 20 30
a2 40 5 10
aJ 70 50 80
a4 50 80 20
Table 3.1
Coûts d'exécution des atomes de distribution sur les machines.
Figure 3.7
Graphe de coûts de communication
-94-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Figure 3.8
Graphe résultant de l'homorphisme faible optimal
Contrairement à l'approche précédente, celle-ci [Sto 77], [Sto 78], [Lo 88]
commence par transformer les deux graphes G(A, U) et G(M, E) en un seul graphe
G(AM, UE) dont les sommets représentent les machines et les atomes de distribution, et
dont les arêtes représentent d'une part les liens entre atomes de distribution et d'autre
part les liens entre atomes de distribution et machines. Afin que le coût total (coûts
d'exécution et coûts de communication entre atomes de distribution) soit conservé, les
arêtes reliant les atomes de distribution et les machines sont pondérées par un coût
moyen d'exécution wiq:
1 "
wiq=--L..e(a,I!lp) n-2
---e(a,Illq)
n -1 P"q n -1
- 95-
Systèmes Automatisés de Production à Intelligence Distribuée
mt ID2
at 5 10
a2 2 00
a3 4 4
a4 6 3
as 5 2
a6 00 3
Table 3.4
Coûts d'exécution des atomes de distribution sur les machines.
-96-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Figure 3.9
Graphe de communication
10
5
.......... 00 ······
..
: ...
..
•,
Figure 3.10
Graphe de coupe minimale
-97-
Systèmes Automatisés de Production à Intelligence Distribuée
Une phase dite de "reproduction" de cette population est d'abord effectuée : elle
consiste à appliquer des opérateurs dits génétiques sur les individus de la population
pour générer de nouveaux individus de S. Le principe fondamental des algorithmes
génétiques est : "meilleur est un individu, plus sa probabilité de sélection est grande".
En termes mathématiques, cela veut dire que la probabilité P de sélection croît quand f
décroît.
-98-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
Les individus ainsi soumis à une sélection et une reproduction vont s'adapter et
trouver une niche écologique qui correspond à un minimum dans l'espace de recherche.
Les algorithmes génétiques ont été utilisés avec la condition suivante [Tal 91] :
supposons qu'on ait un graphe G de n atomes sur k machines. Chacune des machines est
étiquetée par un symbole (par exemple entre 1 et k). Un placement donné de A est
représenté par un vecteur de taille n de ces symboles. A l'atome i est associé l'élément i
du vecteur dont la valeur sera le numéro de la machine qui lui est assigné (table 3.5).
Machine 1 2 3 3 2 4
Atomes 1 2 3 4 5 6
Table 3.5
Une étape de placement
D'autres approches ont été utilisées pour résoudre le problème d'allocation : les
chaînes de Markov [Cho 82], la théorie des files d'attente [Bry 81], la théorie de
l'évolution [Müh 87], les réseaux de neurones [Ack 87], les réseaux de Pétri [Car 84], la
théorie des jeux [Ser 91], etc.
Les méthodes d'allocation présentées ne tiennent pas compte des temps d'attente
dus à l'utilisation partagée des liens de communication et des processeurs. Le modèle
des files d'attente prenant en compte les délais d'attente dus aux communications a été
utilisé dans [Hou 87] pour représenter l'architecture cible.
La plupart des travaux présentés ne tiennent pas compte non plus des contraintes
de précédence associées à l'architecture fonctionnelle du système d'automatisation.
- 100-
Chapitre 3 : Des stratégies pour répartir le système d'automatisation
La plupart des techniques proposées [Kas 84], [Bap 87], [Shi 90] sont inspirées
des heuristiques d'ordonnancement du chemin critique ("critical path") [Cof 76] et du
"Highest Levels First with Estimated Times" [Ada 74].
III. 7 Conclusion
- 101 -
Cet exemple montre clairement
qu'il n'y a pas de trajectoire en soi
mais seulement une trajectoire par
rapport à un corps de référence
déterminé.
Albert Einstein
"La relativité"
Systèmes Automatisés de Production à Intelligence Distribuée
Introduction
Le but des méthodes de classification [Ler 70], [Jam 78], [Cel 89], est de
regrouper les individus en un nombre fini de classes homogènes. Ces classes sont
obtenues au moyen d'algorithmes formalisés, et non pas par des méthodes subjectives
ou visuelles faisant appel à l'intuition du praticien. Les méthodes les plus utilisées sont
des méthodes basées sur des heuristiques, c'est à dire qu'elles font appel à des
algorithmes capables de donner des résultats satisfaisants sans pour autant explorer
toutes les solutions possibles.
- 104-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
Dans ce qui suit, nous proposerons tout d'abord deux algorithmes hiérarchiques de
répartition : l'algorithme de regroupement (RI), l'algorithme de décomposition (R2).
Ensuite ces deux algorithmes seront combinés pour donner naissance à un algorithme
mixte dont la convergence vers une solution répartie optimale localement, sera
démontrée.
Notons ai > aj l'existence d'un arc entre les atomes de distribution ai et aj. La
- 105-
Systèmes Automatisés de Production à Intelligence Distribuée
Exemple:
Soit A={ai, a2, a3, é14, as, a(), a7, ag, a9, a1o, a11 }.
0 0 1 0 0 0 1 1 0 0 0
0 0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 1 0
- 106-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
0 1 0 0 0 1 1
0 0 0 0
+-- 0 0 0 0 1 1 0 0 0 0 0
0 0 0 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0
0 1 1 0 0 0 1 0 0 0 0
1 0 0 0 0 0 0 0 0 0 0
1 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 1 1
0 --+
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 1 0
Figure 4.2
Les composantes connexes simples A 1 et A 2
- 107-
Systèmes Automatisés de Production à Intelligence Distribuée
Figure 4.3
Graphe orienté associé à G(A, U)
A 11 ={a1, ~}
A 12={a1, a3, ~}
A2,={a,o, an}
A22={~, an}
Cette décomposition est plus fine que celle effectuée à l'aide de la connexité
simple. En effet celle-ci nous donne généralement un nombre plus important de sous-
systèmes et peut aussi servir pour la détermination d'une solution initiale au problème
de répartition.
- 108-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
... , ~}. Chacun de ces sous-ensembles sera implanté dans une unité de traitement ou
machine (capteur, actionneur, automate programmable, ... )(voir figure 4.4). L'ensemble
des unités de traitement est noté M = {m 1, m2, ••• ,II\}· Ces unités de traitement sont
Figure 4.4
Projection de l'architecture fonctionnelle sur l'architecture matérielle
Soit F(A) l'ensemble des parties de A. On dit que Z={ zt, z2, ... , Zk} est une
- 109-
Systèmes Automatisés de Production à Intelligence Distribuée
• UZi=A.
i:l..k
Soit W(A) l'ensemble de toutes les partitions de A. Nous établissons dans cet
ensemble la relation<=: "être plus fine que", définie de la manière suivante:
Par ailleurs, si S <= Q, chaque classe q est l'union des classes s qu'elle contient :
VqeQ,q=Us
SiÇqj
La relation <= est un ordre partiel, c'est à dire qu'elle vérifie les trois conditions
suivantes:
• elle est réflexive: V Z e W(A) on a Z <= Z,
• elle est antisymétrique : S <= Q et Q <= S ::::::> S = Q,
• elle est transitive : S <= Z et Z <=Q ::::::> S <= Q.
W(A) muni de la relation<= constitue un treillis (voir figure 4.5): n'importe quel
couple S, Q d'éléments de W(A) possède un infimum (noté SnQ) et un supremum
(noté SuQ).
L'infimum est défini ainsi:
Sn Q={ sn q, s e S, q e Q telle que sn q :;t: 0}.
Pour l'obtention de S u Q, plus compliquée à décrire, voir [Ler 76].
- 110-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
Figure 4 .. 5
Treillis de l'applicationA=(aJ, a2, aJ, a4}
Propriétés de l'infimum
\f S, Q, Z E W(A)
• (Sn Q) <= S
• (SnQ) <=Q
• Z <=S et Z <= Q ::=::> Z <= S n Q
Propriétés du supremum
\j S, Q, z E W(A)
• S <=(Su Q)
• Q<= (SuQ)
• S <= Z et Q <= Z ::=::> (S u Q) <= Z
Les relations entre <= et les opérations n et u peuvent aussi être établies par
l'équivalence suivante [Bir 64] :
P <= Q <:::::> P n Q = P <:::::> P u Q = Q.
- Ill -
Systèmes Automatisés de Production à Intelligence Distribuée
Proposition
(S,Q) ~ SnQ
• associativité : Z n (Q n S) = (Z n Q) n S.
• réflexivité :Xc X,
Propriétés de l'infimum
V X, Y, I e F(A),
• (XnY) çX
• (XnY)çY
- 112-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
• I c X etl ç; Y~ I c (Xn Y)
Propriétés du supremum
v x, Y, I E F(A),
• Xc (XuY)
• Y c (XuY)
• X c I et Y c 1 ~ (XuY) ç; 1
Ainsi l'ensemble des parties F(A) muni de la relation cet les opérateurs u et n
devient un treillis ou plus exactement une algèbre de boole [Bir 64] . Mais nous
retenons pour les besoins de ce travail seulement une structure moins riche, celle de sup-
•
demi-treillis.
Proposition
- 113 -
Systèmes Automatisés de Production à Intelligence Distribuée
Démonstration
W(A) et<= constitue un treillis et Wk(A) est l'ensemble de toutes les partitions en
Dans l'objectif de distribuer les atomes constituant l'ensemble A sur les machines
de M, on a présenté dans le chapitre III, une fonction V, qui évalue le coût de
communication entre atomes de distribution. Cette fonction peut être généralisée pour
estimer les coûts de communication entre les portions d'application. L'objectif est donc
de trouver une solution répartie du système en question qui minimise la fonction coût du
trafic total V en tenant compte d'un ensemble de contraintes.
Deux sous applications sont en relation signifie qu'une partie des données
produites par les atomes de distribution appartenant à l'une d'elles, sont consommées par
certains des atomes de distribution appartenant à l'autre.
Soit zi, Zj deux parties de A. Soit P(zi) et P(zj) les ensembles de données
produites par Zi et Zj. Soit C(zi) et C(zj) les ensembles des données consommées par Zi
et Zj.
cp(zi, zj)=P(zi) n C(zj) c X constitue les données produites par les atomes de
- 114-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
est l'ensemble des données manipulées par les atomes de distribution du système
d'automatisation.
Ce coût est aussi égal à la somme des coûts des échanges entre les atomes de
distribution de Zj et les atomes de distribution de ~ :
_L_LV(ai,aj)
aieziajezj
rappelons que cr dépend des types données échangées, du protocole réseau, des
fréquences des échanges.
La valeur V(Z)=V(zt, z2, ... , Zk) estime le coût de communication du système qui
dépend des coûts de communication entre les portions d'applications qui le composent:
Discussions
- 115 -
Systèmes Automatisés de Production à Intelligence Distribuée
• les types des variables échangées, qui se traduisent par des longueurs
différentes,
• les protocoles du réseau, qui définissent le format des trames
échangées, afin de tenir compte, dans le calcul de la charge, de la
transmission des messages, trames et bits de service,
• le regroupement de messages à l'intérieur d'une même trame, dans le
respect du protocole du réseau, dans le but d'optimiser le rendement de
transmission.
• La fonction V(zi,Zj) n'exprime que la charge du système de communication
liée aux échanges de données entre les machines mi et mj, sans tenir compte
des aspects temporels relatifs à l'exécution des sous applications zi et Zj- Ces
aspects temporels peuvent être considérés d'un double point de vue :
• l'exécution des sous applications Zi et Zj peut nécessiter, en plus de
l'échange des données produites par l'une et consommées par l'autre,
l'échange de messages de synchronisation, destinés à garantir une
cohérence temporelle d'exécution. Ces messages de synchronisation
doivent bien entendu entrer dans le calcul de la charge du système de
communication,
• le transport des données par le système de communication n'est pas
instantané. Il convient donc de le caractériser non seulement par son
débit, comme nous l'avons fait plus haut, mais aussi par les délais qu'il
introduit dans l'acheminement des variables. Ces délais sont liés au
type et au protocole du réseau, et influent sur la fraîcheur des variables
qu'un atome de distribution consommateur reçoit par l'intermédiaire de
celui-ci. Rappelons que chaque variable consommée par un atome de
distribution est caractérisétpar un délai de péremption, au delà duquel
elle devient impropre à la consommation par l'atome de distribution en
question.
• La définition des sous-applications que nous avons donnée est associée au
sous-ensemble des atomes de distribution de l'application globale confiés à
l'une des unités de traitement de l'architecture distribuée. Cette définition peut
être généralisée en considérant des groupes d'unités de traitement. Une sous
- 116-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
application est alors définie par l'ensemble des atomes de distribution confiés à
un sous-ensemble de l'ensemble des unités de traitement de l'architecture
distribuée. L'intérêt de cette généralisation est qu'elle introduit la possibilité de
considérer des sous-ensembles de machines caractérisés par une propriété
commune de type fonctionnel, géographique, architectural, .. . Des exemples
sont donnés par :
• le sous-ensemble des unités de traitement prenant en charge la
commande (ou une partie de la commande) d'un équipement
élémentaire,
• le sous ensemble des unités de traitement situées dans une salle
donnée,
• le sous-ensemble des unités de traitement connectées au même tronçon
de réseau. Ce dernier exemple est particulièrement intéressant car il
offre la possibilité de considérer des architectures distribuées autour de
plusieurs tronçons de réseau, chacun d'entre eux pouvant, de plus, être
de type différent. Les charges et délais de transmission entre machines
connectées au même tronçon de réseau ont été discutés plus haut. Pour
ce qui concerne les échanges entre unités de traitement connectées à
des tronçons de réseau différents, il convient de tenir compte des délais
supplémentaires introduits, dans chaque sens, par les mécanismes de
passage d'un tronçon à l'autre. La prise en compte de sous-ensembles de
machines connectées au même tronçon de réseau offre la possibilité
d'aborder le problème de la distribution des traitements de manière
hiérarchisée.
- 117-
Systèmes Automatisés de Production à Intelligence Distribuée
Dans l'objectif de trouver une partition admissible qui minimise la fonction coût
du trafic en tenant compte d'un ensemble de contraintes, nous formulons le problème de
répartition comme un problème de classification et nous proposons une méthode mixte
qui associe des opérateurs de classification hiérarchique : l'opérateur d'agrégation Rl et
l'opérateur de décomposition R2. L'opérateur d'agrégation regroupe deux classes dont le
coût des flux de données échangées est maximal, tandis que l'opérateur de
- 118-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
- 119-
Systèmes Automatisés de Production à Intelligence Distribuée
Algorithme RI;
Début
k:=n-1;
Répéter
Zk:= zk \ {z(l, zi3} u {z(l u zi3} telle que V(:za, zp)= maxCY.(Zi,Zj))
l,J
V(Rl(Zk)):=V(Zk)-V(za, z13)
k:=k-1
Jusgu'à k=2
Fin
Complexité de l'algorithme Rl
L'algorithme Rl n'est évidement pas optimal. On peut seulement être sûr que
que z* n-1 puisque dans ces niveaux il aura examiné toutes les partitions. Pour les autres
niveaux, n-2, n-3, ... , 2 on ne peut rien dire puisque l'algorithme n'aura examiné que les
partitions qui lui sont accessibles, c'est à dire celles obtenues par regroupement de deux
classes de la partition précédente.
Pour un niveau k donné , l'algorithme Rl examine tous les couples de sous-
systèmes de la partition Zk, pour trouver les deux sous-systèmes Za et zp les plus liés.
Cela est équivalent à l'examen de toutes les partitions du niveau k-1 moins fines que Zk,
- 120-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
On peut dire alors que le passage du niveau k au niveau k-1 fait l'examen d'un
nombre de partitions égal au nombre de couples de sous-systèmes de la précédente, c'est
à dire:
k(k- 1)
2 (4.9)
t k(k -1)
k=n 2
1 n 2
=- L(k -k)
2 k=l
=.!. i:k 2 -~ fk
2 k=l 2 k=l
=.!. (n(n + 1)(2n + 1)) _ ! (n( n + 1))
2 6 2 2
3
n -n
=--
6 .
d'ou on déduit la complexité de l'algorithme R1 qui est estimée à n3 •
- 121 -
Systèmes Automatisés de Production à Intelligence Distribuée
explorer (2P- 1-2) possibilités. Cette complexité autorise une solution meilleure mais
non optimale, quand le volume de calcul est admissible.
V(R2(Zk))=V(Zk)+V(za\Y *, y*).
- 122-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
Algorithme R2;
Début
k:=1;
Répéter
Zk:= Zk \ {Za}) v {Za \y*, y*}, telle gue V(:za\y*, y*)<= V(zi\y, y), V Zi
E Zk, V y c Zi
V(R2(Zk))=V(Zk)+V(Za\y*, y*).
k:=k+1
Jusqu'à k=n-1
Fin
Complexité de l'algorithme R2
Pas plus que l'algorithme R1, l'algorithme R2 n'est optimal. Les seuls optimums
locaux trouvés par R2 sont z* 1 et z* n, ainsi que z* 2 puisque dans ces niveaux il aura
examiné toutes les partitions. Pour les autres niveaux, 3, 4, ... , n-1, on ne peut rien dire
puisque l'algorithme n'aura examiné que les partitions qui lui sont accessibles, c'est à
dire celles obtenues par l'éclatement en deux d'un des sous-systèmes de la partition
précédente.
Toutefois, l'algorithme R2 a des bonnes chances de trouver des partitions dont le
coût de communication est petit. Sans que ceci prétende être une démonstration,
imaginons qu'il existe une partition optimale z*k au niveau k pour laquelle V(Z*k)=e
est petite. Alors toute partition moins fine que z*k aura un coût de communication égal
ou supérieur à e. Ces partitions forment des chaînes entrez* 1 et z*k qui traversent tous
les niveaux entrez* 1 et z*k- Alors sous l'hypothèse d'une petit, on pourrait espérer que
l'algorithme descende par une de ces chaînes jusqu'à z*k, puisque dès le niveau 2 et à
chacun des niveaux suivants il trouvera des partitions dont le coût de communication
engendré est inférieur ou égal à e.
- 123 -
Systèmes Automatisés de Production à Intelligence Distribuée
Ces "chances accrues" d'optimalité se reflètent dans un temps de calcul bien plus
élevé que celui de l'algorithme Rl.
En effet, pour z1 il faut tester toutes les partitions de la forme {z1\x, x}, avec x ç
11
Z1 et x:;t:0. Il y a 2 z' sous ensembles non vides de z1, cette dernière n'étant pas prise en
compte; la division par deux est due au fait que V(z1 \x,x)=V(x, Z1 \x). Pour z2 le
Au niveau k, il est facile de prouver que 1z1l + 1 z2l < n-(k-2) puisqu'il faut que
chacun des autres k-2 sous-systèmes aient au moins un atome de distribution. Alors, vu
la nature exponentielle de f, on peut dire que :
=2n-k-1. (4.10)
k+ 1 est au maximum 2n-k-1. Par ailleurs, pour passer du niveau 1 au niveau 2, il faut
tester (2n-2)/2=2n- L 1 partitions. E11 faisant la somme de k= 1 à k=n-1 on voit alors que
la complexité de R2 est inférieure à :
- 124-
Chapitre , La répartition du système d'automatisation : Une approche de classification
n-1
(2"- 1 -1)+ L (2n-k -1)
k=2
n-1
= L(2n-k_l)
k=l
n-1
= .L:2n-k_(n-1)
k=l
n-1 .
=I 2J -(n -1)
j=l
2" -2
="2-=1-(n-l)
=2"-2-n+l
=2"-n-1
- 125-
Systèmes Automatisés de Production à Intelligence Distribuée
Proposition (i)
Démonstration
Preuve de (il)
Rl(Z)=Z\ {zp, zq}u {zpu zq} avec V(zp,zq) > V(zi,Zj), 'il Zi, Zj E Z,
V(Rl(Z))=V(Z)- V(zp,zq).
- 126-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
Calculons R2(Rl(Z)):
R1(Z)= {z1, z2., ... , Zk-1}, R2(R1(Z))=R1(Z) \ {za} u {za \ y*, y*}, k: 2 ... n,
Preuve de (i2)
Proposition (ii)
Démonstration
Preuve de (ii)
- 127-
Systèmes Automatisés de Production à Intelligence Distribuée
V(Zk *) <= V(RloR2(Zk *))et V(Zk *) <= V(R2oRl(Zk *)),V k: 2 ... n-1.
L'algorithme mixte fournit pour chaque niveau une ou plusieurs partitions stables.
Parmi celles-ci, nous pouvons être sûr que pour les niveaux 1 et n (trivialement), ainsi
que pour les niveaux 2 et n-1, les optimums globaux seront trouvés, étant donné que
l'algorithme mixte réunit les propriétés des algorithmes RI et R2.
Pour les autres niveaux k compris strictement entre 3 et n-2, les partitions trouvées
possèdent une propriété nécessaire d'optimalité. La question qu'on se pose alors et de
savoir si l'ensemble des partitions stables est petit, ou si par contre, presque toutes les
partitions sont stables. C'est une question. ouverte. Nous pouvons dire seulement que
dans plusieurs exemples que nous avons étudié, il a suffit de déterminer à peine
quelques partitions stables pour trouver l'optimum global. Par ailleurs, le coût de
communication des partitions stables était en général très près de la valeur optimale.
Les quelques exemples que nous avons étudiés nous ont montré aussi que lors du
processus de stabilisation à un niveau k compris strictement entre 3 et n-2, on est amené
à appliquer RloR2 ou R2oR1 dans un ordre assez irrégulier : on applique RloR2
jusqu'à l'obtention d'une partition fixe pour cet opérateur, ensuite on applique R2oR1
jusqu'à l'obtention à nouveau d'une partition fixe pour celui-ci, à nouveau RloR2, puis
R2oR1, ... , jusque stabilisation pour les deux opérateurs. On suppose donc qu'en
moyenne j applications d'un opérateur de contraction reviennent à j/2 applications de
RloR2 et j/2 applications de R2oRl. Pour les niveaux k=2 et k=n-1, une seule
application de R2 et de Rl, respectivement suffisent pour trouver la partition optimale
du niveau.
- 128-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
2 " - 2 + n(n~ 1)
2 2 k=3
Ï 1 t{(n,kj/2)+3(n,k,j/2) 1
- 129-
Systèmes Automatisés de Production à Intelligence Distribuée
IV.5 Illustration
Soit A={ a 1, a2, a3 , a4, a5 , a6} l'ensemble des atomes de distribution du système
d'automatisation,
Soit le tableau initial suivant, décrivant les coûts de communication entre les
atomes de distribution de A :
at a2 aJ a4 as a6
at 0 67 58 87 76 84
a2 0 0 17 46 55
aJ 0 3 66 28
a4 0 33 59
as 0 8
a6 0
z3 ={as, a6}.
- 130-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
- 131 -
Systèmes Automatisés de Production à Intelligence Distribuée
Deuxième cas : l'algorithme mixte démarre par l'opérateur d'agrégation RI. Le tableau
des coûts de communication devient après l'application de Rl :
V(Z)=({a1,a2,a5,a6}, {a3,a4})=348
- 132-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
- 133-
Systèmes Automatisés de Production à Intelligence Distribuée
La figure 4.6 décrit l'évolution des coûts de communication, pour les applications
successives des opérateurs d'agrégation et de décomposition.
700 ~-_,.,.....,.........,_-_,.....,.._...,....
600 --~f\s;,,
500
- 400
~ 300
200
100
0
Initial R1 R1 R1
opérateurs
Figure 4.6
Recherche de l'optimum local
IV.6 Conclusion
- 134-
Chapitre 4 : La répartition du système d'automatisation : Une approche de classification
L'algorithme mixte qui est une combinaison des deux autres algorithmes, suppose
l'existence d'une solution initiale composée de k classes. Il ne procédera pas au
changement de nombre de classes, mais à la modification de la répartition initiale.
L'algorithme procède par des combinaisons successives des deux opérateurs Rl et R2.
L'opérateur Rl fournit une partition de (k-1) classes sur lesquelles il est suffisant
d'appliquer l'opérateur de décomposition pour obtenir de nouveau le nombre initial de
classes k. L'algorithme s'arrête à l'obtention d'un point fixe, celui-ci est un optimum
local de la fonction coût.
- 135 -
Conclusion générale
Rappelons que le travail présenté dans cette thèse, s'est déroulé dans le cadre d'un
projet soutenu par le Ministère de la Recherche et de l'Enseignement Supérieur. Ce
projet, qui s'intitule "Impact des réseaux de terrains et de l'instrumentation
intelligente dans la conception des systèmes automatisés de production" et dont les
résultats et les perspectives figuraient dans le rapport de fin de contrat convention N°
92.P.0239, intéressait plusieurs institutions d'horizons et d'objectifs divers. La
participation à ce projet nous a permis naturellement des échanges d'idées et des
discussions fructueuses avec des chercheurs venant de plusieurs entreprises industrielles
et laboratoires de recherche.
Nous avons proposé dans ce travail une modélisation aussi claire et concise que
possible des traitements composant le système d'automatisation, ainsi que des stratégies
de répartition basée sur une approche de classification. Pour aboutir à ces résultats, nous
avons démarré progressivement par :
• une prise de connaissance des traitements du système automatisé de
production et les services qu'ils assurent,
• une modélisation détaillée de l'architecture fonctionnelle du système
d'automatisation. En effet un nouveau concept: celui d'atome de distribution
a été introduit, justifié et caractérisé,
• une formalisation du problème de répartition du système automatisé de
production, et l'étude des outils permettant l'aboutissement à des solutions
distribuées admissibles et acceptables. Ces outils concernent les critères, les
contraintes qui régissent la répartition, ainsi que des algorithmes relevant de
la littérature. Certains de ces algorithmes ont été détaillés,
Systèmes Automatisés de Production à Intelligence Distribuée
- 138-
Conclusion générale
- 139-
Quand on proclama que la
bibliothèque comprenait tous les
livres, la première réaction fut un
bonheur extravagant. A l'espoir
éperdu succéda comme il est
naturel, une dépression excessive.
Jean-Luis Borges
"La bibliothèque de Babel"
Bibliographie
[Ada 74] T. L. Adam, "A Comparison of List Schedules for Parallel Processing
Systems", Communications of the ACM, Vol. 17, No. 12, December
1974.
[Ara 94] Arago 15, "Informatique tolérante aux fautes", Rapport de synthèse du
groupe Informatique tolérente aux fautes et des experts consultés,
Observatoire Français des Techniques Avancées, Masson, 1994.
[Asl92] R. Aslamian, "Rapport sur les services offerts aux applications temps
réel", SCEPTRE 2, Juin 1992.
[Bok 81a] S. H. Bokari, "A Shortest Tree Algorithm for Optimal Assignrnents
Across Space and Time in a Distributed Processor System", IEEE
Transactions on Software engineering, Vol. SE-7, No. 6, Novembre
1981.
[Bol 88] S .W. Bollinger, S.F. Midkiff, "Processor and link assignment in
multicomputers using simulated annealing", Proc. of the 11 th Int. Conf.
on Parallel Processing, The Penn. State Univ. Press, pp.1-7, Août 1988.
[Bry 81] R. M. Bryant, J. R. Agree, "A Queuing Network Approach to the Module
Allocation Problem", ACM Computing Surveys, Vol. 21, No. 3, 1981.
- 142-
[Cel 89] G. Celeux, E. Diday, G. Govaert, Y. Lechevallier, H. Ralambondrainy,
"Classification automatique des données", Dunod, 1989.
[Che 90] G-H. Chen, J-S. Yur, "A branch and bound with underestimates
algorithm for the task assignment problem with precedence constraint",
1Oth Int. Conf. on Distributed Computing Systems, Paris, France,
pp.494-501, Mai 1990.
[Din 90] Deutsches Institut fùr Normung, "Profibus", Norms DIN 19 245, part 1 et
part 2, 1990.
143
[Dub 90] B. Dubuisson, "Diagnostic et reconnaissance des formes", Traité des
Nouvelles Technologies, Série Diagnostic et Maintenance, Hermès,
1990.
[For 65] E. W. Forgy, "Cluster analysis ofmultivariate data", Biometries, Vol. 21,
N° 3, Septembre 1965.
[Gar 79] M.R. Garey, D.S. Johnson, "Computers and intractability: A guide to the
theory ofNP-completeness", Freeman, San Francisco, 1979.
[Had 88] P. Haden, F. Berman, "A Comparative study of mapping algorithms for
an automated parallel programming environment", Tech. Rep. CS-088,
Univ. ofCalifomia, San Diego, 1988.
- 144-
[Jam 78] A. Jambu, M. O. Lebeaux, "Classification automatique pour l'analyse des
données" : Méthodes et algorithmes, Dunod Décision, 1978.
[Ma 82] P. Y. R. Ma, E. Y. S. Lee, M. Tsuchiya, "A task Allocation Model for
Distributed Computing Systems", IEEE Transactions on Computers, Vol.
C-31, No. 1, January 1982.
145
Structures et mise en oeuvre", Les manuels professionnels, Collection de
l'Usine Nouvelle, Editions du Moniteur, 1987.
[Par 60] E. Parzen, "Modem probability theory and its application", John Wiley
and Sons, New York, 1960.
[Per 83] Y. Perl, M. Snir, "Circuit partitioning with size and connection
constraints", Networks, Vol.13, No.3, pp.365-375, 1983.
[Que 67] J. B. Mac Queen, "Sorne methods for classification and analysis of
multivariate observations", 5th Berkley Symposium on Mathematical
Statistics and Probability, Vol. 1, N° 1, Berkley University of Califomia
Press, 1967.
- 146-
[Rea 77] R.C. Read, D.G. Comeil, "The graph isomorphism disease", Journal of
Graph Theory, Vol.l, pp.339-363, 1977.
[Rou 88] T. J. Routt, "From TOP (3.0) to bottom : architectural close-u", Data
Communication, Mai 1988.
[She 85] C. Shen, W. Tsai, "A Graph Matching Approach to Optimal Task
Assignement in Distributed Computing Systems U sing A Minmax
Criterion", IEEE Transactions on Computers, Vol. C-34, No. 3, Mars
1985.
147
automatisé de production", Actes de conférence Automatisation
Industrielle, Vol 1, Montréal, Canada, 1992.
[Sto 77] H.S.Stone, "Multiprocessor scheduling with the aid of network flow
algorithms", IEEE Trans .. on Soft. Eng., Vol.SE-3, No.2, pp.85-93,
Janvier 1977.
[Tho 89] J.P. Thomesse, "Time criticallocal area networks. Analysis ofneeds and
characteristics", Contribution à ISO TC 184/SC5/WG2-TCCA, Octobre
89.
[Tho 90] J.P. Thomesse, "Les réseaux locaux à temps critique", AFCET, 1990.
- 148-
[Tow 86] D. Towsley, "Allocating programs containing branches and loops within
a multiple processor system", IEEE Trans. on Soft. Eng., Vol.SE-12,
No.IO, pp.1018-1024, Octobre 1986.
[Udi 90] N. Udiavar, G.S. Stiles, "A simple but flexible model for determining
optimal task allocation and configuration on a network of transputers",
NATUG 1: Transputer Research and Applications, Utah, USA, pp.24-32,
Avril1990.
[Ute 90c] FIP Couche Physique en bande de base sur paire torsadée blindée, NF
C46-604, Union Technique de l'Electricité, Courbevoie, 1990.
[Ver 89] C. Verlinde, E. Georgel, J.P. Thomesse, "A service oriented hierarchical
model for the design of control system", CCCT 89, IFAC AFCET
Symposium, Septembre, 1989.
149
Annexe 1 :Groupe de travail du projet MESR 2033:
Laboratoires de recherche et industriels
Frédéric Hermann,
Jean-Luc Noizette
Michel Robert
Françoise Simonot-Lion
Jean-Pierre Thomesse
Luis Vega-Saens
Olivier Vennard
Jean-Dominique Decotignie
Raja Prasard
Jean-Pierre Acquadro
Zdenek Binder
Adolfo Rodriguez
Laurent Cauffriez
Jean Defrenne
Jalel Akaichi
Mireille Bayart
Marcel Staroswiecki
Annexes
Denis Creusot
Anne-Marie Deplanche
Jean-Pierre Elloy
BERTIN
Pierre Midavaine
CETIM
Walid Youssef
EDF-DER
Pierre Berthomier
Pierre-Henri Delmaire
Tanguy Le Quenven
Mazen Samaan
- 151 -
Annexe 2 : Les systèmes de communication
- 153 -
Annexes
Utilisateur i Utilisateur j
···········-········································
Application Application
Protocole
Présentation Présentation
Session Session
Transport Transport
Réseau Réseau
Liaison Liaison
Physique Physique
Figure A.i
Architecture du modèle de référence OS/
- 154-
Annexes
La couche physique
La couche liaison
La couche physique est donc chargée de l'envoi des bits. Cependant les réseaux
de communication sont sujets aux erreurs qu'il faut donc détecter et corriger. Le
rôle principal de la couche liaison est d'assurer l'acheminement sans erreurs les
informations. Dans ce but, elle détecte et corrige les erreurs de transmission et
contrôle le flux des informations transmises.
La couche réseau
La couche transport
On peut perdre des paquets (un paquet est un ensemble fini de bits) entre
l'expéditeur et le destinataire. Si certaines applications préfèrent gérer leur propre
récupération des erreurs, d'autres applications préfèrent avoir une connexion
fiable. La fonction de la couche transport est de fournir ce service et d'assurer la
- 155-
Annexes
La couche session
La couche présentation
La couche application
- 156-
Annexes
Les réseaux locaux peuvent être classifiés en fonction de la nature des échanges
selon trois niveaux distincts (niveau zéro, niveau 1, niveau 2), qui répondent chacun à
trois catégories de besoins de communication [Lor 94b]. Les différents critères de
classification sont :
• la fréquence des informations transmises,
• les contraintes de temps associées aux échanges d'informations,
• les fonctions mises en oeuvre,
• le type et la structure de l'information échangée ainsi que l'environnement
dans lequel on se situe.
- 157-
Annexes
4.2 Le niveau un
Au niveau deux, les informations échangées sont souvent des fichiers et des
données volumineuses. On retrouve donc des échanges aléatoires d'informations entre
les systèmes de Conception et de Fabriéation Assistée par Ordinateur (CFAO), de
Gestion de Production Assistée par Ordinateur (GPAO) et de Conception Assistée par
Ordinateur (CAO).
Les réseaux locaux sont caractérisés par leurs topologies, leurs modes de
transmission des données, et leurs codages de l'information. Les techniques de
commutation constituent également un élément essentiel de caractérisation des réseaux
locaux. L'unité de temps employée est souvent de l'ordre de la seconde.
- 158-
Annexes
Niveau 2
Niveau 1
Niveau 0
Figure A·t
Représentation des différents niveaux présents dans les réseaux locaux industriels
[Lor 94b]
Les réseaux des niveaux inférieurs sont généralement capables de répondre aux
exigences de temps des réseaux de niveaux supérieurs, où les contraintes de temps sont
généralement moins fortes [Shi 93]. Par contre, un réseau de niveau supérieur ne peut
pas toujours répondre aux exigences temporelles des niveaux inférieurs.
- 159-
Annexes
Le réseau FIP est considéré comme un réseau de terrain au niveau zéro. Son rôle
principal est de permettre aux capteurs, actionneurs et aux contrôleurs de communiquer
[Gal 84]. Il est important de signaler qu'au niveau zéro, la plupart des données
échangées sont soumises à des contraintes de temps. Le réseau FIP tient compte de ces
contraintes. Il est spécialement conçu pour gérer et pour mettre à jour une base de
données temps réel distribuée.
D'après OSI, FIP est caractérisé par une architecture réduite à une couche
physique, une couche de liaison, et une couche application.
Une variable est identifiée par un numéro de variable. Ce numéro est unique. Une
variable est produite par un site unique appelé site producteur, et consommée par un ou
plusieurs site(s) appelé(s) sites consommateurs(s).
- 160-
Annexes
L'arbitre de bus exploite une table de scrutation indiquant pour chaque variable
sa date de délivrance sur le bus. La délivrance d'une variable est effectuéeen trois
étapes:
• l'arbitre de bus diffuse l'identifiant de la variable à transmettre,
• le producteur de la variable correspondant à cet identifiant transmet sa valeur
sur le bus,
• chaque consommateur concerné par la variable transmise sur le bus, reçoit sa
valeur.
Le réseau FIP utilise le principe de diffusion dans le sens où chaque valeur d'une
variable transmise sur le bus n'est pas explicitement adressée à une destination
particulière; ce qui veut dire que le producteur de la variable n'a pas d'information sur le
nombre et la localisation des consommateurs. C'est la responsabilité de chaque site de se
reconnaître comme consommateur ou non.
- 161 -
Annexes
En conclusion, autour du réseau FIP sont connectés des sites qui assurent une ou
plusieurs de ces fonctions :
• production (s) de données,
• consommation (s) de données,
• arbitrage du bus.
- 162-
Annexes
- 163-
Annexes
Couches OSI 1, 2 et 7 1 à 4 et 7 1, 2 et 7
- 164-
Annexes
- 165 -
Annexes
EFIWAY FILBUS
Norme
Topologie Anneau Bus
Support de transmision Fibre optique Paire torsadée
Codage NRZI
Longueur maximale 52 km
Débit 375 Kbitls
Accès au médium Accès déterministe par Maître/esclave
tranches temporelles
Nombre maximal de statio s 64 254
Couches OSI 1, 2 et 7 1, 2 et 7
- 166-
Annexe· 3 : Généralités sur les ~:raphes
• soit des couples ordonnés de sommets appelés des arcs. Si u=(ij) est
un arc de G, i est l'extrémité initiale de u et j l'extrémité terminale de
u. Le graphe est ainsi qualifié d'orienté.
Un chemin de longueur q est une séquence de q arcs (ut, u2, ... , uq).
chemin fermé est un circuit. Un arc peut être vu comme un chemin de longueur
1, et une boucle comme un circuit de longueur 1.
Une chaîne de longueur q est une séquence de q arêtes (e,1 e,2 ... , eq), e. a
1
Un graphe G est connexe s'il existe une chaîne entre toute paire de
sommets. Le graphe est donc "d'un seul bloc". SiG n'est pas connexe, on peut
identifier plusieurs sous-graphes connexes, maximaux au sens de l'inclusion,
appelés composantes connexes. Plus précisément, ces composantes sont les
classes d'équivalence de la relation d'équivalence (réflexivité, symétrie,
transitivité) binaire entre deux sommets (il existe une chaîne entre deux
sommets). La figure 1 décrit des exemples de graphes connexes et non
connexes.
Les classes d'équivalence induites sur A par cette relation forment une
partition de A en p partitions. Le nombre p de classes d'équivalence distinctes
est appelé le nombre de connexité du graphe.
- 168-
Annexes
Figure la Figure lb
Les classes d'équivalence induites sur A par cette relation forment une
partition de A en q partitions. Le nombre q de classes d'équivalence distinctes
est appelé le nombre de connexité forte du graphe.
Figure 2
- 169-
Annexe 4 : Application de l'algorithme mixte
Architecture fonctionnelle d'une application de défense
aérienne
Figure 1
L'application de défense aérienne
Annexes
Figure 2
Matrice des coûts
- 171 -
Annexes
• -1(0111213] : Fixe le niveau de détails dans la trace de l'algorithme, ainsi 0
indiquera le minimum de détails, et 3 le maximum de détails,
• -m[pla] : Fixe le sens de démarrage de l'algorithme mixte, amst avec
l'option "p" l'algorithme démarrera par la décomposition, puis entamera
l'agrégation, tandis que avec l'option "a" il démarrera par l'agrégation puis
entamera la décomposition. L'option par défaut est p.
al ,a2,a3,a4,a5,a6,a7,a8,a9,al O,al3,al4,al6,al7,al8,al9,a22,a23
7
al,a2
a4,a8
a9,alO,al6
a13,a17
a3,a5,a6
a7,al4,al8
a19,a23
- 172-
Annexes
2
al,a6,a7
a8,al6
2
a3,a5
a9,al0,al6
0 10 0 15 0 0 7 0 0 0 0 0 0 0 0 0 8 0
0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0
0 8 12 0 0 0 0 0 0 0 0 0 0 0 0
0 0 17 0 0 0 0 0 0 0 0 0 0 0
0 14 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 2 0 0 0 0 0 0 0
0 6 1 0 0 19 3 0 0 0 0
0 0 l 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0
0 18 0 0 0 0 0 0
0 0 0 0 0 0 13
0011000
0 9 0 0 0
0 5 0 0
0 0 0
0 0
0
# Fin du fichier
3.2.1 Rl puis R2
- 173-
Annexes
* Données initiales
* Ensemble des éléments
{ a23 a22 al9 a18 a17 a16 a14 a13 alO a9 a8 a7 a6 a5 a4 a3 a2 al }
* Partition initiale
{ a23 al9 }
{al8al4a7}
{a6a5a3}
{a17al3}
{ a16 alO a9}
{ a8 a4}
{ a2 al }
}
* Contraintes de séparation
{
{al6a8}
{ a7 a6 al }
}
* Contraintes d'agrégation
{
{al6al0a9}
{ a5 a3 }
}
* Matrice de coût initiale
[
0 10 0 15 0 0 7 0 0 0 0 0 0 0 0 0 8 0
10 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 19 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0
15 0 0 0 8 12 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 8 0 0 17 0 0 0 0 0 0 0 0 0 0 0
0 0 0 12 0 0 14 0 0 0 0 0 0 0 0 0 0 0
7 0 0 0 17 14 0 0 0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 6 l 0 0 19 3 0 0 0 0
0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 5 0 0 0 2 0 0 0 18 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 13
0 0 0 0 0 0 0 19 0 0 0 0 0 0 11 0 0 0
0 0 0 0 0 0 0 3 0 0 0 0 0 0 9 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 ll 9 0 5 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 130 0 0 0 0 0
]
* Boucle externe
* Partition initiale
{
{ al a2 }
{ a4 a8}
{a9al0al6}
{ al3 al7 }
{a3a5a6}
{a7al4al8}
{ al9 a23 }
}
* Coût: 185
* Boucle d'agrégation - décomposition
- 174-
Annexes
* Partition initiale
{
{ al a2 }
{ a4 aS}
{a9al0al6}
{al3al7}
{a3a5a6}
{a7al4alS}
{al9a23}
}
*Coût: IS5
* Agrégation - décomposition
* Agrégation
* Ensembles agrégés
{al3al7}
{ a7 al4 aiS }
* Agrégation obtenue
{aiS al4 a7 al7 al3}
* Diminution du coût : 29
* Nouvelle partition
{
{aiS al4 a7 al7 al3}
{ a23 al9}
{a6a5a3}
{al6a10a9}
{aS a4}
{ a2 al }
}
*Coût: 156
* Décomposition
* Ensemble partitionné
{aiS al4 a7 al7 a13}
* Décompositionde cet ensemble
{al7a1S}
{ a13 a7 a14}
* Augmentation du coût : 0
* Nouvelle partition
{
{ al3 a7 al4}
{ a17 aiS }
{al a2 }
{a4aS}
{ a9 alO al6 }
{a3a5a6}
{a19a23}
}
* Coût: 156
* Partition obtenue
{ al3 a7 al4 }
{al7alS}
{ al a2 }
{ a4 aS}
{ a9 alO al6}
{a3a5a6}
{ al9 a23 }
}
*Coût: 156
* Agrégation - décomposition
* Agrégation
- 175-
Annexes
* Ensembles agrégés
{ a4 a8}
{a3a5a6}
* Agrégation obtenue
{ a6 a5 a3 a8 a4 }
* Diminution du coût : 20
* Nouvelle partition
{
{ a6 a5 a3 a8 a4 }
{ a23 al9}
{ al6 alO a9 }
{ a2 al }
{al8al7}
{ al4 a7 a13 }
* Coût: 136
* Décomposition
* Ensemble partitionné
{ a6 a5 a3 a8 a4 }
* Décompositionde cet ensemble
{ a8}
{ a4 a3 a5 a6}
* Augmentation du coût : 0
*Nouvelle partition
{
{ a4 a3 a5 a6}
{ a8}
{ al3 a7 al4 }
{al7a18}
{ al a2 }
{ a9 alO al6}
{ al9 a23}
}
*Coût: 136
* Partition obtenue
{ a4 a3 a5 a6}
{ a8}
{ al3 a7 al4}
{al7a18}
{ al a2 }
{a9a10al6}
{ al9 a23 }
}
*Coût: 136
* Agrégation - décomposition
* Agrégation
* Ensembles agrégés
{ al3 a7 al4}
{ al9 a23 }
* Agrégation obtenue
{ a23 al9 al4 a7 al3}
* Diminution du coût : 13
*Nouvelle partition
{
{ a23 al9 al4 a7 al3 }
{ al6 alO a9}
{ a2 al } ·
{al8al7}
{ a8}
- 176-
Annexes
{ a6 a5 a3 a4}
* Coût: 123
* Décomposition
* Ensemble partitionné
{ a23 al9 al4 a7 al3}
* Décompositionde cet ensemble
{ al9 }
{ al3 a7 al4 a23 }
* Augmentation du coût : 0
* Nouvelle partition
{
{ al3 a7 al4 a23 }
{ al9 }
{ a4 a3 a5 a6}
{ a8}
{al7al8}
{al a2 }
{a9al0al6}
}
* Coût: 123
* Partition obtenue
{
{ al3 a7 al4 a23 }
{ al9}
{ a4 a3 a5 a6}
{ a8}
{al7al8}
{ al a2 }
{ a9 alO al6 }
}
*Coût: 123
* Agrégation - décomposition
* Agrégation
* Ensembles agrégés
{ al7al8}
{ a9 alO a16 }
* Agrégation obtenue
{ a16 alO a9 al8 a17}
* Diminution du coût : Il
* Nouvelle partition
{
{ al6 alO a9 a18 a17}
{ a2 al }
{ a8}
{ a6 a5 a3 a4}
{ al9}
{ a23 a14 a7 a13 }
}
*Coût: 112
* Décomposition
* Ensemble partitionné
{ a23 a14 a7 a13 }
* Décompositionde cet ensemble
{ a7}
{ al3 al4 a23 }
* Augmentation du coût : 2
* Nouvelle partition
{
{ a13 a14 a23}
- 177-
Annexes
{ a7}
{ al9 }
{ a4 a3 a5 a6}
{ a8}
{ al a2 }
{ a 17 a 18 a9 a 10 a 16 }
*Coût: 114
* Partition obtenue
- 178-
Annexes
{ al9}
{ a8}
{ al a2 }
{ al7 al8 a9 alO al6}
* Coût: 114
* Stabilisation sur la partition
{
{ al6 alO a9 al8 al7}
{ a2 al }
{ a8}
{ a6 a5 a3 a4}
{ al9 }
{ a7}
{ a23 al4 al3 }
*Coût: 114
* Boucle de décomposition- agrégation
* Partition initiale
*Coût: 114
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ a4 a3 a5 a6}
* Décompositionde cet ensemble
{ a5 a3 }
{ a6 a4}
* Augmentation du coût : 8
*Nouvelle partition
{
{ a6 a4}
{a5a3}
{ al6 alO a9 a18 a17}
{ a2 al }
{ a8}
{ al9}
{ a7}
{ a23 al4 al3 }
}
*Coût: 122
* Agrégation
* Ensembles agrégés
{ a5 a3 }
{ a2 al }
* Agrégation obtenue
{al a2 a3 a5 }
* Diminution du coût : 19
* Nouvelle partition
{
{al a2 a3 a5 }
{ al3 al4 a23 }
- 179-
Annexes
{ a7}
{ al9 }
{ a8}
{al7 al8 a9 alO al6}
{ a4 a6}
}
*Coût: 103
* Partition obtenue
{
{ al a2 a3 a5 }
{ al3 al4 a23 }
{ a7}
{ al9 }
{ a8}
{ al7 al8 a9 alO al6}
{ a4 a6}
}
*Coût: 103
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ al7 al8 a9 alO al6}
* Décompositionde cet ensemble
{ al7 }
{ al6 alO a9 al8}
* Augmentation du coût : 9
* Nouvelle partition
{
{ al6 alO a9 al8}
{ al7 }
{ a6 a4}
{ a8}
{ al9}
{ a7}
{ a23 al4 al3 }
{ a5 a3 a2 al }
*Coût: 112
* Agrégation
* Ensembles agrégés
{ al6 alO a9 al8}
{ al7 }
* Agrégation obtenue
{ al7 al8 a9 alO al6}
* Diminution du coût : 9
* Nouvelle partition
{
{ al7 al8 a9 alO al6}
{al a2 a3 a5}
{ al3 a14 a23 }
{ a7}
{ al9 }
{ a8}
{ a4 a6}
*Coût: 103
* Partition obtenue
- 180-
Annexes
{ al3 al4 a23 }
{ a7}
{ a19}
{ a8}
{ a4 a6}
*Coût: 103
* Stabilisation sur la partition
{
{ a6 a4}
{ a 16 a 10 a9 a 18 a 17 }
{ a8 }
{ a19}
{ a7}
{ a23 a14 al3 }
{ a5 a3 a2 al }
*Coût: 103
* Boucle externe
* Partition initiale
{ala2a3a5}
{ a13 a14 a23 }
{ a7}
{ al9 }
{ a8}
{ a17 a18 a9 a10 a16}
{ a4 a6}
}
*Coût: 103
* Boucle d'agrégation - décomposition
* Partition initiale
{al a2 a3 a5}
{ al3 al4 a23 }
{ a7}
{ al9}
{ a8}
{ al7 al8 a9 alO a16}
{ a4 a6}
*Coût: 103
* Agrégation - décomposition
* Agrégation
* Ensembles agrégés
{al a2 a3 a5 }
{ a13 a14 a23 }
* Agrégation obtenue
{ a23 al4 al3 a5 a3 a2 al }
* Diminution du coût : 5
* Nouvelle partition
{
{ a23 al4 al3 a5 a3 a2 al }
{ a6 a4}
{ al6 alO a9 a18 al7}
{ a8}
{ a19 }
{ a7}
*Coût: 98
- 181 -
Annexes
* Décomposition
* Ensemble partitionné
{ a23 a14 a13 a5 a3 a2 al }
* Décompositionde cet ensemble
{ al3 a14 a23 }
{al a2 a3 a5}
* Augmentation du coût : 5
*Nouvelle partition
{
{al a2 a3 a5 }
{ al3 al4 a23}
{ a7}
{ al9 }
{ a8}
{ al7 a18 a9 alO a16}
{ a4 a6}
*Coût: 103
* Partition obtenue
{
{al a2 a3 a5 }
{ al3 a14 a23 }
{ a7}
{ al9 }
{ a8 }
{ al7 al8 a9 alO al6}
{ a4 a6}
}
*Coût: 103
* Stabilisation sur la partition
{
{ a6 a4}
{ al6 alO a9 al8 al7}
{ a8 }
{ al9}
{ a7}
{ a23 al4 al3 }
{ a5 a3 a2 al }
*Coût: 103
* Boucle de décomposition- agrégation
* Partition initiale
{al a2 a3 a5}
{ al3 a14 a23 }
{ a7}
{ al9 }
{ a8 }
{ al7 al8 a9 alO al6}
{ a4 a6}
}
* Coût: 103
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ al7 al8 a9 alO al6}
* Décompositionde cet ensemble
{ al7 }
{ al6 alO a9 al8 }
* Augmentation du coût : 9
- 182-
Annexes
* Nouvelle partition
{
{ al6 alO a9 al8}
{ al7}
{ a6 a4}
{ a8}
{ al9}
{ a7}
{ a23 al4 al3 }
{ a5 a3 a2 al }
}
*Coût: 112
* Agrégation
* Ensembles agrégés
{ al6 alO a9 al8}
{ al? }
* Agrégation obtenue
{ a 17 a 18 a9 a 10 a 16 }
* Diminution du coût : 9
* Nouvelle partition
{
{ al7 al8 a9 alO al6}
{al a2 a3 a5 }
{ al3 al4 a23 }
{ a7}
{ al9}
{ a8}
{ a4 a6}
}
*Coût: 103
* Partition obtenue
- 183-
Annexes
{ a5 a3 a2 al }
*Coût: 103
* Partition fmale
{
{ a6 a4}
{ a 16 al 0 a9 a 18 a 17 }
{ a8 }
{ al9 }
{ a7}
{ a23 al4 al3 }
{ a5 a3 a2 al }
*Coût: 103
* Nombre de tours de boucle externe : 2
* Nombre de tours de boucle décomposition - agrégation : 3
* Nombre de tours de boucle agrégation- décomposition : 6
*Temps de calcul approximatif (en ms): 26
3.2.1 R2 puis Rl
* Données initiales
* Ensemble des éléments
{ a23 a22 al9 al8 al7 al6 al4 a13 alO a9 a8 a7 a6 a5 a4 a3 a2 al }
* Partition initiale
{a23al9}
{al8al4a7}
{a6a5a3}
{ al7 a13 }
{ al6 alO a9}
{ a8 a4}
{ a2 al }
}
* Contraintes de séparation
{
{ al6 a8 }
{a7a6al}
* Contraintes d'agrégation
{
{ al6 alO a9}
{a5a3}
}
* Matrice de coût initiale
[
0 10 0 15 0 0 7 0 0 0 0 0 0 0 0 0 8 0
10 0 19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 19 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0
15 0 0 0 8 12 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 8 0 0 17 0 0 0 0 0 0 0 0 0 0 0
0 0 0 12 0 0 14 0 0 0 0 0 0 0 0 0 0 0
- 184-
Annexes
7 0 0 0 17 14 0 0 .0 0 2 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 6 1 0 0 19 3 0 0 0 0
0 0 0 0 0 0 0 6 0 0 1 0 0 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0
0 0 5 0 0 0 2 0 1 0 0 18 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 18 0 0 0 0 0 0 13
0 0 0 0 0 0 0 19 0 0 0 0 0 0 Il 0 0 0
0 0 0 0 0 0 0 3 0 0 0 0 0 0 9 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 11 9 0 5 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0
8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 13 0 0 0 0 0 0
]
* Boucle externe
* Partition initiale
{
{ al a2 }
{ a4 a8}
{a9al0al6}
{ al3 al7 }
{a3a5a6}
{a7al4al8}
{ al9 a23 }
}
*Coût: 185
* Boucle de décomposition- agrégation
* Partition initiale
{ al a2 }
{ a4 a8}
{ a9 alO al6 }
{al3al7}
{ a3 aS a6}
{ a7 al4 al8 }
{ al9 a23 }
}
*Coût: 185
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ a4 a8}
* Décompositionde cet ensemble
{ a4}
{ a8}
*Augmentation du coût: 0
* Nouvelle partition
{
{ a8}
{ a4}
{ a23 a19}
{al8a14a7}
{a6a5a3}
{ al7 al3 }
{ al6 alO a9 }
{ a2 al }
}
*Coût: 185
* Agrégation
* Ensembles agrégés
{a18al4a7}
- 185-
Annexes
{al7al3}
* Agrégation obtenue
{ al3 al7 a7 al4 al8}
* Diminution du coût : 29
* Nouvelle partition
{
{ al3 al7 a7 al4 al8}
{ al a2 }
{ a9 alO al6 }
{a3a5a6}
{ al9 a23 }
{ a4}
{ a8 }
}
*Coût: 156
* Partition obtenue
* Coût: 156
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ al3 al7 a7 al4 al8}
* Décompositionde cet ensemble
{ al4 a7 al3 } ·
{al8al7}
* Augmentation du coût : 0
*Nouvelle partition
{
{al8al7}
{ al4 a7 al3 }
{ a8}
{ a4}
{ a23 al9}
{ a6 a5 a3 }
{ al6 alO a9}
{ a2 al }
}
* Coût: 156
* Agrégation
* Ensembles agrégés
{ a4}
{a6a5a3}
* Agrégation obtenue
{a3a5a6a4}
* Diminution du coût : 20
*Nouvelle partition
{
{ a3 a5 a6 a4}
{ al a2 }
{ a9 alO al6 }
{ al9 a23 }
{ a8}
- 186-
Annexes
{al3a7al4}
{al7al8}
*Coût: 136
* Partition obtenue
{
{ a3 a5 a6 a4}
{ al a2 }
{ a9 alO al6}
{ al9 a23 }
{ a8}
{ al3 a7 al4 }
{al7al8}
* Coût: 136
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ al9 a23 }
* Décompositionde cet ensemble
{ al9 }
{ a23}
* Augmentation du coût : 0
* Nouvelle partition
{
{ a23 }
{ al9 }
{al8al7}
{ al4 a7 al3 }
{ a8}
{ al6 alO a9}
{ a2 al }
{ a4 a6 a5 a3 }
}
* Coût: 136
* Agrégation
* Ensembles agrégés
{ a23 }
{ a14 a7 al3}
* Agrégation obtenue
{ al3 a7 al4 a23 }
* Diminution du coût : 13
* Nouvelle partition
{
{ al3 a7 al4 a23 }
{ a3 a5 a6 a4}
{al a2 }
{ a9 alO al6}
{ a8 }
{al7al8}
{ al9 }
* Coût: 123
* Partition obtenue
{
{ al3 a7 al4 a23 }
{ a3 a5 a6 a4}
{ al a2 }
{ a9 alO al6 }
{ a8}
- 187-
Annexes
{al7alS}
{ al9 }
}
*Coût: 123
* Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ al3 a7 al4 a23 }
* Décompositionde cet ensemble
{ a7}
{ a23 al4 al3 }
* Augmentation du coût : 2
* Nouvelle partition
{
{ a23 a14 al3}
{ a7}
{ al9}
{a1Sal7}
{aS}
{al6al0a9}
{ a2 al }
{ a4 a6 a5 a3 }
*Coût: 125
* Agrégation
* Ensembles agrégés
{alSal7}
{ al6 alO a9}
* Agrégation obtenue
{ a9 alO al6 al7 aiS}
* Diminution du coût : Il
* Nouvelle partition
{
{a9alOal6al7alS}
{ a3 a5 a6 a4}
{al a2}
{aS}
{ al9}
{ a7}
{ al3 al4 a23 }
}
*Coût: 114
* Partition obtenue
- ISS-
Annexes
* Augmentation du eoût : 8
* Nouvelle partition
{
{ a4 a6}
{aS a3 }
{ a23 al4 al3 }
{ a7}
{ al9}
{ a8}
{ a2 al }
{ al8 al7 al6 alO a9}
*Coût: 122
* Agrégation
* Ensembles agrégés
{aS a3 }
{ a2 al }
* Agrégation obtenue
{al a2 a3 aS }
* Diminution du coût : 19
* Nouvelle partition
{
{al a2 a3 aS}
{ a9 alO al6 al7 alS}
{aS}
{ al9}
{ a7}
{ a13 al4 a23 }
{a6a4}
* Coût: 103
* Partition obtenue
{
{al a2 a3 aS}
{ a9 alO al6 al7 alS}
{aS}
{ al9 }
{ a7}
{ al3 a14 a23 }
{ a6 a4}
*Coût: 103
*Décomposition- agrégation
* Décomposition
* Ensemble partitionné
{ a9 alO al6 al7 alS}
* Décompositionde cet ensemble
{ al7}
{ alS al6 alO a9}
* Augmentation du coût : 9
* Nouvelle partition
{
{aiS a16 alO a9}
{ al7}
{ a4 a6}
{ a23 al4 al3 }
{ a7}
{ a19}
{aS}
{aS a3 a2 al }
- 1S9-
Annexes
}
*Coût: 112
* Agrégation
* Ensembles agrégés
{ a18 al6 alO a9}
{ al7}
* Agrégation obtenue
{ al7 a9 alO al6 al8}
* Diminution du coût : 9
* Nouvelle partition
{
{ al7 a9 alO al6 aiS}
{al a2 a3 a5 }
{ a8}
{ al9}
{ a7}
{ al3 al4 a23 }
{a6a4}
}
* Coût: 103
* Partition obtenue
{
{ al7 a9 alO a16 al8}
{ al a2 a3 a5 }
{ a8}
{ al9}
{ a7}
{ al3 al4 a23 }
{ a6 a4}
*Coût: 103
* Stabilisation sur la partition
{
{ a4 a6}
{ a23 al4 al3 }
{ a7}
{ al9}
{ a8}
{ a18 al7 al6 alO a9}
{ a5 a3 a2 al }
*Coût: 103
* Boucle d'agrégation - décomposition
* Partition initiale
{a4a6}
{ a23 al4 al3 }
{ a7}
{ al9}
{ a8}
{ al8 al7 al6 alO a9}
{ a5 a3 a2 al }
}
*Coût: 103
* Agrégation - décomposition
* Agrégation
* Ensembles agrégés
{ al a2 a3 a5 }
{ al3 a14 a23 }
* Agrégation obtenue
- 190-
Annexes
{ a23 al4 al3 a5 a3.a2 al }
* Diminution du coût : 5
*Nouvelle partition
{
{ a23 al4 al3 a5 a3 a2 al }
{ a4 a6}
{ a7}
{ al9 }
{aS}
{aiS al7 al6 alO a9}
*Coût: 9S
* Décomposition
* Ensemble partitionné
{ a23 al4 al3 a5 a3 a2 al }
* Décompositionde cet ensemble
{ al3 al4 a23}
{ al a2 a3 a5 }
* Augmentation du coût : 5
* Nouvelle partition
{
{ al a2 a3 a5 }
{ al3 al4 a23 }
{ a9 alO al6 al7 aiS}
{aS}
{ al9}
{ a7}
{ a6 a4}
*Coût: 103
* Partition obtenue
{al a2 a3 a5}
{ a13 a14 a23 }
{ a9 alO al6 al7 aiS}
{aS}
{ al9}
{ a7}
{a6a4}
}
*Coût: 103
* Stabilisation sur la partition
{
{ a4 a6}
{ a23 al4 al3 }
{ a7}
{ al9}
{aS}
{aiS al7 al6 alO a9}
{ a5 a3 a2 al }
}
*Coût: 103
* Stabilisation sur la partition
{
{ a4 a6}
{ a23 al4 al3 }
{ a7}
{ al9}
{aS}
{ alS al7 al6 alO a9}
- 191 -
Annexes
{ a5 a3 a2 al }
}
*Coût: 103
* Partition finale
{
{ a4 a6}
{ a23 al4 al3 }
{ a7 }
{ al9 }
{ a8}
{ a 18 a 17 a 16 a 10 a9 }
{ a5 a3 a2 al }
}
*Coût: 103
* Nombre de tours de boucle externe : 1
* Nombre de tours de boucle décomposition- agrégation : 6
* Nombre de tours de boucle agrégation- décomposition: 1
*Temps de calcu! approximatif (en ms): 18
Le tableau suivant présente une comparaison des résultats de l'application des algorithmes
dans les deux sens (R2 puis Rl et Rl puis R2).
LOC_Start = uclock();
- 192-
Annexes
TraceStr("* Boucle exteme\n");
IncTab();
{
TraceStr("* Partition initiale\n");
TracePartition(LOC_ PrevZ);
TraceStr("* Coût : ");
Tracelnt(CostOfPartition(LOC_ PrevZ) );
TraceStr("\n ");
while(l)
{
++LOC_nl2;
LOC_NextZ = R1oR2(LOC_PrevZ);
if(EqualPartition(LOC_NextZ,LOC_PrevZ))
break;
FreePartition(LOC_ PrevZ);
LOC_PrevZ = LOC_NextZ;
while(1)
{
++LOC_n21;
LOC_NextZ = R2oR1(LOC_PrevZ);
if(Equa1Partition(LOC_NextZ,LOC _ PrevZ))
break;
FreePartition(LOC_ PrevZ);
LOC_PrevZ = LOC_NextZ;
- 193-
Annexes
LOC_Z_21 = DuplicatePartition(LOC_PrevZ);
else
{
do
{
++LOC_n;
TraceStr("* Boucle exteme\n");
IncTab();
{
TraceStr("* Partition initiale\n");
TracePartition(LOC_ PrevZ);
TraceStr("* Coût : ");
Tracelnt(CostOtPartition(LOC_ PrevZ) );
TraceStr("\n");
while(l)
{
++LOC_n21;
LOC_NextZ = R2oR1(LOC_PrevZ);
if(EqualPartition(LOC_NextZ,LOC_PrevZ))
break;
FreePartition(LOC_ PrevZ);
LOC_PrevZ = LOC_NextZ;
}
LOC_Z_21 = DuplicatePartition(LOC_PrevZ);
- 194-
Annexes
while(l)
{
++LOC_n12;
LOC_NextZ = R1oR2(LOC_PrevZ);
FreePartition(LOC_ PrevZ);
LOC_PrevZ = LOC_NextZ;
}
LOC_Z_12 = DuplicatePartition(LOC_PrevZ);
IncTab();
TraceStr("* Stabilisation sur la partition\n");
TracePartition(LOC_ Z_12);
TraceStr("* Coût : ");
Tracelnt(CostOfPartition(LOC_ Z _12));
TraceStr("\n");
DecTab();
- 195-
Annexes
TraceStr("\n ");
TraceStr("* Temps de calcul approximatif (en ms): ");
Tracelnt((unsigned int)LOC_ TimeLength);
- 196-
Sommaire
Présentation générale
1 Contexte du travail .......................................................................................................................... 8
2 Problématique ................................................................................................................................. 8
3 Plan de la thèse .............................................................................................................................. 10
- 198-