P. 1
These Impression

These Impression

|Views: 18|Likes:
Publié parDiwa Benmansour

More info:

Published by: Diwa Benmansour on May 03, 2012
Droits d'auteur :Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/03/2012

pdf

text

original

Année : 2000

N° d’ordre : 564


THÈSE
Présentée au Laboratoire d’Analyse et d’Architecture des Systèmes (LAAS)
du CNRS en vue de l’obtention du DOCTORAT de

l’Institut National des Sciences Appliquées (INSA) de Toulouse

Spécialité : Systèmes Industriels



par :

Jean-Pierre CAMALOT
Ingénieur INSA



_________________________________

Aide à la décision et à la coopération en gestion
du temps et des ressources

_________________________________




Soutenue le 31 mai 2000 devant le jury composé de MM.

Jacques Erschler Président
Jean-Pierre Campagne Rapporteur
Christian Tahon Rapporteur
Jean-Bernard Cavaille Examinateur
Patrick Esquirol Directeur de thèse







Rapport LAAS N° 00245





Remerciements

Je tiens à remercier Patrick Esquirol, mon directeur de thèse et Maître de Conférence à
l'INSA de Toulouse, pour la confiance qu'il m'a témoignée, pour la collaboration active et
productive que nous avons eu, pour ses encouragements, pour ses conseils, pour sa
disponibilité. J'ai particulièrement apprécié ses encouragements lorsque j'ai eu des moments
de doute et lors de la phase de rédaction du mémoire, ainsi que la qualité de ses remarques.
Je tiens également à remercier Jacques Erschler, Professeur à l'INSA, pour avoir
présidé ma soutenance, Jean-Pierre Campagne, Professeur à l'EMSE et Christian Tahon,
Professeur à l'Université de Valenciennes, pour avoir accepté d'être mes rapporteurs ainsi que
Jean-Bernard Cavaillé, Ingénieur de Recherche à l'ONERA et Professeur à l'ENSAE, pour
avoir accepté de participer au jury. J'ai particulièrement apprécié la prise en compte de
contraintes temporelles dures pour la lecture du mémoire, la qualité des remarques et l'intérêt
que le jury a eu pour ces travaux.
Ces travaux se sont déroulés au sein du groupe Organisation et Conduite de Systèmes
Discrets (OCSD) dirigé successivement par Jean-Claude Hennet et François Roubellat,
Directeurs de Recherche. Je tiens à exprimer ma gratitude envers tous les membres du groupe
pour leur accueil, pour leur soutien durant ces années et pour la qualité de leurs réponses à
mes questions. Je remercie Isabelle Bazet pour la patience dont elle a fait preuve lors de nos
discussions, Jérôme Delatour pour ses conseils sur UML et sur les réseaux de Petri, Luc
Hermitte pour ses conseils en programmation et Philippe Torres pour ses conseils en
ordonnancement.
Le travail effectué dans ce mémoire a été effectué au Laboratoire d'Analyse et
d'Architecture des Systèmes (LAAS) du CNRS. À ce titre, je remercie Monsieur le Professeur
Alain Costes et Monsieur le Directeur de Recherche Jean-Claude Laprie, directeurs du LAAS,
pour m'avoir accueilli dans cet établissement. Le LAAS offre un environnement humain et
matériel de grande qualité pour effectuer des travaux de recherche. J'ai apprécié l'accessibilité,
la gentillesse et la compétence de l'ensemble du personnel administratif et technique. En
particulier, je tiens à remercier Christian Berty pour ses conseils et la rapidité dont il a fait
preuve pour tous les travaux d'édition, Éliane Dufour pour les nombreux services rendus et
Véronique Villemur pour le suivi et l'attention qu'elle a portée à mon dossier de soutenance.
Parallèlement à ces activités de recherche, j'ai eu l'opportunité d'effectuer une activité
d'enseignement à l'INSA de Toulouse. Je tiens à exprimer ma gratitude à Jacques Erschler,
Professeur, et Bernard Pradin, Professeur, pour m'avoir accueilli au sein du département de
Génie Électrique et Informatique, ainsi qu'à tous les enseignants et à tous les techniciens avec
qui j'ai pu collaborer. En particulier, je tiens à remercier Colette Mercé, Professeur, et Patrick
Esquirol, Maître de Conférence, pour leur intérêt pour mes activités d'enseignement. Je tiens
également à exprimer toute ma sympathie à Bernard Fauré et Jean-Pierre Nograbat.

Je ne remercierai jamais assez ma famille (au sens large : mes parents, ma sœur
Isabelle, ma nounou Yvonne ainsi que Paul et Pierre, mes voisins et en particulier Marie-
Pierre) pour leur soutien inconditionnel depuis toujours.
De même, je tiens à remercier tous mes amis. En particulier, merci à Ramón
(l'Espagnol qui saute partout quand il n'est pas blessé), à Massou (le chasseur écolo), à
Isabelle (appelée aussi Massette, féminin de Massou), à Sandrine (que lui est-il arrivé cette
semaine ? à-t-elle oublié son passeport alors qu'elle doit prendre un avion dans 10 minutes ?),
à Violaine (mariée depuis l'été dernier et qui a migré vers Paris), aux amis du 2
nd
R4 et INSA
(qui est le prochain à se marier ?), aux amis du LAAS.
2 Remerciements




Sommaire

REMERCIEMENTS .............................................................................................................................. 1
SOMMAIRE............................................................................................................................................ 3
INTRODUCTION................................................................................................................................... 7
CHAPITRE I DÉCISION DISTRIBUÉE EN GESTION DU TEMPS ET DES RESSOURCES . 11
I.1. L’ENVIRONNEMENT DES ENTREPRISES EST FLUCTUANT, INCERTAIN ET COMPLEXE...................... 11
I.1.1. L’environnement technique.................................................................................................. 11
I.1.2. L’environnement économique .............................................................................................. 12
I.1.3. L’environnement social ........................................................................................................ 14
I.1.4. Le projet d’entreprise........................................................................................................... 15
I.2. LES STRUCTURES ORGANISATIONNELLES ..................................................................................... 16
I.2.1. Définitions............................................................................................................................ 16
I.2.2. Les structures hiérarchiques simples ................................................................................... 17
I.2.3. Les structures hiérarchiques fonctionnelles......................................................................... 18
I.2.4. Les structures matricielles ................................................................................................... 19
I.2.5. Les structures adhocratiques ............................................................................................... 20
I.2.6. Les entreprises virtuelles...................................................................................................... 21
I.2.7. Conclusion ........................................................................................................................... 22
I.3. LES STRUCTURES ORGANISATIONNELLES EN GESTION DU TEMPS ET DES RESSOURCES ................. 23
I.3.1. La gestion de production « classique »................................................................................ 24
I.3.2. La gestion de projet « classique »........................................................................................ 25
I.3.3. Les tendances actuelles ........................................................................................................ 26
I.4. CONCLUSION ................................................................................................................................ 27
CHAPITRE II FORMALISATION DE LA COOPÉRATION – L’APPROCHE PAR
CONTRAINTES ................................................................................................................................................. 29
II.1. DÉFINITION ET ASPECTS DE LA COOPÉRATION............................................................................. 29
II.1.1. Définition de la coopération ............................................................................................... 30
II.1.2. Différents aspects de la coopération................................................................................... 31
II.1.2.1 La coordination............................................................................................................................. 31
II.1.2.2 La collaboration et la codécision.................................................................................................. 32
II.2. LA PERSPECTIVE LANGAGE-ACTION ............................................................................................ 33
II.2.1. Cadre théorique .................................................................................................................. 34
II.2.1.1 La théorie des actes de langage .................................................................................................... 34
II.2.1.2 Les conversations ......................................................................................................................... 35
II.2.2. Usage de la perspective langage-action ............................................................................. 37
II.3. LES FLUX DE TRAVAIL OU « WORKFLOW » .................................................................................. 38
II.3.1. Définitions........................................................................................................................... 38
II.3.2. Modélisation de la coopération .......................................................................................... 40
II.3.2.1 La modélisation issue de la perspective langage-action ............................................................... 40
II.3.2.2 La modélisation par réseau de Petri et par réseau de contrôle d’information ............................... 41
II.4. LA COOPÉRATION DANS L’APPROCHE MULTI-AGENT................................................................... 44
II.4.1. Définitions........................................................................................................................... 44
II.4.2. Les protocoles de communication entre agents .................................................................. 46
II.4.2.1 Les catégories de communication................................................................................................. 46
II.4.2.2 Les messages et les conversations ................................................................................................ 47
II.4.3. Quelques approches dans les systèmes multi-agents .......................................................... 48
II.4.3.1 Approches générales..................................................................................................................... 48
II.4.3.2 Approches en gestion du temps et des ressources......................................................................... 50
II.4.4. Conclusion .......................................................................................................................... 52
II.5. L’APPROCHE PAR CONTRAINTES.................................................................................................. 53
II.5.1. Introduction ........................................................................................................................ 53
II.5.2. Réseau de centres de décision............................................................................................. 54
4 Sommaire

II.5.3. Coopération et coordination au sein d’un réseau............................................................... 55
II.6. CONCLUSION............................................................................................................................... 55
CHAPITRE III MODÉLISATION DES PROBLÈMES DE GESTION DU TEMPS ET DES
RESSOURCES.................................................................................................................................................... 57
III.1. MODÈLE GÉNÉRAL ASSOCIÉ À CHAQUE CENTRE......................................................................... 57
III.1.1. Variables, paramètres et contraintes................................................................................. 57
III.1.2. Fonctions de décision........................................................................................................ 58
III.1.3. Aide à la décision .............................................................................................................. 59
III.2. LES MODÈLES EN GESTION DU TEMPS ET DES RESSOURCES......................................................... 60
III.2.1. Le modèle général des CSP............................................................................................... 61
III.2.2. Modélisation de la planification de la production............................................................. 62
III.2.2.1 Horizons temporels ..................................................................................................................... 62
III.2.2.2 Les variables de décision et les paramètres ................................................................................. 64
III.2.2.3 Les contraintes ............................................................................................................................ 65
III.2.3. Modélisation des problèmes d’ordonnancement ............................................................... 66
III.2.3.1 Définitions................................................................................................................................... 66
III.2.3.2 Les variables de décision et les paramètres ................................................................................. 67
III.2.3.3 Les contraintes ............................................................................................................................ 67
III.2.3.4 Représentation des solutions ....................................................................................................... 69
III.2.3.5 Modélisation à l’aide de graphes................................................................................................. 70
III.3. LES TECHNIQUES D'OPTIMISATION ............................................................................................. 74
III.3.1. Les critères d'optimisation................................................................................................. 74
III.3.1.1 Les critères en planification de la production.............................................................................. 74
III.3.1.2 Les critères en ordonnancement .................................................................................................. 74
III.3.2. Modèles linéaires à variables réelles ................................................................................ 75
III.3.2.1 L’algorithme du simplexe pour le cas général............................................................................. 76
III.3.2.2 Le cas particulier du problème central ........................................................................................ 77
III.3.2.3 Un outil d’évaluation du volume de l’espace des solutions......................................................... 78
III.3.3. Modèles linéaires à variables mixtes ou discrètes............................................................. 80
III.3.4. Méthodes exactes et approchées pour les problèmes d’ordonnancement avec contraintes
de ressources ............................................................................................................................................... 81
III.4. CARACTÉRISATION DES SOLUTIONS ADMISSIBLES...................................................................... 83
III.4.1. Propagation de contraintes dans les CSP ......................................................................... 83
III.4.1.1 Introduction................................................................................................................................. 83
III.4.1.2 Consistances locales et filtrage ................................................................................................... 83
III.4.2. L’analyse sous contraintes des problèmes d’ordonnancement.......................................... 85
III.4.2.1 L’identification de conflits de partage de ressource.................................................................... 86
III.4.2.2 Le raisonnement énergétique ...................................................................................................... 87
III.4.3. Discussion ......................................................................................................................... 88
III.5. SYNTHÈSE.................................................................................................................................. 88
III.5.1. Aspect dynamique de la prise de décision ......................................................................... 89
III.5.2. Temps limité....................................................................................................................... 89
III.5.3. Inversibilité du modèle et paramètres partiellement connus............................................. 90
III.5.4. Décision sur les contraintes .............................................................................................. 91
III.6. CONCLUSION.............................................................................................................................. 92
CHAPITRE IV INTERACTIONS ET COMMUNICATION DANS UN RÉSEAU DE CENTRES
DE DÉCISIONS.................................................................................................................................................. 93
IV.1. UNE APPROCHE DYNAMIQUE DE L’AIDE À LA DÉCISION DISTRIBUÉE.......................................... 93
IV.2. STRUCTURE D’UN CENTRE ......................................................................................................... 94
IV.2.1. Classification des contraintes pesant sur un centre........................................................... 95
IV.2.2. Les contraintes organisationnelles .................................................................................... 96
IV.2.2.1 Les contraintes de structure......................................................................................................... 96
IV.2.2.2 Fonctionnement du réseau .......................................................................................................... 97
IV.2.2.3 Exemple en gestion de production .............................................................................................. 97
IV.2.2.4 Exemple en gestion de projets .................................................................................................... 98
IV.3. DÉCISION EN TEMPS LIMITÉ ..................................................................................................... 101
IV.3.1. Les différents états de la décision .................................................................................... 101
IV.3.2. Le problème de l’explosion du nombre d’états d’un modèle ........................................... 102
IV.3.3. Horizons temporels.......................................................................................................... 103
IV.3.4. Méta-modèle d’un réseau ................................................................................................ 104
Sommaire 5

IV.4. PROTOCOLE DE COMMUNICATION............................................................................................ 105
IV.4.1. Communication par envoi de message ............................................................................ 106
IV.4.1.1 Composition d’un message ....................................................................................................... 106
IV.4.1.2 Type de messages ..................................................................................................................... 107
IV.4.2. Conversations .................................................................................................................. 109
IV.4.2.1 Les conversations pour engagement ......................................................................................... 109
IV.4.2.2 Les conversations pour information.......................................................................................... 111
IV.4.3. Exemple : ......................................................................................................................... 111
IV.5. REPRÉSENTATION DE L’ÉTAT D’UN CENTRE............................................................................. 112
IV.5.1. Hypothèses, propositions et engagements ....................................................................... 113
IV.5.2. Structure arborescente..................................................................................................... 113
IV.5.3. Évolution de l’arborescence en fonction du temps .......................................................... 116
IV.5.3.1 Gel d'une variable ..................................................................................................................... 116
IV.5.3.2 Création/destruction de variables.............................................................................................. 117
IV.5.4. Évolution de l’arbre en fonction des conversations......................................................... 117
IV.5.4.1 Début d'une négociation............................................................................................................ 117
IV.5.4.2 Début d'une renégociation ou poursuite d'une négociation ....................................................... 118
IV.5.5. Évolution de l’arbre en fonction des interactions avec l’utilisateur................................ 119
IV.6. CONCLUSION ........................................................................................................................... 119
CHAPITRE V RÉALISATION D’UN ENVIRONNEMENT D’AIDE À LA DÉCISION ET À LA
COOPÉRATION .............................................................................................................................................. 121
V.1. LES BESOINS.............................................................................................................................. 121
V.1.1. Aide à la modélisation et à la résolution du problème...................................................... 121
V.1.2. Aide à la coopération........................................................................................................ 122
V.1.3. Aide à structuration du processus de décision.................................................................. 122
V.1.4. Prise en compte du temps.................................................................................................. 122
V.2. CADRE CHOISI ........................................................................................................................... 122
V.2.1. Description du réseau de centres...................................................................................... 123
V.2.1.1 Structure du réseau de centres .................................................................................................... 123
V.2.1.2 Fonctionnement du réseau de centres......................................................................................... 123
V.2.2. Modélisation du problème de décision de chaque centre.................................................. 126
V.2.2.1 Les centres projets...................................................................................................................... 126
V.2.3. Les centres métiers............................................................................................................ 127
V.3. SPÉCIFICATIONS D’UN SYSTÈME D’AIDE À LA DÉCISION............................................................ 127
V.3.1. Spécifications du réseau de centres de décision ............................................................... 127
V.3.2. Spécifications de chaque agent ......................................................................................... 129
V.3.2.1 Composition d’un agent ............................................................................................................. 130
V.3.2.2 comportement d’un agent........................................................................................................... 131
V.4. CONCEPTION ET RÉALISATION DE L’OUTIL D’AIDE À LA DÉCISION ............................................ 133
V.4.1. Choix de bibliothèques et de langage de programmation................................................. 133
V.4.2. L’interface graphique........................................................................................................ 134
V.4.2.1 La fenêtre de l’arborescence....................................................................................................... 134
V.4.2.2 La fenêtre des conversations ...................................................................................................... 135
V.4.2.3 La fenêtre de création de messages ............................................................................................ 136
V.5. CONCLUSION............................................................................................................................. 137
CONCLUSION ................................................................................................................................... 139
BIBLIOGRAPHIE.............................................................................................................................. 143
ANNEXE : LE LANGAGE UNIFIÉ DE MODÉLISATION (UML)............................................. 151
1.LES DIAGRAMMES DE CLASSES....................................................................................................... 152
2.LES DIAGRAMMES DE SÉQUENCE.................................................................................................... 153
3.LES DIAGRAMMES DE COLLABORATIONS........................................................................................ 154
4.LES DIAGRAMMES D’OBJETS........................................................................................................... 155



Introduction
Pour faire face à un environnement changeant, incertain et complexe, les entreprises
visent à améliorer leur réactivité. D'une part, en interne, les structures organisationnelles
classiques sont remises en cause dans le but de faciliter une interaction rapide entre acteurs et
décideurs. De nouvelles formes d'organisation sont mises en place telles que par exemple les
structures matricielles projets-métiers. D'autre part, de nouvelles formes de relations inter-
entreprises (par exemple les partenariats, les chaînes logistiques intégrées, les entreprises
virtuelles, les consortiums) sont constituées afin d'associer l'ensemble des moyens permettant
de conserver des marchés mais aussi d'en conquérir de nouveaux.
Dans les deux cas, le système global de pilotage qui en résulte est plus complexe car si
une certaine hiérarchie demeure, la distribution de la décision entre plusieurs entités pose le
problème de la définition d'objectifs communs et de la cohérence des décisions vis à vis des
objectifs privés et communs. La distribution des décisions permet d'accorder plus
d’autonomie aux différents décideurs afin qu’ils puissent réagir aux aléas et aux opportunités
d’une façon rapide et appropriée. Elle nécessite cependant une bonne qualité au niveau des
interactions (communication et coopération) entre les entités, afin d’assurer la cohérence
globale des décisions prises localement. Une coopération de bonne qualité doit permettre
d'éviter le recours fréquent à un arbitrage des conflits par la hiérarchie, qui risque d'être lourd
et lent.

Par ailleurs, le développement du processus d’informatisation des entreprises pose la
question du partage des tâches entre l’homme et la machine pour la prise de décision et la
coopération. La nécessité d’automatiser des traitements complexes pour la prise en compte de
certains aspects bien formalisés et prévisibles, est confrontée à la nécessité de laisser à
l’homme un rôle déterminant dans la décision pour la prise en compte des aspects difficiles,
voire impossibles à formaliser ou à prévoir.

Ce travail s'intéresse plus particulièrement au problème de l’aide à la décision
distribuée dans le domaine de la gestion du temps et des ressources (gestion de projet, gestion
de production) : les décideurs gèrent des ressources humaines et matérielles dans le temps.
Plus précisément il doivent déterminer les ressources précises permettant de réaliser un
ensemble de tâches (affectation), ainsi que les dates auxquelles ces tâches seront réalisées
(planification, ordonnancement). Ces problèmes sont connus pour leur complexité, même
lorsqu'ils sont considérés isolément (un seul décideur) et résolus séquentiellement : il n'existe
pas de méthodes de résolution automatique à la fois générales et efficaces, ce qui suggère une
approche de type aide à la décision. C'est ce que propose l'approche par contraintes pour l'aide
à la coopération [Huguet 94] qui sert de base à ce travail.

Nous supposons que les décisions sont distribuées au sein d’un réseau de centres de
décision interdépendants : les décisions d'un centre constituent des paramètres intervenant
directement dans les contraintes que doivent respecter d'autres centres. Cette interdépendance
peut amener les centres à rechercher des compromis à travers la négociation. Si, a priori,
aucun enchaînement strict n'est supposé entre les différentes prises de décision, le processus
de prise de décision en un centre est indissociable des processus de coopération entre centres.
En chaque centre et à un instant donné, plusieurs statuts de la décision (hypothèses,
propositions et engagements) doivent être considérés. Les hypothèses faites en un centre
permettent d'élaborer des décisions prévisionnelles mais rendent celles-ci conditionnelles. De
ce fait, il n’existe pas un modèle unique en chaque centre mais plusieurs qui diffèrent par
8 Introduction

leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des décisions
fixées) ; de plus ces modèles évoluent avec le temps. Des outils d’analyse et de résolution des
problèmes locaux basés sur des mécanismes de propagation de contraintes permettent, entre
autres, d’évaluer la consistance de ces différents modèles, de fournir des solutions
prévisionnelles.
Au problème de décision statique associé à un modèle donné, s’ajoute celui de la
gestion dynamique d’un ensemble de modèles et d’hypothèses. Cet ensemble évolue au fur et
à mesure que des négociations entre centres se développent et que de nouveaux éléments
surgissent qui confirment ou non les hypothèses faites pour préparer les décisions.

Nous avons intégré ces travaux dans la recherche que le groupe DIDOM mène dans la
domaine de la gestion multi-projets. DIDOM (Distribution des Décisions dans les
Organisations Matricielles) est un partenariat entre plusieurs laboratoires (CERT, CERTOP,
IRIT et LAAS) et un industriel. Ce projet réunit deux types de recherches complémentaires :
des analyses de terrain permettant d'évaluer et d'affiner des concepts et des modèles
théoriques de l'activité de planification dans un contexte de décision distribuée (approche
ascendante sous la responsabilité d'une équipe de sociologues), et des actions de
développement d'outils (approche descendante relevant des sciences pour l'ingénieur) ayant
pour but de fournir une aide à la décision et à la coopération. Le travail présenté dans ce
mémoire tente d'apporter une contribution à ce deuxième type de recherche.

Le reste du mémoire est organisé de la façon suivante.
Le premier chapitre a pour objet de rappeler l'origine des problèmes d'organisation
auxquels sont confrontés les entreprises actuelles dans le domaine de la gestion du temps et
des ressources, et la réponse qu'elles tentent d'apporter par une plus grande distribution des
décisions. Pour cela, différentes structures organisationnelles sont comparées, notamment
dans le cas de la gestion de projet et de la gestion de production. Nous concluons enfin sur
l'émergence d'une forme d'interaction favorisant une plus grande autonomie des décideurs,
essentiellement la coopération.

Le second chapitre s'intéresse donc naturellement à préciser le sens que nous donnons
à la coopération pour la prise de décision. Dans un premier temps, nous examinons les
différences qui existent entre des notions proches telles que la coopération, la coordination et
la négociation. Ensuite, nous nous intéressons au rôle que joue la communication dans la mise
en œuvre de ces différentes formes d’interaction au travers de la perspective langage-action.
Nous présentons l’exemple d’organisations possédant un modèle formel préétabli très achevé
des processus de travail et des flux d’information, le « workflow ». La coopération a été
également abordée dans les travaux relatifs aux systèmes multi-agents, qui s’intéressent à
l’intelligence émergent d’un système artificiel défini comme une société d’agents coopératifs.
Enfin, nous présentons l’approche dans laquelle nous nous inscrivons, l’approche par
contraintes pour la coopération dans les problèmes de gestion du temps et des ressources.

Le troisième chapitre présente les modèles et les techniques d’analyse et de résolution
des problèmes en un centre. Tout d’abord, le problème posé en un centre peut être représenté
par un modèle composé de variables de décision reliées entre elles par des contraintes. Les
contraintes mettent en relation des variables et différents paramètres liés aussi bien au centre
considéré qu’aux décisions d'autres centres du réseau. Différents traitements peuvent être
envisagés à l'aide de mécanismes de propagation de contraintes, selon le choix des variables
et des paramètres instanciés ou laissés libres avant propagation : résolution, consistance,
robustesse, explicitation de marges, etc.
Introduction 9


Le quatrième chapitre est consacré à la formalisation des interactions entre centres et à
la représentation du processus de décision en un centre. Dans un premier temps, nous
détaillons les aspects temporels de la prise de décision (décision et négociation en temps
limité, prise de décision périodique). Ensuite, nous proposons des protocoles de
communication entre centres permettant aux centres de coopérer. Enfin, nous nous intéressons
au problème de la représentation de l’état du processus de décision en un centre. Différentes
hypothèses, propositions et engagements ainsi que les déductions qui peuvent être inférées
caractérisent ce processus à un instant donné, selon une arborescence de modèles. L'évolution
de cette représentation est étudiée afin de concevoir un outil permettant au décideur de suivre
et de contrôler ce processus de décision.

Le cinquième chapitre présente le logiciel que nous avons développé pour tester notre
approche. L'exemple choisi concerne la gestion multi-projet. Des centres projets sont en
compétition pour l’attribution de ressources gérées par des centres métiers. Les spécifications
du système d’aide à la décision distribué sont données, ainsi que les techniques et langages
employés pour réaliser ce logiciel.

Nous concluons enfin sur le travail ultérieur qui mériterait de compléter notre étude.




Chapitre I Décision distribuée en gestion du
temps et des ressources

Les nouvelles technologies de l'information, Internet, la nouvelle économie, l'écoute
du client, la personnalisation des produits, la gestion des ressources humaines, etc. sont autant
de concepts que les entreprises doivent considérer afin de se survivre et de progresser. En
effet, l'environnement, technique, économique et social des entreprises devient de plus en plus
fluctuant, incertain et complexe. Les entreprises cherchent donc à maîtriser trois paramètres :
les coûts, les délais et la qualité. Pour cela, les décideurs cherchent à optimiser l'usage des
ressources humaines et matérielles dans le temps.
La distribution nécessaire des décisions au sein de l'entreprise est abordée en étudiant
des structures organisationnelles caractéristiques. Nous verrons enfin comment ces principes
organisationnels sont appliqués dans deux domaines de gestion du temps et des ressources : la
gestion de production et la gestion de projet.

I.1. L’environnement des entreprises est fluctuant,
incertain et complexe

Afin de pérenniser leur existence et d’assurer leur compétitivité, les entreprises
actuelles doivent faire face à un environnement fluctuant, incertain et complexe. En effet,
l’environnement technique, économique et social des entreprises a évolué de façon notable
ces dernières années.

I.1.1. L’environnement technique

Les progrès techniques qui ont le plus bouleversé l’environnement des entreprises
sont :
• les facilités de transport des biens. Les moyens de transport deviennent de plus en
plus performants et économiques. De nos jours, toutes sortes de marchandises peuvent
être transportées que ce soit par terre (exemple : camion, train), par mer (exemple :
cargo, pétrolier) ou par air (exemple : avions, dirigeables). Par exemple, la société
Airbus transporte des parties d’avions entre ses sites de construction en moins d’un
jour.
• les moyens de calcul. L’informatisation croissante et l’évolution de la puissance des
moyens de calculs permettent d’automatiser certaines tâches, de faire des calculs
complexes plus rapidement. Après guerre, seules quelques entreprises pouvaient
bénéficier de gros ordinateurs. De nos jours, les micro-ordinateurs sont couramment
utilisés dans toutes les entreprises.
• les moyens de production. L’automatisation, les nouveaux procédés et les nouvelles
matières permettent d’avoir des produits toujours plus complexes, plus variés, plus
innovants et toujours plus rapidement. À titre d’exemple, le secteur automobile
conçoit un nouveau véhicule en moins de trois ans (contre cinq il y a quelques
12 Décision distribuée en gestion du temps et des ressources

années). Ces véhicules intègrent de nouveaux équipements (airbags, électronique
embarquée, etc.) et deviennent plus complexes à réaliser (et à réparer aussi).
• les nouvelles technologies de l’information et de la communication. Les
informations peuvent se transmettre en temps réel à travers le monde (grâce à Internet
par exemple). L’information devient même un enjeu stratégique (informations sur les
concurrents, informations sur les partenaires) et un produit commercial. La plupart des
entreprises ont un site d’information et d’achat « en ligne » sur Internet.

transport
information et
communication
moyens de
calcul
moyens de
production
environnement
technique

figure 1 : la gestion de l’environnement technique est complexe

Les entreprises tirent parti de ces innovations technologiques pour gagner, notamment,
en productivité. Mais, le nombre des progrès techniques et surtout la rapidité des changements
font que la gestion de cette technologie n’est pas plus simple. En effet, la prise en compte
d’un plus grand nombre de décisions en un délai de plus en plus court, entraîne une
complexité accrue du système d’information.

I.1.2. L’environnement économique

En ce qui concerne l’évolution économique, nous pouvons constater une saturation des
marchés qui a provoqué le passage d’une économie de production (demande supérieure à
l’offre) à une économie de marché (offre supérieure à la demande). Autrefois, les entreprises
vendaient aux clients ce qu’elles avaient décidé de produire. De nos jours, elles produisent ce
qu’elles peuvent vendre. De plus, la concurrence à laquelle elles sont soumises s’est aggravée
encore avec la mondialisation des marchés ([Schweyer 96]).
Dans [Monateri 97], l’auteur souligne que, au moins dans le secteur automobile, on est
passé d’un régime d’optimisation productive à un régime de gestion de la variété. En effet, les
entreprises sont passées d’un mode d’optimisation où économies d’échelle et économies de
vitesse prédominaient, à un régime d’optimisation où économies de variété et économies de
vitesse prédominent (voir la figure 2). Toutes ces économies ont pour but d’abaisser le coût du
produit en agissant différemment sur les moyens de production. Les économies d’échelles
apparaissent, théoriquement, lorsque la capacité de production augmente, et mènent à une
L’environnement des entreprises est fluctuant, incertain et complexe 13

standardisation des produits et des procédés (politique adoptée par Ford dans les années 20).
Les économies de vitesse résultent d’une plus grande fluidité des flux et entraînent une
réduction des stocks. Les économies de variété résultent de la possibilité de réaliser plusieurs
produits (peu différents) sur une même ligne de production.


Régime d’optimisation de la
gestion de production :
• Priorité aux économies d’échelle
et de vitesse : tension des flux et
réductions des stocks
• Positionnement concurrentiel sur
les coûts
Régime d’optimisation du rapport
entre variété et tension des flux :
• Priorité aux économies de variété et
de vitesse : produits personnalisés,
vitesse de rotation des encours
• Positionnement concurrentiel fondé
sur la différentiation des produits et
sur les coûts

figure 2 : évolution du triptyque standardisation, rapidité, variété

Ainsi, dans un tel contexte, l’orientation économique vers les besoins des clients
devient le facteur clé du succès. Afin de suivre ce principe dans un monde de très forte
concurrence, le facteur temps, donc la rapidité et la réactivité de l’entreprise sont de plus en
plus à développer. Il est alors indispensable de pouvoir s’adapter rapidement aux situations
imposées par la concurrence et par le client. Pour faire la différence face à la concurrence,
l’entreprise doit montrer sa capacité à innover et la qualité de ces produits.

Depuis quelques années, la nouvelle économie est apparue d’abord aux États-Unis. Ce
terme désigne la croissance tirée par les nouvelles technologies. Elle reprend toutes les
caractéristiques citées ci-dessus et résumées sur le Tableau 1.

ancienne économie nouvelle économie
caractéristiques économiques :
marchés stables dynamiques
compétition nationale globale et locale
industrie :
organisation de la production production de masse production flexible
facteurs de production capital/travail innovation/connaissance
sources d’avantages comparatifs économies d’échelle et de
vitesse
économies de variété et de
vitesse
Tableau 1 : les effets de l’évolution de l’économie
14 Décision distribuée en gestion du temps et des ressources

Le changement de l’environnement économique a poussé les entreprises à tenir de plus
en plus compte des aspects délais, qualité, coûts, innovation. Ainsi, les entreprises doivent
être plus ouvertes aux besoins du client, à l’attente du marché.

I.1.3. L’environnement social

L’environnement social de l’entreprise change notamment le rapport de l’homme face
au travail.
D’une part, la nature des tâches à réaliser par l’homme a été modifiée. En effet, on
assiste à :
• une diminution de l’effort physique due à l’utilisation des robots (convoyage,
manipulation, usinage…)
• une augmentation des tâches de surveillance, de supervision, de communication
• une distribution de la décision qui favorise la réactivité. Il faut donc susciter des
initiatives chez des catégories de personnel qui n’en avaient autrefois aucune.
• une mobilité des travailleurs. Ceux-ci ne sont plus cantonnés à un emploi ou à une
compétence tout au long de leur carrière. Les entreprises leur demandent de s’adapter
à de nouveaux métiers. Il faut donc que l’homme possède des compétences variées et
transdisciplinaires.

De plus, les attentes des travailleurs ont évolué. Le niveau d’éducation moyen et le
niveau de vie augmentent. De nos jours, 70 % des personnes d’une classe d’âge ont le
baccalauréat et de plus en plus de personnes arrivent à satisfaire les besoins primaires
(nourriture, logement, etc.). Les travailleurs ne sont plus non seulement préoccupés par
l’aspect financier du travail mais ils cherchent également à s’épanouir dans le travail. Les
entreprises doivent expliquer le but des tâches à effectuer et proposer ou tenir compte des
plans de carrières (voir [Jagou 93]). De plus, la nature du management du personnel évolue de
relations basées sur l’adversité vers des relations basées sur la collaboration.

avant maintenant
buts politiques plein-emploi adaptabilité et plus hauts
revenus
buts personnels besoins primaires (nourriture,
logement…)
besoins secondaires
(épanouissement, projet
personnel…)
compétences compétences spécifiques compétences variées et
transdisciplinaires
éducation requise une compétence ou un diplôme un apprentissage à vie
management du personnel adversité collaboration
nature de l’emploi stable risque et opportunité
Tableau 2 : les effets de l’évolution sociale

Enfin, les entreprises doivent également tenir compte de l’environnement politique,
administratif et local (aménagement du territoire, qualité de l’environnement, formation,
emploi…).

L’environnement des entreprises est fluctuant, incertain et complexe 15

I.1.4. Le projet d’entreprise

Le projet d’entreprise a pour but d’affirmer la mission et les valeurs de l’entreprise.
Outre la mission d’assurer la pérennité et le devenir de l’entreprise, ces valeurs sont : l’écoute
et la satisfaction des clients, la satisfaction des actionnaires, l’épanouissement des hommes et
des femmes qui composent l’entreprise, la recherche de la qualité.
De nos jours, trois grands objectifs étroitement liés constituent les lignes directrices de
l’entreprise ([Jagou 93]):
réduction des délais
réduction des coûts
amélioration de la qualité.

• réduction des délais
• réduction des coûts
• amélioration de la qualité
• juste à temps (JIT)
• design-to-manufacturing
• concurrent engineering
• benchmarking
• qualité totale
• groupes d'amélioration
• cercles de qualité
• normes ISO9000

figure 3 : méthodes permettant de tendre vers les objectifs

Actuellement, trois techniques sont utilisées pour réduire les délais. La première
technique est le « juste à temps » JAT (ou just-in-time JIT). Cette technique s’attache à
réduire la surproduction et les stocks afin de pouvoir déceler et résoudre les vrais problèmes
de la production. La deuxième méthode, le « design-for-manufacturing » est une démarche
que le bureau d’étude doit intégrer afin de réduire la complexité des produits, réduire le
nombre de pièces qui les composent afin de diminuer le cycle conception-fabrication. Les
ingénieurs doivent intégrer les difficultés et spécificités des autres métiers (méthode,
fabrication, logistique). Enfin, le concurrent engineering est une approche systématique pour
la conception simultanée d’un produit et des services qui lui sont associés, y compris la
fabrication et le soutien.
Afin de réduire les coûts, le « benchmarking » consiste à rechercher en dehors de
l’entreprise les modes et les méthodes de conception, fabrication, distribution dans un
domaine proche. La comparaison des résultats internes aux meilleurs résultats observés à
l’extérieur de l’entreprise permet d’identifier les faiblesses de l’entreprise, d’imaginer et de
mettre en œuvre des moyens qui leur permettront de revenir à un bon niveau. Cette démarche
consiste également à identifier les compétences de l’entreprise et à sous-traiter,
éventuellement, une partie de ses activités dont l’étude lui aurait prouvé l’absence de
rentabilité ([Jagou 93]).
Les méthodes comme la gestion de la qualité totale, les groupes d’amélioration de la
qualité ou les cercles de qualité permettent d’améliorer la qualité des produits, notamment
en négociant avec le client la qualité souhaitée du produit, en impliquant tous les acteurs de
l’entreprise. Auparavant, la qualité était la préoccupation du service qualité. Actuellement,
tous les acteurs de l’entreprise, et même les sous-traitants, sont impliqués dans la recherche de
16 Décision distribuée en gestion du temps et des ressources

qualité. Dernièrement, l’apparition des normes internationales ISO9000 (1,2,3) a permis de
normaliser les relations donneurs d’ordre/sous-traitants. La certification ISO9000 d’une
entreprise est un label de qualité basé sur une démarche volontariste.

environnement
− technique
− économique
− social
le projet d’entreprise :
− réduction des délais
− réduction des coûts
− amélioration de la qualité

figure 4 : impacts de l'environnement sur l'organisation de l'entreprise

Parmi les changements qui peuvent affecter les entreprises, on s’intéresse désormais à
ceux qui peuvent affecter son organisation, à la fois dans la structure et dans son
fonctionnement, tout en mettant en œuvre le projet d'entreprise (voir figure 4).

I.2. Les structures organisationnelles

Afin de limiter l’influence d’un environnement changeant et incertain et de mettre en
œuvre le projet d’entreprise, les responsables se penchent sur les relations durables entre les
individus et certaines composantes. Les décisions portent sur la définition des responsabilités
et sur les règles qui régissent la prise de décision. Ils définissent l’organisation.
Dans un premier temps, nous allons voir quelques définitions sur l’organisation et des
structures organisationnelles. Leur analyse nous permettra de cerner comment la distribution
des décisions est abordée.

I.2.1. Définitions

Le concept d’organisation recouvre de façon indissociable l’action d’organiser et le
résultat de cette action, la structure (voir le Larousse 97, [Schweyer 96 ] et [Maggi et al 00]).
La structure décrit la manière dont les différents organes et individus de l’entreprise sont
agencés, mis en relation. On peut distinguer plusieurs types de relations :
• la communication informelle qui permet l’ajustement mutuel et donc l’exercice des
pouvoirs réciproques de persuasion.
Les structures organisationnelles 17

• les relations hiérarchiques qui supportent l’intervention directe de certains organes
dans le travail des autres.
• la répartition des compétences qui définit un réseau de pouvoirs expertaux et
détermine la standardisation des tâches, c’est-à-dire des normes qui en régissent
l’exécution.

Une organisation est un phénomène artificiel crée par l’homme : il y a donc
intentionnalité pour créer une entité concrète. On a donc la mise en acte d’un ordre, orienté
vers un but.
L’action organisationnelle est « un agir qui met en relation […] les moyens par rapport
aux fins, c'est-à-dire une forme d’agir rationnel » (tiré de [Maggi et al 00]). Cette rationalité
est intentionnelle et limitée. En effet, ni les moyens, ni les fins ne peuvent être considérés
comme absolument rationnels ; les décisions ne sont jamais prises dans des conditions de
certitude. Le Tableau 3 (emprunté à [Maggi et al. 00]) résume une comparaison entre la
rationalité objective (que l'on attribue aux économistes) et la rationalité intentionnelle et
objective (concept développé par Simon). Selon ce schéma, le décideur n'a pas la
connaissance complète et il ne choisit jamais la meilleure alternative. Plutôt que de chercher à
maximiser son utilité, il cherche des solutions suffisamment bonnes ou satisfaisantes.

rationalité objective rationalité intentionnelle et limitée
toutes les alternatives des actions possibles
sont connues
la connaissance des alternatives d'action est
incomplète
il est possible de calculer toutes les
conséquences de chaque stratégie
la connaissance des conséquences de l'action
est fragmentaire
le sujet agissant a une fonction d'utilité exacte
pour ces choix qu'ils soient actuels ou futurs
les préférences ne sont pas parfaitement
ordonnables et leur variation dans le temps
n'est pas prévisible
Tableau 3 : rationalité objective et rationalité intentionnelle et limitée

La structure organisationnelle apparaît comme l’ensemble des moyens qui assurent
une répartition des pouvoirs adaptée à l’identification et à la coordination des composantes de
l’organisation.
La structure organisationnelle est donc un puissant support d’unification, de
coordination et donc de survie de l’organisation en fonctionnement (de Mintzberg, cité dans
[Dupuy 1992]).

Les notions d’organisation et de structure organisationnelle ayant été précisées,
examinons quelques structures organisationnelles caractéristiques.

I.2.2. Les structures hiérarchiques simples

La hiérarchisation organisationnelle exprime, et souvent formalise, la différence entre
ceux qui commandent et ceux qui exécutent. La commande est ici entendue au sens large de
conception, de répartition et de contrôle des tâches à réaliser pour atteindre les finalités de
l’organisation.
Le mécanisme de hiérarchisation se développe dès que la complexité organisationnelle
atteint un niveau suffisant. Les différentes composantes restent relativement indifférenciées.
18 Décision distribuée en gestion du temps et des ressources

Mintzberg a défini un modèle de « configuration structurelle simple ». La figure 5
présente un exemple de structure simple sous forme d’organigramme. Voici quelques
caractères essentiels du modèle de Mintzberg :
• coordination par supervision directe.
• centralisation marquée au sommet de l’organisation.
• situation de faible complexité de l’environnement et de la technique mais grande
adaptabilité.
• forte adhésion au pouvoir de la direction.


Dirigeant propriétaire
Secrétaire aide-comptable
Vendeurs

figure 5 : un exemple de structure simple
Dans une telle structure, l’intégration est naturellement réalisée grâce à la
communication directe et informelle. Cependant si l’organisation poursuit sa croissance, ces
mécanismes deviennent rapidement lourds, complexes voire inefficaces.

I.2.3. Les structures hiérarchiques fonctionnelles

Au-delà d’un certain niveau de complexification, de variété des tâches à accomplir,
toutes les organisations doivent diviser et spécialiser le travail. On obtient alors un
renforcement des compétences, donc d’efficacité, par l’apprentissage puis la répétition
d’ensembles de tâches relativement bien délimitées et codifiées. Il en résulte l’apparition de
pouvoirs expertaux, liés à la compétence.

Une conception fonctionnaliste descendante de la structure, largement inspirée par la
vision rationaliste et techniciste des ingénieurs, permet d’avoir une coïncidence pure et simple
entre les sources de pouvoirs expertaux et hiérarchiques. Tant que la spécialisation et la
séparabilité des tâches sont techniquement et économiquement justifiées, elles coïncident
avec la logique de la hiérarchisation (voir un exemple sur la figure 6).

La pérennité et l’efficacité de ce type de structure supposent une stabilité fonctionnelle
bien établie, autrement dit des processus opérationnels peu évolutifs. Cela va généralement de
pair avec une spécialisation poussée, une formalisation très développée ainsi qu’une
centralisation et une planification bien élaborées. Ces tendances se renforcent naturellement et
conduisent à la limite à des formes bureaucratiques (mécanistes ou professionnelles).

Les formes bureaucratiques mécanistes, que l’on rencontre essentiellement dans les
grandes industries, reposent sur la standardisation des procédés de travail et leur extrême
formalisation. Les bureaucraties professionnelles sont fondées sur la standardisation des
Les structures organisationnelles 19

formations et des compétences et le contrôle par les pairs (exemple : universités et cliniques).
Ces formes bureaucratiques risquent de dériver notamment à cause de :
• l’excès de coordination par intervention directe (risque de blocage des niveaux
supérieurs).
• la concentration et la formalisation excessives de l’information le long de la ligne
hiérarchique.
• le manque de motivation et d’adaptabilité au sein de l’organisation

Direction générale
Secrétariat général
Direction
production
Direction
commerciale
Direction
administrative et
financière
Direction
du
personnel
Études
méthodes
Fabrication Études
publicité
Ventes Comptabilité
contrôle
Études
organisation

figure 6 : une structure hiérarchique par fonctions

I.2.4. Les structures matricielles

Les bases hiérarchiques et fonctionnelles reposent sur des hypothèses de cohérence et
de stabilité des tâches. Au-delà de certains seuils de complexité et d’incertitude, de nouveaux
découpages dans l’espace et le temps apparaissent.
Dans l’espace, cela conduit à privilégier une logique ascendante. L’homogénéité est
recherchée par recomposition autour d’ensembles d’opérations homogènes et non par
décomposition. On obtient alors une structure divisée par produit et par marché.
Généralement, en situation très évolutive, cette différentiation spatiale est
accompagnée d’une différentiation temporelle.
La structuration trouve alors son fondement dans l’identification et dans la résolution
de problèmes temporaires non répétitifs, auxquels sont logiquement associés des processus
décisionnels ad hoc.

Les structures matricielles (voir exemple sur la figure 7) acceptent et formalisent des
schémas de structure à la fois multirelationnels et évolutifs. Dans ces structures, on remet en
cause la prééminence du hiérarchique sur le fonctionnel, du formel sur l’expertal.

Les structures matricielles abandonnent ainsi le principe excessivement contraignant de
l’unité de commandement. Il évite la démultiplication injustifiée des spécialistes fonctionnels
aux différents niveaux de la structure. Il raccourcit les circuits de communication et facilite la
collaboration entre les spécialités et les professionnels de toutes origines.
La structure matricielle constitue, par conséquent, un aboutissement affiné de la
différenciation organisationnelle. Mais elle amplifie les problèmes d’attribution des
compétences, de communication, d’ajustement des objectifs. Elle tend donc à exacerber des
conflits.
20 Décision distribuée en gestion du temps et des ressources


Directions
fonctionnelles
(métiers)
Direction
générale
Comités Coordination
Direction
de division
Directions de
marchés
(ou de projets)
Groupes
organiques

figure 7 : le principe de la structuration matricielle

I.2.5. Les structures adhocratiques

L’intégration peut être définie comme une réponse structurelle de l’évolution et du
fonctionnement de l’organisation. Une incertitude naît de la distance entre les composantes de
la structure : distance spatiale, distance temporelle ou distance culturelle. Pour la réduire,
deux logiques générales et complémentaires sont envisagées :
• l’une de décentralisation des pouvoirs, donc de rapprochement entre point de décision
et lieux et dates d’émergence des problèmes. On peut avoir décentralisation
horizontale et décentralisation verticale.
• l’autre d’adhésion, qui facilite ou exprime la convergence des langages et des
objectifs entre les composantes de l’organisation.

Une structure adhocratique est identifiée par l’existence de relations particulièrement
intenses entre organes d’origines variés, mais concourants à la réalisation de tâches
homogènes, et généralement complexes. Elle va de pair avec une décentralisation sélective de
certains pouvoirs (tiré de [Dupuy 92]).
L’émergence des formes adhocratiques résulte de la convergence entre les objectifs
individuels et les objectifs organisationnels. Elle correspond autrement dit à l’apparition d’un
consensus autour de projets particulièrement motivants. C’est pourquoi elle peut ne concerner
qu’une partie de la structure. Par exemple, des adhocraties opérationnelles se forment
régulièrement au sein des divisions organisationnelles à l’occasion du lancement d’un
nouveau produit.
Les adhocraties supposent des communications d’une intensité et d’une qualité élevées
(ajustement mutuel). En raison de leurs propriétés de complexité et d’instabilité, les structures
adhocratiques se prêtent mal aux représentations formelles par organigrammes. La
symbolique offerte par ces derniers est trop pauvre et trop statique. La figure 8 montre un
exemple de chaîne de télévision. Il montre que les entités adhocratiques opérationnelles
s’identifient sans liaison formelle avec le reste de la structure.

Les structures organisationnelles 21


Direction
Services
fonctionnels
Services
fonctionnels
Lieux de production (studio)
Programme
régional 1
Programme
régional 2
Réalisateurs
de film
Réalisateurs
de film
Partie formelle
classique de la
structure
Constellation d’entités opérationnelles adhocratiques

figure 8 : une adhocratie opérationnelle

C’est donc en réservant une place essentielle à la communication et à l’adaptation que
les adhocraties suscitent des mécanismes fortement adaptateurs. Elles impliquent chaque
individu, chaque cellule organisationnelle au point que la réussite des uns dépend de celle des
autres et réciproquement. Cela suscite nécessairement des mécanismes d’autocontrôle donc
des risques de conflits très élevés. C’est pourquoi les formes adhocratiques restent par
définition jeunes et transitoires.

I.2.6. Les entreprises virtuelles

Pour faire face à la concurrence dans un marché donné (automobile,
électroménager…), les entreprises peuvent monter un projet temporaire. Elles mettent en
place un mécanisme appelé entreprise virtuelle.


figure 9 : exemple d'une entreprise virtuelle qui est devenue un consortium

Une entreprise virtuelle est un réseau d’unités géographiquement dispersées mais
gérées comme une seule unité ; les sous-unités peuvent être sous gestion séparée
([Rolstadas 95]). Une entreprise virtuelle est créée pour répondre à un marché spécifique. Elle
22 Décision distribuée en gestion du temps et des ressources

facilite le partage rapide des ressources et des informations. Dans les meilleurs des cas, elle
permet de réduire les temps de production, les coûts de production et d’obtenir une meilleure
exploitation des opportunités du marché.

Une entreprise virtuelle a une durée de vie limitée. Par exemple, plusieurs entreprises
peuvent s’associer pour répondre à un appel d’offre gouvernemental. Une fois, le contrat
terminé, l’entreprise virtuelle est dissoute.
Une entreprise virtuelle peut devenir plus permanente, les entreprises constituantes
nouant leurs forces pour répondre à une croissance du marché. L’entreprise virtuelle se
transforme alors en consortium ou en entreprise étendue (voir la figure 10 et [Park et al. 98]).
Airbus est un exemple d’entreprise virtuelle (fondée en 1967) qui s’est transformée en
consortium (en 1970) et qui va certainement se transformer en entreprise étendue.

entreprise
étendue
consortium
entreprise
virtuelle
stabilisation du partenariat
stabilisation du
segment de marché
stabilisation du segment de marché
réduction des coûts
dynamisme
maturité
du marché
opportunité

figure 10 : évolution d'une entreprise virtuelle

Les entreprises virtuelles doivent posséder une structure légère et flexible. Comme
pour les adhocraties, ces structures demandent une intensité des communications entre les
acteurs et des mécanismes de coopération de coordination parfaitement définis. Pour cela, les
processus peuvent être formalisés à l’aide de workflow (cf. II.3 et [Afsarmanesh et al. 98]).
Ces structures utilisent toutes les possibilités offertes par les nouvelles technologies de
l’information : groupware, réseau privé virtuel, partage de base de données ([Zhang et al. 99],
[Favrel 98], [Park et al. 98] et [Davilvu et al 99]).

I.2.7. Conclusion

Différentes structures d’organisation (intra ou inter entreprises) viennent d’être
présentées. Les décideurs mettent en œuvre ces principes organisationnels, essentiellement, en
tenant compte de deux critères : l’incertitude et la complexité. Au sein d’une même entreprise,
plusieurs structures peuvent apparaître (comme le montre la figure 8).

Néanmoins, on a pu voir apparaître des façons différentes d’aborder la répartition des
décisions. En effet, les structures hiérarchisées simples et fonctionnelles (comme les
bureaucraties) ne résistent pas à l’incertitude à cause de la hiérarchie prédominante. Les
Les structures organisationnelles en gestion du temps et des ressources 23

structures adhocratiques et matricielles résistent à l’incertitude et nécessitent de nombreuses
interactions mais peuvent exacerber les conflits et les problèmes de communication.

f
o
r
t
e
l
i
m
i
t
é
e
limitée forte
standardisation
complexité
p
r
o
f
e
s
s
i
o
n
n
a
l
i
s
a
t
i
o
n
a
d
h
é
s
i
o
n
incertitude
structure
simple
adhocratie
opérationnelle
bureaucratie
professionnelle
bureaucratie
mécaniste
Structures
matricielles
entreprise
virtuelle

figure 11 : la logique générale des réponses structurelles en fonction de
l’incertitude et de la complexité

Nous venons de voir des principes généraux d’organisation. Quelles sont les
caractéristiques des organisations du point de vue de résolution des problèmes de gestion du
temps et des ressources ?

I.3. Les structures organisationnelles en gestion du
temps et des ressources

Afin d'optimiser les délais, les coûts et la qualité de fabrication des produits, les
décideurs doivent gérer les ressources humaines et matérielles dans le temps. Habituellement,
on distingue deux problématiques : la gestion de projet et la gestion de production.
Dans le premier cas, le projet, très peu récurrent voire unique, est composé d'un grand
nombre de tâches à réaliser. L'ensemble des ressources est mobilisé sur une période de temps
assez grande. La complexité du problème provient en grande partie du grand nombre de
tâches et des synchronisations nécessaires entre moyens et buts… Ces projets concernent par
exemple la construction navale, les ouvrages publics, la construction aéronautique et spatiale,
mais aussi, la conception et la réalisation de nouveaux produits (en automobile, en génie
logiciel), etc.
La gestion de production se rapporte à la réalisation de produits dont la variabilité, tant
au niveau de la demande que des processus de fabrication, pose des problèmes d'organisation.
Les commandes peuvent être nombreuses et chaque commande joue le rôle d'un nouveau
projet. La complexité n'est pas intrinsèque à un projet mais à la coordination de différents
projets ; la répartition des ressources est au cœur de la problématique. Cette problématique se
rencontre dans les ateliers (par exemple usinage), dans les activités de service ou dans les
problématiques multi-projets.
24 Décision distribuée en gestion du temps et des ressources


?
?
?
gestion de projet : grand nombre de
tâches, durée importante
gestion de production : partage
de ressources

figure 12 : gestion de projet et gestion de production

I.3.1. La gestion de production « classique »

Classiquement, la gestion de production met en place une structure hiérarchisée
fonctionnelle. En effet, pendant très longtemps, l’objectif principal a été la recherche d’une
très grande efficacité de l’outil de production, étant donné un ensemble de produits dont les
caractéristiques technico-commerciales évoluaient peu.

Généralement, toute l’organisation de l’entreprise est structurée par fonctions ou
services, spécialisés et liés hiérarchiquement (voir un exemple sur la figure 13). En fait, cette
hiérarchie obéit à un modèle de résolution de problème, décomposant les décisions en trois
niveaux :
• Le niveau stratégique définit principalement la politique et les objectifs généraux de
l’entreprise. À ce niveau, les décisions se prennent à long terme (2 à 5 ans) par la
direction (portefeuille d’activités, investissement).
• Le niveau tactique assure la gestion du travail et des moyens de production dans le
cadre des décisions stratégiques. Il s’agit en général de définir un plan de production
et un plan d’utilisation des moyens disponibles à moyen terme (6 à 18 mois par la
planification et l’ordonnancement à moyen terme).
• Le niveau opérationnel régit en détail la fabrication proprement dite. Il définit par
exemple le séquencement et l’ordonnancement des opérations de fabrication sur les
moyens de production, l’affectation des ouvriers, etc. À ce niveau, les décisions sont
prises à court terme (jour ou semaine) par des services comme l’ordonnancement
quotidien, le réordonnancement temps réel ou le lancement.

La coordination au sein de cette structure s’exerce a priori par un contrôle vertical
(hiérarchique). Ce genre de structure a besoin d’un environnement relativement stable
(demandes régulières, concurrence faible ...).

Les structures organisationnelles en gestion du temps et des ressources 25

Plan directeur de
production
Planification
Ordonnancement
Système de production
Programme de production
Volumes de production
Ordres de fabrication
Niveau stratégique
Long terme (2à 5 ans)
Niveau tactique
moyen terme (6 à 18 mois)
Niveau opérationnel
Court terme (jour ou semaine)

figure 13 : un exemple d'organisation en gestion de production

I.3.2. La gestion de projet « classique »

Traditionnellement, la gestion de projet est abordée de façon fonctionnelle ou
divisionnelle.

Dans la forme fonctionnelle (voir figure 14), aucun individu n’a la responsabilité du
processus global. Ce sont les responsables hiérarchiques qui assurent l’allocation et la
coordination des différentes personnes et ressources mobilisées dans le projet. Par contre, on
désigne un facilitateur de projet que l’on peut considérer comme le véritable chef de projet. Il
fait circuler l’information et propose des suggestions aux différents intervenants.
DG
Direction métier
Chef de projet
Acteurs métiers

figure 14 : chef de projet en tant que facilitateur

Dans la forme divisionnelle (voir figure 15), le chef de projet est responsable des
activités. Il a une autorité fonctionnelle lui permettant d’agir sur les chefs de projet-métier qui
eux, sont chargés d’assurer l’intervention des acteurs-projet impliqués. Cependant, son rôle
reste un rôle d’animateur, il n’a pas d’autorité hiérarchique sur le personnel amené à travailler
sur le projet.

Comme pour la gestion de production « classique », la coordination au sein de cette
structure s’exerce a priori par un contrôle vertical (hiérarchique) et nécessite un
environnement relativement stable.
26 Décision distribuée en gestion du temps et des ressources

DG
Chef de projet métier
Domaine de pouvoir
du chef projet

figure 15 : chef de projet en tant que coordonnateur

I.3.3. Les tendances actuelles

DG

figure 16 : chef de projet en tant que directeur (forme matricielle)

Ces dernières années, les entreprises, face à un environnement de plus en plus
concurrentiel et fluctuant (voir le paragraphe I.1), diversifient leurs activités et leurs produits.
Cette diversification permet de compenser une baisse de marché sur un produit par une hausse
sur un autre produit. Elle ne peut se mettre en œuvre que si la structure de l’entreprise est
rapidement reconfigurable. On voit apparaître des structures matricielles ou adhocratiques qui
englobent tout le cycle de vie du produit (de la conception au recyclage en passant par la
production).


DG

figure 17 : projet sorti (forme adhocratique)


Conclusion 27

Dans une forme matricielle (voir la figure 16), le chef de projet (appelé directeur)
planifie et contrôle l’activité du personnel sur le projet, tandis que les chefs métiers
prescrivent la façon dont une tâche est réalisée. Dans cette forme, on peut avoir conflit entre
hiérarchie fonctionnelle et autorité du projet.
En outre, plusieurs projets peuvent coexister et, ainsi, se trouver en concurrence pour
l’utilisation de ressources partagées ; ce qui définit un problème de décision distribuée.

Dans les formes adhocratiques ou autonomes (voir figure 17), les acteurs qui
travaillent sur le projet sont physiquement et institutionnellement sortis des structures métiers
pour être rassemblés sous l’autorité du chef de projet pendant la durée de leur intervention.

I.4. Conclusion

Dans un environnement incertain, complexe et fluctuant, les entreprises revoient leurs
structures organisationnelles classiques (hiérarchiques et fonctionnelles) et mettent en place
des structures plus adaptées (matricielles et adhocratiques). La mise en place de telles
structures donne aux acteurs plus de flexibilité dans la gestion des règles ([Bazet et al. 98])
mais nécessite une plus grande coopération et coordination entre les acteurs.
En quoi consiste la coopération ? Peut-on envisager une coopération sans
communication ? Ces questions font l’objet du chapitre qui suit.




Chapitre II Formalisation de la coopération –
l’approche par contraintes

Nous nous intéressons au problème de l'aide à la décision et à la coopération dans un
contexte distribué. Face à la nécessité d’atteindre des objectifs globaux et de partager des
moyens commun, les décideurs doivent coopérer.
Dans le but de se donner une définition pratique mais suffisamment consensuelle de la
coopération, nous consacrons le chapitre qui suit à l’examen de points de vue
complémentaires sur la coopération, issus des sciences humaines, des sciences cognitives et
des sciences de l’ingénieur.

Dans un premier temps, nous précisons la définition que nous associons aux notions de
coopération, de coordination, de codécision et de négociation.
Nous nous intéressons ensuite au rôle que joue la communication dans la mise en
œuvre de ces différentes formes d’interaction. Nous présentons notamment la perspective
langage-action qui permet de reconnaître les actions associées à la production de certains
énoncés et de les prendre en compte dans l’interprétation des conversations entre deux
locuteurs. Cette perspective méritait en effet d’être étudiée dans la mesure où la
communication en langage naturel, même limitée à des échanges formels dans un contexte de
coopération dans le travail, obéit cependant à certaines « maximes conversationnelles » dont il
faut tenir compte pour améliorer la messagerie libre et proposer des outils de coopération
dédiés à la décision distribuée.
Ensuite, nous présentons l’exemple d’organisations possédant un modèle formel très
achevé des processus de travail et des flux d’information, le « workflow ». Cette nouvelle
forme d’organisation, si elle améliore la cohérence des actions individuelles en leur
permettant de mieux se situer dans l’action collective assumée par l’entreprise, peut servir
dans le même temps, grâce à l’effort que sa mise en place requiert en termes d’analyse et
d’explicitation des processus et des règles appliqués, à mettre en évidence leur trop grande
complexité et/ou leur inefficacité.
Nous réservons ensuite une place importante aux travaux relatifs aux systèmes multi-
agents, qui s’intéressent à l’intelligence émergeant d’un système artificiel défini comme une
société d’agents coopératifs, ainsi qu’aux interactions entre ces agents.
Enfin, nous présenterons l’approche dans laquelle nous nous inscrivons, l’approche
par contraintes. Celle-ci se caractérise par l’adoption du principe d’une rationalité limitée des
acteurs au sein d’une organisation. La notion de contrainte fonde à la fois les modèles de
résolution des outils d’aide à la décision locale, et le modèle de coopération entre les entités,
qui échangent et révisent une partie des contraintes prises en compte dans leurs modèles.

II.1. Définition et aspects de la coopération

Le sens commun ne permet pas toujours de bien distinguer les termes de coopération,
de coordination, de collaboration et de codécision. De plus, lors de la mise en œuvre de ces
processus, des conflits apparaissent ce qui engendre parfois des réajustements qui peuvent se
faire au travers de négociations.
30 Formalisation de la coopération – l’approche par contraintes

Pour préciser ces différentes notions, nous renvoyons le lecteur aux travaux sur
lesquels nous nous sommes appuyés : [Bazet 96], [Bazet et al 98a], [Agostini et al. 94],
[Sadek 94a], [Winograd 88].

II.1.1. Définition de la coopération

Une définition consensuelle de la coopération pourrait être la suivante :

La coopération est une action collective vers un même but.

Cette définition est toutefois trop générale. En effet, si l’on s’intéresse à l’action
collective en tant que processus, on voit qu’elle nécessite des interactions, des échanges, des
confrontations ou des négociations entre les entités agissantes. Ainsi, à un niveau plus fin de
détail, certaines actions élémentaires nécessaires pour atteindre ce but, peuvent être perçues
comme individuelles ou collectives. De même, il n’est pas nécessaire que toutes les entités
aient exactement les mêmes buts. L’action coopérative ne s’attachera qu’à accomplir le ou les
buts communs.

Le processus de coopération peut être prédéfini (imposé institutionnellement, par la
hiérarchie, par des conventions sociales, etc.) ou libre (les entités déterminent dynamiquement
les buts communs et la forme d’interaction à mettre en œuvre pour y parvenir). Nous nous
proposons d’aider efficacement les individus dans la gestion des processus de coopération
prédéfinis tout en autorisant les processus de coopération libres.

Durant un processus de coopération, des négociations peuvent survenir. Elles ont pour
objet de prévenir ou de régler des conflits entre plusieurs entités. Si un dialogue précède la
décision, on a lors un processus de négociation visant à mettre d’accord l’entité qui génère la
décision et celle qui doit la prendre en compte (pour l’exécuter par exemple). De même, une
des entités peut demander à changer une décision déjà prise : c’est un processus de
renégociation qui survient et qui vise à redéfinir une nouvelle décision (voir la figure 18).
Souvent, les renégociations se basent sur la décision déjà prise et les entités recherchent une
nouvelle décision proche de l’ancienne.

prise de décision
négociations
renégociations
construction de la décision révision de la décision temps

figure 18 : (re)négociations dans le processus de décision

Les (re)négociations peuvent être initiées par une des entités ou venir de l’extérieur.
En effet, une entité qui génère une décision peut non seulement débuter une (re)négociation
avec les entités qui devront la prendre en compte, mais ces dernières peuvent également initier
une nouvelle (re)négociation (par exemple, si la décision tarde à être prise ou s’ils n’arrivent
pas à mettre en œuvre la décision).

Définition et aspects de la coopération 31

II.1.2. Différents aspects de la coopération

Plusieurs aspects de la coopération peuvent être identifiés. Nous tentons de définir
plus précisément trois aspects : la coordination, la collaboration et la codécision.

II.1.2.1 La coordination

Le principal problème de la coordination est la synchronisation des actions et la
cohérence des actions individuelles par rapport à l’ensemble du processus. La coordination
traite de l’organisation des actions dans le temps. Elle a pour but de construire et d’exploiter
un référentiel temporel commun permettant d’ordonner les actions individuelles. Cet ordre est
nécessaire soit parce que certaines actions en conditionnent d’autres (relation de causalité,
contraintes diverses de synchronisation) soit pour régler à l’avance d’éventuels conflits
provenant de la simultanéité de plusieurs actions (existence de ressources limitées).
Dans un processus de coordination des décisions, on peut recourir à des règles
explicites sur les prises de décisions (règles de précédence causale entre deux décisions ou
bornes temporelles sur une ou plusieurs décisions). Ces règles se traduisent donc par des
contraintes temporelles, absolues ou relatives.


figure 19 une gamme d’assemblage : un exemple de synchronisations d’objets,
d’actions et de personnes

Dans [Bazet el al. 99], le plan a été identifié comme un outil de coordination qui
permet, non seulement, de synchroniser dans le temps, mais aussi, de rendre cohérent les
actions des différents acteurs. Il est donc apparu des mécanismes de synchronisation des
objets matériels, des opérations à effectuer, des personnes (une illustration est présentée sur la
figure 19). L’activité de planification est de plus soumise à d’autres contraintes temporelles.
Par exemple, les règles juridiques et sociales (travail de nuit, transport le week-end, etc.)
contraignent le champ des actions possibles et influent sur les processus de coordination.

32 Formalisation de la coopération – l’approche par contraintes

La prise de décision, la négociation peuvent être considérées comme de véritables
activités, pour lesquelles les décideurs ont besoin de se coordonner. Des contraintes de
coordination existent, par exemple, en gestion de production, entre les fonctions planification
(calcul des volumes de production) et ordonnancement (séquencement des opérations,
affectation des ouvriers, etc.). En effet, nous avons vu au chapitre 1 que le planning (niveau
tactique) est calculé moins fréquemment que l’ordonnancement (niveau opérationnel) et que
le calcul de l’ordonnancement nécessite les décisions de planification. Il y a donc un
problème de coordination puisque l’ordonnancement, s’il veut être cohérent, doit attendre les
résultats de la planification. Sur la figure 20, le planning est calculé toutes les semaines et
l’ordonnancement tous les jours. Il se pose donc un problème de coordination toutes les
semaines car l’ordonnancement, dans un souci de cohérence, attend les décisions provenant
de la planification.

planification
ordonnancement
volumes de
production
t
fonction de décision
t
0
coordination nécessaire entre les entités
moment de prise de décision
séquencement des opérations
affectation des ouvriers

figure 20 : un exemple de coordination entre planification et ordonnancement

II.1.2.2 La collaboration et la codécision

La collaboration est un autre aspect de la coopération. Collaborer signifie travailler
ensemble à l’exécution d’une certaine action pour produire un résultat final. Ainsi, le terme
de collaboration s’utilise à la place de celui de coopération lorsqu’il n’est pas possible,
pertinent ou souhaitable de différencier les actions individuelles.
À l’occasion de la conception de nouveaux produits, des collaborations apparaissent.
En effet, les techniques issues de l’ingénierie concourante ou simultanée mettent l’accent sur
l’aspect collaboratif de la coopération en impliquant tous les acteurs qui sont intéressés par le
produit (commerciaux, fabrication, recyclage ...). Ceux-ci collaborent à la définition du
produit et au suivi de celui-ci tout au long de son cycle de vie.

La perspective langage-action 33

bureau d’étude fabrication commercial recyclage

figure 21 : un exemple d'une collaboration autour d'un produit

Si plusieurs acteurs collaborent en vue de prendre des décisions, on parle plutôt de
codécision. Dans ce cas, plusieurs individus prennent une ou plusieurs décisions communes.
Une élection est un exemple typique de codécision (voir la figure 22). C’est le résultat
du vote (la décision prise) qui importe le plus.


figure 22 : un vote, un exemple de codécision

Décrire une collaboration renseigne assez peu sur les contraintes qui couplent les
actions individuelles (coordination) ou sur les aspects relatifs à leur régulation (négociation).
Pourtant, plus la description d’une collaboration sera fine, plus les mécanismes de
coordination et de régulation devront être détaillés.

Dans ce mémoire, nous proposerons une aide à la coopération et nous étudierons, plus
particulièrement, les processus de coordination et de négociation dans le domaine de la
gestion du temps et des ressources.

II.2. La perspective langage-action

La perspective langage-action considère que le langage est la première dimension de
l’activité coopérative. Dans son ouvrage sur L’énonciation Jean Cervoni ([Cervoni 87])
34 Formalisation de la coopération – l’approche par contraintes

résume ainsi les propos de H.P Grice « Le bon fonctionnement de la communication exige que
soit respecté un principe de coopération : ainsi les participants d’un échange verbal, en règle
générale, reconnaissent un but commun, ou un ensemble de buts, ou du moins une direction
acceptée par tous ». Nous nous intéressons à cette dimension car la coopération que nous
nous proposons de favoriser entre décideurs, à travers la mise à disposition d’outils formels,
doit tenir compte des règles de coopération admises pour la communication en langage
naturel.
Cette section s’appuie sur [Moeschler et al. 97], [Winograd et al. 87], [Winograd 88],
[schael 97], [Ferber 95].

II.2.1. Cadre théorique

En linguistique, on distingue généralement trois grands domaines d’étude de la
langue : la syntaxe, la sémantique et la pragmatique.
• Dans le domaine de la syntaxe, on s’intéresse à la structure des formes écrites (ou
orales) du langage. Les règles syntaxiques (à l’écrit il s’agit par exemple des règles de
grammaire) décrivent comment les éléments de base (lettres, mots…) peuvent êtres
modifiés et combinés afin de former des structures complexes formellement
acceptables.
• La sémantique porte sur l’étude des relations entre les structures de langage et un
espace de significations potentielles. Elle comprend la définition des traits de sens
attachés aux éléments individuels (mots) et le sens produit en les combinant (phrases).
• La pragmatique s’intéresse à l’utilisation du langage. Sa fonction première s’attache à
définir le rôle du langage dans l’évocation et l’interprétation des actions.

La perspective langage-action s’attache essentiellement à la pragmatique, c'est-à-dire,
à ce que les gens font avec le langage et non à la forme de celui-ci.

II.2.1.1 La théorie des actes de langage

La théorie des actes de langage se fonde sur une opposition à « l’illusion
descriptive » qui veut que le langage ait pour fonction première de décrire la réalité et que les
énoncés affirmatifs soient toujours vrais ou faux. Selon la théorie des actes de langage, au
contraire, la fonction du langage est tout autant d’agir sur la réalité et de permettre à celui qui
produit l’énoncé d’accomplir, ce faisant, une action. Dans cette optique, les énoncés ne sont ni
vrais ni faux (tiré de [Moeschler et al. 97]).

Pour J. L. Austin (dans son ouvrage de 1962 intitulé « How to do things with words »,
et référencé dans [Winograd et al 87], [Winograd 88], [Schael 97], [Ferber 95]), on peut
distinguer trois types d’actes de langage :
• les actes locutoires que l’on accomplit dès lors que l’on dit quelque chose et
indépendamment du sens que l’on communique. Par exemple, le simple fait d’énoncer
la phrase « je te promets que je t’emmènerais au cinéma demain matin », même en
l’absence d’un destinataire suffit à l’accomplissement d’un acte locutoire.
• les actes illocutoires que l’on accomplit en disant quelque chose et à cause de la
signification de ce que l’on dit. En énonçant la phrase de l’exemple précédent devant
La perspective langage-action 35

un interlocuteur capable de la comprendre, l’émetteur accomplit un acte illocutoire de
promesse.
• les actes perlocutoires que l’on accomplit par le fait d’avoir dit quelque chose et qui
révèlent des conséquences de ce que l’on a dit. Si la compréhension par le destinataire
de la phrase de l’exemple précédent change ses croyances, l’émetteur a accompli un
acte perlocutoire. Par exemple, l’interlocuteur peut être persuadé de la bienveillance
de l’émetteur.

Searle a identifié 5 catégories d’actes de langage :
• les représentatifs (assertion, affirmation, etc.) ;
• les directifs (ordre, demande, conseil, etc.) ;
• les promissifs (promesse, offre, invitation) ;
• les expressifs (félicitation, remerciement, etc.) ;
• les déclaratifs (déclaration de guerre, nomination, baptême, etc.).

Par exemple, la conversation suivante entre le magasinier et le chef projet permet
d’identifier les 5 actes de langage.
<le magasinier> : « il manque deux composants » (représentatif )
<le chef projet> : « commandez-en ; il me les faut pour demain » (directif)
<le magasinier> : « ok, je téléphone dès ce matin » (promissif)
<le chef projet> : « je déclare le problème résolu » (déclaratif)
<le magasinier> : « désolé de ce contre-temps » (expressif)

Cependant, Sperber et Wilson objectent que cette classification n’est pas toujours
possible ni nécessaire (tiré de [Moeschler et al. 97]). Par exemple, on ne sait pas si la phrase
« il pleuvra demain » correspond à un acte de promesse, de prédiction ou de menace. Les
auteurs réduisent les classes d’actes de langages à trois classes, à savoir :
• les actes de dire que qui correspondent grossièrement aux déclarations, aux assertions,
aux promesses, aux prédictions, etc.
• les actes de dire de qui correspondent grossièrement aux ordres, conseils, etc.
• les actes de demander si qui correspondent aux phrases interrogatives.

Un outil d’aide à la décision peut intégrer ces classifications des actes de langage pour
proposer plusieurs types de messages prédéfinis. Afin d’éliminer, ou au moins de réduire, les
difficultés d’interprétation de certains actes de langage, les messages devront préciser
explicitement le performatif (j’ordonne, je promets, je dis, je demande, etc.). Afin d’optimiser
la coopération et de diminuer les risques d’ambiguïté, le message peut contenir l’intention de
l’acte de langage.

II.2.1.2 Les conversations

Les actes de langage entre deux personnes sont des événements liés ; ils constituent des
conversations. [Winograd et al 87] propose 4 types de conversations :
• la conversation pour action, dans laquelle deux personnes négocient une action
qu’une des personnes effectuera pour l’autre.
• la conversation pour possibilités dans laquelle deux personnes négocient une
modification du contexte dans lequel elles agissent (afin de générer des conversations
pour action).
36 Formalisation de la coopération – l’approche par contraintes

• la conversation pour clarification qui permet de gérer ou d’anticiper les blocages
concernant les interprétations possibles de la condition de satisfaction d’une
conversation pour action.
• la conversation pour orientation dans laquelle les participants sont prédisposés à créer
un contexte partagé pouvant servir de base d’interprétation pour les conversations
futures.

L'activité habituelle d'un décideur est de prendre des décisions et de les communiquer
(par des conversations pour action) mais aussi de préparer des décisions (avec des
conversations pour possibilités). Les conversations portent peu souvent sur un changement du
cadre d'interprétation. C'est pourquoi nous ne détaillerons que les conversations pour action et
pour possibilités.

1) Les conversations pour action

Une conversation pour action est utilisée par deux personnes pour négocier une action
que l’un effectuera pour l’autre. Cette conversation est constituée de demandes et
d’engagements.

2 3
6
1 4
5
7
9
8
A→B:demander
faire(B,Action)
B→A:promettre
faire(B,Action)
B→A:informer
fait(B,Action)
A→B:déclarer
satisfait(Action)
A→B:déclarer
pas_satisfait(Action)
B

A
:
c
o
n
t
r
e
-
p
r
o
p
o
s
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n

)
A

B
:
a
c
c
e
p
t
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n

)
A

B
:
c
o
n
t
r
e
-
p
r
o
p
o
s
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
A

B
:
r
e
t
i
r
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
B

A
:
r
e
j
e
t
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
A→B:rejeter
faire(B,Action’)
B→A:retirer
faire(B,Action’)
A

B
:
r
e
t
i
r
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
A

B
:
r
e
t
i
r
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
B

A
:
r
e
j
e
t
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)

figure 23 : la conversation pour action (adaptée de [Winograd et Flores 1986])

La figure 23 illustre l’évolution d’une conversation pour action sous la forme d’un
graphe d’état. Ce graphe montre le cas d’une conversation initiée par une demande de A vers
B. Cette conversation commence par une demande mais il existe un réseau similaire où la
conversation commence par une offre. La demande est interprétée par chaque parti (A et B)
comme ayant certaines conditions de satisfaction, qui caractérise le futur cours des actions de
B. Chaque cercle représente un état de la conversation. Les arcs sont des actes de langage que
les participants A et B peuvent faire.
Après la première demande (état 2), B peut accepter (et s’engager à satisfaire les
conditions), annuler la requête ou émettre une contre-proposition. À la suite d’une contre-
La perspective langage-action 37

proposition de B (état 6), A peut à son tour émettre une contre-proposition (et retourner à
l’état 2), rejeter la contre-proposition ou accepter cette contre-proposition. Une fois que B
s’est engagé (état 3), B exécute l’action et signale si l’action est réalisée ou pas. Alors, A
déclare sa satisfaction. L’état 5 correspond à une fin idéale tandis que l’état 8 correspond à un
état refusé, l’état 7 à un état supprimé et l’état 9 à un état non satisfait.
D’autres possibilités ne sont pas illustrées sur ce schéma, notamment celles constituées
d’échanges portant sur la légitimité de l’action (vous devez faire ça !). Certaines
conversations peuvent contenir plusieurs actes de langage implicites. Par exemple, dépassé un
certain délai après avoir informé A que le travail est terminé, B peut considérer que A est
satisfait (par défaut).

2) Les conversations pour possibilité

[Agostini et al 94] détaille les conversations pour possibilité. Celles-ci permettent à
deux personnes d’explorer un déroulement possible des actions et créent un contexte
favorable à ces dernières. Ce type de conversation, favorable à l’anticipation des prochaines
conversations, permet également de solliciter des suggestions d’autres personnes en vue de
définir un consensus sur le sujet. Les principales étapes d’une conversation pour possibilité
sont l’ouverture, la continuation et la clôture.
Le diagramme de changements d’état de la figure 24 montre une conversation pour
possibilité. A propose un sujet. B continue en proposant son point de vue. Ensuite, A peut à
nouveau proposer un nouveau point de vue. Ainsi de suite jusqu’à que l’un des protagonistes
soit d’accord avec l’autre (état 4) ou qu’un refus survienne (état 5) ou que la proposition soit
supprimée (état 6).

1 2
3
4
5
6
A→B:proposer
faire(B,Action)
B→A:accepter
faire(B,Action)
B

A
:re
fu
ser fa
ire(B
,A
ctio
n
)
A

B
:
r
e
t
i
r
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
A

B
:
a
c
c
e
p
t
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n

)
A

B
:r
e
f
u
s
e
r

f
a
ir
e
(
B
,A
c
tio
n

)
B→A:retirer
faire(B,Action’)
A

B
:
c
o
n
t
r
e
_
p
r
o
p
o
s
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n
)
B

A
:
c
o
n
t
r
e
_
p
r
o
p
o
s
e
r

f
a
i
r
e
(
B
,
A
c
t
i
o
n

)

figure 24 : conversation pour possibilité
II.2.2. Usage de la perspective langage-action

Dans « The Coordinator », un logiciel d’aide à la conversation, [Winograd 87] met en
application la perspective langage-action. Le logiciel guide l’utilisateur en lui proposant
d’engager différents types de conversations et, lorsque celui-ci reçoit un message d’une autre
personne, est capable de retrouver la conversation d’origine et lui propose différents types de
réponses prédéfinies. Ce logiciel suit les conversations en cours et récapitule les engagements
pris par l’utilisateur mais, en aucun cas, il interprète les engagements ou le contenu des
messages. L’unité de base des communications n’est pas le message mais la conversation. Le
38 Formalisation de la coopération – l’approche par contraintes

logiciel demande également à l’utilisateur de fournir trois dates optionnelles pour chaque
conversation : une date de réponse, une date à laquelle le travail doit être fait et une date
d’alerte. Ces dates permettent également au logiciel de déclencher une alarme ou de conclure
une conversation par message implicite.

[Agostini 94] décrit UTUCS (User-To-User Communication Support) un logiciel basé
sur la perspective langage-action. Ce logiciel aide un utilisateur à gérer des conversations
transitant par différents médiums (messagerie électronique, conversations de groupe,
conversations face-à-face, téléphone). Comme pour « The Coordinator », l’unité de base des
communications est la conversation. Les conversations sont divisées en quatre catégories : les
engagements à faire (pour exécuter une action), les engagements qui doivent être (pour
modifier la distribution des rôles), la fourniture d’information (donnée ou demandée), le
maniement d’information. On a accès à deux dates : la date de la conversation et la date de fin
au plus tard. Le logiciel permet également de suivre les minutes d’une conversation, d’une
réunion, etc.

La théorie des actes de langage offre un cadre et un modèle pour les conversations
entre individus. On peut, grâce à cette modélisation, envisager un support automatisé ou
partiellement automatisé pour certaines conversations notamment les conversations pour
action et les conversations pour possibilité. Par contre, cette approche ne permet pas de
modéliser toutes les interactions et surtout leurs effets. En effet, il peut exister des interactions
sans actes de langage (comme la transmission d’un document). De plus, on peut essayer de
modéliser la réaction de chaque intervenant dans la conversation en analysant le contenu du
message (ce que ne font pas les deux logiciels présentés).

II.3. Les flux de travail ou « workflow »

Les flux de travail ou « workflow » permettent de définir des processus prédéfinis de
coopération et/ou de coordination d’un groupe de personnes. Les problèmes de coopération et
de coordination étant en grande partie résolus à l’avance, les personnes peuvent consacrer
plus de temps aux tâches individuelles et suivre les procédures pour les tâches collectives.
Après une présentation des flux de travail, nous présenterons deux modélisations de la
coopération au sein des flux de travail.

II.3.1. Définitions

L’objectif de l’étude des flux de travail (ou workflow en anglais) est d’augmenter
l’efficacité d’un groupe de personnes travaillant ensemble dans un but commun (et donc ces
personnes coopèrent). Les applications workflow automatisent la gestion des flux
d’information et de matériel suivant les spécifications d’un processus donné. Les tâches de
traitement de l’information passent d’une personne à une autre selon un circuit conditionnel
bien défini.
Naffa donne cette définition du workflow (lue dans [Nurcan 96]) : « travail coopératif
impliquant un nombre limité de personnes devant accomplir, en un temps limité, des tâches
articulées autour d’une procédure définie et ayant un objectif global ». Dans le cas du
workflow, plusieurs personnes sont impliquées pour atteindre l’objectif global mais à des
étapes différentes du déroulement du travail et cela individuellement à partir du moment où la
Les flux de travail ou « workflow » 39

personne « prend » la tâche. La tâche étant ainsi assimilée à l’objet (en général un document)
qui matérialise son effet, il est possible de déterminer facilement l’état d’avancement d’un
ensemble de tâches en localisant les objets dans le workflow. L’adoption d’une représentation
commune du travail et son partage en libre accès permettent par exemple, au gestionnaire de
localiser rapidement les entités actuellement en charge d’une tâche, à une entité donnée
d’évaluer la charge de travail qui va lui parvenir prochainement…

Les workflows sont particulièrement adaptés pour modéliser les flux de documents
administratifs. La figure 25 montre un exemple de workflow. Dans une entreprise, le
commercial transmet les commandes des clients au service de production. Celui-ci fabrique
un produit et transmet une fiche de suivi au service financier. Celui-ci émet une facture qu’il
transmet au client. Une fois le produit livré, le service de livraison transmet le bordereau de
livraison au service financier. Cette représentation montre bien les transmissions de
documents mais peut cacher des mécanismes de coopération. Par exemple, avant de
transmettre une fiche de commande, le commercial peut s’assurer (et négocier) auprès du
service de la faisabilité du produit.

commercial commande production
fiche de suivi
livraison
facturation
bordereau de
livraison

figure 25 : un exemple de workflow, le traitement d’une commande

Les possibilités offertes par les outils de workflow sont de trois ordres : un guidage
rigoureux des procédures, un contrôle du flux de travail, un maximum d’automatisation. Ceci
a pour conséquence des performances accrues (amélioration de la productivité, de la
réactivité, des délais de production et de la qualité des biens et des services).

La mise en place d’outils workflow coïncide souvent avec une réorganisation de
l’entreprise. Cette réorganisation horizontale met l’accent sur les processus correspondant à
des équipes de projets. La démarche de re-conception du travail autour d’un ensemble fini et
simplifié de processus s’appelle « Business Process Reenginering » (BPR). Les outils de
workflow répondent technologiquement à cette réorganisation.


40 Formalisation de la coopération – l’approche par contraintes

II.3.2. Modélisation de la coopération

Afin de modéliser la coopération au sein d’un workflow (et donc la coordination au
regard des définitions du workflow), deux courants se distinguent ([Nurcan 96]) : les modèles
issus des réseaux de Petri et les modèles issus de la perspective langage-action. Ces deux
types d’approches ont certaines caractéristiques communes : une approche « top-down » (on
procède par affinements successifs) et la même finalité (diviser un processus en un nombre
fini d’étapes et en décrire l’enchaînement). Le modèle issu de la perspective langage-action
propose une approche client-fournisseur qui n’existe pas dans l’autre approche. Les
responsabilités et les relations entre intervenants sont clairement identifiées. Par contre, le
modèle issu des réseaux de Petri bénéficie d’outils puissants pour vérifier que le workflow ne
comporte pas de sources de blocage.

II.3.2.1 La modélisation issue de la perspective langage-
action
Pouvez-vous
faire cela ?
Oui, je vais le
faire
Conditions de
satisfaction
C’est fait OK merci
1
client
demande d’action
(phase requête)
4
client
accepte l’information et
déclare sa satisfaction
(phase d’évaluation)
2
fournisseur
accepte de le faire
(phase d’engagement)
3
fournisseur
effectue le travail et
informe qu’il est fait
(phase de performance)

figure 26 : le modèle de workflow primaire décrivant les relations
clients/fournisseur dans la perspective langage-action

L’application de la perspective langage-action permet de créer deux types de
workflow (voir [Schael 97]) : le workflow d’action et le workflow de déclaration. Le
workflow d’action se décompose en 4 phases (voir figure 26) : une phase de requête
(préparation), une phase d’engagement (négociation), une phase de performance (exécution)
et une phase d’évaluation (acceptation). Le workflow de déclaration (voir figure 27), issu des
conversations pour possibilités, est moins structuré et peut-être vu comme constitué d’étapes
de communication récurrentes entre les participants, qui se termine généralement par une
déclaration finale commune.
1
l’initiateur
ouvre la
discussion
2
le partenaire
continue la
discussion
Sujet de discussion

figure 27 : le workflow de déclaration déclenché par l'initiateur vers un
partenaire
Les flux de travail ou « workflow » 41

[Schael 97] modélise ainsi les flux de conversations dans les différentes procédures.
On peut décomposer chaque workflow par d’autres workflows. Ainsi, un exemple de
représentation de conversation est montré sur la figure 28. Il s’agit de la définition d’un
workflow de réunion. Il se décompose en quatre parties : définition de l’objet de la réunion,
prise de rendez-vous, réunion et compte-rendu.

RÉUNION
Organisation d’une
réunion
régulateur
participant
Accord pour
participation
B : convocation
des participants
régulateur
convocation
Accord pour répondre
participant
Réponse participation
Prise en compte
D : question /
réponse
Prépare une question Veut répondre
Participant
(n-1)
Participant (1)
réponse
Prise en compte de
la réponse
C : conversation /
débat
régulateur
Annonce de
l’intérêt
participant
Proposition de
solution / résolution
Prise en compte
Demande
d’évaluation
E : évaluation de la
réunion
Prise en compte de
la réponse
Accord pour
évaluer
Avis sur la
réunion
participant
régulateur
Demande de
sujet
accord
Sujet proposé
Acceptation
régulateur participant
A : constitution de
l’ordre du jour

figure 28 : un exemple de représentation de conversation (tiré de [Schael 97])

Cette approche permet de modéliser les processus de façon claire et précise en mettant
l’accent sur les relations clients-fournisseurs.

II.3.2.2 La modélisation par réseau de Petri et par réseau de
contrôle d’information

ICN (Information Control Nets ou réseau de contrôle d’information) est un formalisme
mathématique permettant de modéliser graphiquement une procédure ([Straub et al 96] et
[Kim et al 98]). Les ICN permettent de représenter les activités, les procédures, les acteurs et
le contrôle des activités.

42 Formalisation de la coopération – l’approche par contraintes

prise de la
commande
(commercial 1)
production
(site 1)
production
(site 2)
livraison
facturation
o
i
fin
Légende :
activité connecteur et
connecteur ou

figure 29 : un exemple de workflow par ICN (reprise de l’exemple de la figure 25)

Un exemple de processus ICN est montré sur la figure 29. Il reprend et complète
l’exemple présenté sur la figure 25. Après avoir pris la commande, le produit est fabriqué sur
un des sites de production (connecteur ou). Puis, le produit est livré. En même temps
(connecteur et), une facture est adressée au client. Une fois le produit livré et la facture réglée,
le processus est fini.
ICN Réseau de Petri
A
Début A
Fin A

figure 30 : la table de correspondance entre les composants ICN et les
composants réseau de Petri
On peut représenter les processus par des réseaux de Petri. D’ailleurs, le passage de
réseau ICN à un réseau de Petri se fait simplement : [Straub et al 96] propose une table de
traduction des composants ICN en composants de réseau de Petri (voir figure 30). La
modélisation par réseau de Petri permet de vérifier certaines propriétés du processus
modélisé. En effet, les réseaux de Petri permettent de détecter
• les blocages : le jeton n’arrive jamais au nœud de sortie.
• les activités inutiles : leurs sorties ne sont utiles pour personne.
• les états « surchargés » : l’état (le marquage) final a un jeton dans le nœud de sortie et
un jeton dans un nœud intérieur.
• les réponses multiples : on peut avoir plusieurs jetons dans le nœud de sortie.
Les flux de travail ou « workflow » 43

Les réseaux de Petri

Les réseaux de Petri classiques sont des graphes avec deux types de nœuds appelés
places et transitions. Les nœuds sont connectés par des arcs orientés. Les connexions entre
deux arcs de même type ne sont pas autorisées. Les places sont représentées par des cercles et
les transitions par des rectangles (voir la figure 31 pour un exemple de réseau de Petri). À tout
instant, une place contient zéro, un ou plusieurs jetons représentés par des ronds noirs. L’état
du réseau, appelé aussi marquage, est constitué par la distribution des jetons à travers les
places. Les transitions sont les composants actifs du réseau : elles changent l’état du réseau en
accord avec les règles de tirage. Tout d’abord, une transition est franchissable si toutes les
places avant la transition t contiennent au moins un jeton. Ensuite, quand cette transition est
tirée, la transition consomme un jeton de chaque place précédent la transition et produit un
jeton dans chaque place suivant la transition.
transitions
franchissables
transition franchissable

figure 31 : tous les états (marquages) d'un réseau de Petri
En plus de cette représentation graphique, il existe un formalisme mathématique (non
présenté ici) qui permet de définir et de démontrer certaines propriétés des réseaux de Petri.
Ainsi :
- un réseau de Petri est dit vivant si et seulement si, pour chaque marquage que l’on
peut atteindre M et pour chaque transition t, il existe un autre marquage M’ atteignable depuis
M qui rend t franchissable. Cette propriété est intéressante car elle s’assure qu’il n’y aura pas
de blocage dans le réseau et que chaque transition est franchissable depuis n’importe quel
marquage.
- un réseau de Petri est dit borné si et seulement si pour chaque marquage, toutes les
places ont un nombre de jetons borné.
Le réseau de la figure 31 est vivant et borné. Il est vivant car depuis n’importe quel
marquage on peut aller dans un autre marquage qui rend n’importe quelle transition
franchissable. Il est borné car chaque place peut contenir un jeton au plus.
44 Formalisation de la coopération – l’approche par contraintes

La vérification des bonnes propriétés se fait, par exemple, en prouvant que le réseau de
Petri (auquel on a ajouté une transition qui va du nœud de fin au nœud de début) est vivant et
borné. La transformation en réseau de Petri de l’exemple donné précédemment (figure 29)
donne le réseau de la figure 32. On peut rapidement montrer que ce réseau auquel on a ajouté
une transition qui va de o vers i (la transition en pointillé) est vivant et borné : toute
transition peut être tirée depuis n’importe quel marquage accessible et il y a au plus un jeton
par place.
i
o
prise de
commande
production 1
production 2
livraison
facturation

figure 32 : réseau de Petri correspondant au réseau ICN de la figure 29

Les réseaux de contrôle d’information et les réseaux de Petri permettent de représenter
graphiquement les processus et de vérifier leur validité à l’aide d’outils mathématiques.

Les workflows permettent de représenter et de modéliser les processus de travail et les
flux d'information. Cette modélisation formelle permet d'assurer la cohérence des actions
individuelles en leur permettant de mieux se situer dans l'action collective et de vérifier que
les processus ne provoquent pas de blocage et des actions inutiles. Cette modélisation peut
être alors implantée sur un logiciel adéquat et aider les différents acteurs à représenter l’état
d’un processus (sources de blocages…) et à le gérer (passage de documents, d’information,
etc.). Par contre, les workflows ne font pas d’hypothèses sur le comportement attendu de
chaque entité (il doit faire le travail) ni sur les effets des décisions sur une entité. Les flux de
travail montrent rarement les processus de négociation qui sont parfois nécessaires.

II.4. La coopération dans l’approche multi-agent
Les systèmes multi-agents s’intéressent à l’intelligence émergeant d’un système
artificiel défini comme une société d’agents coopératifs. Les techniques développées pour les
systèmes multi-agents permettent de mettre en œuvre les concepts développés par la
perspective langage-action et les workflows pour la réalisation d’outils d’aide à la décision et
à la coopération. L’approche multi-agents s’intéresse notamment à la représentation des
connaissances, à la mise en place de protocoles de communication et à la construction de
plans d’action.

II.4.1. Définitions

L’intelligence artificielle distribuée (IAD) s’intéresse aux méthodes qui permettent
des interactions cohérentes dans des systèmes informatiques distribués. Dans cette discipline,
La coopération dans l’approche multi-agent 45

on peut distinguer la résolution distribuée de problèmes, dans laquelle le système distribué
a été conçu par un seul homme (ou une équipe), des systèmes multi-agents (SMA), dans
laquelle le système distribué est composé d’agents conçus indépendamment.
Pour la résolution distribuée de problèmes, le système doit effectuer certaines tâches
globales et il existe un but, à la conception, qui influence les préférences de tous les agents du
système.
Les systèmes muti-agents visent à représenter une société d’individus ou d’agents. Il
n’existe pas, à la conception, de but global qui influence les préférences des agents. Les
préférences des agents proviennent des différents concepteurs d’agents. Chaque agent a ses
propres buts et s’intéresse à sa propre survie.

Voici les définitions que donne [Ferber 95] des agents et des systèmes multi-agents.

Définition : on appelle agent une entité physique ou virtuelle
qui est capable d’agir dans un environnement,
qui peut communiquer directement avec d’autres agents,
qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou
d’une fonction de satisfaction, voire de survie, qu’elle cherche à optimiser),
qui possède des ressources propres,
qui est capable de percevoir (mais de façon limitée) son environnement,
qui ne dispose que d’une représentation partielle de cet environnement [...],
qui possède des compétences et qui offre des services,
qui peut éventuellement se reproduire,
dont le comportement tend à satisfaire ces objectifs, en tenant compte des ressources
et des compétences dont elle dispose, et en fonction de sa perception, de ces représentations
et des communications qu’elle reçoit.

De cette définition, on peut retenir que les agents disposent d’une certaine autonomie.
En d’autres termes, ils ne sont pas dirigés par l’utilisateur ou par d’autres agents, mais par des
tendances. Il est capable d’accepter ou de refuser les requêtes provenant d’autres agents. Dans
certains cas, il est même prévu que l’agent change ses buts. Il dispose donc d’une certaine
liberté de manœuvre. Il est aussi capable de percevoir et d’agir sur son environnement. Il ne
fait pas que raisonner.

Définition : on appelle système multi-agents un système composé des éléments
suivants :
un environnement E, c’est à dire un espace disposant généralement d’une métrique.
un ensemble d’objet O. [...] Ces objets sont passifs, c’est à dire qu’ils peuvent être
perçus, créés, détruits et modifiés par les agents.
un ensemble A d’agents, qui sont des objets particuliers (A⊆O) , lesquels représentent
les entités actives du système.
un ensemble de relations R qui unissent ces objets entre eux.
un ensemble d’opérations Op permettant aux agents de A de percevoir, produire,
consommer, transformer et manipuler des objets de O.
des opérateurs chargés de représenter l’application de ces opérations et la réaction
du monde à cette tentative de modification, que l’on appellera lois de l’univers.

[Ferber 95] signale le cas particulier où A=O et E=∅. Dans ce cas là, les relations R
définissent un réseau : chaque agent est directement lié à d’autres agents, ses accointances.
46 Formalisation de la coopération – l’approche par contraintes

Ces systèmes sont appelés systèmes multi-agents purement communicants. Les interactions
sont essentiellement des communications intentionnelles.

Les systèmes multi-agents sont utilisés dans de nombreux domaines comme la
résolution de problèmes distribués, la simulation multi-agent, la construction de mondes
hypothétiques, la robotique distribuée (des robots autonomes), les interfaces utilisateurs ... Les
domaines d’intérêts de ces domaines d’application peuvent être la conception de protocoles
ayant certaines propriétés, la représentation des connaissances et la construction de plans
d’actions, l’apprentissage. Nous allons plus particulièrement nous intéresser aux protocoles
qui régissent les communications entre agents.

II.4.2. Les protocoles de communication entre agents

Les concepteurs de systèmes multi-agents doivent fixer des protocoles de
communication entre agents. Selon les systèmes, les protocoles peuvent être fixés pour
toujours (la plupart du temps) ou changés au cours de la vie des agents

II.4.2.1 Les catégories de communication

Plusieurs formes de communication entre agents peuvent être mises en oeuvre et
dépendent fortement du milieu dans lequel les agents vont évoluer. Elles varient suivant la
nature du médium ou la nature de la liaison émetteur-destinataire. Pour plus de détails
sur ce paragraphe, on pourra se reporter au chapitre 6 de [Ferber 95].

Lorsque le destinataire est connu de l’émetteur, ce dernier peut lui adresser des
messages en particulier et ainsi instaurer une communication individuelle, appelée aussi
communication selon un mode point à point.
Si le destinataire n’est pas connu de l’émetteur ou s’il veut faire une annonce publique,
le message est envoyé à tout un ensemble d’agents selon un mode appelé diffusion
(broadcasting en anglais). La liste de diffusion est établie selon une relation de voisinage
(proximité dans l’environnement, connexité dans le réseau, etc.) ou selon les capacités de ces
agents. Ce type de communication est très utilisé dans les systèmes dynamiques où des agents
apparaissent et disparaissent.

La nature du canal de communication joue un rôle important dans la communication.
On peut distinguer trois sortes d’acheminement de message.
• L’acheminement direct est le mode le plus simple : un message envoyé par l’émetteur
est directement transporté au destinataire par le canal de communication. Les autres
agents ne peuvent pas recevoir ce message. Il s’agit, par exemple, du courrier
électronique.
• L’acheminement par propagation d’un signal : un agent émet un signal qui se diffuse
dans l’environnement et dont l’intensité décroît en fonction de la distance. Ce type de
communication est notamment employé en robotique où les robots peuvent envoyer
des signaux par ondes radio.
• L’acheminement par voie d’affiche : un agent qui désire communiquer place son
message sur un espace commun appelé tableau d’affichage, tableau noir et est visible
de tous les agents (ou seulement d’une classe particulière). Ce mécanisme
La coopération dans l’approche multi-agent 47

d’acheminement combine à la fois les caractéristiques de l’acheminement direct et de
l’acheminement par propagation. On peut voir, d’une certaine façon, les bases de
données ou de documents (comme Lotus Notes) comme des systèmes fonctionnant
par voie d’affiche.
II.4.2.2 Les messages et les conversations

Les agents s’échangent des messages et ceux-ci forment des conversations. Les
messages sont construits, la plupart du temps, selon un schéma issu de la théorie des actes de
langage. Les conversations sont, le plus souvent, décrites par des automates à états finis ou
par des réseaux de Petri. Les conversations sont issues des schémas de la perspective langage-
action.

L’Agent A envoi cette demande à l’agent B
( evaluate
:language KIF
:ontology motors
:reply-with q1
:content (val (torque motor1) (sim-time 5)))
et l’agent B répond par :
(reply
:language KIF
:ontology motors
:in reply-to q1
:content (scalar 12 kgf))

figure 33 : l'agent A envoie une simple demande à B qui renvoi une réponse

Pour l’élaboration de messages, il existe un langage de communication entre agents
(agent communication language ou ACL en anglais) « standard ». KQML (« Knowledge
Query and Manipulation Language ») a été développé par le DARPA aux États-Unis. Chaque
message est aussi appelé performatif. Un grand nombre de performatifs a été défini dans cette
norme : demander, annoncer, exécuter, insérer, effacer, retirer, informer, etc. Les messages
sont écrits en texte selon une syntaxe proche du LISP (voir un exemple sur la figure 33) et
contiennent un certain nombre de paramètres comme l’expéditeur, le ou les destinataires, le
contenu, etc. Ce langage laisse au concepteur d’un agent le choix d’implémenter tout ou partie
des performatifs et même l’autorise à en ajouter. De plus, ce langage ne fait pas d’hypothèses
sur le contenu des messages. Enfin, ce langage donne des indications pour construire des
conversations : certaines séquences de messages étant autorisées (prévues). Ce langage reste
général et n’est pas contraignant.

Cependant, ce langage montre quelques lacunes comme l’a souligné
[Cohen et al 1995] : ambiguïté et imprécision (la signification des performatifs est donnée
brièvement en langage naturel ce qui les rend vagues et confus), performatifs inutiles et
incohérents (certains performatifs ne sont pas des actes de langage), performatifs manquants
(comme les promissifs c'est-à-dire que les engagements ne sont pas prévus).

Les conversations (c'est-à-dire la séquence des messages entre agents) sont
représentées habituellement par des automates à états finis (on pourra se référer à la figure 23
48 Formalisation de la coopération – l’approche par contraintes

et à la figure 24) ou par des réseaux de Petri. La figure 34 montre un réseau de Petri
correspondant à une conversation pour action. Chaque agent est décrit par un sous-réseau de
Petri, dont les places correspondent aux états internes de l’agent. Les transitions
correspondent soit à des synchronisations dues à la réception de messages soit à des
conditions d’application des actions. Les messages en cours d’acheminement sont représentés
par des places supplémentaires qui raccordent les agents A et B de manière à ne plus former
qu’un seul réseau. L’intérêt des réseaux de Petri est de pouvoir représenter à la fois les
échanges entre agents, les états internes des deux agents et leur comportement.


DB
BR
DemanderFaire(P)
RefuserFaire(P)
AccepterDemande(P)
EchecFaire(P)
NotificationFin(P)
B ne veut pas faire P
B veut bien faire P
ImpossibleFaire
Achevé(P)
FB
satisfaction
Échec
Agent A Agent B
AR1
DA
AR2
DA
DA
A veut que P soit fait
A ne peut pas faire P

figure 34 : modélisation d'une conversation par réseau de Petri

II.4.3. Quelques approches dans les systèmes multi-agents
II.4.3.1 Approches générales

Pour savoir quoi, quand communiquer, et selon quelle stratégie, la plupart des
concepteurs se basent sur une modélisation de l’agent, en particulier ils se basent sur une
modélisation du raisonnement des agents. Nous allons voir très rapidement quelques
approches. Pour une description plus détaillée ou une bibliographie plus importante, on pourra
voir [Ferber 95] ou [Kraus et al. 95] et même [Bond et al. 92] pour une bibliographie non
commentée.

[Smith 1980] a développé un modèle de distribution de tâches et des problèmes appelé
réseau contractuel (contract net). Il s’agit d’un système opportuniste d’allocation de tâches
fondé sur un protocole d’appel d’offre. Si un agent ne peut pas faire une tâche, il émet un
appel d’offre sur le réseau, les récepteurs évaluent l’appel et répondent en faisant une offre.
Au bout d’un certain temps (ou quand tous les agents ont répondu), l’initiateur retient la
La coopération dans l’approche multi-agent 49

meilleure offre. Cette approche offre un mécanisme d’allocation de tâches relativement
simple à mettre en œuvre. Il permet aux agents de ne pas connaître toutes leurs accointances
et, puisque les agents destinataires évaluent l’appel d’offre, on peut avoir des agents
hétérogènes sur le réseau. Par contre, il fait l’hypothèse que les différents agents sont
totalement coopératifs.

[Rosenschein et al 94] et [Zlotkin 96] analysent les systèmes multi-agents au travers
de la théorie des jeux. Ainsi, ils définissent une stratégie de conversation pour que les deux
agents tirent un bénéfice et que les négociations aient certaines propriétés : efficacité, stabilité,
simplicité, distribution (pas d’agent réglant les conflits), symétrie. Pour cela, ils font un
certain nombre d’hypothèses : les agents cherchent à maximiser une fonction d’utilité, les
négociations sont isolées (on ne s’engage pas pour une future négociation et on ne se souvient
pas des précédentes), les agents peuvent transformer leur fonction d’utilité en une fonction
commune à tous les agents, les agents ont les mêmes capacités (ils sont identiques), etc. Ils
arrivent à donner des conditions pour que les stratégies de négociations garantissent les
propriétés recherchées. Ils donnent d’ailleurs quelques exemples de stratégies. Le principe de
ces stratégies est un fonctionnement par offres alternatives pour explorer l’espace des
solutions préférables jusqu’à arriver à un « équilibre ». Cette approche peut facilement être
utilisée en robotique (si tous les robots sont identiques), pour résoudre des problèmes de
transport (des camions doivent livrer des containeurs), etc. [Kraus et al 95] et [Kraus 91]
adaptent cette théorie pour éviter que les agents passent trop de temps à négocier. Dans le cas
où les agents n’ont pas les mêmes capacités, où les agents ont tout intérêt à relier les
négociations entre elles ou bien ne peuvent pas facilement établir une fonction d’utilité
commune (voire individuelle), cette approche est très difficilement applicable.

Une autre tendance vise à modéliser les agents grâce à une logique modale. Il s’agit
essentiellement de modéliser un agent, qu’il travaille collectivement ou pas. Ces approches se
basent sur des opérateurs modaux pour représenter des croyances, des intentions ou/et des
buts.
[Cohen et al 1990] et [Cohen et al. 1995] ont défini une logique de l’action
rationnelle. Dans cette approche, les modalités de base sont la croyance (BELief), le but
(GOAL), l’événement qui va arriver ensuite (HAPPENS) et l’événement qui vient de se
produire (DONE). Ces modalités de base combinées à des axiomes et à un modèle permettent
de spécifier comment l’agent s’est engagé sur ces buts (engagement fanatique, engagement
relatif…) et formalisent un nombre important de propriétés sur l’intention. Ceci permet
d’énoncer des conditions sous lesquelles un agent peut abandonner un but. Des séquences
d’événements peuvent être représentées et permettent de construire des « mondes » possibles
et de raisonner sur l’action. Par contre, [Ferber 1995] signale que, même si cette théorie est
intéressante grâce à sa formalisation des actes rationnels, elle présente quelques lacunes,
notamment, une inadéquation pour les agents non purement communicants (« les actions sont
considérées comme des constructions d’évènements et non comme des opérations applicables
dans le monde ») et surtout un moteur d’inférence très difficile à mettre en œuvre (il faut faire
toutes les preuves « à la main »).
[Sadek 94] propose de représenter les attitudes mentales primitives de croyance,
incertitude et choix par trois opérateurs modaux K, U et C. Comme précédemment, des
séquences d’événements peuvent être représentées. Cette approche est appliquée à la
coopération entre l’homme et un agent artificiel (qui peut être plongé dans un système multi-
agent).

50 Formalisation de la coopération – l’approche par contraintes

Les réseaux de Petri sont utilisés dans les systèmes multi-agent pour représenter le
comportement des agents ([Chainbi et al 96]). Il s’agit des mêmes méthodes utilisées dans les
approches objet pour modéliser leur comportement. Cependant, dans les systèmes multi-
agents, on met plus l’accent sur la dynamique du système (création et destruction d’agents),
les communications entre agents (synchrones et asynchrones) et sur l’observation de
l’environnement. La description du comportement de l’agent est souvent couplée à
l’utilisation de la logique « classique » ([Moldt et al. 97], [Vernadat et al. 99],
[Azema et al. 98]). Ceci permet d’utiliser un langage de programmation, d’utiliser la
puissance d’inférence de la logique et la représentation graphique des réseaux de Petri. De
plus, les réseaux de Petri permettent de détecter des blocages et des comportements
anormaux.

II.4.3.2 Approches en gestion du temps et des ressources

[Tranvouez et al 99] et [Espinasse et al 97] traitent des potentialités de la Résolution
Coopérative et Distribuée de Problèmes pour les problèmes de réordonnancement d’atelier.
Ils cherchent à minimiser l’impact d’un aléa en évitant de recalculer entièrement
l’ordonnancement prévisionnel préalablement établi. L’architecture générale est constituée de
trois niveaux (comme le montre la figure 35). Pour l’instant, l’étude n’a porté que sur une
cellule de production. C'est-à-dire que la population d’agents est constituée uniquement de
machines qui sont homogènes (les décisions portent sur des tâches à réaliser). Ainsi, deux
machines peuvent s’échanger des tâches. Le protocole utilisé est très inspiré du protocole par
réseau contractuel (voir la section II.4.3.1).
L’utilisateur associé à chaque M_agent dispose d’une place importante puisque
l’approche prend en compte le fait que les agents ne sont pas totalement altruistes ni
coopératifs et prends en compte l’autonomie des agents. Des critères d’évaluation permettent
à l’agent logiciel de proposer et d’ordonner les solutions d’ordonnancement : il existe une
fonction d’évaluation locale et une fonction d’évaluation globale, en s’appuyant sur des
critères communs comme la performance de la solution (minimisation du retard), sa
complexité ainsi que la réduction de la réactivité des agents. La communication entre agents
passe également par le respect de « règles sociales » : par exemple, si un agent a besoin d’aide
alors il faut essayer de l’aider ; si un agent me demande une information que je possède alors
il faut la lui transmettre.
Cette approche est très intéressante car elle s’applique à aider et à impliquer le
responsable d’une machine dans le processus de réordonnancement. De plus, elle fait
apparaître la possibilité de régulations horizontales (entre agents de même nature) et verticales
(en faisant intervenir la hiérarchie). Cependant, cette étude est, pour l’instant, restreinte au
réordonnancement d’atelier. De plus, elle n’étudie pas les structures matricielles (où un agent
peut avoir plusieurs responsables).

La coopération dans l’approche multi-agent 51

S_agent : responsable de production
C_agents : coordinateurs de cellules
M_agents : associés aux machines de
production d’une cellule

figure 35 : l'organisation multi-agent pour le réordonnancement d'atelier

[Trentesaux 97], [Trentesaux 98] propose d’intégrer l’opérateur humain pour le
pilotage réactif et distribué de systèmes de production. Cette approche met l’accent sur les
problèmes de coopération homme-machine. Ainsi, pour proposer une aide efficace à
l’utilisateur, une étude sur ce que pourrait être une interface graphique et sur l’apport de
techniques de résolution multicritères est faîte. Pour la mise en œuvre, une architecture multi-
agent est proposée (voir la figure 36). Ici, on distingue deux types de coopération : l’une
verticale entre l’opérateur et l’agent et l’autre horizontale entre agents.
Le rôle du superviseur est principalement de détecter dynamiquement la ressource
goulot en fonction des charges de production et de gérer la cohérence globale des décisions
locales. Une fois, la ressource goulot identifié le superviseur ordonnance les tâches qui lui
sont allouées en fonction des objectifs globaux de production. Les tâches non planifiées
(celles qui disposent d’une marge temporelle) sont allouées dynamiquement selon un
protocole de communication. Si une perturbation trop conséquente intervient, un agent peut
avertir du besoin de réévaluer les charges et mener ainsi un nouvel ordonnancement. Les
processus décisionnels sont partagés en trois catégories : processus structurés (comme le
choix de la ressource goulot), processus peu structurés (gestion des files d’attente du stock
d’entrée pour les ressources non-goulots), et non structurés (comme le choix de la remise en
cause ou non de l’ordonnancement prévisionnel). Les processus non structurés sont a priori
les plus complexes à décider et nécessitent l’intervention de l’opérateur tandis que les
processus structurés peuvent être gérés par une méthode algorithmique sans l’intervention
humaine. L’exploitation d’une approche multi-critère permet d’intégrer un ensemble de
contraintes spécifiques à la fois au domaine et à l’opérateur.
Cette approche met surtout l’accent sur les collaborations entre le superviseur et les
opérateurs mais on se demande quelles peuvent être les relations entre opérateurs.

52 Formalisation de la coopération – l’approche par contraintes

Coopération
verticale
opérateur
agent superviseur
opérateur opérateur
agent agent agent
ressource ressource ressource ressource ressource
Coopération
horizontale
Coopération
verticale
opérateur
Niveau
superviseur
Niveau
opérateur
Niveau
agent
Niveau
ressource

figure 36 : architecture des agents dans [Trentesaux 98]

Dans [Vercouter el al 99], l'approche permet de simuler des processus de négociation
en agronomie. Les agriculteurs modélisés par des agents gèrent leur exploitation. Ceux-ci
doivent négocier le type d'interventions qu'ils font faire sur leurs parcelles en fonction d'une
contrainte globale de pollution (un cours d'eau avoisinant risque d'être pollué au nitrate). Le
protocole de négociation employé utilise des concepts du protocole contract net. En effet, un
agent va envoyer des propositions à l'ensemble de ses accointances et attendre des réponses
individuelles. Cependant, la proposition envoyée pourra être modifiée par l'agent qui l'a reçue.
L'implémentation de cette approche a été faite avec le langage Java. Pour l'instant, cette
approche n'a pas été validée sur le terrain.

Dans [Aknine et al 99], une architecture agent permet de mettre en œuvre un
workflow. L'exemple choisi concerne la rédaction de documents techniques en
télécommunication. L'application consiste à organiser les activités des acteurs (dans le temps)
et à les contrôler. À chaque acteur est associé un agent logiciel. L'acteur du système exécute
les tâches du processus (rédaction, relecture, etc.). L'agent assiste et représente l'acteur dans le
système. Le protocole de négociation est proche du protocole contract net. Un agent logiciel
qui assiste un acteur est composé de différents agents primitifs comme les agents de décision,
les agents de perception, les agents d'exécution, etc. L'architecture présentée est caractérisée
par la récursivité et axée sur trois aspects (mobilité, réutilisabilité, flexibilité).

II.4.4. Conclusion

L’approche multi-agent propose des modèles d’organisation d’une population
d’agents. Elle permet également de spécifier et de mettre en place des protocoles de
communication entre les agents.
Du point de vue de l’aide à la décision et à la coopération en gestion du temps et des
ressources, on peut distinguer deux approches :
• les approches qui mettent l’accent sur l’aspect coopératif. Les conversations et
négociations sont prises en compte au travers des engagements pris entre plusieurs
décideurs. Ces approches sont appliquées dans un cadre général et ne prennent pas en
L’approche par contraintes 53

compte les particularités des problèmes que l’on souhaite étudier. Il y a séparation
entre les processus de négociation et les processus de prise de décision locale. En
particulier, il n’y a aucun moyen d’évaluation des décisions négociées et donc
d’appréciation de l’autonomie du décideur.
• les approches en gestion du temps et des ressources. Les décideurs échangent des
opérations à effectuer. Les décisions prises sont de même nature (concernant les
opérations). En considérant que les décideurs sont totalement coopératifs, un protocole
basé sur le « contract net protocol » de Davis peut être appliqué. De plus, il existe un
supérieur hiérarchique qui contrôle la structure et distribue les tâches à effectuer.

II.5. L’approche par contraintes

L’approche par contraintes, développée dans un cadre pluridisciplinaire, s’appuie sur
l’analyse du problème de décision en termes de contraintes. Cette approche est issue des
travaux de l’analyse sous contraintes (voir chapitre suivant) des problèmes d’ordonnancement
confrontés à des travaux en sociologie du travail sur l’autonomie et la régulation du travail.
II.5.1. Introduction

Pour prendre des décisions, un décideur ne peut pas avoir connaissance de tous les
paramètres pouvant l'influencer. De plus, tous les événements futurs ne sont pas prévisibles. Il
est donc impossible de prévoir toutes les conséquences des décisions qui seront mises en
œuvre. Le décideur prend donc les décisions du mieux qu'il peut en fonction du contexte où il
se trouve (cf. rationalité limitée au paragraphe I.2.1).
La prise de décision est donc déléguée, distribuée, auprès des personnes compétentes
au plus près des endroits où peuvent survenir des aléas. Ceci permet de prendre des décisions
en contexte et de réagir plus rapidement aux aléas. Cependant, cette distribution entraîne un
besoin de coopération pour que l'organisation survive (un des buts de la coopération). Ainsi,
les décisions d'une entité doivent être prises en compte (voire mises en œuvre) par d'autres.
Un décideur est doublement contraint : il doit prendre en compte les décisions d'autres entités
et il doit faire en sorte que ses décisions puissent être prises en compte. Notons que prendre en
compte des décisions ne signifie pas forcément respecter ces décisions ; le décideur peut
également remettre en cause ces décisions.

Nous considérons que la prise de décision s’effectue au travers d’un réseau de centres
de décision. Un centre de décision correspond à une fonction de décision. La prise de décision
est effectuée par un ou des opérateurs humains éventuellement assistés par des systèmes
d’aide à la décision. La décision recouvre plusieurs aspects. Tout d’abord, la décision est un
choix effectué dans un espace d’actions possibles : cet espace est défini a priori par un
ensemble de contraintes et la décision sera localisée à l’intérieur de ce cadre de dépendance.
Mais, la décision peut porter sur la définition même de ce cadre : en ce sens, elle vise à
redéfinir l’espace des actions possibles, et donc, à remettre en cause l’espace d’action initial.
Enfin, la décision consiste à choisir entre le fait de respecter un espace d’actions prédéterminé
ou bien à redéfinir un espace d’action (voir le chapitre 1 de la partie 3 de [Hennet 98]). Dans
la suite, nous appellerons, abusivement, prise de décision le choix effectué dans l’espace
d’action et remise en cause d’une décision le fait de remettre en cause le cadre de l’action.

54 Formalisation de la coopération – l’approche par contraintes

II.5.2. Réseau de centres de décision

Contraintes du
centre considéré
décision
décision
décision
décision
Centres en amont
Centres en aval
décision
décision

figure 37 : réseau de centres de décision

Un réseau de centres de décision peut être représenté par un graphe dont les sommets
représentent les centres de décision et les arcs orientés l’action de la prise de décision d’un
centre sur des paramètres intervenant dans les contraintes d’un autre centre. Ainsi, la décision
dans un centre est contrainte par les décisions prises par les centres en amont ; elle contraint
elle-même les décisions des centres en aval (figure 37). La figure 38 montre un réseau de
centres résultant d’une analyse sur site industriel (présenté dans [Huguet et al. 96]).

Gestion des
ressources
Commercial
Études et
méthodes
Approvisionnement
Lancement
Atelier de
fabrication
Commandes
Disponibilités
Gammes de fabrication
Dates de disponibilité
Ordres de fabrication

figure 38 : exemple de réseau de centres de décision
Conclusion 55

On peut noter que le graphe associé au réseau peut comporter des circuits. En
particulier, un centre donné peut être à la fois en amont et en aval d’un autre centre. L’absence
de circuit implique un ordre partiel ou total entre les centres de décision. C’est le cas
notamment des structures hiérarchisées (voir le paragraphe I.2.2 page 17).

II.5.3. Coopération et coordination au sein d’un réseau

La prise de décision dans un centre présente un caractère local, lié au choix qui doit
être fait en fonction de critères propres à ce centre. Elle présente également un caractère
distribué, lié à son impact vis-à-vis des centres de décision situés en amont et en aval. En
effet, pour que la décision prise dans un centre soit consistante vis-à-vis du fonctionnement
global du réseau de centres de décision elle doit être à la fois :
• cohérente vis-à-vis des décisions prises en amont. Cela se traduit par la nécessité de
respecter les décisions prises en amont ou de les remettre en cause explicitement.
• robuste vis-à-vis des décisions prises en aval. . Cela se traduit par la nécessité de
prendre des décisions qui pourront être mises en œuvre par l’aval ou d’accepter que
ces décisions soient remises en cause.
Il apparaît ainsi que la cohérence et la robustesse sont deux facettes d’un même
processus de coopération entre centres de décision. La cohérence est d’autant plus facile à
assurer que les décisions en amont sont robustes. La robustesse vise donc à faciliter la
cohérence des décisions en aval.
La difficulté, pour un centre, de prendre des décisions robustes est liée notamment, à
la représentation approchée qu’il a des centres situés en aval, ces centres étant eux-mêmes
contraints par des décisions provenant d’un autre centre (voir les détails sur la modélisation
d’un centre de décision au chapitre suivant).
De plus, une décision robuste à un moment donné peut perdre sa qualité au cours du
temps, compte tenu du caractère dynamique du système dans lequel elle agit. De même, se
posent des problèmes de coordination entre centres : en principe, un centre devrait connaître
toutes les contraintes (décisions) susceptibles de peser sur ces décisions avant de les prendre.
Dans la réalité, des décisions sont prises en l’absence de certains paramètres, sur la base
d ‘estimations.
II.6. Conclusion

Notre but est de proposer des outils d’aide à la décision distribuée en gestion du temps
et des ressources. Des mécanismes de coopération permettent aux différents décideurs
d’assurer la cohérence globale des décisions prises localement. Les mécanismes de
coordination permettent de synchroniser les décisions.
Les techniques issues de l’approche multi-agents permettent de mettre en œuvre les
négociations entre décideurs.
L’approche par contraintes offre un cadre rigoureux à l’étude de la coopération dans
un réseau de centres de décision. Cette coopération porte sur les paramètres intervenant dans
les contraintes qui déterminent le cadre des décisions de chaque centre. La coopération peut
alors consister à communiquer pour assurer la robustesse de ses décisions futures
(préparation) ou à renégocier des valeurs devenues incohérentes.
Le prochain chapitre présente les techniques employées pour modéliser les problèmes
de décision des centres. Nous nous attacherons à mettre en valeur les techniques favorisant
une aide à la décision locale et négociée.
56 Formalisation de la coopération – l’approche par contraintes




Chapitre III Modélisation des problèmes de
gestion du temps et des ressources

Dans un problème de gestion du temps et des ressources, les décisions peuvent être de
plusieurs types (quantités de produits à réaliser, dates de début de fabrication, affectation de
ressources…). Le fonctionnement d’un centre est représenté par un modèle composé de
variables de décision reliées entre elles par des contraintes. En plus des variables de décision,
les contraintes mettent en relation différents paramètres liés aussi bien au centre considéré
qu’aux autres centres du réseau (en amont et en aval). Le modèle de fonctionnement d’un
centre est exploité :
• par un processus déductif, l'analyse sous contraintes (ASC) permettant d’expliciter
les degrés de liberté dont dispose le centre pour prendre ses décisions.
• par des techniques de résolution permettant d'obtenir une solution au problème.

Un outil peut aider le décideur à construire des décisions en faisant participer
partiellement ou totalement le décideur. Il peut également être utile lors des négociations avec
d’autres centres, en évaluant des propositions faites par d’autres centres et en générant des
propositions. Enfin, l’outil peut fournir aux décideurs des pistes quant aux décisions et/ou
paramètres à remettre en cause. Cet outil d’aide peuvent s’appuyer sur une utilisation élargie
d’outils classiques déjà existants (par exemple, en considérant certaines variables comme des
données).

III.1. Modèle général associé à chaque centre
III.1.1. Variables, paramètres et contraintes

La décision dans un centre est modélisée par des variables de décision. Une variable
de décision peut prendre ses valeurs dans un domaine discret ou continu. La prise de décision
correspond à l’instanciation d’une ou plusieurs variables de décision. On distingue les
variables de décision communiquées et négociées avec d'autres centres, des variables de
décision privées.
De plus, des contraintes relient entre elles ces variables. Il s’agit de relations
formelles (équations linéaires ou non linéaires, inéquations, ensembles conjonctifs ou non
conjonctifs de relations ...) qui limitent les valeurs admissibles des variables. Ce modèle
permet de caractériser le fonctionnement du centre.
Outre les variables de décision, les contraintes du modèle font intervenir des
paramètres :
• modifiables. Ce sont les décisions prises par les centres situés en amont, ou une
estimation de celles-ci.
• non modifiables. Il s'agit essentiellement de données de l'environnement tel que les
paramètres liés à l’état réel du système physique.

58 Modélisation des problèmes de gestion du temps et des ressources

centre de décision
variables privées
variables de décision
communiquées
paramètres
modifiables
contraintes
centres
en amont
centres
en aval
paramètres non
modifiables

figure 39 : variables et contraintes intervenant dans le modèle d'un centre

La structure même du modèle adopté, liée au choix des variables de décision et à celui
des contraintes prises en compte, joue un rôle important pour le contrôle de la cohérence au
sein du réseau et plus généralement pour la rationalisation des décisions. Cette structure est
considérée par la suite comme figée, seuls les facteurs du modèle (paramètres et variables de
décision) étant modifiables. Certaines contraintes peuvent néanmoins être activées ou
désactivées en fixant une valeur particulière à certains paramètres. Par exemple, une
contrainte numérique du type P X X ≤ +
2 1
peut devenir inactive en donnant une valeur très
grande à P .
III.1.2. Fonctions de décision
L’activité d’un centre de décision peut être décomposée en plusieurs fonctions
([Huguet 94]) :
• l’analyse sous contraintes vérifie la consistance des contraintes et explicite les
degrés de liberté du centre à travers, par exemple, une caractérisation de l’espace des
solutions.
• la prise de décision sous contraintes vise à exploiter les degrés de liberté
disponibles. Elle consiste à instancier certaines variables de décision en tenant compte
de toutes les contraintes pesant sur un centre et, éventuellement, à négocier ces
décisions avec d'autres centres.
• la prise de décision sur les contraintes remet en cause des décisions externes et,
éventuellement, les renégocie.

Habituellement, en fonction de l’analyse sous contraintes, le décideur prend des
décisions sous contraintes ou sur les contraintes (voir la figure 40).
analyse sous
contraintes
décision sous
contraintes
décision sur
les contraintes
acceptation du cadre
de décision
?
remise en cause du
cadre de décision

figure 40 : l'activité de décision d'un centre de décision
Modèle général associé à chaque centre 59

III.1.3. Aide à la décision

Notre objectif est d’aider le décideur à se déterminer face un problème caractérisé par
un ensemble de contraintes dont une partie seulement a été modélisée et parmi lesquelles
certaines ne sont pas totalement figées. Pour cela, on peut exploiter au maximum les
contraintes modélisées et utiliser les degrés de liberté restants pour tenter d’intégrer les
contraintes non modélisées. Ainsi, la prise en compte des contraintes pesant sur un centre de
décision conduit à se poser plusieurs types de questions (voir des exemples sur la figure 41) :

• existence d’une solution. Il s’agit d’étudier la consistance d’un ensemble de
contraintes.
• caractérisation des solutions admissibles. L’ensemble des contraintes étant
consistant, il s’agit à partir d’une analyse de cet ensemble, d’expliciter les conditions
d’admissibilité des solutions. Concrètement, des degrés de liberté apparaissent sous la
forme, par exemple, de domaines de valeurs admissibles pour les décisions internes au
centre. L’étude des réponses aux deux dernières questions constitue l’essentiel de
l’activité d’analyse sous contraintes.
• génération de solutions admissibles. L’ensemble des contraintes étant consistant, il
s’agit de construire une ou plusieurs solutions. On peut envisager différents modes de
résolution (automatique, interactif). Les deux derniers points permettent aux centres
de décision de négocier des décisions avec des centres en aval.
• remise en cause de décisions. L’ensemble des contraintes étant non consistant
(fonction décision sur les contraintes), il s’agit de déterminer les décisions que le
centre peut (ou veut) renégocier avec les centres en aval afin de retrouver un ensemble
consistant.
• caractérisation des paramètres provenant d’autres centres. L’ensemble des
contraintes étant consistant, il s’agit de déterminer quelles sont les valeurs acceptables
ou souhaitables pour les décisions provenant d’autres centres. On peut par exemple
tenter de mettre en évidence les domaines des valeurs inacceptables (décisions qui
n’appartiennent à aucune solution), le domaine des valeurs actives (deux valeurs
actives distinctes restreignent différemment l’espace de solutions) et le domaine des
valeurs passives (quelle que soit la valeur prise, l’espace des solutions est identique ; il
n’est conditionné que par d’autres contraintes).
• remise en cause de paramètres provenant d’autres centres. L’ensemble des
contraintes étant non consistant, on peut chercher à déterminer les contraintes qu’il
suffit de remettre en cause pour retrouver un ensemble consistant.


Compte tenu des interactions avec d'autres centres et de l'aspect prévisionnel de
certaines données, le décideur peut être amené :

• à ajouter ou retirer des contraintes du modèle.
• à instancier une partie seulement des variables de décisions. Seules les décisions qui
seront mises en œuvre dans le court-terme sont fixées ; tandis que les décisions qui ne
sont, pour l'instant, que prévisionnelles peuvent n'être que partiellement instanciées.
• à prendre en compte des paramètres dont la valeur n'est pas connue. En effet, les
paramètres qui concernent le long-terme ne sont pas connus précisément. Ces
paramètres seront considérés comme des variables dans le modèle du centre.

60 Modélisation des problèmes de gestion du temps et des ressources

Certaines des techniques employées pour répondre aux questions relatives aux
décisions (caractérisation, génération, remise en cause) peuvent être employées pour les
paramètres. En effet, compte tenu de décisions fixées ou souhaitées (les variables de décision
sont considérées comme étant des constantes), il s'agit d'utiliser les algorithmes avec les
paramètres comme variables.


Les modèles et les traitements que nous mettrons en œuvre devront tenir compte de la
dynamique du fonctionnement du centre et de la possibilité d' « inverser » le modèle.


existence d'une solution
caractérisation de l'espace des solutions
(avec le domaine admissible des variables)
V
1
V
2
V
1
V
2
génération d'une solution
optimale suivant le critère
V
1
V
2
critère
remise en cause de
certains paramètres
V
1
V
2

figure 41 : exemples de traitement sur le modèle d'un centre


La section suivante présente des modèles utilisés en gestion du temps et des
ressources. Les modèles de planification de la production et d'ordonnancement seront
approfondis. Les autres sections présenteront les techniques de résolution ainsi que les
techniques d'analyse sous contraintes. Ceci nous permettra de présenter des outils permettant
d'évaluer les degrés de liberté d'un centre, de prendre des décisions ou de remettre en cause
certaines décisions.


III.2. Les modèles en gestion du temps et des ressources

Nous introduisons tout d'abord un outil général de modélisation, les problèmes de
satisfaction de contraintes (CSP) qui nous permettent de représenter certains problèmes
rencontrés en gestion du temps et des ressources. Ensuite, nous présentons les modèles
particuliers rencontrés en planification de la production et en ordonnancement. Les variables
de décision, les paramètres et les contraintes rencontrés dans ces deux cas seront détaillées.

Les modèles en gestion du temps et des ressources 61

III.2.1. Le modèle général des CSP

Les problèmes de satisfaction de contraintes ou CSP (constraint satisfaction problem
en anglais) sont utilisés aussi bien en Intelligence Artificielle qu’en Recherche
Opérationnelle. Ils permettent d’exprimer les problèmes rencontrés en gestion du temps et des
ressources (par exemple les modèles de planification et les modèles d’ordonnancement).

Un problème de satisfaction de contraintes ou CSP (X,D,C) P est défini par :
• un ensemble ) ,x , ,x (x X
n

2 1
de n variables
• un ensemble ) ,d , ,d (d D
n

2 1
de n domaines pour les variables de X . Le domaine
i
d est associé à la variable
i
x .
• un ensemble ) ,..., , (
2 1 m
c c c C de m contraintes. Chaque contrainte est définie sur
un sous-ensemble
i
v de variables ( X v
i
⊆ ). On appelle arité de
i
c la longueur de la
séquence
i
v .

On peut différencier les CSP discrets où les variables sont discrètes et les domaines
finis des CSP continus (CCSP) où les variables sont réelles et les domaines sont une réunion
d’intervalles. Pour les CSP discrets, les contraintes peuvent être exprimées soit en intention
sous la forme d’égalité ou d’inégalité (par exemple : 0 , 0 , 3 > > ≤ + y x y x ) soit en extension
par une relation qui porte sur un sous-ensemble cartésien des domaines associés aux variables
de
i
v (par exemple : ¦ ¦ ) 1 , 2 ( ), 2 , 1 ( ), 1 , 1 ( ) , ( y x ).
Quand toutes les contraintes d’un CSP sont d'arité égale à deux, on parle de CSP
binaire. Les problèmes de satisfaction de contraintes temporelles (TCSP) sont caractérisés par
des variables continues et des contraintes binaires. Ils peuvent être utilisés pour représenter
certains problèmes d'ordonnancement (voir le paragraphe III.2.3).
Les DCSP (dynamic CSP) sont des CSP dans lesquels on modélise l’incrémentatilité
d’un CSP : le problème d'ajout ou de retrait de contraintes est explicitement pris en compte.
Toutefois, le terme DCSP est aussi utilisé pour les CSP distribués : le traitement associé au
CSP est distribué sur plusieurs processeurs, machines ou agents (voir la thèse de
[Hamadi 99]).
On peut représenter un CSP sous la forme d’un hyper-graphe dont les sommets sont
les variables et les hyper-arêtes les contraintes. Ces hyper-graphes sont appelés parfois réseau
de contraintes. Dans le cas d’un CSP binaire, on peut se contenter d’un graphe. Les
propriétés de ces réseaux de contraintes permettent d'utiliser des algorithmes spécifiques, par
exemple, dans le cas des problèmes d'ordonnancement.

exemple III-1 : un exemple de CSP binaire à variables continues
La figure 42 représente l'espace des solutions du CSP suivant ainsi que le réseau de
contraintes associé.
¦ ¦
[ ] [ ] ¦ ¦
¦
¦
¦
¦
¦
¦
≤ +
≤ +

− −

18 3 4
35 7 5
6 2 , 7 1
,
2 1
2 1
2 1
x x
x x
C
D
x x X

62 Modélisation des problèmes de gestion du temps et des ressources

x
2
0
x
1
35 7 5
2 1
≤ + x x 18 3 4
2 1
≤ + x x
x
1
x
2
18 3 4
2 1
≤ + x x
35 7 5
2 1
≤ + x x
[1-7]
[2-6]

figure 42 : une représentation graphique du CSP (à gauche) et le réseau de
contraintes (à droite) associé à l’exemple III-1
III.2.2. Modélisation de la planification de la production

Comme nous l’avons vu au chapitre 1, la fonction de planification en gestion de
production prend des décisions tactiques en définissant les volumes de produits à fabriquer
sur des intervalles de temps prédéfinis (périodes). Dans le cas d’une production multi-sites
([Boronad-Thierry 93]), la planification peut aussi inclure des décisions d’allocation, visant à
répartir la production sur différentes unités de production équivalentes. Le champ des
décisions s’élargit dans le cas d’une production multi-niveaux ([Hétreux 96]), qui implique
l’utilisation de produits semi-finis dont il faut également planifier la production : il faut alors
définir les quantités de produits intermédiaires à transporter entre les sites. Pour cela, la
fonction de planification s’appuie sur l’état de stocks et de la production, des demandes
(fermes et prévisionnelles), des capacités des centres de production, d'objectifs s’appuyant sur
des fonctions de calcul de coûts, etc.
La notation retenue dans la suite du chapitre est celle utilisée dans [Johnson et al 74].

planification
quantité de produit par période
par site ([Boronad-Thierry 93])
par étape ([Hétreux 96])
état des stocks et de
la production
demandes
capacités des ressources
objectifs

figure 43 : décisions et paramètres d'un centre de planification

III.2.2.1 Horizons temporels

En planification, le temps est généralement discrétisé en une suite de périodes égales
considérées comme indivisibles (exemple : des semaines, des quinzaines, des mois…). Le
travail à planifier est alors évalué en quantités (produits, capacités, coûts). Parfois, la durée
des périodes n’est pas toujours constante, les périodes étant plus courtes en début d’horizon
Les modèles en gestion du temps et des ressources 63

(cf. [Boronad-Thierry 1993]), afin d’adapter le niveau de détail des décisions à celui des
données disponibles. Cette discrétisation permet de localiser les phénomènes étudiés sur des
intervalles de temps et non plus sur une échelle de temps continue. Les données (exemple :
stocks initiaux, capacités) et les décisions (quantités de produits) s’expriment alors en
référence à des périodes.

Compte tenu de l’aspect prévisionnel des décisions prises au niveau tactique, l’horizon
temporel considéré est souvent défini par deux caractéristiques : l’horizon de planification et
l’horizon de décision (voir figure 44).

• L’horizon de planification représente le nombre de périodes sur lesquelles les
données sont prises en compte. C’est par l’intermédiaire de cet horizon que les
l’aspect prévisionnel est introduit. Il est suffisamment long pour que l’influence des
données situées au-delà de cet horizon soit négligeable mais suffisamment court pour
assurer la fiabilité de celles prises en compte.
• L’horizon de décision définit le nombre de périodes sur lesquelles les décisions sont
effectivement mises en œuvre. Cet horizon correspond aux premières périodes de
l’horizon de planification. Les décisions correspondantes sont souvent « gelées » c'est-
à-dire qu’elles ne peuvent plus être remises en cause par d’éventuelles
replanifications. Ceci est nécessaire en raison de l’inertie du système due aux délais de
production et d’approvisionnement.


Horizon de planification
Horizon de décision une période
temps

figure 44 : horizons de planification et de décision


Afin de prendre en compte la nature dynamique du système de production, la prise de
décision est souvent mise en œuvre à horizon glissant. Cette technique consiste à élaborer
périodiquement des décisions sur un horizon de planification constant. L’exemple de la
figure 45 montre des planifications avec une périodicité de 2 périodes, un horizon de
planification de 14 périodes et un horizon de décision de 2 périodes.


Ce processus dynamique de décision permet de réactualiser les données déjà connues
et d’introduire de nouvelles informations au fur et à mesure de leur disponibilité. À chaque
nouveau cycle, l’état réel du système de production est pris en compte. Ceci est intéressant
dans un environnement perturbé puisque le système est alors en mesure de réagir aux aléas
passés.

64 Modélisation des problèmes de gestion du temps et des ressources

temps
État réel
observé
Décisions
effectives
Décisions prévisionnelles
État réel
observé
Décisions
effectives
Nouvelles décisions prévisionnelles
État réel
observé
Décisions
effectives
temps
temps
Nouvelles décisions prévisionnelles
Planification
en période 1
Planification
en période 3
Planification
en période 5
Périodes 1 2 3 4 5 7 8 10 6 9 11 12 13 14 15 16 17 18

figure 45 : procédure à horizon glissant

III.2.2.2 Les variables de décision et les paramètres

Un système de production fabrique N produits. Chaque produit i est soumis à une
demande sur un horizon de temps découpé en T périodes. La fabrication des produits
nécessite l’utilisation de R ressources. La capacité d’une ressource k peut varier en fonction
de la période t . Une hypothèse importante concerne la taille relative des périodes vis à vis
des durées de fabrication : on suppose par la suite que la réalisation de chaque produit est
supposée pouvoir s’effectuer en totalité sur une période.

Afin de prendre des décisions, le centre de planification doit tenir compte des
paramètres suivants :
• les demandes pour chaque produit i en fin de période t :
it
D
• les capacités des ressources pour chaque période t exprimé généralement en
machine*heure ou en homme*heure :
kt
b
• les consommations de ressource r pour la fabrication d’un produit i :
ik
a
• l’état initial du système de production. C'est-à-dire la quantité des produits en stocks
au début de la première période 0 :
0 i
I

Les variables de décision de ce modèle sont :
• les quantités des produits i à fabriquer au cours de chaque période t :
it
X . Ces
variables constituent les variables de décision qui seront transmises à d’autres centres.
• les niveaux de stocks pour chaque produit i en fin de période t :
it
I . Ce sont des
variables qui n’ont pas à être communiquées à d’autres centres.
Si la réalisation des produits nécessite plusieurs étapes (assemblage, transport,
stockage de sous-produits, etc.), les variables de décisions peuvent être des quantités de
produit par période et par étape j (
ijt
I et
ijt
X ).
Les modèles en gestion du temps et des ressources 65

III.2.2.3 Les contraintes

Le modèle généralement adopté pour calculer les volumes de production et des stocks
est de la forme :
¦
¦
¦
¦
¦
¦
¦
¦
¦
∈ ∀ ∈ ∀ ≥
∈ ∀ ∈ ∀ ≥
∈ ∀ ∈ ∀ ≤
∈ ∀ ∈ ∀ − +


) ( ] , 1 [ ] , 1 [ 0
) ( ] , 1 [ ] , 1 [ 0
) ( ] , 1 [ ] , 1 [
) ( ] , 1 [ ] , 1 [
4
3
2
1
1 1 ,
P T t N i I
P T t N i X
P T t R k b X a
P T t N i D X I I
it
it
kt
N
i
it ik
it it t i it


L’équation d’état (
1
P ) traduit l’évolution des stocks en fin de période. Il s’agit d’une
équation de conservation de la matière. La contrainte (
2
P ) permet de limiter la production
pour chaque période, compte tenu de la capacité de chacune des ressources. Les équations
(
3
P ) et (
4
P ) traduisent la positivité des flux de matières (en stock et en cours de
transformation).

Suivant les problèmes rencontrés, d'autres contraintes peuvent être considérées afin de
modéliser :
• une capacité de stockage limitée : ] , 1 [ ] , 1 [ T t N i I I
i it
∈ ∀ ∈ ∀ ≤
• une production et des stocks minimaux : 0 et 0 avec , ≥ ≥ ≥ ≥
it it it it it it
X I I I X X
• des arriérés de fabrication (voir [Hetreux 96]). On tolère que les demandent ne
puissent pas être satisfaites à chaque période. Les demandes non satisfaites dans une
période sont reportées sur la période suivante. On modélise les arriérés en tolérant un
stock négatif entre deux périodes. L'équation suivante remplace l'équation
4
P ,
] , 1 [ ] , 1 [ 0 et 0 avec T t N i I I I I I
it it it it it
∈ ∀ ∈ ∀ ≥ ≥ −
− + − +

• des délais de fabrication et de transport ([Boronad-Thierry 93]). La réalisation d’un
produit nécessite plusieurs périodes
i
L . Un produit dont la fabrication est lancée
durant la période t ne sera disponible que durant la période
i
L t + . L’équation d’état
(
1
P ) du modèle devient : ] , 1 [ ] , 1 [
) ( ) 1 (
T t N i D X I I
it L t i t i it
i
∈ ∀ ∈ ∀ − +
− −
.

En général, les contraintes considérées en planification sont des contraintes linéaires.
En effet, les algorithmes de traitement des modèles linéaires à variables réelles sont très
efficaces, très rapides et répandus. Les modèles linéaires à variables entières peuvent
également utiliser certains de ces algorithmes (voir le paragraphe III.3.3).

Afin de ne pas perdre les propriétés de linéarité des contraintes
2
P , seuls les
paramètres
ik
a et les variables
it
X ne peuvent pas être considérées en même temps comme
des variables. Les paramètres
it
D ,
kt
b peuvent être considérés comme des variables. Si le
décideur souhaite caractériser les paramètres
ik
a , il doit instancier totalement les variables
it
X . Nous considérons par la suite que les paramètres
ik
a sont non modifiables et que les
contraintes en planification sont linéaires.


66 Modélisation des problèmes de gestion du temps et des ressources

exemple III-2 : planification en gestion de production
Une entreprise doit définir le plan de production de deux produits pour une période sur un
horizon de 1 période. La figure 42 représente l’espace des solutions associé aux variables
11
X et
12
X .
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
]
]
]
,
¸
,

]
]
]
,
¸
,

]
]
]
,
¸
,

]
]
]
,
¸
,

≥ ≥ ≥ ≥
≤ +
≤ +
− +
− +
) 6 (
2
1
0
0
18
35
3 4
7 5
) 5 ( 0 , 0 , 0 , 0
) 4 (
) 3 (
) 2 (
) 1 (
1 0 1
21 11 21 11
21 21 22 11 12
11 21 21 11 11
21 21 20 21
11 11 10 11
i i k ik
D I b a
I I X X
b X a X a
b X a X a
D X I I
D X I I



En planification de la production, les décisions à prendre sont des quantités de produits
à produire et à stocker par périodes sur un certain horizon. Les contraintes sont souvent
linéaires. Ainsi, les modèles que nous considérons en planification sont :
• des modèles linéaires à variables réelles qui sont constitués de variables réelles
(dans certains cas rationnelles), de contraintes linéaires.
• des modèles linéaires à variables mixtes qui sont constitués de variables entières et
réelles, de contraintes linéaires.

III.2.3. Modélisation des problèmes d’ordonnancement

III.2.3.1 Définitions

Le problème d'ordonnancement consiste à organiser dans le temps des tâches
interdépendantes compte tenu de contraintes portant sur le temps (délais, enchaînement ...) et,
éventuellement, de contraintes portant sur les ressources (utilisation, disponibilité ...).
Une tâche i est définie comme une activité élémentaire de travail localisée dans le
temps (avec une date de début

i
t et/ou une date de fin
i
c ). La réalisation d’une tâche dure un
temps non nul (sa durée
i
p ) et consomme des moyens k avec une intensité
ik
a . Les tâches
peuvent être exécutées par morceaux (tâches préemptives) ou sans interruption (tâches non
préemptives).
Une ressource k est un moyen technique ou humain pouvant être utilisé pour la
réalisation d'au moins une tâche et disponible en quantité limitée, sa capacité
k
A . On
distingue les ressources renouvelables qui, après avoir été utilisées par une tâche, retrouvent
leur disponibilité initiale (machines, espace…) des ressources consommables dont la
disponibilité diminue après utilisation (budget, matières premières…). Les ressources
doublement contraintes sont des ressources dont l’utilisation instantanée et la consommation
globale sont limitées.
On distingue, d’autre part, les ressources disjonctives qui ne peuvent exécuter qu’une
tâche à la fois (machine-outil…) et les ressources cumulatives qui peuvent être utilisées par
plusieurs tâches simultanément (équipe d’ouvriers, fours de cuisson…). Cette distinction est
essentiellement faite pour le cas des ressources renouvelables.
Les modèles en gestion du temps et des ressources 67

Une classification par les ressources des problèmes d’ordonnancement est montrée sur
la figure 46 (une classification plus complète se trouve dans [Esquirol et al 99]). Ce critère de
classification permet de distinguer des propriétés des modèles notamment en termes de
complexité des algorithmes de résolution.

pas de ressources
problème central
ressources
consommables renouvelables
disjontives
Problèmes d’atelier
cumulatives

figure 46 : typologie par les ressources des problèmes d'ordonnancement.
III.2.3.2 Les variables de décision et les paramètres

Les principales variables de décision dans les problèmes d’ordonnancement sont :
• les dates de début
i
t des tâches.
• les dates de fin
i
c des tâches.

Les principaux paramètres considérés sont :

i
r la date de disponibilité (date de début au plus tôt) et
i
d la date échue (date de fin
au plus tard) d'une tâche.
• les durées des tâches
i
p .

ij
b , la durée minimale qui sépare le début de la tâche i du début de la tâche j

k
Ω est l'ensemble des tâches qui utilisent la ressource k . Si celle-ci est cumulative
avec une capacité
k
A , la tâche consomme
ik
a unité de la ressource.

Il est à noter que tous les paramètres cités ci-dessus peuvent être considérés comme
des variables. Lorsque
k
Ω n’est pas totalement connu, on a affaire à un problème
d’ordonnancement couplé à un problème d’affectation (voir [Huguet et al. 00] par exemple).
Dans ce cas,
i
p peut varier en fonction de l’affectation. De même, en cas de problématique à
gammes alternatives,
ij
b n’est pas totalement connu.
III.2.3.3 Les contraintes

Les contraintes usuellement considérées dans les problèmes d’ordonnancement sont
soit :
• des contraintes temporelles.
• des contraintes de ressources.

68 Modélisation des problèmes de gestion du temps et des ressources

1) Les contraintes temporelles
D'une part, des contraintes absolues portent sur une variable. Elles sont issues
d’impératifs de gestion et relatives aux dates limites de tâches (délais de livraison,
disponibilité des approvisionnements) ou à la durée totale du projet. Ce sont ces contraintes
qui définissent
i
r la date de disponibilité et
i
d la date échue. On a donc
i d c t r
i i i i
∀ ≤ ≤ ≤ .

Il existe aussi des contraintes relatives telles que les contraintes de précédence et plus
généralement des contraintes de cohérence technologique qui expriment une distance
minimale ou maximale entre tâches. Ces contraintes sont également appelées contraintes
potentielles, car elles s’expriment sous la forme générale d’inégalités de potentiels du type :
ij i j
b t t ≤ − . Par exemple, lorsque la durée est connue, pour exprimer les contraintes de
précédence ou de succession entre deux tâches, on prend
i ij
p b et on a
j i i
t p t ≤ + . Dans les
problèmes d’atelier, les contraintes de gamme s’expriment de cette façon. Par exemple, si un
produit nécessite deux étapes A et B dans sa fabrication, on peut avoir l’étape A qui doit
précéder B.

Pour représenter certaines contraintes plus complexes, on a recours à plusieurs
inégalités de potentiels devant être vérifiés conjointement. On parle d’ensemble conjonctif
d’inégalités de potentiels. Par exemple :
¦
¦
¦
¦
¦
≥ −
≥ −
0
0
j i
i j
c t
t c
exprime le fait que la tâche j doit
commencer exactement à la fin de
i
t (succession immédiate).

2) Les contraintes de ressources
Les contraintes de limitation de l’utilisation des ressources renouvelables sont
décomposées en :
• contraintes disjonctives. Elles interdisent l’utilisation simultanée de la ressource par
deux tâches. En d’autres termes, elles obligent à réaliser toute paire de tâches sur des
intervalles disjoints. Si deux tâches i et j sont liées par une contrainte
disjonctive (
k
i Ω ∈ et
k
j Ω ∈ ) ; soit i est réalisée avant j soit j est réalisée avant i .
La modélisation de ce conflit fait donc intervenir un séquencement qui peut être
représenté par un ensemble non conjonctif d’inégalités de potentiel (reliées par un
OU) :
i j j j i i
t p t t p t ≥ + ≤ + OU
• contraintes cumulatives. Elles interdisent la réalisation simultanée d’un nombre trop
important de tâches compte tenu de la disponibilité maximale de la ressource ) (t A
k
à
chaque instant et des quantités
ik
a requises individuellement par les tâches :
k t t A a
k
t i
ik
k
∀ ∀ ≤

Ω ∈
) (
) (
avec } et utilise / { ) ( i i i k p t t t k i i t + ≤ ≤ Ω . La figure 47 présente une
courbe de charge de la ressource k correspondant à un certain ordonnancement : la
capacité est de 40.

Les modèles en gestion du temps et des ressources 69

10
20
30
40
0
temps
A
k
=40

Ω ∈ ) (t i
ik
k
a

figure 47 : exemple de courbe de charge
III.2.3.4 Représentation des solutions
Un diagramme de Gantt permet de visualiser graphiquement l’exécution des tâches
et/ou l’utilisation des ressources au cours du temps. À chaque tâche est associée un segment
ou une barre de longueur proportionnelle à la durée de la tâche.
En ordonnancement de projet sans contraintes de ressources, les tâches apparaissent en
ordonnée et le temps sur l’axe des abscisses.

exemple III-3 : gestion de projet
La figure 48 montre un exemple de diagramme de Gantt pour un projet à 6 tâches dont les
caractéristiques sont résumées dans le Tableau 4 (l’exemple est tiré de [Esquirol et al 99]). Les lignes
en pointillées peuvent servir pour signaler des contraintes de succession.
Tâche i A B C D E F
Durée
i
p (jours)
5 2 2 4 8 1
Contrainte Après B Après A et C Après B Après D et E
Tableau 4 : exemple de projet
En présence de contraintes de ressources disjonctives (comme dans les problèmes
d’atelier), le diagramme de Gantt est composé d’une ligne horizontale pour chaque ressource.
Ceci permet de visualiser les zones d’occupation des ressources et la durée de
l’ordonnancement. Dans le cas de problèmes d’atelier, une représentation par produits permet
de visualiser les temps d’attente des produits.
temps
tâches
A
B
C
D
E
F

figure 48 : diagramme de Gantt projet
70 Modélisation des problèmes de gestion du temps et des ressources

exemple III-4 : ordonnancement à ressources disjonctives
Dans un atelier, deux produits A et B sont à réaliser (l’exemple est tiré de [Esquirol et al 99]).
Chaque produit est composé de 3 tâches à réaliser sur 3 machines (A sur la machine 1 puis 2 puis 3
et B sur 2 puis 1 puis 3). Le Tableau 5 donne les valeurs des durées des opérations en minutes. La
figure 49 représente le diagramme de Gantt par ressources et la figure 50 représente le diagramme
de Gantt par produits.

Machine
1 2 3
A 60 20 30 Produit
B 40 30 10
Tableau 5 : exemple d'atelier
A (1
ère
tâche)
temps
machine
B (1
ère
tâche) A (2
ème
tâche)
B (2
ème
tâche)
A (3
ème
tâche) B (3)
1
2
3

figure 49 : diagramme de Gantt ressource

2
temps
produit
1
1
2
3
3
A
B

figure 50 : diagramme de Gantt produit

Pour les problèmes avec ressources cumulatives, une représentation hybride peut être
employée pour représenter une solution. Un exemple est montré sur la figure 47.

III.2.3.5 Modélisation à l’aide de graphes

Dans ce paragraphe, nous verrons les moyens de représenter, à l’aide de graphes, les
problèmes d’ordonnancement sans contraintes de ressources et ceux avec contraintes de
ressources renouvelables.

1) Le problème central

Le problème central ne tient pas des contraintes de ressource (cela revient à supposer
que les ressources sont à capacité infinie ou suffisante). Il n’y a donc que des contraintes
temporelles. Le modèle est linéaire à variables réelles.
Les modèles en gestion du temps et des ressources 71

Ce type de problème se rencontre en ordonnancement de projet (à capacité infinie).
L’étude du problème central permet d’analyser l’enchaînement des principales tâches du
projet au cours du temps. Ceci est particulièrement utile lorsque le projet n’est pas en
concurrence avec d’autres projets pour l’attribution de ressources.

On peut représenter ces problèmes à l’aide de graphes. Il existe trois sortes de graphes
permettant de représenter ces problèmes : les graphes potentiels–tâches, les graphes
potentiels-étapes et les graphes potentiels-bornes. La différence entre ces graphes réside dans
la sémantique associée aux sommets et aux arcs. La formulation du problème central en
termes de graphe permet l’utilisation de techniques spécifiques aux graphes (notamment
l’algorithme permettant de trouver le plus long chemin dans un graphe pour minimiser le
temps d’exécution de l’ordonnancement).
Une inégalité de la forme
ij i j
b t t ≥ − est représentée sur la figure 51 :
i j
ij
b

figure 51 : modélisation potentiels-tâches

a) Les graphes potentiels-tâches
Pour les graphes potentiels-tâches, les arcs représentent les contraintes de potentiels
entre les dates de début des tâches représentées par les sommets. 2 tâches fictives de début et
de fin, de durée nulle, relient les sommets sans prédécesseur/successeur.

La figure 52 représente le graphe potentiel-tâches associé à l’exemple III-3 (gestion de projet) :
début fin
A
B
C
D
E
F
0
0
5
2
2
2
8
1
4

figure 52 : graphe potentiel-tâches associé à l'exemple III-3
b) Les graphes potentiels-étapes
Pour les graphes potentiels-étapes, les arcs du graphe représentent des tâches (réelles
ou fictives) alors que les sommets caractérisent les étapes ou événements repérant le début ou
la fin d’un ensemble de tâches. La longueur d’un arc représente la durée d’une tâche.
La figure 53 représente le graphe potentiel-étapes associé à l’exemple III-3 (gestion de projet).
1
2
3
4 5 C
A
B
D
E
F
Étape 1 : début projet ; début de A et B
Étape 2 : fin de B ; début de C et E
Étape 3 : fin de A et C ; début de D
Étape 4 : fin de D et E ; début de F
Étape 5 : fin de F et du projet

figure 53 : graphe potentiel-étapes associé à l'exemple III-3
c) Le graphe potentiel-bornes
Dans ce type de graphe, chaque tâche est représentée par (au moins) deux sommets,
liés à sa date de début et de fin. Ceci permet de modéliser toute contrainte de distance entre un
couple de bornes relatif à une même tâche (figure 54a) ou deux tâches distinctes (figure 54b).
72 Modélisation des problèmes de gestion du temps et des ressources

Lorsque la durée d’une tâche n’est pas connue précisément (soit parce que la durée est une
variable de décision soit parce que le paramètre durée n’est pas encore entièrement instancié),
ce type de graphe est la seule représentation capable de tenir compte de cette contrainte.
t
i
c
i
i
p
i
p −
(a) contraintes d’encadrement
de la durée d’une tâche
t
i
c
i
0
(b) contrainte de succession
i i i
p p p ≤ ≤
0 ≥ −
i i
c t

figure 54 : modélisation par un graphe potentiel-bornes

La figure 55 représente le graphe potentiel-bornes associé à l’exemple III-3 :
début
t
A
c
A
5
t
B
c
B
2
0
0
t
C
c
C
2
t
E
c
E
8
t
D
c
D
4
t
F
c
F
1
fin
0
0
0
0
0
0
0

figure 55 : graphe potentiel-bornes associé à l'exemple exemple III-3

2) Les problèmes avec contraintes de ressources renouvelables

Dans ce paragraphe, nous traiterons les problèmes à ressources renouvelables, qu’elles
soient cumulatives ou disjonctives. Ces problèmes sont caractérisés par l’existence de
contraintes non conjonctives. Dans un premier temps, nous allons voir quelques spécificités
des problèmes d’atelier (avec ressources disjonctives). Puis, nous verrons une extension des
graphes conjonctifs aux problèmes non conjonctifs.
a) Les problèmes d’atelier
Les problèmes d’atelier sont caractérisés par des contraintes de ressources
disjonctives. Les tâches ou opérations concernent une étape de la fabrication d’un type de
produits ou d’un lot de produits. Comme chaque produit ne peut se trouver à plusieurs
endroits différents, de nouvelles contraintes de précédence entre tâches apparaissent : ce
sont les contraintes de gamme.
Les problèmes d’atelier, et plus généralement les problèmes à contraintes disjonctives,
peuvent être décomposés en problèmes à une machine et problèmes à m machines. Ceux-ci
peuvent être décomposés à leur tour en problèmes « flow-shop » (tous les produits ont le
même cheminement dans l’atelier), « job-shop » (tous les produits ont un cheminement
propre à respecter), « open-shop » (tous les produits ont un cheminement libre dans l’atelier).

L’atelier est constitué de m machines fabriquant n produits (indice i ). Chaque
produit est constitué de
i
n opérations. L’opération j du produit i est notée ) , ( j i ; elle utilise
la machine
ij
m et sa durée est de
îj
p . Le respect de sa gamme de fabrication impose des
Les modèles en gestion du temps et des ressources 73

contraintes de précédence la forme ) , ( ) 2 , ( ) 1 , (
i
n i i i p L p p (où le signe p représente la
contrainte de précédence).

b) Représentation des contraintes disjonctives sur les graphes
potentiels-tâches
Les graphes conjonctifs présentés pour le problème central au paragraphe 1) peuvent
être étendus pour tenir compte des contraintes non conjonctives.

Pour les problèmes d’atelier, la représentation d’une disjonction se fait à l’aide d’un
symbole particulier ( ) sur un arc représentant le choix entre deux contraintes de
précédence. La figure 56 montre le graphe potentiel-tâches correspondant à l’exemple III-4
(ordonnancement d’atelier). On peut accompagner le symbole de disjonction de deux
nombres associés aux durées respectives des tâches.

A1 A2 A3
B1 B2 B3
Début fin
60
40
20
30
10
30
0
0
60
30
20
40
30
10

figure 56 : graphe potentiel-tâches correspondant à l’exemple III-4

c) Représentation des contraintes cumulatives

Pour les problèmes à ressources cumulatives, les non conjonctions ne peuvent pas être
représentés selon le même procédé.

exemple III-5 : un exemple de problème cumulatif
4 opérations doivent être séquencées sur une ressource cumulative de capacité 5. Le donne
les quantités de ressources requises par les tâches ainsi que leurs durées.
Tâche i 1 2 3 4
Durée p
i
3 4 2 5
Intensité a
i
3 2 1 4
Les conflits entre tâches peuvent être caractérisés par la détermination d’ensembles minimaux
de tâches en conflit appelés ensembles critiques (voir le paragraphe III.4.2.1 page 86 pour une
définition plus exacte). Pour ce problème, les ensembles critiques sont : {1,4}, {2,4}, {1,2,3}. Les
différents ensembles critiques sont :
1 avant 4 OU 4 avant 1, pour {1,4}.
2 avant 4 OU 4 avant 2, pour {2,4}.
1 avant 2 OU 2 avant 1 OU 1 avant 3 OU 3 avant 1 OU 2 avant 3 OU 3 avant 2, pour {1,2,3}
La figure 57 montre comment représenter ces non conjonctions. Les disjonctions sont
représentées par . Les autres non conjonctions sont représentées par les lignes entourant
certains arcs. Cette technique de représentation s’avère toutefois rapidement inapplicable en
présence d’ensembles critiques de grande cardinalité pouvant d’autre part avoir des intersections.

74 Modélisation des problèmes de gestion du temps et des ressources

A
B
C
D
4
2
2
3
3
4
4
3
5
5
Etape A : début de 3
Etape B : début de 2
Etape C : début de 1
Etape D : début de 4
OU

figure 57 : graphe potentiel-tâches associé à l'exemple III-5

Le problème d'ordonnancement consiste à organiser dans le temps des tâches
interdépendantes. Au problème central, sans contraintes de ressources, correspond un modèle
linéaire à variables réelles. Aux problèmes avec contraintes de ressources renouvelables
correspondent des modèles à variables mixtes.

III.3. Les techniques d'optimisation

Les techniques d’optimisation s’appuient sur un critère pour classer les solutions. Elles
permettent de prouver l’existence d’au moins une solution ou de trouver la (ou les) solution(s)
optimale(s). Selon les cas, une solution optimale sera celle qui minimise le critère ou qui le
maximise.

III.3.1. Les critères d'optimisation
III.3.1.1 Les critères en planification de la production

Lorsque l'on cherche à obtenir une solution optimale à un problème de planification de
la production, un critère composé d’objectifs économiques (comme les coûts de fabrication,
les coûts de changement de taux de production, les coûts de changement de capacité de
ressources, etc.) mais aussi d’objectifs techniques ou humains (régularité du taux de capacité
de certaines ressources (humaines), régularité de la production) est adopté.
En général, ) , (
it it
I X f est une fonction linéaire de
it
X et de
it
I . La principale raison de
l'emploi de critère d'optimisation linéaire est l'efficacité des algorithmes employés pour
trouver la ou les solutions optimales.
Par exemple, la fonction
∑ ∑

N
i
T
t it
I Z
1 1
min cherche à minimiser les stocks.
III.3.1.2 Les critères en ordonnancement

Parmi les critères possibles, on peut distinguer :
• les critères liés au temps : minimisation du temps total d’exécution, minimisation des
retards (maximum, moyen, somme, nombre, etc.) par rapport aux dates limites fixées.
• les critères liés aux ressources : minimisation de la quantité de ressources nécessaires
pour réaliser un ensemble de tâches, minimisation de la charge de chaque ressource.
• les critères liés aux coûts de lancement, de production, de stockage, de transport, etc.
Les techniques d'optimisation 75

• les critères liés à une énergie ou un débit…

Les critères d’optimisation usuellement considérés dans les problèmes d’atelier sont :
• minimisation du temps de cycle ou temps de séjour dans l’atelier :
i
i
c C max
max

• minimisation du plus grand retard : (
,
\
,
(
j
− ) ( max , 0 max
max i i
i
d c T
• minimisation du retard moyen pondéré :


i
i
i
i i i
w
w
d c w
T
) , 0 max(
avec w le vecteur de
pondération
• minimisation de la somme pondérée des dates de fin

i
i i w
c w C
III.3.2. Modèles linéaires à variables réelles

Pour cette partie, on pourra se reporter aux ouvrages de [Teghem 96] et de [Jacquet-
Lagrèze 98].

Les modèles linéaires à variables réelles ont quelques propriétés fondamentales :
si l’espace des solutions est non vide, alors celui-ci forme un polyèdre convexe.
si le polyèdre convexe est borné (c’est un polytope), soit la solution optimale est située
sur un sommet du polytope et est unique, soit tous les points d’une des faces du polytope sont
optimaux.
si le polyèdre est non borné, il est possible que le problème n’ait pas de solution
optimale à distance finie.
critère
solution
optimale
polytope et solution
optimale unique
critère
solutions
optimales
polytope et solutions
optimales sur une face
polyèdre non borné
et pas de solution
critère

figure 58 : les solutions optimales en fonction du polyèdre et du critère


Reprise de l’exemple III-2 : planification en gestion de production
Les variables de stocks peuvent être éliminées (elles peuvent être obtenues à partir des autres
variables). Il reste donc un problème avec deux variables (
11
X et
21
X ). Le critère choisi revient à
minimiser la production (
21 11
min X X Z + ≡ ). L’espace des solutions est un polytope (donc un
polyèdre convexe). La solution optimale est le sommet de coordonnées (1,2) (marqué avec un rond
noir sur la figure 59).
76 Modélisation des problèmes de gestion du temps et des ressources

¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
¦
]
]
]
,
¸
,

]
]
]
,
¸
,

]
]
]
,
¸
,

]
]
]
,
¸
,

≥ ≥
≤ +
≤ +
− ≥
− ≥
+
) 6 (
2
1
0
0
18
35
3 4
7 5
) 5 ( 0 , 0
) 4 (
) 3 (
) 2 (
) 1 (
sous
min
1 0 1
21 11
21 21 22 11 12
11 21 21 11 11
20 21 21
10 11 11
21 11
i i k ik
D I b a
X X
b X a X a
b X a X a
I D X
I D X
X X Z

X
21
0
X11
21 11
min X X +
35 7 5
21 11
≤ + X X 18 3 4
21 11
≤ + X X
(1)
(2)
(3)
(4)

figure 59 : espace des solutions associé au problème de l'exemple III-2
III.3.2.1 L’algorithme du simplexe pour le cas général

L’algorithme du simplexe est un algorithme qui converge vers le (ou les) sommet(s)
optimum(s) en optimisant le critère. Cet algorithme contient deux phases :
• la procédure d’initialisation détermine les coordonnées du premier sommet
admissible (solution mais pas forcement optimum). Si cette procédure échoue, alors
l’espace des solutions est vide ; si elle réussit, alors le problème contient au moins une
solution.
• la procédure itérative calcule une solution (un sommet) donnant la meilleure valeur
du critère. Géométriquement, une itération consiste à passer d’un sommet à l’autre le
long d’une arête de l’espace des solutions.

L’algorithme du simplexe est en théorie de complexité exponentielle mais en pratique
(statistiquement) il est de complexité égale à m 5 , 1 , m étant le nombre de contraintes
d’inégalités non redondantes du modèle. Cet algorithme est connu depuis longtemps (Dantzig
a publié la première version en 1947) et est présent dans de nombreuses bibliothèques et
outils de programmation linéaire comme CPLEX de Ilog, XPRESS-MP de Dash Ltd, OSL de
Les techniques d'optimisation 77

IBM, ainsi que dans différentes extensions du langage Prolog, notamment les langages de
programmation logique avec contraintes, tels que CLP(R) ([Imbert et al 93]) ou PrologIV.
Pour la phase d’initialisation, deux techniques peuvent être mises en œuvre :
• une technique statique. Une fois le problème modélisé, on cherche un sommet
admissible.
• une technique dynamique. L’algorithme consiste à maintenir un sommet admissible
au fur et à mesure que les contraintes sont posées. Ceci permet à des langages comme
Prolog et CLP(R) de réaliser un test de consistance incrémental, permettant de
détecter les inconsistances au fur et à mesure que les contraintes sont posées.

De plus, les outils de programmation linéaire proposent des analyses paramétriques, de
sensibilité et post-optimales sur les modèles. Il peut s’agir :
• d’une analyse paramétrique où un paramètre λ intervient dans le critère (de la
forme X c c Z ) (
2 1
λ + ). Ceci permet de déterminer quel sera le sommet optimum en
fonction du paramètre λ .
• d’une analyse paramétrique quand un paramètre λ apparaît dans le second membre
des contraintes d’inégalité.
• d’une analyse de sensibilité. Il s’agit de déterminer le domaine des variations d’un
certain coefficient pour lequel la solution optimale n’est pas modifiée.
• d’une analyse de post-optimisation. Le problème initial est modifié (par exemple par
ajout de contraintes) et il s’agit de réoptimiser le problème.

Pour les problèmes linéaires que nous étudierons (surtout en planification de la
production), nous retiendrons l’algorithme du simplexe avec la technique dynamique dans la
première phase. En effet, cette technique permet de vérifier rapidement si une contrainte rend
le problème inconsistant. De plus, si l’algorithme de recherche d’une solution optimale est
interrompu après la fin de la première phase, une solution (non optimale) est quand même
donnée. Enfin, le décideur peut utiliser les outils d’analyse paramétrique pour caractériser les
degrés de liberté dont il dispose.

III.3.2.2 Le cas particulier du problème central

Bien que le modèle employé soit linéaire à variables réelles, l’algorithme du simplexe
est rarement employé dans ce cas. Ceci est dû à la spécificité du modèle qui, d’une part, ne
contient que des inégalités à deux variables avec des coefficients égaux à 1, 0 ou –1 et qui,
d’autre part, peut être représenté par une graphe.

Une question fondamentale dans la résolution concerne la minimisation de la durée
totale du projet. Ceci revient à calculer le chemin le plus long entre le début et la fin du projet
sur le graphe potentiels-tâches associé. À l’aide de l’algorithme de Bellman-Ford, on peut
déterminer un chemin critique correspondant à une séquence de tâches ne disposant
d’aucune marge si l’on désire terminer au plus tôt.

On peut trouver assez facilement un ordonnancement au plus tôt et un
ordonnancement au plus tard pour les problèmes centraux (voir les algorithmes dans
[Prins 94]). Ceci donne de façon complète les domaines de valeurs que peuvent prendre les
variables de décision.

78 Modélisation des problèmes de gestion du temps et des ressources

Sur la figure 60, on trouve les domaines associés aux dates de début des tâches de l’exemple
III-3 avec une date de fin au plus tard de 15. Le chemin critique est indiqué en gras.

[2;8]
début fin
A
B
C
D
E
F
0
0
5
2
2
2
8
1
4
[11;15]
[0;5]
[0;4]
[5;10 ]
[2;6]
[10;14 ]
[0;4]

figure 60 : domaines des dates de début ( exemple III-3)

Parmi les méthodes de résolution des problèmes centraux, la méthode PERT permet
non seulement de résoudre le problème d’ordonnancement mais permet également de tenir
compte des durées de tâches imprécises (à l’aide d’un modèle probabiliste).

Pour les problèmes centraux, nous retiendrons l’algorithme qui permet de trouver les
ordonnancements au plus tôt et au plus tard, car ils permettent de caractériser l’espace des
solutions en associant à chaque tâche un domaine pour sa date de début. De plus, le chemin
critique obtenu peut être utilisé pour connaître un ensemble des paramètres et décisions à
relâcher en cas de décision sur contraintes.
III.3.2.3 Un outil d’évaluation du volume de l’espace des
solutions
Le volume de l'espace des solutions peut être obtenu par un algorithme récursif en
calculant le volume de chaque face du polytope ([Lasserre et al. 85]). Cet algorithme pouvant
être long (en temps d'exécution), le volume de l'espace des solutions peut être aussi apprécié
en calculant le rayon maximum d'une sphère contenue dans l'espace des solutions (voir un
exemple sur la figure 61).
Dans le cas général, calculer le rayon maximum qu’une sphère peut occuper dans
l’espace des solutions du modèle :
¦
¦
¦
¦
¦
∈ ∀ ≥
∈ ∀ ≤

] , 1 [ 0
] , 1 [
1
N i X
m k b X a
i
k
N
i
i ik


peut être obtenu en maximisant le modèle suivant (qui correspond au modèle
précédent avec quelques modifications mineures) :
¦
¦
¦
¦
¦
∈ ∀ ≥ −
∈ ∀ ≤ +

∑ ∑

] , 1 [ 0
] , 1 [
sous
max
1 1
max
N i R X
m k b R a X a
R R
i
k
N
i
N
i
ik i ik

De plus, en optimisant le modèle précédent, on obtient les coordonnées du centre de la
sphère. L’ensemble des contraintes en contact avec la sphère peut être obtenu facilement en
examinant les valeurs duales associées aux contraintes : si la valeur duale d’une contrainte est
0, alors la contrainte touche la sphère. Cet ensemble de contraintes peut être interprété comme
l’ensemble des contraintes qui « contraint » le plus l’espace des solutions.
Les techniques d'optimisation 79

Lorsque le modèle initial n’a pas de solution, en maximisant le rayon du modèle
modifié (et en tolérant un rayon négatif), on obtient un ensemble de contraintes à relâcher
pour avoir une solution ainsi que la distance de relâchement minimum.

Appliqué au modèle de planification présenté au paragraphe III.2.2.3, le rayon
maximum de la sphère contenue dans l'espace des variables X
it
peut être obtenu en
maximisant :
¦
¦
¦
¦
¦
¦
¦
¦
¦
∈ ∀ ∈ ∀ ≥ + − +
∈ ∀ ∈ ∀ ≥ −
∈ ∀ ∈ ∀ ≤ +

∑ ∑
∑ ∑


] , 1 [ ] , 1 [ 0 *
] , 1 [ ] , 1 [ 0
] , 1 [ ] , 1 [ *
sous
) max(
1 1
0
1
2
1
max
T t N i R t D X I
T t N i R X
T t R k b R a X a
R R
t
s
is
t
s
is i
it
kt
N
j
jk
N
i
it ik


Application à l’exemple III-2 de planification de la production :
Pour obtenir les coordonnées du centre du cercle ainsi que son rayon, il suffit de maximiser :
¦
¦
¦
¦
¦
¦
¦
¦
¦
≥ − ≥ −
≤ + +
≤ + +
≥ −
≥ −

0 , 0
18 5 3 4
35 74 7 5
2
1
sous
max
21 11
21 11
21 11
21
11
max
R X R X
R X X
R X X
R X
R X
R R

On obtient un rayon de 75 , 0 4 / 3 . Les coordonnées du centre du cercle sont 75 , 1
11
X et
75 , 2
21
X . Les contraintes qui sont en contact avec la sphère sont les contraintes (1), (2) et (4).
X
21
0
X
11
35 7 5
21 11
≤ + X X 18 3 4
21 11
≤ + X X
(1)
(2)
(3)
(4)
rayon maximum d'un
cercle contenu dans
l'espace des solutions

figure 61 : une évaluation du volume de l'espace des solutions
80 Modélisation des problèmes de gestion du temps et des ressources

Cette méthode permet d’évaluer le volume de l’espace des solutions. Il s’agit donc
d’un moyen pour évaluer les degrés de liberté d’un centre. De plus, cette méthode donne un
ensemble de contraintes à relâcher en cas de décision sur contraintes.
Ceci est utile dans le cas où aucune connaissance ne permet de choisir les contraintes à
relâcher en priorité.

III.3.3. Modèles linéaires à variables mixtes ou discrètes
Les modèles linéaires à variables mixtes sont bien plus durs à résoudre que les
modèles linéaires à variables réelles. Ceci tient au fait qu’en introduisant des variables
discrètes dans le modèle, on perd les propriétés énoncées au III.3.2.

Reprise de l’exemple III-2
La figure 62 montre l’espace des solutions correspondant au problème de l’exemple III-2 résolu
en variables continues et les points représentent les solutions admissibles du problème résolu en
variables entières. Dans ce cas bien précis, la solution optimale du problème résolu en variables
entières est la même que celle obtenue par le problème résolu en variables réelles. Si le critère avait
été
21 11 1
max X X Z + ≡ , la solution optimale n’aurait pas été la même : en continu, la solution optimale
avec le critère Z
1
est (21/13 ; 50/13) et en discret les solutions optimales sont (1,4), (2,3), (3,2).

Pour résoudre les problèmes à variables mixtes, deux techniques sont utilisées : les
méthodes polyédriques et les procédures par séparation et évaluation.

Les méthodes polyédriques essaient de trouver un polyèdre convexe englobant au plus
juste l’espace des solutions du problème en variables mixtes et plus petit que l’espace des
solutions du problème en variables réelles. Pour cela, on introduit de nouvelles contraintes
(appelles coupes) dans le système de contraintes. Ainsi, si la solution trouvée par
l’optimisation en variables réelles (à l’aide du simplexe par exemple) du nouveau système est
entière (pour les variables concernées) alors celle-ci est aussi solution optimale du problème
original en variables mixtes.

X
21
0
X
11
21 11
min X X +
coupe

figure 62 : espace des solutions associé au problème de l'exemple I-1 en variables
entières


Les techniques d'optimisation 81

Sur la figure 62, la ligne en pointillés représente une coupe possible. Cette coupe permet de
trouver toutes les solutions optimales quel que soit le critère (ce n’est pas toujours le cas pour les
autres problèmes).

Les procédures par séparation et évaluation ou « Branch and Bound » sont
essentiellement constituées de trois éléments :
• une procédure de séparation qui à chaque fois qu’il sera nécessaire de séparer un
sous-ensemble de solutions déterminera combien de sous-ensembles considérer et
comment les constituer.
• une procédure d’évaluation qui consiste à analyser un sous-problème. Pour
l’essentiel, cette analyse vise à évaluer la valeur optimale de la fonction économique
du sous-problème, plus précisément à déterminer une borne inférieure (supérieure
pour un problème de maximisation) de cette valeur.
• une procédure de cheminement qui indique quels sous-ensembles analyser et dans
quel ordre. Certains sous-ensembles ne seront pas séparés car leur analyse mettra en
évidence qu’ils ne contiennent pas de solutions meilleures que celles déjà trouvées ;
on dit que l’arborescence est élaguée. Deux grands types de stratégies existent : une
stratégie de type largueur d’abord (on parcourt l’arbre niveau par niveau) et une
stratégie de type profondeur d’abord (on descend d’abord le plus profondément
possible).

Reprise de l’exemple III-2 :
La figure montre l’arborescence d’une méthode par séparation et évaluation.
X
21
=2
X
21
=3
X
21
=4 X
21
=2 X
21
=3
X
21
=2
X
11
=1
X
11
=2
X
11
=3

figure 63 : arborescence d'une méthode par séparation et évaluation appliquée à
l'exemple III-2

Pour ce type de modèle, nous retiendrons les procédures par séparation et évaluation
avec une stratégie de type profondeur d’abord. En effet, elles ont pour but l’obtention rapide
d’une solution. Ceci favorise le test d’existence d’au moins une solution et si l’algorithme de
recherche de solution optimale est interrompu, une solution est donnée.

III.3.4. Méthodes exactes et approchées pour les problèmes
d’ordonnancement avec contraintes de ressources

Les méthodes de résolution des problèmes d’ordonnancement sont issues de la
recherche opérationnelle et de l’intelligence artificielle. Ces méthodes sont de deux types : les
méthodes exactes qui prouvent l’optimalité de la solution trouvée et les méthodes
heuristiques qui trouvent la solution optimale ou une solution qui s’en approche. La
résolution des problèmes d’ordonnancement avec contraintes de ressources est, en général,
NP-complet. D’où l’idée d’utiliser des méthodes heuristiques.
Dans la suite du paragraphe, une typologie des méthodes exactes et heuristiques en
cinq points est présentée (voir [Gotha 93]).
82 Modélisation des problèmes de gestion du temps et des ressources

Les méthodes par construction progressive sont des méthodes itératives où, à chaque
itération, on complète une solution partielle. Le choix de l’opération a ajouter à
l’ordonnancement peut être défini :
• par l’application d’un théorème de dominance. La méthode peut donner une solution
optimale.
• par l’application de règles de priorités qui ne conduisent pas en général à des solutions
optimales (par exemple les méthodes « sérielles » pour les problèmes cumulatifs).
Lorsque le problème contient des dates échues impératives, les méthodes par
construction progressive peuvent conduire à des solutions non admissibles ; dans ce cas, on
effectue en général un retour en arrière (« backtraking »).

Les méthodes par voisinage manipulent des solutions complètes. Chaque itération a
pour objectif de passer d’une solution complète à une solution voisine mais meilleure
relativement au critère considéré. Le choix du voisin conduit à plusieurs types de méthodes :
• méthodes de plus forte pente (choix du meilleur voisin),
• méthodes de descente (choix aléatoire d'un voisin meilleur),
• recuit simulé (choix d'un voisin quelconque),
• méthodes Tabou (méthode de descente mais on accepte de « remonter » losqu'un
minimum local est atteint).

Les méthodes par décomposition cherchent à décomposer le problème en sous-
problèmes de complexité moindre. Plusieurs types de décompositions peuvent être
considérés :
• décompositions hiérarchiques (plusieurs niveaux avec des mécanismes d’agrégation)
• décompositions structurelles (par exemple, on résout d’abord le problème temporel
puis le problème d’affectation),
• décompositions temporelles (principalement pour l'ordonnancement dynamique),
• décompositions spatiales (décomposition en sous-ateliers),
• décomposition de l'ensemble des solutions du problème (ce sont les méthodes par
séparation et évaluation).

Les méthodes par modification des contraintes changent le modèle des problèmes à
résoudre. Par exemple, en transformant un flow-shop normal en flow-shop de permutation, le
nombre de solutions à explorer est moindre. Parmi ces méthodes, on trouve les méthodes de
relaxation (lagrangienne, surrogate ...). Le fait de relâcher conduit à des solutions qui ne sont
plus réalisables, mais qui fournissent des évaluations par défaut pouvant être intégrées dans
d'autres méthodes.

Les méthodes qui utilisent des techniques de représentation des connaissances et de
résolution des problèmes sont généralement issues de l'intelligence artificielle. C’est le cas par
exemple des techniques de propagation de contraintes alliées à des techniques de résolution
ou bien des algorithmes génétiques (algorithmes qui font évoluer une population de solutions
par sélection et mutation).

Les méthodes de résolution permettent de trouver la (les) meilleure(s) solution(s) à un
problème. Toutefois, les méthodes de résolution qui viennent d’être présentées reposent sur
un modèle présentant certaines limitations :
• l’ensemble des contraintes réelles n’est généralement pas pris en compte dans le
modèle de résolution pour des raisons de difficulté de formalisation.
Caractérisation des solutions admissibles 83

• certaines connaissances, en particulier les préférences du décideur, sont difficiles à
traduire sous forme de contraintes ou de critères.
• l’obtention d’une solution unique ne permet pas de juger des degrés de liberté qui
pourraient être utilisés en cas d’aléa : si le modèle change même de façon très
partielle, il faut relancer une nouvelle résolution.
Pour cette raison, il peut être intéressant de caractériser les solutions d’un problème,
d’évaluer les conséquences d’une décision particulière en temps de terme de modification de
l’espace des solutions. C’est l’objectif des techniques de propagation de contraintes.

III.4. Caractérisation des solutions admissibles

Les techniques présentées dans ce paragraphe permettent en premier lieu de
caractériser les solutions admissibles, par exemple, en donnant le domaine que peuvent
prendre les variables, en explicitant de nouvelles contraintes entre les variables, en prouvant
l'inconsistance d'un problème. Ceci permet de caractériser, en partie seulement, l’autonomie
d’un centre de décision.

III.4.1. Propagation de contraintes dans les CSP
III.4.1.1 Introduction

La propagation de contraintes est un mécanisme déductif qui permet d'inférer de
nouvelles contraintes à partir d'un sous-ensemble de contraintes et de variables.
Dans [Davis 87], l'auteur identifie six types de propagation de contraintes. Nous nous
intéresserons qu'aux deux les plus généraux. L’inférence de contraintes permet d’inférer de
nouvelles contraintes. Nous considérons également l’inférence de labels qui modifie le
domaine des variables. On peut noter que l'inférence de label est un cas particulier d'inférence
de contraintes.
[Davis 87] a mis en avant quelques caractéristiques des systèmes de propagation de
contraintes, dont les plus intéressantes sont :
• l'utilisation possible pour les systèmes incrémentaux. L’ajout de plusieurs contraintes
peut se faire en plusieurs étapes liées chacune à l'ajout d'une seule contrainte, sans que
cela n'affecte le résultat final. Les CSP dynamiques exploitent particulièrement cette
propriété.
• l'utilisation possible sous contraintes de temps. Si on interrompt le processus de
propagation, les résultats intermédiaires sont valides et le processus peut être repris
plus tard.
• l'implémentation possible en parallèle. Ce processus est étudié dans les CSP distribués
(cf. [Hamadi 99]).
III.4.1.2 Consistances locales et filtrage

Les techniques de propagation de contraintes les plus connues sont les méthodes de
consistance locale et de filtrage de domaine. Ces méthodes infèrent des restrictions sur les
domaines (inférence de labels). Ces méthodes peuvent s’appliquer aussi bien aux CSP discrets
qu’aux CSP continus (voir [Sam-Haroud et al. 96], [Lee et al. 93] et [Davis 87]).
84 Modélisation des problèmes de gestion du temps et des ressources

Avant de présenter les techniques de filtrage, nous présentons les notions de consistance
et de k-consistance.

Un CSP est dit consistant si il existe au moins une solution.

Un CSP est dit k-consistant si pour toute instanciation consistante de (k-1) variables,
il existe une valeur pour toute k-ième variable telle que l’instanciation des k variables soit
consistante.

Voici quelques cas particuliers de k-consistance :
Un CSP est noeud-consistant si et seulement si l’ensemble des valeurs de chaque
domaine vérifient les contraintes unaires pesant sur la variable associée. La consistance de
nœud est équivalente à la 1-consistance.
Une contrainte binaire est arc-consistante si et seulement si, pour toute valeur du
domaine d'une des deux variables, il existe une valeur du domaine de l'autre variable qui
satisfasse la contrainte. Un CSP est arc-consistant si et seulement si toutes ces contraintes
binaires sont arc-consistantes. L’arc consistance correspond à la 2-consistance.
Un CSP est chemin-consistant si et seulement si pour tout chemin ) ,..., , (
1 0 m
x x x , tout
couple de valeur des domaines de
0
x et
m
x , il existe au moins une valeur pour toute variable
intermédiaire (de
1
x à
1 − m
x ) tel que chaque contrainte binaire reliant deux variables adjacentes
soit satisfaite. Dans le cas, d’un CSP binaire, la chemin-consistance est équivalente à la 3-
consistance.
Illustration de l’arc-consistance
Soit le graphe suivant.
Pour rendre ce CSP arc-consistant, il faut réduire les domaines des deux
variables afin que quelque soit la valeur prise dans le domaine de t
A
, il existe
une valeur pour t
B
telle que la contrainte soit vérifiée et inversement. Ainsi,
on a 5 +
A D
t t et 5 −
D A
t t . On en déduit le graphe suivant qui
correspond à un CSP arc-consistant.
t
A
t
D
5 + ≥
A D
t t
[0 ;15] [0 ;15]
t
A
t
D
5 + ≥
A D
t t
[0 ;10] [5 ;15]


Afin de rendre un CSP arc-consistant, de nombreux algorithmes de filtrage ont été
proposés. Les plus connus portent les noms de AC-1 à AC-6 (on peut voir le détail de ces
algorithmes et une discussion approfondie sur leur efficacité dans [Hamadi 99] ou dans
[Alliot et al 94]).
L’algorithme AC-1 est le plus simple de ces algorithmes. Chaque arc ) , ( j i voit le
domaine
i
d filtré en fonction de la contrainte
ij
c . Tant que le domaine d’une des variables est
changé, le réseau de contraintes est entièrement parcouru. Si aucune inconsistance n’est
détectée, le CSP est nœud-consistant et arc-consistant. Cet algorithme est relativement
inefficace car à chaque changement, tout le réseau de contraintes est reparcouru.
Caractérisation des solutions admissibles 85

L’algorithme AC-3 comble en partie cette inefficacité. Au départ, toutes les
contraintes sont dans la pile ; au fur et à mesure des actualisations les contraintes sont dépilées
pour filtrer les domaines des variables. Si une variable voit sont domaine changé à cause
d’une contrainte
i
c , on empile toutes les contraintes qui font intervenir la variable sauf
i
c .

La figure 64 montre le graphe CSP arc-consistant dérivé de celui de l'exemple III-3. On peut
remarquer que les valeurs des domaines obtenus ici sont les même que ceux obtenus avec
l’ordonnancent au plus tard et au plus tôt comme l’a montré la figure 60.

[2 ;8]
t
début
t
A
t
B
t
C
t
D
t
E
t
F
t
fin
début A
t t ≥
début B
t t ≥
5 + ≥
A D
t t
2 + ≥
B E
t t
2 + ≥
B C
t t
2 + ≥
C D
t t 4 + ≥
D F
t t
8 + ≥
E F
t t
1 + ≥
F fin
t t
[0 ;4]
[0 ;5] [5 ;10]
[10 ;14]
[11 ;15]
[2 ;6]
[0 ;4]

figure 64 : arc-consistance appliqué au CSP de l'exemple III-3
Les problèmes d’ordonnancement sans contraintes de partage de ressources peuvent
être formulés sous la forme d’un TCSP (CSP à variables temporelles) binaire. Les algorithmes
de chemin-consistance donnent les actualisations maximales des domaines de variables et
assurent que le CSP résultant est globalement consistant : toute valeur du domaine d’une
variable intervient dans au moins une solution. Donc, les algorithmes de chemin-consistance
appliqués aux problèmes d’ordonnancement sans contraintes de partage de ressource donnent
un CSP globalement consistant.

III.4.2. L’analyse sous contraintes des problèmes
d’ordonnancement

Les techniques de k-consistance appliquées aux problèmes d’ordonnancement donnent
de bons résultats dans certains cas : les algorithmes de chemin-consistance assurent que le
CSP résultant est globalement consistant dans le cas des ordonnancements sans partage de
ressource. Dans les autres cas, on peut mettre en place des règles de déduction plus
spécifiques afin de renforcer la consistance du problème. C’est le rôle de l’analyse sous
contraintes des problèmes d’ordonnancement ([Esquirol et al 99], [Hennet 97], [Huguet 94],
[Le Pape 94]).

Le premier type de règles présenté repose sur l’identification de conflits de partage
afin d’effectuer d’éventuels arbitrages. Ce raisonnement correspond à une inférence de
contraintes. Le second type de règles présenté s’appuie sur le concept d’énergie. Ce
raisonnement, intégral, déduit des restrictions sur la localisation temporelle des tâches
(inférence de domaine).

Les règles présentées ici peuvent s’appliquer aux problèmes d’ordonnancement avec
tâches non préemptives et ressources renouvelables.

86 Modélisation des problèmes de gestion du temps et des ressources

III.4.2.1 L’identification de conflits de partage de ressource

Ce type de raisonnement passe d’abord par la détermination des ensembles critiques
de tâches en conflit, puis dans un second temps par l’inférence de séquencements obligatoires
ou interdits et enfin par l’actualisation des domaines des variables.

Un ensemble critique de tâches en conflit T est un ensemble minimal de tâches qui
utilisent une ressource k , qui ne sont pas ordonnées et qui ne peuvent pas être exécutées en
parallèle.
La nécessité de résoudre un ensemble critique de tâches en conflit peut être exprimée
par un ensemble non conjonctif d’inégalités de potentiels (comme nous l’avons vu au
paragraphe III.2.3). Le nombre de décisions nécessaires pour résoudre un problème est au
plus égal au nombre d’ensembles critiques.
La recherche des ensembles critique est triviale dans le cas de ressources disjonctives.
Par contre, dans le cas de ressources cumulatives, l’énumération systématique peut donner un
grand nombre d’ensembles critiques.

Un ensemble disjonctif maximal D est un plus grand ensemble de tâches qui
utilisent la ressource k tel que tout couple de tâches de cet ensemble est un ensemble
critique. Ainsi, les tâches de cet ensemble doivent être totalement ordonnées.


Exemple III-6 : un problème d'ordonnancement cumulatif
Dans cet exemple, 6 tâches {1,2,3,4,5,6} utilisent une seule ressource de capacité 4
k
A . On
suppose qu’il n’existe aucune contrainte temporelle initiale (hormis les dates de début au plus tôt et au
plus tard des tâches).

i 1 2 3 4 5 6
a
i
3 3 2 2 1 1
r
i
0 2 3 0 3 1
p
i
2 2 1 1 1 2
d
i
5 6 6 6 5 6

L’analyse permet de déterminer les ensembles critiques : {1,2}, {1,3}, {1,4], {1,5,6}, {2,3}, {2,4},
{2,5,6}, {3,4,5}, {3,4,6}. Les ensembles disjonctifs maximums sont {1,2,3}, {1,2,4}. Les tâches 5 et 6 ne
peuvent pas faire partie d’un ensemble disjonctif maximal car elles ne peuvent entrer en conflit avec
aucune autre tâche.


La recherche des ensembles critiques de tâches en conflit et des ensembles disjonctifs
maximaux permet d’utiliser des règles de déduction afin d’inférer des séquencements interdits
ou obligatoires. Ces contraintes supplémentaires sont ajoutées au CSP. Voici deux exemples
de règles :

• précédence interdite. Pour deux taches i et j appartenant à un ensemble critique, si
j i i j
p p r d + < − alors i ne peut pas précéder j . On en déduit i précède j . Exemple :
Caractérisation des solutions admissibles 87

i
j
i j
r d −
j i
p p +

• ensemble non postérieur. D est un ensemble disjonctif maximal,
¦¦ ¦¦ i S S i D S D i ∪ − ⊆ ∈ ' , , , si



< −
'
max
S s
s i s
S s
p r d alors ) ( S i p ÷ . On en déduit la
nouvelle contrainte : i s S s p / ∈ ∃ . La figure suivante illustre ce propos. La tâche i ne
peut pas être séquencée avant les tâches j et k . Par contre, la tâche i peut être
séquencée avant la tâche j ou avant la tâche k .
k
i S
r d − max
j
i
S

∈ ' S s
s
p


Une fois, les contraintes déduites intégrées dans le CSP, certaines déductions sur les
domaines peuvent être inférées. Pour une description exhaustive de ces déductions, on se
référera aux articles [Esquirol 99], [Hennet 97], [Huguet 94]. À titre d’exemple, sur la figure
de la règle de précédence interdite, on a déduit que i ne peut pas précéder j . Or, l’ensemble
des tâches critiques ne contient que deux tâches, donc j doit précéder i . Il s’ensuit une
actualisation possible de la date de début au plus tôt de la tâche i et de la date de fin au plus
tard de la tâche j .

III.4.2.2 Le raisonnement énergétique

Le raisonnement énergétique est basé sur les bilans énergétiques relatifs à une
ressource cumulative k . Il vise à resserrer certaines fenêtres afin d’interdire un
positionnement des tâches menant à une consommation excessive d’énergie.
Ici, nous ne donnerons que le principe de ce raisonnement.
88 Modélisation des problèmes de gestion du temps et des ressources

L’énergie est une grandeur qui permet de caractériser une quantité de travail, soit
requise pour réaliser une tâche, soit fournie par une ressource sur un intervalle de temps. Par
exemple, l’énergie fournie par un ensemble de personnes peut être exprimée en hommexheure
et l’énergie fournie par un îlot d’atelier en machinesxheures.
Pour une tâche i d’intensité constante
i
a et de durée
i
p , l’énergie requise par la tache
est
i i i
p a e .

L’idée de base est d’étudier les consommations minimales et maximales des tâches sur
un intervalle de temps. Cette analyse peut mener à la détection d'une inconsistance globale.
Plus généralement, l’analyse permet de déduire un ensemble de dates interdites pour une
tâche et, ainsi, d’actualiser les fenêtres des tâches (dates de début au plus tôt et date de fin au
plus tard). Dans certains cas, des séquencements interdits ou obligatoires peuvent être déduits.
Le principal problème de ce type de raisonnement est de déterminer les intervalles de
temps à étudier. Cependant, on peut envisager de ne prendre que les intervalles correspondant
aux extrémités des tâches afin de limiter la complexité du traitement à une complexité
polynomiale.
III.4.3. Discussion

Les techniques de propagation de contraintes permettent d’inférer des informations à
partir d’un ensemble de contraintes et de variables. Une fois, ces informations intégrées dans
le CSP, elles peuvent donner lieu à de nouvelles actualisations. L’inférence de contraintes
permet de déduire de nouvelles contraintes. L’inférence de labels ou inférence de domaine
permet d’actualiser les domaines des variables.
Les raisonnements mis en œuvre ne sont pas complets dans le cas général. Ainsi, une
inconsitance globale peut passer inaperçue. Dans ce cas, seule la génération d’une solution
permet de vérifier la consistance du problème.
Les techniques générales de propagation comme les algorithmes assurant l’arc-
consistance et la chemin-consistance peuvent être appliquées à tous les types de problèmes
(planification comme ordonnancement). Ils s’avèrent performants dans certains cas comme
l’ordonnancement sans partage de ressources. Dans le cas de l'ordonnancement, on utilise en
complément des règles d'analyse sous contraintes ce qui revient à réaliser une certaine forme
de k-consistance.

Ces techniques couplées à une génération de solution par évaluation et séparation
permettent d’élaguer l’arbre des contraintes. On peut, par exemple, propager les contraintes à
chaque nœud de l’arbre. Les techniques de propagation consomment du temps ; l’élagage de
branches permet de gagner du temps. Tout l’art de la résolution consiste à bien doser le
nombre de règles à employer dans la propagation de contraintes.

III.5. Synthèse
Les modèles et les techniques présentés tout au long du chapitre permettent, soit de
générer une solution, soit de caractériser l’espace des solutions.
Dans cette partie, nous revenons sur quelques particularités essentielles de ces
techniques, qui nous paraissent importantes pour la réalisation d'un outil d'aide à la décision.

Synthèse 89

III.5.1. Aspect dynamique de la prise de décision

La modélisation des problèmes considérés jusqu'ici présente un caractère statique. En
fait, dans un contexte réel on est souvent amené à modifier dynamiquement un modèle. En
effet, des interactions avec d’autres centres amènent le décideur à ajouter ou à retirer des
contraintes.
Lors d’un changement dans le modèle, plutôt que de reprendre l’analyse du problème
(caractérisation, solution) depuis le début, il serait souhaitable de développer des techniques
réutilisant une partie du travail déjà effectué sur le problème précédent.
Le principal obstacle de ces approches est qu’une solution peut être difficile à
maintenir en cas d’ajout de contraintes (la solution ne satisfait peut-être pas les contraintes
ajoutées). En contrepartie, le retrait de contraintes ne pose pas de problème (la solution vérifie
n’importe quel sous-ensemble de l’ensemble des contraintes). Inversement, dans le cadre des
techniques de propagation de contraintes, l’ajout de contraintes ne pose pas de problèmes (les
informations déduites jusqu’alors ne sont pas remises en cause). Par contre, le retrait de
contraintes peut poser des problèmes (des informations déduites préalablement ne sont plus
valides).

Plusieurs approches peuvent être envisagées :
• maintien d’un certain niveau de consistance locale après chaque modification. Les
algorithmes incrémentaux traitent le problème de maintien de consistance d’arc. Les
algorithmes classiques peuvent facilement être adaptés pour l’ajout de contraintes. Le
retrait de contraintes pose un problème délicat et fait l’objet d’algorithmes spécifiques
comme par exemple Dn-AC4, Dn-AC-6 et AC/DC (voir [Debruye 95]).
• maintien d’une solution après chaque modification. Le retrait de contraintes ne pose
aucun problème par contre l’ajout d’une contrainte peut rendre la solution
inconsistante. [Verfaillie et al 95] ont identifié, d’un point de vue global, deux types
d’approches. Tout d’abord, la première approche consiste à mémoriser et à réutiliser
des solutions de problèmes précédents : si une solution S satisfait P, alors si le
problème P’ est proche de P, une solution de P’ devrait être trouvée à proximité de S.
La seconde approche consiste à mémoriser des contraintes produites dans les cadres
de recherche précédentes et à réutiliser celles qui restent valides dans le cadre du
problème courant pour couper l’espace de recherche associé. Ces contraintes sont les
contraintes produites par exemple par les mécanismes de propagation de contraintes.

III.5.2. Temps limité

Dans la plupart des cas, le décideur ne peut pas attendre indéfiniment les résultats des
algorithmes. Par exemple, si la résolution du problème d’ordonnancement prend trop de
temps et si la date de début de l’ordonnancement est dépassée, l’atelier peut être bloqué et
entraîner des retards.
Cette problématique a été beaucoup étudiée en planification de trajectoires (pour les
robots). En effet, si le calcul de trajectoire prend trop de temps, un accident peut survenir.

Ici, le temps est considéré comme une ressource. On accepte que les algorithmes
donnent des réponses non optimales (dans le cas d’une résolution) ou une réponse incomplète
(dans les cas des caractérisations).
90 Modélisation des problèmes de gestion du temps et des ressources

Deux grandes approches peuvent être distinguées : les algorithmes « anytime » et les
algorithmes « design-to-time ». Très schématiquement, les algorithmes anytime ([Zilberstein
et al 96]) peuvent être interrompus à n’importe quel moment et donnent un résultat de qualité
proportionnelle au temps utilisé. Cette interruption peut être inattendue (crée par l’utilisateur
par exemple) ou planifiée. Les algorithmes design-to-time ([Garvey 93]) maximisent la
qualité du résultat en fonction du temps alloué ; il existe donc une fonction qui permet de
mesurer la qualité des solutions. La principale différence entre les deux approches est que
l’algorithme anytime peut être interrompu à tout moment alors qu’un algorithme design-to-
time s’arrêtera nécessairement avant la date prédéfinie. Un algorithme design-to-time peut
être également anytime s’il accepte une interruption.
Les algorithmes anytime sont relativement faciles à concevoir. Par exemple, les
techniques de propagation de contraintes sont des algorithmes anytime, puisqu’à tout moment
les contraintes déduites sont des conditions nécessaires. Une génération de solution par
évaluation et séparation en profondeur d’abord peut facilement être considérée comme un
algorithme anytime (on peut arrêter l’algorithme dès qu’une première solution a été générée).
L’algorithme du simplexe peut aussi être transformé en algorithme anytime (il suffit de
s’assurer que la procédure d’initialisation soit terminée).
L’approche des algorithmes anytime est intéressante dans le cadre d’une aide à la
décision. Le décideur peut interrompre le traitement et obtenir un résultat. De même,
l’algorithme peut s’arrêter à une date de fin au plus tard si celle-ci est connue.


III.5.3. Inversibilité du modèle et paramètres partiellement
connus

Par défaut, le décideur prend des décisions avec les paramètres fixés (les décisions en
amont). Mais, ce décideur peut se poser la question suivante : compte tenu d’une solution
souhaitable, quelles sont les valeurs des paramètres qui la rendent admissible ?
Pour répondre à cette question, on peut s’appuyer sur le caractère réversible (voir par
exemple [Hennet 97], [Huguet 94]). Le principe est le suivant : on considère les paramètres
comme des variables et les variables de décision comme des paramètres.

Il se peut qu’on ne connaisse que le domaine des valeurs que prendra un paramètre
(paramètres prévisionnels). Ces paramètres peuvent être considérés comme des variables dans
le modèle du centre de décision.


Exemples en planification de la production :
Pour pouvoir répondre à un client, un commercial demande à la fonction planification quelle est
la quantité de produits 5 que peut livrer l’entreprise pour la période 3 sans faire appel à la sous-
traitance. Pour répondre à cette question, le décideur du centre de planification considère le
paramètre
53
D comme une variable et cherche à maximiser le critère
53
max D .
Le client ne connaît pas précisément la quantité dont il aura besoin. Le commercial transmet au
centre de planification que ] 40 , 35 [
53
∈ D . Le centre de planification tient compte de cette imprécision
en considérant
53
D comme une variable avec le domaine indiqué.

Dans [Chinneck et al. 00], le meilleur optimum et le pire optimum peuvent être
obtenus sur des modèles linéaires avec les paramètres spécifiés comme des intervalles (par
Synthèse 91

exemple ]) 40 , 35 [
ik
a . Dans le cas général, l’obtention du meilleur optimum et du pire
optimum nécessite une énumération.
En planification de la production, nous avons vu que la linéarité du modèle est
conservée quand les stocks initiaux (
0 i
I ), les capacités des machines (
kt
b ) et les demandes
(
it
D ) ne sont pas totalement connus. Le modèle n’est plus linéaire lorsque les variables de
décision
it
X (quantités de produits à fabriquer) et les paramètres
ik
a (consommations de
ressource pour la fabrication d’un produit) sont considérés en même temps comme des
variables.
En cas d’inversion (totale) du modèle, tous les paramètres peuvent être considérés
comme des variables ; la linéarité est conservée.
Tous les algorithmes employés pour le modèle « classique » restent valides (comme
l’algorithme du simplexe ou les techniques de k-consistance).


Exemple en ordonnancement d’atelier :
Si la durée des tâches peut varier en fonction de la quantité des produits à fabriquer, le
décideur responsable d’un atelier peut donner son avis sur la quantité maximale de produits qu’il peut
fabriquer. Pour ce faire, il suffit de considérer le paramètre
i
p comme une variable et maximiser le
modèle avec le critère
i
p max .

Exemple en gestion de projet :
Le décideur peut être amené à considérer la date de fin au plus tard des tâches comme une
variable pour, par exemple, renégocier la date de fin d’un projet dont on sait qu’il ne pourra se
terminer dans les délais initialement prévus.

Si on ne connaît que les domaines (discrets) de certains paramètres, les techniques de
résolution par évaluation et séparation restent valables. En effet, il suffit de choisir une valeur
pour les paramètres parmi toutes les valeurs du domaine. Les techniques de propagation de
contraintes par k-consistance restent valables : il suffit de considérer les paramètres non
entièrement instanciés comme des variables.
Cependant, certains cas particuliers d’ordonnancement ont été étudiés quand certains
paramètres n’étaient pas connus :
On peut considérer un problème d’ordonnancement conjointement avec un problème
d’affectation (
k
Ω n’est pas totalement connu). Dans [Huguet et al. 00], des techniques de
propagation de contraintes sont étudiées pour ce cas. Des affectations interdites sont mises à
jour.
On peut considérer un problème d’ordonnancement avec gammes alternatives. Le
décideur choisit une gamme de fabrication parmi un certain nombre (plusieurs matrices
ij
b
possibles). Dans [Ginestet 98], plusieurs modèles pour la gestion de projets avec gammes
alternatives et avec contraintes de ressources sont étudiés.



III.5.4. Décision sur les contraintes

Pour prendre des décisions sur les contraintes, on peut chercher à savoir quels sont les
contraintes, les paramètres ou les décisions qui doivent être relâchés. Cette étude est, en
général, dépendante du problème considéré.
92 Modélisation des problèmes de gestion du temps et des ressources


En ordonnancement, la recherche des chemins critiques dans le graphe potentiels-
tâches indique l’ensemble des tâches dont la durée dont on peut diminuer la durée dans le but
d’achever le projet plus tôt. Pour les ordonnancements avec ressources, l’identification de la
(ou des) machine(s) goulot(s) peut donner lieu à différentes stratégies de relaxation.
En ce qui concerne la planification, la prise en compte d’arriérés de fabrication permet
de prendre en compte, dès la modélisation, la possibilité de retards ou la possibilité de
paramètres non entièrement spécifiés (voir paragraphe précédent). De plus, dans le paragraphe
III.3.2.3, nous avons vu que la recherche d’une sphère de rayon maximum contenu dans
l’espace des solutions donne les contraintes les plus fortes. Dans [Chinneck 96], une méthode
pour obtenir l’ensemble non réductible des contraintes qui ne peuvent être satisfaites est
donnée : il suffit de relâcher une des contraintes de cet ensemble pour que le problème ait de
nouveau une solution.

Dans le cas général, l’ajout progressif des contraintes permet d’identifier un ensemble
de contraintes qui posent problème. Ici, il faut disposer d’une stratégie de pose de contraintes
(a priori de la plus importante à la moins importante). Pour définir la stratégie, le décideur
tiendra compte de ces propres objectifs mais aussi des relations qu’il a avec d’autres centres.

Le système SCOOP (voir [Lopez et al 96]) permet de détecter des inconsistances et
prévient l’utilisateur en essayant d’expliquer (et donc d’identifier) la cause du problème, grâce
à une prose progressive des contraintes liées aux ordres de fabrication classés par ordre
croissant d’importance.

On le voit ici, la stratégie de remise en compte des contraintes dépend énormément du
problème et de l’expertise du décideur. Néanmoins, certains outils sont disponibles pour
analyser la cause du problème :
• en ordonnancement, analyse du chemin critique et identification des ressources
goulots.
• en planification, autorisation d’arriérés de fabrication, augmentation de la capacité des
ressources, recherche des contraintes les plus fortes.

III.6. Conclusion

Les modèles présentés dans ce chapitre permettent de représenter le problème de
décision d’un centre. Des techniques de résolution et de propagation de contraintes permettent
d’analyser l’espace des solutions, de prendre des décisions sous ou sur les contraintes. Ces
mêmes outils peuvent être utilisés pour préciser des valeurs acceptables pour les paramètres.

Dans ce chapitre, nous avons abordé les décisions, les contraintes et les préférences
essentiellement comme des objets mathématiques statiques (variables de décision, des
paramètres, des relations entre variables et paramètres). Le chapitre suivant s’intéresse à la
dynamique des modèles associés aux centres d’un réseau, essentiellement liée à la coopération
entre centres



Chapitre IV Interactions et communication dans
un réseau de centres de décisions

IV.1. Une approche dynamique de l’aide à la décision
distribuée

Nous nous intéressons au problème de l'aide à la décision distribuée au sein d'un
réseau de centres de décisions (cf. II.5). Dans ce contexte, les décideurs ont une connaissance
partielle du problème global posé au réseau et doivent communiquer pour coopérer et
éventuellement négocier. La négociation porte sur la valeur des paramètres intervenant dans
les contraintes des modèles des centres. Elle permet d'anticiper des problèmes dont la
résolution demande un temps non négligeable ; elle permet également de remettre en cause
des décisions déjà prises afin de réagir à des aléas.

En chaque centre, un premier type d'aide à la décision peut être proposé, sous la forme
d'outils d'analyse et de résolution des problèmes locaux basés sur des mécanismes de
propagation de contraintes. Ce type d'aide permet d'évaluer la consistance du problème local
et de fournir des solutions prévisionnelles. Si les interactions entre centres sont toutes
synchrones, les modèles évoluent selon une suite d’états totalement ordonnés ; la dynamique
globale résulte d’une suite de résolutions de problèmes statiques.
Or dans un environnement perturbé, toutes les informations utiles n'arrivent pas au
même moment en un centre, par exemple entre deux échanges avec des centres différents. De
plus, un centre peut s’engager dans plusieurs types de négociation, certaines à but
prévisionnel, d’autres pour réagir à des événements imprévus. Dès lors que les interactions
entre centres ne sont pas synchrones, les négociations qu’elles supportent font référence à des
états différents des modèles. Enfin, des contraintes de décision en temps limité peuvent
également influer sur la stratégie des décideurs, en réduisant les possibilités de
(re)négociation. De ce fait, il n’existe pas un modèle unique en chaque centre, mais plusieurs.
Ces modèles partagent certes un grand nombre de caractéristiques, mais diffèrent par :
• leur niveau d'instanciation (le nombre de décisions fixées)
• l’état communiqué ou non des hypothèses et des décisions
• leur durée de vie (temps au bout duquel certaines hypothèses du modèle deviennent
caduques)

Au problème de résolution statique s'ajoute celui de la gestion dynamique d'un
ensemble partiellement structuré de modèles. Cet ensemble évolue au fur et à mesure que des
négociations entre centres se développent et que de nouveaux événements surgissent qui
confirment ou non les hypothèses faites pour préparer ces négociations. Nous abordons par la
suite le problème de l'aide à la gestion dynamique du processus de résolution en un centre.
D'autre part, les notions d'engagement, d'hypothèse, de remise en cause supposent un
certain niveau de formalisation des interactions entre les décideurs. Cette formalisation joue
un rôle déterminant car elle clarifie les intentions des différents centres au cours de leurs
interactions et permet de construire des conversations types. Nous étudions le service que peut
constituer l’utilisation d’une messagerie dédiée aux conversations portant sur la négociation
des paramètres intervenant dans les contraintes du modèle des centres.
94 Interactions et communication dans un réseau de centres de décisions

Nous proposons de distinguer plusieurs classes de contraintes parmi l’ensemble des
contraintes qui fixent le cadre des décisions en chaque centre. Nous distinguons les
contraintes organisationnelles qui définissent la structure et le fonctionnement du réseau, les
contraintes de modèle qui portent directement sur les décisions et les contraintes procédurales
qui permettent à plusieurs centres de coopérer.
Dans un deuxième temps, les différents états que peut prendre une variable de décision
sont étudiés. Des contraintes de coordination peuvent ainsi être prises en compte, sous la
forme de dates limites associées aux changements d’état des variables. Un outil d’aide à la
décision doit permettre au décideur de mieux gérer son temps, de le prévenir de l'urgence ou
du retard d'une prise de décision, d’évaluer le temps maximum disponible pour une
négociation.
Ensuite, nous proposons un protocole de communication entre les centres. L'échange
de messages s'insère dans deux types de conversations prédéfinies (conversation pour
engagement et conversation pour information). Les négociations entre centres peuvent être
partiellement automatisées.
Enfin, les différentes hypothèses, propositions et engagements que le centre considère
sont représentés au travers d'une structure arborescente. Le suivi des conversations et
l'évaluation des différentes propositions faites sont facilités.


IV.2. Structure d’un centre

Un centre est composé d’un ou de plusieurs décideurs assistés par un système d’aide à
la décision appelé agent (voir la figure 65). Pour simplifier, nous considérerons qu’un seul
décideur, agit à la fois sur le système d’information et qu’il agit comme un décideur unique
équivalent (nous écartons ainsi le sous-problème de décision collective que pourrait soulever
la description détaillée du fonctionnement interne d’un centre).
Dans notre approche, la notion d’agent recouvre l’ensemble des dispositifs permettant
d’assister le décideur à la fois dans la résolution des problèmes dont le centre a la charge et
dans les interactions formalisées qu’il a avec d’autres centres. Nous supposons que les
interactions entre agents s’effectuent selon des protocoles prédéfinis.


agent
décideur
centre de décision 1
agent
décideur
centre de décision 2
informatisé
non
informatisé

figure 65 : constitution des centres de décision

Structure d’un centre 95

IV.2.1. Classification des contraintes pesant sur un centre

Afin de proposer un outil d'aide capable de tenir compte de l’ensemble des contraintes
qui influent sur l’activité des décideurs, il convient d’abord d'identifier cet ensemble.

Nous avons identifié trois types de contraintes formalisables qui pèsent sur un centre :
Les contraintes organisationnelles proviennent de la définition du réseau. Elles
définissent la structure du réseau (type des décisions prises par chaque centre, liens entre
centres). Elles définissent également son fonctionnement à travers des règles de coordination
entre centres (contraintes de workflow, dates limites de prise de décision, périodicité des
décisions, précédence).
Les contraintes de modèle décrivent de façon générique le problème posé en chaque
centre. Nous supposons que ce problème est formalisable à l'aide d'un modèle de type CSP.
Ces contraintes affectent le domaine des variables de décision. Des outils de propagation de
contraintes et de résolution (cf. chapitre précédent) permettent d'aider le décideur à évaluer les
marges de manœuvre dont il dispose, à trouver une solution au problème de décision (sous
contraintes) ou à négocier des paramètres (sur contraintes).
Les contraintes procédurales structurent le processus de coopération entre les
centres. Elles décrivent le type et la sémantique des échanges entre les 2 centres
(engagements, comportement attendu ...). Ces contraintes se traduisent en général par un
protocole d'interaction entre les centres : communication à l'aide de notes, réunions,
messagerie…

En se posant différentes questions sur les décisions, le décideur cherche à connaître les
contraintes qui pèsent sur elles. Par exemple, le décideur peut chercher non seulement à
connaître les valeurs que peut prendre une décision (contraintes de modèle) mais aussi à
connaître le type des décisions, le centre responsable et les contraintes temporelles qui pèsent
sur le processus de décision (contraintes organisationnelles). De plus, les négociations
concernant des décisions sont facilitées par le cadre fourni par les contraintes procédurales
(voir la figure 66).

centre
- nature, instant de décision/de gel, … ?
- valeur fixée, valeurs possibles ?
- méthode de communication, de négociation ?
décisions des
centres en amont
décisions du centre négociées
avec les centres en aval

figure 66 : le décideur cherche à caractériser les contraintes

La remise en cause de ces contraintes présente plus ou moins de facilité. Ainsi, en
fonctionnement normal, les centres négocient les valeurs des paramètres et des variables
intervenant dans les contraintes de modèle. L’essentiel des conversations entre centres porte
donc sur l’ajustement des modèles entre centres. Parfois, selon une fréquence beaucoup plus
faible, pour améliorer l’efficacité des interactions entre deux centres, les contraintes
procédurales sont modifiées. Enfin, les contraintes organisationnelles sont aussi plus rarement
96 Interactions et communication dans un réseau de centres de décisions

remises en cause. C’est notamment le cas à l’occasion d’un processus de BPR et de la mise en
place d’un système de workflow (voir chapitres I et II).

Dans un premier temps, il nous est apparu indispensable de limiter notre approche au
cas où les contraintes procédurales et organisationnelles sont fixées et ne peuvent être
remises en cause.
Les techniques permettant de représenter et de traiter les contraintes de modèle ont été
abordées au chapitre précédent. Nous y reviendrons peu dans ce chapitre. Dans la suite du
chapitre, nous cherchons, essentiellement :
• à représenter les contraintes organisationnelles,
• à proposer un protocole de communication entre centres (contraintes procédurales)
• à représenter l'état d'un centre.

IV.2.2. Les contraintes organisationnelles

Les contraintes organisationnelles sont essentiellement définies par des contraintes de
structure (aspect statique) et des contraintes de coordination (aspect dynamique ou
fonctionnement).
IV.2.2.1 Les contraintes de structure

La structure du réseau de centres de décision peut être représentée par un graphe
orienté dont les sommets représentent les centres de décisions et les arcs orientés la
dépendance d'un centre (B) envers un autre centre (A) dont les décisions interviennent comme
des paramètres dans ses contraintes. On peut remarquer que l’absence de circuit dans ce
graphe traduit un ordre partiel ou total dans la prise de décision (par exemple hiérarchisation).
Dans la suite, ce graphe est défini par le triplet ) , , ( F U C S avec :
• ) ,..., , (
2 1 N
c c c C l'ensemble des N centres.
• ) ,..., , (
2 1 M
u u u U l'ensemble des Marcs.
• F une fonction de U vers l'ensemble des variables de décision X ( X U F → : ).
Pour un arc ) , (
j i
c c u , ) (u F est l'ensemble des variables de décision de
i
c transmise
à
j
c .

Soit
i
X l'ensemble de variables que considère le centre
i
c . Lorsque qu’un réseau est
correctement défini les définitions et propriétés suivantes sont applicables au graphe associé
(la notation et les termes employés sont issus de [Prins 94]) :
• l'ensemble des variables de décision du centre
i
c est l'union des variables portées par
les arcs incidents extérieurement à
i
c : ) ( ) ( var
) (
u F c _dec
i
c u
i
+


ω
.
• l'ensemble des paramètres du centre
i
c est l'ensemble des variables portées par les
arcs incidents intérieurement à
i
c : ) ( ) (
) (
u F c param
i
c u
i



ω
.
• l'ensemble des variables privées de
i
c est
) ( ) ( var_ ) ( var_
i i i i
c param c dec X c priv − − .
• l'ensemble des centres en amont du centre
i
c est )} , ( / { ) (
i j j i
c c u c c amont ∃ .
Structure d’un centre 97

• l'ensemble des centres en aval du centre
i
c est )} , ( / { ) (
j i j i
c c u c c aval ∃ .
• une variable de décision ne peut être sous la responsabilité que d'un seul centre.
∅ ∩ ≠ ∀ ∀ ) ( var_ ) ( var_ ,
j i i j i
c dec c dec c c c . De plus, ) ( var_
i
c
c dec X
i
∪ .

IV.2.2.2 Fonctionnement du réseau

La description de la structure d'un réseau de centres de décision ne suffit pas pour
décrire les contraintes organisationnelles. En effet, l'étude du fonctionnement du réseau est
aussi importante. Afin de décrire le fonctionnement d'un réseau de décision, il semble utile de
distinguer le fonctionnement normal du fonctionnement perturbé.

• En fonctionnement normal, la nature et la date d'arrivée des interactions sont
prévisibles et connues. C'est le cas notamment en fonctionnement périodique : le
centre responsable de variables et les centres en aval doivent périodiquement négocier
les variables de décision.
• En fonctionnement perturbé, les centres ne connaissent pas la nature et la date des
interactions. Ces interactions visent à réagir face à un aléa ou à une opportunité ; elles
permettent de corriger des décisions prises préalablement. On est alors dans une phase
de renégociation.

Nous pouvons représenter le fonctionnement (normal et perturbé) d’un réseau de
centres par un actigramme SADT. Ici, chaque rectangle (voir figure 67) représente une
fonction de décision ; les données d’entrée arrivent par le côté gauche de la boîte (flèche 1),
les données de sortie figurent sur le côté droit (flèche 2) ; les données qui contrôlent ou
déclenchent la fonction de décision (flèche 3) entrent par le haut ; enfin les informations
représentant la nature des dispositifs de décision (ici un ou plusieurs centres de décision)
(flèche 4) figurent sous l’activité. Si le fonctionnement est périodique les événements qui
déclenchent la fonction de décision sont du type : « tous les jours », « toutes les
semaines »…). Si le déclenchement a lieu sur événement non contrôlable, le contrôle sera
constitué de décisions provenant d'un centre en amont ou d’aléas survenus dans
l'environnement.

fonction
données en entrée (1)
évènement déclenchant
contrôle (3)
données en sortie (2)
centres participants (4)

figure 67 : une fonction de décision

IV.2.2.3 Exemple en gestion de production

La figure 68 montre un réseau de centres de décision en gestion de production.
Compte tenu du plan prévisionnel, le centre commercial envoie des commandes (quantité et
date de livraison par commande) au centre de planification. Celui-ci calcule un plan de
98 Interactions et communication dans un réseau de centres de décisions

production (quantité de produits à fabriquer par période). Ce dernier est reçu et décomposé en
tâches par le centre d’ordonnancement.
Le graphe montre un ordre naturel dans la prise de décision entre le centre de
planification et celui d’ordonnancement. Il existe donc une hiérarchie dans la prise de
décision qui induit des contraintes de coordination.

ordonnancement
planification
commercial
carnet de commande :
quantité de produits à livrer par commande
date de livraison par commande
plan de production
quantité de produits à
fabriquer par période
date de début des tâches
plan de production
quantité de produits à
fabriquer par période

figure 68 : un exemple de réseau en gestion de production

La figure 69 montre le fonctionnement correspondant à la structure de la figure 68. Le
commercial fournit une quantité de produits à fabriquer pour une date de livraison. Pour cela,
il se base sur un plan fourni par le centre de planification, ce plan étant actualisé en fonction
des commandes passées. Toutes les semaines, le centre de planification fournit les quantités
de produits à fabriquer pour la première période au centre ordonnancement. Celui-ci délivre
un ordonnancement quotidien. Les différents centres de décision tiennent compte également
d’aléas (exemples : augmentation d’une commande, mise au rebut d’un lot de pièces, panne
machine). Dans cet exemple, il y a correspondance entre les fonctions de décision et les
centres de décision.

prendre des
commandes
commercial
client
planifier
ordonnancer
planification
toutes les
semaines
tous les
jours
ordonnancement
aléa
aléa
quantité de produits
à livrer
date de livraison
quantité de produits
à fabriquer
quantité de produits
à fabriquer
aléa

figure 69 : le fonctionnement du réseau en gestion de production

IV.2.2.4 Exemple en gestion de projets

Cet exemple fait parti des études menées par le groupe DIDOM (DIstribution de la
Décision dans les Organisations Matricielles). DIDOM est un partenariat entre plusieurs
Structure d’un centre 99

laboratoires (CERT, CERTOP, IRIT et LAAS) et un industriel. Ce groupe de recherche
s’intéresse aux mécanismes décisionnels dans les organisations matricielles. Les études
menées visent à traiter des problèmes industriels et à proposer des méthodes génériques. Le
groupe DIDOM mène deux types d’actions ([DIDOM 97] et [DIDOM 00]) :
• des analyses sur site (approche ascendante) menées, entre autre, par une équipe de
sociologues
• des actions génériques (approche descendante). Deux thèmes sont étudiés : la
réparation d’un plan d’un projet et les mécanismes de coordination entre projets.
Les travaux présentés dans ce mémoire ont été intégrés par le groupe DIDOM.

Nous nous sommes intéressé à une structure matricielle projets/métiers dans une
entreprise qui réalise des produits complexes obtenus par assemblage et intégration de
nombreux sous-systèmes.
Le responsable projet est chargé de piloter la réalisation effective du produit en
maintenant un plan à court terme (CT). Pour cela, il se base sur le plan moyen terme (MT) et
l'état d'avancement de l'assemblage du produit.
Outre sa compétence technique, qui l'amène à proposer ou valider des opérations
devant être planifiées sur le produit, le correspondant métier est aussi chargé de collecter les
besoins du projet en ressources humaines.
Le responsable métier a en charge la gestion des connaissances et des compétences
relatives à un métier. En particulier, l'affectation des personnels (emploi du temps) aux
différents projets relève de sa responsabilité.
Le graphe (voir la figure 70) montre l'existence de circuits dans le réseau.
Contrairement à l’exemple précédent, la présence de circuits sur le graphe illustre les
régulations qui s’opèrent entre les responsables projet par l’intermédiaire des affectations
décidées par les responsables métier.

corresp. métier 1
resp. métier 2
resp. métier 1
corresp. métier 2
resp. projet 1
plan CT
plan MT
besoin en
ressources
affectation des
ressources
resp. projet 2
corresp. métier 2
corresp. métier 1
plan CT
plan MT
plan MT
plan MT
besoin en
ressources
besoin en
ressources
besoin en
ressources
affectation des
ressources
métier 1
métier 2
projet 1
axe métier
axe
projet projet 2

figure 70 : un exemple de réseau en gestion de projet

Afin de rendre cohérents les plans d’assemblage de projets et l’emploi du temps des
personnels une coordination est nécessaire.
100 Interactions et communication dans un réseau de centres de décisions

On s’intéresse par la suite aux processus prédéfinis d’interaction entre les différents
centres de décision. Ici, cette forme de coordination préalable se traduit par des réunions dont
l’objet, les participants, la fréquence et l’enchaînement sont formellement prédéfinis.
La replanification des activités d’assemblage constitue l’objet central des réunions
d’avancement projet (cf. réunions « RA » sur la figure 71) au cours desquelles les plans CT et
MT sont réparés. Toutefois, si les plans sont réalistes du point de vue technique, ils font
certaines hypothèses sur les ressources qui seront affectées au projet.
Des réunions métiers périodiques sont organisées, métier par métier (cf. réunions
« RM ») afin de recenser les besoins, répartir les personnels entre les différents projets, et
éventuellement pallier des pointes de charge en recourant à l’embauche d’intérimaires.
Lorsque la demande globale dépasse la disponibilité, des ajustements sont effectués à
travers des négociations. En cas d’échec, un premier niveau d’arbitrage est possible par le
responsable de la division d’assemblage. Ce type de décision est prise durant les réunions de
production (cf. réunions « RP »).
Afin de rendre cohérentes entre elles les différentes décisions prises au cours des
réunions, ces dernières s’enchaînent dans un ordre donné (RA, RM, RP) avec une fréquence
hebdomadaire.
Enfin, des réunions quotidiennes (DM) permettent de suivre le projet et de réagir aux
différents aléas ou opportunités.
Les processus prédéfinis de coordination sont de type synchrone. Cependant, ceci
n'exclue pas l'utilisation de négociations asynchrones afin de préparer des solutions aux
différents problèmes et de réagir aux différentes opportunités rencontrées dans la semaine.



plans de production
conflits
solutions
resp. projet
corresp. métiers
plans CT prévus
plans CT proposés
plans MT
toutes les semaines
prendre en compte
l’état réel (RA)
plans MT validés
tous les jours
resp. projet
corresp. équipe
suivre l’état
d’avancement (DM)
p
l
a
n

r
é
a
l
i
s
é
projet
projet
exécuter
resp. équipe
équipe
plan réalisé
p
l
a
n
s

C
T

v
a
l
i
d
é
s
plans MT prévus
p
l
a
n

à

l
a

j
o
u
r
n
é
e
resp. groupe métier
corresp. métiers
métier
prendre en compte
les ressources(RM)
plans CT validés
plan réalisé
resp. division
resp. projet
resp. groupe
résoudre des
conflits (RP)
toutes les semaines
toutes les semaines

figure 71 : le fonctionnement du réseau en gestion de projet

Décision en temps limité 101

Cependant, toutes les contraintes de coordination ne peuvent pas apparaître sur les
diagrammes tels que celui de la figure 7. Par exemple, les dates de décision au plus tard ne
peuvent pas y être représentées.
IV.3. Décision en temps limité
Nous supposons que les instants de prise de décision sont contraints par des intervalles
temporels du type [date_de_décision_au plus_tôt, date_de_décision_au_plus_tard]. Ainsi,
une certaine forme d’autonomie apparaît à travers le choix de la date de prise de décision à
l'intérieur du cadre fixé. Globalement, cet intervalle doit couvrir l’ensemble des phases qui
peuvent intervenir dans une décision négociée, ou états.
IV.3.1. Les différents états de la décision

Au cours du temps, une variable de décision x change d’état. Les instants qui
caractérisent un changement d’état sont :
• La création de la variable, notée
x
cre . La variable est créée avec un domaine initial.
Elle est rarement instanciée, sauf si le domaine initial ne comporte qu’une valeur. À
partir de cet instant, elle peut intervenir dans des contraintes de modèle.
• La prise de décision. La variable est instanciée et négociée avec les centres en aval,
noté
x
dec . Cette prise de décision conclut une phase de négociation. Cette date
marque une frontière entre des négociations de type prévisionnel et des négociations
de type réactif, ou renégociations.
• Le gel, noté
x
gel . La valeur de la variable ne peut plus être changée (pour des raisons
technologiques, approvisionnement, réservations…).
• La destruction de la variable, noté
x
des . La variable est détruite, suite à une mise à
jour du modèle. Si la variable apparaît dans une contrainte soit on remplace la variable
par sa valeur soit on retire la contrainte.

Entre la création de la variable et la prise de décision, la variable est négociable.
Durant cette période, une négociation peut avoir lieu ayant pour objet l’instanciation de la
variable. Entre la prise de décision et le gel, la variable est renégociable. Plusieurs
renégociations pourront avoir lieu et auront pour objet le changement de la valeur de la
variable. Généralement, lorsque les domaines de valeurs sont ordonnés (quantités, dates) les
renégociations se basent sur les instanciations précédentes afin de trouver une valeur proche.
Enfin, entre le gel et la destruction de la variable, la variable est gelée (sa valeur ne peut plus
être changée). C’est durant cet état que l’application de la décision a lieu.
création
x
cre
décision
x
dec
gel
x
gel
destruction
x
des
négociable
temps
renégociable gelée
négociation renégociations
changement
d’état
états
actions d’un
centre

figure 72 : états d'une variable x
102 Interactions et communication dans un réseau de centres de décisions

IV.3.2. Le problème de l’explosion du nombre d’états d’un
modèle

Dans le cas général, le caractère asynchrone des changements d’états des variables, est
à l’origine d’une explosion combinatoire du nombre d’états que peut prendre le modèle du
problème de décision en un centre. La figure 73 montre le nombre d’états générés pour une
chronique particulière (liste ordonnée d’événements) dans un réseau comportant 3 centres
dont un des centres, le centre 3, utilise un modèle à 3 variables (deux variables sont des
paramètres provenant de deux centres en amont et Z est la variable de décision du centre 3).
Pour ce petit exemple, il existe déjà 12 états distincts (nombre d’intervalles temporels jointifs
générés par projection sur l’axe temporel des différents instants de changements d’état des 3
variables).

Centre 3
Centre 1
Centre 2
X
Y
Z
X
Y
Z
temps

figure 73 : états du modèle du centre 3

On est confronté au problème d’explosion combinatoire lorsqu’on désire anticiper les
événements et déterminer à l’avance l’évolution possible du modèle en un centre. En effet, si
l’on veut assurer la cohérence d’un modèle résultant de diverses négociations menées en
parallèle entre un centre et ses accointances, il faut en principe combiner les différentes
alternatives (valeurs possibles envisagées dans chaque négociation sur une variable) pour
obtenir l’ensemble des états atteignables à l’issue des conversations. Or, seulement une partie
de ces états seront acceptables. Leur détermination n’est pas envisageable en l’absence
d’hypothèses permettant de limiter ce problème.
Une attitude naturelle consiste à grouper les décisions par paquets partageant les
mêmes dates de changement d’état :
• le nombre d’états à considérer en est considérablement diminué
• il est préférable de générer un ensemble de décisions simultanément cohérentes. Par
exemple, un centre de planification préfère donner un plan de production pour tous les
produits sur une période. Pour un centre d’ordonnancement, cela consisterait à donner
des décisions pour la journée suivante.
• ceci réduit le nombre d’interactions entre les centres. Le centre négocie un plan dans
son ensemble et non décision par décision.
Les moments de prise de décision périodique sont l’occasion de synchroniser les dates
des différents instants qui caractérisent les variables. Ainsi, certaines variables sont créées
Décision en temps limité 103

pour prendre en compte un horizon plus long, les variables dont les décisions ont été
appliquées sont détruites, d’autres variables sont gelées et, enfin, certaines variables sont
décidées.

Au chapitre 3, on a vu qu’habituellement en planification, le mécanisme de glissement (prise de
décision périodique) est l’occasion de créer, d’instancier, de geler ou de détruire certaines variables.
Si on regarde la figure 39 page 58, entre la planification de la période 1 et 3, les variables
correspondant aux deux premières périodes ont été détruites (car appliquées), deux groupes de
variables ont été ajoutés en fin d’horizon et, certaines décisions sont instanciées.

Sur la partie gauche de la figure suivante, les instants de changements d’état des
décisions ne sont pas liés. Le centre responsable de ces décisions prend les décisions
individuellement et les transmet une à une. Il semble plus efficace de passer au schéma de
droite où les décisions changent d’état de façon synchrone : le centre prend un ensemble de
décisions en même temps et communique l’ensemble des décisions dans un même message.


figure 74 : prise de décision synchrone

IV.3.3. Horizons temporels

Aux différents états que peuvent prendre les variables de décision, on peut faire
correspondre plusieurs horizons (voir le chapitre 3 pour les horizons rencontrés en
planification).
• L’horizon prévisionnel représente l’horizon sur lequel les paramètres et les variables
de décision sont pris en compte. Cet horizon prend en compte les variables de
décisions existantes qu’elles soient déjà instanciées ou non.
] , [ _
0 h
t t el prévisionn horizon avec
0
t la date courante et
h
t tel que
x
x
h x
des t t cre x max , /
0
≤ ∀ (l’horizon prévisionnel va de l’instant présent jusqu’à la
date de destruction maximum des variables crées).
• L’horizon de décision définit l’horizon sur lequel les variables de décisions et les
paramètres sont ou vont effectivement être mis en œuvre mais non gelés. Cet horizon
est inclus dans l’horizon prévisionnel. Les variables de décision sont donc non gelées
mais sur le point de l’être : ] , [ _ _
0 d
t t décision de horizon ,
avec
x
x
d x x
des t t gel t cre x min et /
0 0
≥ ≤ ∀ (l’horizon de décision va de l’instant
présent jusqu’à la date minimale de destruction des variables non gelées et crées).

La figure 75 montre les instants de changement d’état de quatre variables (de
1
x à
4
x ). À l’instant
0
t , seules les variables
3 2 1
et , x x x sont créées ; la variable
1
x est déjà gelée.
L’horizon prévisionnel est l’intervalle de temps entre
0
t et l’instant maximum de destruction
104 Interactions et communication dans un réseau de centres de décisions

des variables
3 2 1
, , x x x (
h
t correspond à l’instant de destruction de
3
x ). L’horizon de décision
est l’intervalle de temps entre
0
t et la date minimale de destruction des variables crées et non
gelées (
2
x et
3
x ). Cet horizon correspond aux prochaines décisions qu’il faudra prendre.

temps
horizon prévisionnel
horizon de décision
0
t
d
t
h
t

figure 75 : différents horizons en fonction des états des variables

IV.3.4. Méta-modèle d’un réseau

La définition des règles de coordination des centres d’un réseau sous la forme de
contraintes temporelles liant les instants de prises de décision sur les variables de chaque
centre constitue un méta-modèle qu’il est possible d’exploiter (par propagation) pour déduire
des inconsistances ou montrer une autonomie trop faible en un centre lorsqu’il ne dispose pas
d’un temps suffisant pour négocier avec les autres.

On peut considérer deux familles de contraintes qui interviennent dans les méta-
modèles :
• les contraintes de synchronisation entre centres permettent d’établir un ordre (au
moins partiel) dans la prise de décision de différents centres. Ces contraintes
permettent aux centres de se coordonner efficacement.
• les contraintes de synchronisation interne visent à réduire le problème de l’explosion
combinatoire du nombre d’états. Ces contraintes permettent de mettre en œuvre les
mécanismes de décision périodique où les instants de changement d’états des
variables sont synchronisés.

Exemple :
La figure suivante présente un exemple de méta-modèle pour deux centres de planification. Y
doit être gelée à
0
t . X doit être gelée avant
0
t dans le cas contraire, X pourrait être modifiée juste
après le gel de Y et entraîner une incohérence) . X (resp. Y ) doit faire l'objet d'une première
négociation au moins 1 (resp. 2) heure avant sa date de gel. Ici, on voit immédiatement que le centre
2 peut avoir à mener une négociation sur Y alors que X n'a même pas été négociée. Pour se
dégager de ce problème, le centre 2 peut être à l'origine d'une négociation par anticipation sur X afin
de pouvoir se baser sur une valeur (même prévisionnelle) de X .
Le méta-modèle permet également de savoir qu'au moins 1 heure de renégociation sur X est
prévue. Une fois engagés dans une renégociation, les deux centres savent qu'elle doit se finir avant
0
t .
Protocole de communication 105

Modèle
CSP du
centre 2
Modèle
CSP du
centre 1
) 4 ( 2
) 3 ( 1
) 2 (
) 1 (
0
0
− ≤
− ≤
<

y y
x x
x
y
gel dec
gel dec
t gel
t gel
contraintes
organisationnelles (de
coordination)
X Y
) 3 ( 1
) 2 (
0
− ≤
<
x x
x
gel dec
t gel

figure 76 : exemple de contraintes temporelles sur un centre

Nous pouvons construire un méta-modèle qui permet de représenter la plupart des
contraintes temporelles pesant sur les instants de prise de décision d'un centre. Ce modèle
permet de représenter les marges de manœuvre qu'il possède avant la prise de décision. Il
permet de connaître les urgences. Un outil d'aide à la décision pourra, ainsi rappeler au
décideur de prendre des décisions. L'outil pourra également signaler qu'il est nécessaire
d'attendre certaines décisions en amont avant que le centre ne prenne des décisions. Enfin,
cela permet d'évaluer le temps maximum que le centre peut consacrer à une négociation. Ces
caractéristiques peuvent faire partie des spécifications d’un outil d’aide à la décision
distribuée en temps limité (cf. chapitre V).
IV.4. Protocole de communication

Lors de leurs communications, les centres respectent des contraintes procédurales.
Dans ce paragraphe, nous proposons un protocole de communication permettant aux
différents agents d'échanger des informations sur les décisions.
Dans ([Nurcan 96]) une matrice espace/temps est utilisée pour classifier les
circonstances de travail coopératif (voir tableau 6). Deux critères sont employés pour ce
classement : un critère temporel (synchrone/asynchrone) et un critère spatial (même lieu/lieu
différent). Nous considérons que les interactions sont synchrones si les activités qui visent à
influencer et à se laisser influencer ont lieu en même temps (ce critère est détaillé dans
[Antillanca et al 99]). Les réunions (même lieu) et les téléconférences (lieu différent) sont
deux exemples typiques d’interaction synchrone. Les interactions sont asynchrones si les deux
activités citées précédemment n’ont pas nécessairement lieu en même temps. Les
communications par tableau (même lieu) et par courrier électronique (lieu différent)
constituent des exemples d’interaction asynchrone.

Le protocole de communication et les outils d'aide que nous proposons pour négocier
ne seront valables que pour des interactions asynchrones. Cependant, les outils d'aide
peuvent être utiles pour préparer les interactions synchrones (exemple : les réunions).

Temps même (synchrone) différent (asynchrone)
même (local) interaction face à face
exemple : réunion
interaction asynchrone
exemple : tableau
espace
différent (distant) interaction synchrone distribuée
exemple : téléconférence
interaction asynchrone distribuée
exemple : courrier électronique
tableau 6 : matrice espace/temps
106 Interactions et communication dans un réseau de centres de décisions

Afin de proposer des traitements partiellement automatisés, nous proposons l'emploi
de messages s'insérant dans deux types de conversations qui ont pour but :
• la prise de décision. Dans cette conversation, un ensemble d’affectations est négocié.
Si la conversation se termine bien, un engagement (fort) est pris entre les différentes
parties et la base de données est actualisée.
• la recherche d’informations. En vue de prendre des décisions, un centre peut
rechercher des informations sur la faisabilité de propositions ou demander que l’on lui
en fasse. Si la conversation se termine bien, un engagement faible est pris. Les
différents centres ne sont pas obligés de le respecter, mais de futures conversations
portant sur une prise de décision pourront se baser sur cette recherche. Ce type de
conversation permet aux centres d'agir par anticipation.

IV.4.1. Communication par envoi de message

Les conversations sont constituées de messages. Nous proposons d’utiliser un
formalisme dédié aux communications asynchrones. Il s’agit d’un formalisme pour l'envoi de
messages entre agents, le langage KQML (Knowledge Query and Manipulation Language).
Initialement, KQML est un langage de communication et un protocole qui permet à des
agents autonomes et asynchrones de travailler ensemble par échange de messages (voir
chapitre 2 et [Labrou et al 97]). Son domaine d’application concerne la spécification de
systèmes artificiels.
Toutefois le principe d’un certain niveau de formalisation des échanges entre
décideurs humains présente plusieurs avantages :
• la formalisation oblige à analyser les différents types de messages et de conversations
entre deux décideurs communicant leurs décisions ou négociant en vue de prendre
leurs décisions. Cet objectif vise la description du fonctionnement dynamique du
réseau de centres de décisions ; il est complémentaire de la description statique de la
structure du réseau.
• la formalisation permet de rendre explicites les intentions de l’émetteur du message,
qui devra « typer » chaque message émis. Les ambiguïtés sont ainsi éliminées. En
retour, l’émetteur peut compter sur la réception de réponses adaptées à son envoi, en
fonction des conversations type que les deux entités utilisent.
Les messages échangés par les agents correspondent à des actes de langage. Nous
distinguons ainsi plusieurs types de messages composés de différents champs.

IV.4.1.1 Composition d’un message

La composition d’un message s’inspire des champs d’un courrier électronique ou
d'une fiche dans les bureaucraties. KQML est un langage universel extensible. Il propose un
ensemble prédéfini de champs caractérisant chaque message. Toutefois, il autorise
l’introduction de champs supplémentaires répondant aux besoins spécifiques d’une
application. Nous avons utilisé cette possibilité ; les champs supplémentaires que nous
proposons sont signalés par le signe ° dans le reste de ce paragraphe.
Les champs associés à tout message sont les suivants :
• contenu : ce sur quoi porte le message. Dans notre cas, ce champ est constitué soit
d'un ensemble de contraintes d'égalité et/ou de domaine soit de noms de variables
(voir le tableau 7).
Protocole de communication 107

• émetteur : le centre qui envoie le message.
• destinataire(s) : le ou les centre(s) destinataires du message.
• date d’émission° : la date d’émission du message.
• conversation°: identificateur unique de la conversation en cours. Ceci permet de
replacer un message dans son contexte. Le contexte (conversationnel) est donc
l’ensemble des messages relatifs à une même conversation, qui précède l’envoi ou la
réception d’un message.

En fonction de son type, les messages peuvent avoir des champs supplémentaires (cf.
conditions d’utilisation décrites dans le tableau 7) :
• date de validité° : date avant laquelle l’émetteur du message souhaite une réponse.
• réponse par défaut° : si l’agent destinataire ne répond pas à temps, l’émetteur
considère que la réponse sera la réponse par défaut. Si une réponse par défaut est
spécifiée, alors une date de validité doit l’être également.
• référence à rappeler : si l'agent émetteur attend une réponse, il spécifie un
identificateur que le destinataire devra rappeler.
• en réponse à : quand le message est une réponse, ce champ est rempli avec
l'identificateur contenu dans le champ référence à rappeler du message auquel le
centre répond.
• intention° (ou objectif) : pour les messages initiant une nouvelle conversation (et
uniquement pour eux), ce champ explicite le but de la conversation. Par exemple,
pour un centre de planification, ce champ pourra prendre la valeur "planification pour
la semaine 12".

IV.4.1.2 Type de messages

Le type d’un message permet d’identifier l’action que l’émetteur veut que le
destinataire fasse. Comme au paragraphe précédent, les types de messages non prévus par
KQML (mais permis) sont suivis du signe °.
Les messages que s'échangent les centres de décisions peuvent être de type :
• proposer° : l'émetteur propose à un ou plusieurs autres agents de prendre comme
décision la valeur du champ contenu.
• contre-proposer° : le centre émetteur fait une contre-proposition à une proposition
précédente.
• demander-si : le centre émetteur demande aux destinataires s’ils acceptent la valeur
du champ contenu.
• accepter/refuser : ces deux messages sont utilisés comme réponse directe aux
messages précédents (proposer, contre-proposer et demander-si).
• demander-domaine : le centre émetteur demande aux centres destinataires d’indiquer
un domaine de valeurs consistantes du point de vue du destinataire pour les variables
du champ contenu.
• dire : le centre émetteur signale au centre destinataire que les domaines de valeurs
consistantes sont ceux du champ contenu. Un centre qui reçoit un message demander-
domaine répond avec ce type de message.
• confirmer° : le centre émetteur confirme que le contenu contenu est considéré comme
un engagement entre toutes les parties. Le champ contenu porte sur des variables dont
le centre émetteur du message est responsable.
108 Interactions et communication dans un réseau de centres de décisions

• résumer° : le centre émetteur fait le résumé de la conversation et clôt la
conversation. Aucun engagement fort n’est encore pris ; cependant le champ contenu
a de fortes chances de faire l’objet d’un engagement prochain.
• acquitter° : le centre émetteur signale qu’il a bien reçu le message confirmer ou
résumer.
• abandonner° : abandon de la conversation.


Le tableau suivant montre certaines propriétés que les messages doivent respecter. Il
s'agit de propriétés concernant le sens d'envoi des messages (vers le centre responsable des
variables présentes dans le champ contenu ou vers l'aval), le champ contenu (contraintes
d'égalité, de domaine ou un ensemble de variables) les champs date de validité et réponse par
défaut.

type du message direction champ contenu date de validité et
réponse par défaut
proposer et contre-proposer quelconque contraintes égalité possible
demander-si quelconque contraintes égalité
contraintes de domaine
possible
accepter et refuser quelconque le champ contenu du
message initiateur
impossible
demander-domaine quelconque nom de variables possible
dire quelconque contraintes d'égalité ou
de domaine
impossible
confirmer vers l'aval contraintes d'égalité impossible
résumer quelconque contraintes d’égalité
contraintes de domaine
impossible
acquitter vers le centre
responsable
contraintes d'égalité impossible
abandonner dépend du type
de conversation
rien impossible
tableau 7 : propriétés des messages


Exemple d'échange de messages :
Voici un exemple d'échange de messages entre deux centres. Cet échange fait parti d'une
conversation pour information.
Le premier message est une demande de toutes les instanciations possibles de X11 et X12
envoyée par centreA pour centreB. CentreB devra répondre avant le 2 janvier 2000 à 18 heures avec
l'identificateur 4321. Le 2 janvier 2000 à 10 heures 54, centreB répond que, pour lui, X11 est compris
entre 12 et 24 et que X12 est nécessairement égal à 34.
(ask-all
:sender centreA
:receiver centreB
:content "X11 X12"
:date "1/1/2000 0:0"
:conversation 1234
:reply-with 4321
:validity-date "2/1/2000 18:00" )

(tell
:sender centreB
:receiver centreA
:content "X11=[12,24] X12=34"
:date "2/1/2000 10:54"
:conversation 1234
:in-reply-to 4321 )


Protocole de communication 109

IV.4.2. Conversations
Nous avons vu au chapitre 2 des scénarios de conversations dans le cadre de la théorie
des actes de langage ou des systèmes multi-agents. Nous nous inspirons de ces scénarios pour
proposer nos types de conversations.
Dans cette partie, nous allons décrire le déroulement de deux types de conversations :
les conversations pour conclure sur une prise de décision effective et les conversations pour
rechercher des informations afin de préparer une décision cohérente et robuste.
IV.4.2.1 Les conversations pour engagement
Ces conversations ont pour but la prise de décision. Elles permettent à un centre
responsable de décisions de s'assurer de leur robustesse et aux centres en aval de la cohérence
de leurs décisions. Une conversation réussie se termine par un engagement entre les
différentes parties pour respecter l’objet (le champ contenu) de la conversation. Ce type de
conversation concerne l’instanciation de variables. Si un engagement portant sur les mêmes
variables existait déjà, celui-ci sera remplacé par le résultat de cette conversation. Les
participants de ces conversations sont le centre
res
C responsable des variables de décision
(V ) et les centres en aval } {
aval
C concernés par une ou toutes les variables de décision.
∅ ≠ ∩ ∃ ) ( et ) , ( / u F V C C u C
aval res aval

Ces conversations sont constituées de deux phases :
• une phase de négociation. Cette phase a pour but la négociation de l'engagement à
prendre.
res
C émet une proposition vers tous les
aval
C . Ceux-ci acceptent, refusent la
proposition ou émettent une contre-proposition vers
res
C . Cette phase peut être initiée
soit par un
res
C

soit par
aval
C . Si la conversation est initiée par un
aval
C alors
res
C
étend la discussion à tous les
aval
C .
• une phase de décision. Cette phase débute par un message confirmer de
res
C envoyé
à tous les
aval
C . Ce message signale qu'un engagement a été pris entre tous les centres
pour que contenu soit appliqué. Les centres
aval
C émettent un message d'acquittement
en retour.
Normalement,
res
C ne passe à la phase de décision que lorsque tous les centres ont
accepté une proposition. Mais,
res
C peut passer dans la phase de décision même si la
proposition n'a pas été acceptée par tous les centres en aval. Dans ce cas, la décision est
imposée aux centres n'ayant pas accepté la proposition. Dans le cas le plus extrême,
res
C peut
imposer sa décision à tous les centres en aval.

La figure 77 montre le comportement d’un centre responsable des variables de
décisions faisant l’objet d’une négociation pour engagement. Les places doublement
encerclées de ce réseau de Petri constituent la boîte de réception et la boîte d’envoi du centre.
Les autres places constituent un état du centre lors du traitement de la conversation. Les
transitions correspondent à la lecture d’un ou plusieurs messages (on a alors un arc qui va de
la boîte de réception vers la transition) ou à l’envoi de messages (arc de la transition vers la
boîte d’envoi). Les transitions indiquent également le type des messages attendus ou émis (à
chaque transition est associée une condition de franchissement et/ou une action à réaliser
{condition ; action}). Une transition est franchie dès que la date limite DV est atteinte. À cette
occasion, tous les messages reçus sont lus. La figure 78 montre le comportement de chaque
centre aval.
110 Interactions et communication dans un réseau de centres de décisions

Lorsqu’il est dans l’état « opinion res », le comportement attendu (et non obligatoire)
de
res
C est le suivant :
• si toutes les réponses des centres avals acceptent, alors une confirmation est lancée et
le centre passe dans l’état accord.
• dans les autres cas, soit il négocie une autre proposition (message contre-proposer),
soit il abandonne (message abandonner).

début
{;type=proposer}
opinion aval
opinion res
{;type=contre-
proposer}
{type=accepter ou
type=refuser ou
type=contre-proposer ;}
{type=proposer ;}
accord
fin
boîte
d'envoi
de
res
C
boîte de
réception de
res
C
{;type=confirmer ou
type=abandonner}
{type=acquitter;}
<type>
<type>
n
n
n
[DV,DV]
n
n
m (m<n)
1

figure 77 : comportement d’un centre responsable de décisions faisant l’objet
d’une conversation pour engagement
début
{ ;type=proposer}
opinion aval
opinion res
{type=contre-
proposer;}
[DV]
{;type=accepter ou
type=refuser ou
type=contre-proposer}
{type=proposer ;}
accord
fin
boîte d'envoi
de
aval
C
boîte de réception
de
aval
C
{type=confirmer ou
type= abandonner;}
{;type=acquitter}
<type>
<type>

figure 78 : comportement d’un centre en aval lors d’une conversation pour
engagement
Protocole de communication 111

IV.4.2.2 Les conversations pour information


Les conversations pour obtenir des informations ne débouchent pas sur un engagement
fort. Ces conversations permettent de négocier par anticipation. N’importe qui peut initier ces
conversations et n’importe qui peut les terminer. Ce type de conversation est plus libre que les
conversations pour engagement puisque tout centre peut intervenir à n’importe quel moment.
La conversation se conclut soit par une réussite de la conversation (un résumé est alors fait)
soit par un échec.


{type
r
=demander-si ou
demander-domaine;}
boîte de
réception
<type
r
>
début
{type
r
=demander-si
ou type
r
=accepter
ou type
r
=refuser ou
type
r
=dire;}
{;type
e
=résumer ou
type
e
=abandonner}
{type
r
=résumer ou
type
r
=abandonner;
type
r
=acquitter}
évaluation
{type
r
=acquitter;}
fin
attente
boîte
d’envoi
<type
e
>
n
n
n
n
n
{;type
e
=demander-si ou
demander-domaine}
{type
e
=demander-si
ou type
e
=accepter
ou type
e
=refuser ou
type
e
=dire;}

figure 79 : comportement d’un centre lors d’une conversation pour information

IV.4.3. Exemple :


La figure 80 (il s’agit d’un diagramme de séquence cf. le chapitre 5) montre un
exemple de conversation pour engagement entre un centre planification et un centre
ordonnancement. Le centre de planification envoie un message proposer qui débute la
conversation. Le centre ordonnancement envoie une contre-proposition. Le centre de
planification envoie une nouvelle proposition. Le centre d'ordonnancement répond
favorablement. Afin de conclure l’accord, le centre de planification envoie le message de
confirmation au centre d'ordonnancement (la décision est prise). Le centre d'ordonnancement
envoie un message de réception du message de confirmation.
112 Interactions et communication dans un réseau de centres de décisions

proposer (X
11
=10, X
21
=23)
contre-proposer (X
11
=10, X
21
=19)
contre-proposer (X
11
=13, X
21
=15)
confirmer (X
11
=13, X
21
=15)
accepter (X
11
=13, X
21
=15)
acquitter
planification
ordonnancement
temps

figure 80 : une conversation pour engagement


L’utilisation d’un protocole de communication (messages et conversations prédéfinis)
permet d’automatiser partiellement certains traitements :
• certains champs des messages peuvent être automatiquement remplis. Notamment, les
champs émetteur, destinataire (en fonction du champ contenu), date d’émission,
conversation, en réponse à, référence à rappeler et date de validité. En effet, ce
dernier champ peut être rempli en utilisant le méta-modèle (en effet, il faut conclure la
(re)négociation avant la date de gel). Par contre, le champ intention est laissé à la
discrétion de l’utilisateur.
• quand un centre doit répondre à un message, l’outil d’aide peut indiquer quelles sont
les réponses possibles.
• l’outil d’aide peut fournir un historique des conversations afin de ne pas explorer deux
fois les mêmes hypothèses.
• et surtout, une fois que la conversation est terminée avec succès, l’outil d’aide peut
automatiquement intégrer le champ contenu dans le CSP du centre.

Cependant, on peut se demander comment représenter, évaluer les effets de plusieurs
conversations menées simultanément. Quand le CSP devient inconsistant, quelles sont les
contraintes (et les conversations pour engagement) à remettre en cause ? Le prochain
paragraphe présente une structure arborescente qui permet, entre autres, de représenter les
effets d’une conversation.

IV.5. Représentation de l’état d’un centre

Nous avons adopté une structure arborescente pour représenter l’état d’un centre. Le
décideur peut représenter et évaluer différentes hypothèses ou conversations. En permettant
de représenter et de structurer le processus de décision, cette arborescence fournit une aide
complémentaire pour la prise de décision locale et les négociations.

Représentation de l’état d’un centre 113

IV.5.1. Hypothèses, propositions et engagements

Les contraintes de modèle qu'un centre considère peuvent avoir plusieurs origines.
Suivant cette origine, la contrainte sera plus ou moins facile à changer. C'est pour cela que
nous distinguons, outre les contraintes de modélisation, trois types de contraintes :
• les engagements sont des contraintes issues de conversations pour engagement. Au
moment où un centre envoie le message confirmer (partie d’une conversation pour
engagement), les contraintes associées à ce message sont considérées comme une
contrainte d'engagement. Les contraintes d'engagement sont des contraintes
d'affectation.
• les propositions sont des contraintes issues de conversations pour information ou de
conversations pour engagement non encore abouties. Ces contraintes ont été
communiquées mais aucun engagement fort n'est encore intervenu. Cependant, ces
contraintes ont toutes les chances d'être appliquées dans le futur. Ces contraintes sont
des contraintes d'affectation ou de domaine.
• les hypothèses sont des contraintes qu'un centre considère sans quelles soient
communiquées à d'autres centres. Ceci permet de préparer des décisions que l'on
communiquera dans la suite. Ces contraintes sont quelconques. Cependant, seules les
contraintes de domaine ou d'affectations pourront être négociées.

On peut distinguer deux sous-types d'engagements et de propositions :
• les engagements ou propositions en relation avec l'amont correspondent à des
conversations concernant des décisions prises en amont. L'auteur de ces contraintes
peut être soit le centre en amont soit le centre lui-même (dans la boucle
proposer/modifier). Ces contraintes sont liées à la notion de cohérence.
• les engagements ou propositions en relation avec l'aval correspondent à des
conversations concernant des décisions prises en aval. Ces contraintes sont associées à
la notion de robustesse.

IV.5.2. Structure arborescente

La prise en compte d'une hypothèse, une proposition ou d'un engagement transforme le
CSP courant (
1
CSP ). En effet, il faut prendre en compte les nouvelles contraintes (
3
C ) de
l'hypothèse, proposition ou engagement. Ainsi, l'ensemble des contraintes du CSP résultant
(
2
CSP ) est l'ensemble des contraintes du
1
CSP plus les contraintes
3
C (voir figure ci-après).
> <
1 1
, , CSP C D X
> <
2 2
, , CSP C D X
1 3 2
C C C ∪
Ajout d'une hypothèse, proposition ou
engagement (contenant les contraintes
3
C ).

figure 81 : passage d’un nœud à un autre
Nous cherchons à représenter le problème local d'un centre, différentes hypothèses,
propositions et engagements. Nous cherchons également à évaluer les effets de ces différentes
contraintes. A priori, comme il est plus facile de changer des contraintes sur lesquelles le
centre ne s’est pas engagé, nous proposons une structure arborescente à plusieurs étages allant
des décisions les plus figées à celles qui sont le plus hypothétiques :
114 Interactions et communication dans un réseau de centres de décisions


CSP générique
CSP racine
CSP des
engagements
CSP
3
CSP
6
solution 1
solution 2 solution 3
paramètres non contrôlables,
décisions gelées, imposées
engagements
propositions
hypothèses
résolutions
CSP
1
E
1
P
3
CSP
4
CSP
5
P
4
P
5
E
2
H
6
CSP
7
H
7

figure 82 : arbre de recherche en un centre
À chaque nœud correspond un modèle CSP. Les arcs font la transition d'un nœud à un
de ses fils. Ils correspondent à l'ajout d'une ou plusieurs contraintes dans le modèle du CSP
parent.
La racine de l'arbre est le modèle générique qui permet de modéliser le problème de
décision du centre. Il s'agit d'un des modèles abordés au chapitre 3. La prise en compte des
paramètres non contrôlables et des décisions gelées dans ce modèle donne le CSP racine. La
prise en compte de tous les engagements donne le CSP des engagements. Ensuite, viennent
les propositions (ce sont des hypothèses communiquées donc susceptibles de devenir des
engagements). Dans les branches les plus basses interviennent les hypothèses (non
communiquées) et les solutions générées.
Le CSP des engagements modélise le problème du centre de décision en tenant compte
des paramètres non contrôlables, des décisions gelées ou imposées et, surtout, des décisions
pour lesquelles le centre s'est engagé. Ce CSP détermine donc si à un instant t le centre de
décision est cohérent et robuste (le CSP a au moins une solution). Les propositions et les
hypothèses portent sur des décisions qui seront amenées à être des engagements. La
cohérence des CSP qui tiennent compte des propositions et des hypothèses permet d'anticiper
sur un problème de cohérence ou de robustesse futur.
L’arborescence peut être notée à l’aide d’un triplet ) , , ( CON BRA CSP A où :
} ,..., , {
2 1 N
CSP CSP CSP CSP est l’ensemble des nœuds de l’arborescence.
,...} , , , {
l k j i
S H P E BRA est l’ensemble des arcs de l’arborescence.
i
E est un
engagement,
j
P est une proposition,
k
H est une hypothèse et
l
S à la génération d’une
solution.
Représentation de l’état d’un centre 115

CON est une fonction qui à tout arc associe un ensemble de contraintes.

Propriété 1 : passage d’un nœud père à un nœud fils
Le passage d’un nœud père
1
CSP à un nœud fils
2
CSP (voir la figure 81) entraîne la
propriété suivante : ) ( ), , ( / bra CON C C CSP CSP bra BRA bra CSP
i j j i i
∪ ∈ ∀ ∀ .

Propriété 2 : composition, décomposition de branches
Si à une branche correspond plusieurs contraintes, on peut décomposer la branche en
plusieurs branches contenant chacune un sous-ensemble des contraintes. L’inverse est vrai
aussi.
Cette propriété pourra être utile en cas de renégociation d’une partie d’une proposition
ou engagement.

composition
décomposition
> <
1 1
, , C D X CSP
> <
2 2
, , C D X CSP
> <
3 3
, , C D X CSP
1
bra
2
bra
3
bra
> <
3 3
, , C D X CSP
> <
1 1
, , C D X CSP
) ( ) ( ) (
2 1 3
bra CON bra CON bra CON ∪

figure 83 : composition, décomposition de branches

Propriété 3 : permutation de branches
Lorsque le chemin qui sépare deux CSP ne possède pas d’embranchement, alors toute
permutation de branches qui sont sur le chemin n’a aucune influence sur les deux CSP ; par
contre, les CSP situés entre ces deux CSP diffèrent. Ceci est une conséquence de la propriété
précédente (en composant puis en séparant les branches).
Sur l’exemple de figure 84, la permutation de bra
2
avec bra
3
, n’entraîne pas de
changements dans CSP
1
et CSP
3
. Par contre, les contraintes de CSP
2
changent. Il est donc
remplacé par CSP
3
.
Cette propriété est intéressante pour reclasser les engagements, les propositions ou les
hypothèses selon les besoins. En particulier, on peut être amené à mettre les engagements qui
vont être gelés le plus haut possible dans l’arborescence, et ceux qui peuvent ou vont être
renégociés le plus bas.

CSP
1
=<X,D,C
1
>
CSP
2
=<X,D,C
2
>
CSP
3
=<X,D,C
3
>
bra
2
bra
3
CSP
1
=<X,D,C
1
>
CSP
4
=<X,D,C
4
>
CSP
3
=<X,D,C
3
>
bra
3
bra
2
permutation de
bra
3
et de bra
2

figure 84 : effets d'une permutation de deux branches

116 Interactions et communication dans un réseau de centres de décisions

L'arborescence présentée ici n'est pas statique. Elle évolue en fonction de trois types
d'événements :
• le temps. Des décisions changent d'état.
• les conversations. Lors du déroulement d'une conversation, des branches peuvent
apparaître (des propositions), disparaître (une conversation échoue…) ou être
transformées (une proposition devient un engagement…).
• l'utilisateur. L'utilisateur peut agir en principe à tous les endroits de l’arborescence.
Mais, en fait, ces actions se limitent à créer des hypothèses, génèrer des solutions,
engager une conversation (une hypothèse devient une proposition).


IV.5.3. Évolution de l’arborescence en fonction du temps

Les changements d'état des variables font évoluer la structure arborescente. En
particulier, le gel, la création et la destruction de variables.


IV.5.3.1 Gel d'une variable

Avant d'être gelée, une variable est dans l'état renégociable. Elle est donc instanciée
par une valeur qui a fait l'objet d'un engagement. L'arbre a donc une branche qui est
l'engagement portant sur la variable. Au moment du gel, cette branche change d'état et
s'intègre dans l'arc des paramètres non contrôlables et des décisions gelées. Au moment du
gel, le CSP qui intègre l'engagement devient le CSP racine.

CSP générique
CSP racine
CSP
1
¦ ¦ I X E ≡
1
CSP générique
CSP racine
1
bra
gel de X
1
bra

figure 85 : gel d'une variable

Si E
1
=(CSP
racine
,CSP
1
) et CON(E
1
)={V=I}
gel(V)≡
CSP←CSP-{CSP
racine
}
BRA←BRA-{E
1
}
CSP
racine
=CSP
1
bra
1
←bra
1
∪{V=I}

Nous supposons, ici, que l’engagement qui concerne la variable à geler est placé juste
au-dessous du CSP
racine
. Les propriétés 2 et 3 permettent d’arriver à ce résultat.

Représentation de l’état d’un centre 117

IV.5.3.2 Création/destruction de variables

Lorsqu'une variable est crée ou détruite, des contraintes sont modifiées, crées ou
détruites. Ces modifications interviennent au niveau du modèle générique ; donc, tout l’arbre
est susceptible d’être modifié. Une fois que les variables et les contraintes ont été ajoutées ou
enlevées du modèle générique, il faut réévaluer tous les CSP pour savoir si des changements
doivent être faits parmi les engagements, propositions ou hypothèses. C’est en partie pour
cette raison que les centres créent ou détruisent des variables à l’occasion de la prise de
décision à temps régulier. La destruction d’une variable se fait en prenant en compte l’état du
système.

IV.5.4. Évolution de l’arbre en fonction des conversations

Dans le cas de changements dus aux conversations, on peut distinguer deux cas : le
début d’une nouvelle négociation peut créer une branche n’importe où dans l’arbre tandis que
la poursuite d’une (re)négociation ou le commencement d’une renégociation où
l’emplacement de la nouvelle branche est déterminé.

IV.5.4.1 Début d'une négociation

Il n’existe pas de branche qui concerne les variables de décision. Il faut donc placer
une nouvelle branche. S’il existe déjà des propositions, faut-il placer la nouvelle proposition à
la suite des propositions ou créer une nouvelle ramification ?


CSP
1
P
1
CSP des engagements
CSP
2
P
2
CSP
1
P
1
CSP
2
P
2
ou
CSP des engagements

figure 86 : placement d'une nouvelle proposition P
2


Si la proposition P
1
n’a aucune influence sur P
2
, on peut placer P
2
dans les deux
configurations. Pour bien montrer l’indépendance de la réponse, on peut choisir la seconde
configuration (nouvelle branche en concurrence de P
1
).

Dans le cas général, le placement de la nouvelle n’est pas simple car il dépend de
plusieurs critères. Il appartiendra au décideur de fixer la politique de placement. Voici
quelques critères qui aideront à placer la nouvelle proposition :
• si P
1
est issu d’une conversation pour engagement et P
2
d’une conversation pour
information, P
1
est susceptible d’être très prochainement transformée en engagement.
118 Interactions et communication dans un réseau de centres de décisions

Pour anticiper au maximum, on peut essayer de placer la nouvelle proposition P2 à la
suite de P1 (cas 1).
• si P1 est issu d’une demande d’information et P2 fait partie d’une conversation pour
engagement, la réponse que l’on donnera à P2 semble plus importante que la demande
d’information. Dans ce cas, la nouvelle proposition est placée en concurrence de P1
(cas 2). On peut même essayer de mettre P1 à la suite de P2 afin de vérifier que
l’hypothèse est toujours valable.
• si les dates d’instanciation ou de gel des variables de P2 sont supérieures ou égales à
celles des variables de P1, une causalité temporelle apparaît dans la prise de décision.
Dans ce cas, la nouvelle proposition sera placée à la suite de P
1
(cas 1).

Ces critères permettent de présenter un premier choix de placement de la branche au
décideur. Mais, c’est lui qui décide où mettre la branche. En effet, d’autres critères peuvent
faire intervenir la nature des centres impliqués ou des décisions.

IV.5.4.2 Début d'une renégociation ou poursuite d'une
négociation

Dans ce cas, il existe déjà une branche (une proposition ou un engagement), la
nouvelle proposition est reçue en prévision du remplacement de l’ancienne branche. On peut
étudier les effets de la nouvelle proposition en créant une nouvelle branche en parallèle de
l’ancienne.

Si l’ancienne branche fait partie d’une succession de branches sans ramification, il
convient de la placer en dernière position (voir propriété 3) afin de répondre au message en
garantissant un minimum de changements dans la structure.

Pour répondre au message, il faut évaluer le nouveau CSP créé (CSP
4
sur la figure 87).
Pour donner une réponse plus fiable ou pour étudier les répercussions de la nouvelle
proposition, le centre peut recréer une structure d’arbre identique à la précédente (partie
grisée).

Si la conversation est conclue avec succès, il faut essayer d’adapter l’ancienne
structure au changement de branche. Cette adaptation peut éventuellement invalider certains
CSP et donc certaines propositions. La conclusion d’une renégociation peut donc entraîner de
nouvelles renégociations.

CSP
1
E
1
CSP des
engagements
CSP racine
E
2
CSP
3
P
3
CSP
4
P
4
CSP
5
P
3
CSP
1
E
1
CSP racine
E
2
P
3
E
4
CSP
5
la renégociation est un
succès
CSP des
engagements

figure 87 : effets d'une renégociation sur la structure
Conclusion 119

IV.5.5. Évolution de l’arbre en fonction des interactions avec
l’utilisateur

Une des principales activités d'un centre de décision est de prendre des décisions et de
les négocier avec les centres en aval. Lors de la préparation des décisions, le décideur va
générer des hypothèses et des solutions. Une fois la préparation faite, le décideur va
transformer une hypothèse en proposition en la négociant avec les centres en aval. Cette
négociation aura pour but de transformer cette proposition en engagement.
Ici, encore se pose la question : où placer la nouvelle hypothèse ? Faut-il la placer à la
suite des autres hypothèses et propositions ou faut-il créer une nouvelle ramification ? C’est
au décideur de placer la nouvelle branche en fonction de la stratégie qu'il suit. On peut
supposer que le décideur se place dans un nœud et génère une branche qui sera placée en
dessous du nœud considéré.

Pour un outil d'aide, la structure arborescente :
• permet de représenter et évaluer différentes hypothèses ou propositions.
• permet de suivre plusieurs conversations à la fois et d'étudier les répercussions quelles
ont entre elles.
• peut être gérée partiellement automatiquement. En particulier, l'outil d'aide peut
facilement détecter les inconsistances dues aux modifications de l'arbre et indiquer au
décideur la ou les branches à renégocier. Cependant, la gestion de l'arbre ne peut pas
être entirement automatisée.

IV.6. Conclusion

Nous avons proposé un ensemble de concepts pour aider un centre à prendre des
décisions et à les négocier avec d'autres centres. Pour cela, une caractérisation des contraintes
formalisables pesant sur un centre de décision a été proposée. Nous avons pu ainsi identifier
les contraintes organisationnelles qui traduisent la structure et le fonctionnement du réseau de
centres de décision, les contraintes qui modélisent le problème de décision en un centre et les
contraintes procédurales qui indiquent comment deux centres doivent coopérer.
La structure du réseau est décrite par un graphe. Le fonctionnement est abordé au
travers d’un schéma de type SADT. En considérant les états que peuvent prendre les
décisions, nous pouvons créer un méta-modèle qui permet de représenter et d’évaluer
l’autonomie que possède un centre pour les moments de prise de décision et les durées de
négociations.
La proposition d'un protocole de communication (conversations et échange de
messages) a permis de spécifier ce que pourraient être certaines contraintes procédurales.
Enfin, une structure arborescente permet de représenter l’état d’un centre. Ainsi,
différentes hypothèses peuvent être considérées, le suivi des conversations est facilité.
Le chapitre suivant s’intéresse à la mise en œuvre, à travers la réalisation d’un
prototype de logiciel d’aide à la décision distribuée.








Chapitre V Réalisation d’un environnement
d’aide à la décision et à la coopération

Ce chapitre présente le logiciel d’aide à la décision distribué qui nous a permis de
tester notre approche. Tout d’abord, nous résumons les besoins que le décideur d’un centre
peut exprimer. Le reste du chapitre est consacré à un exemple en gestion multi-projets. Des
centres projets sont en compétition pour l’attribution de ressources gérées par des centres
métiers. Nous donnons les spécifications de l’application développée au travers de quelques
diagrammes UML. Enfin, nous décrivons les choix de développement que nous avons fait et
nous présentons quelques fenêtres de l’interface graphique développée.

V.1. Les besoins
Les chapitres précédents nous ont permis d’identifier quelques besoins. En particulier,
nous avons identifié des besoins pour :
• modéliser et résoudre des problèmes. Le logiciel peut assister le décideur dans la
représentation d’un problème de décision, ainsi que dans les traitements associés.
• coopérer. Il s’agit d’aider le décideur à gérer les conversations qu’il mène avec
d’autres centres.
• représenter et structurer le processus de décision. Il s’agit de structurer les hypothèses
faites par le décideur et sur lesquelles il s’est éventuellement engagé.
• prendre en compte la dynamique du processus de décision. Le décideur peut être
engagé dans plusieurs processus de coopération à la fois.

V.1.1. Aide à la modélisation et à la résolution du problème

Compte tenu d’un problème de décision, le décideur peut avoir :
• à déterminer les degrés de liberté dont il dispose. Plusieurs indicateurs peuvent être
proposés (voir le chapitre 3) : une vérification de la consistance du modèle CSP, les
domaines des variables de décision ou des paramètres, une analyse de sensibilité.
• à agir sous contraintes. Le décideur peut prendre des décisions qui seront
communiquées aux centres en aval. Afin d’anticiper de futurs problèmes, le décideur
peut aussi négocier les domaines que prendront les variables de décision. De même,
les domaines des paramètres peuvent être négociés avec les centres en amont.
• à agir sur les contraintes. En cas de manque d’autonomie, le décideur cherche à
connaître les décisions, les paramètres ou les contraintes qu’il peut remettre en cause.
Des renégociations peuvent en découler.
Les traitements sont dépendant des caractéristiques du modèle CSP choisi pour
modéliser le problème de décision (variables continues/discrètes, modèle linéaire/non linéaire,
contraintes binaires/n-aires).

122 Réalisation d’un environnement d’aide à la décision et à la coopération

V.1.2. Aide à la coopération

Dans le cas d’interactions asynchrones entre les centres, le système doit fournir au
décideur une aide pour gérer sa boîte aux lettres (sélection, classement, etc.). Par exemple, il
pourrait être préférable de classer les messages contenus dans une conversation pour
engagement avant un message contenu dans une conversation pour information.
Le système doit permettre le suivi des conversations, le respect des protocoles de
communication. Afin de pouvoir répondre convenablement à un message, le système peut
remplir automatiquement certains champs du message de réponse et proposer à l’utilisateur un
choix de réponses possibles.
Le décideur peut chercher à savoir quels sont les centres à qui adresser un message (en
fonction des variables contenues dans le message).

V.1.3. Aide à structuration du processus de décision

Grâce à l’arborescence des modèles, le décideur peut visualiser l’état du processus de
décision. Par exemple, il peut voir le contexte d’une prise de décision (les hypothèses et
engagements faits pour prendre la décision).
Durant le processus de décision, de nouvelles branches doivent être créées. Par
exemple, à la réception d’un message, une proposition ou un engagement apparaissent dans
l’arbre. De même, en phase de prise de décision, le décideur génère une hypothèse qu’il
cherche à valider en la négociant avec les centres en aval. Dans ces cas, se pose le problème
du contexte dans lequel se placer. Le système peut proposer au décideur une place en fonction
de plusieurs critères : variables déjà négociées, message issu d’une conversation déjà présente
dans l’arbre, début d’une conversation pour engagement.

V.1.4. Prise en compte du temps

Le problème de décision n’est pas statique. Au fur et à mesure, des informations
arrivent ; l’ensemble des contraintes et des variables peut changer. Le système de décision
doit permettre de gérer les mécanismes de prise de décision périodique (création, gel,
destruction de variables).
Le décideur peut être prévenu lorsque certaines limites temporelles sont proches. Par
exemple :
• la date limite de prise de décision de certaines variables.
• la date limite de réponse à un message.
Dans la suite, nous utiliserons ces spécifications pour réaliser une application dans le
cadre de la gestion de projets avec ressources partagées.

V.2. Cadre choisi

Nous présentons ici le contexte de développement de l’application. Nous avons choisi
un exemple de gestion de projets avec ressources partagées, inspiré d’un problème réel de
gestion de projets (voir [DIDOM 2000] et l’exemple du chapitre 4 en gestion de projets).
Cadre choisi 123

Dans cet exemple, deux projets sont en compétition pour l’attribution de personnels
spécialisés regroupés par métier. Chaque projet et chaque métier sont gérés par un centre de
décision.

V.2.1. Description du réseau de centres
V.2.1.1 Structure du réseau de centres

Deux centres projet ont en charge la réalisation d’un projet chacun. Ils doivent définir
les dates de début
i
t pour chaque tâche du projet. La réalisation d’une tâche nécessite du
personnel d’un des métiers. La durée de la tâche dépend du nombre de personnes allouées. Le
centre projet doit tenir compte également des dates de fin au plus tard qui sont négociées avec
le client (le client peut suivre la progression du projet).
Chaque centre métier gère des personnes.
i
a personnes sont affectées à un projet pour
la réalisation d’une tâche i .
La figure 88 représente le réseau de centres considéré ici.

m i
d
1
11 i
t
11 i
a
12 i
a
22 i
a
21 i
a
12 i
t
21 i
t
22 i
t
m i
d
2
projet 1
métier 1 métier 2
projet 2
client -> projet p : date échue
ipm
d
projet p -> métier m: dates de début
ipm
t
métier m-> projet p : personnel alloué
ipm
a
client
client

figure 88 : le réseau de centres de décision
V.2.1.2 Fonctionnement du réseau de centres

Les dates échues
ipm
d sont définies par le client avant le début du projet (voir la figure
89). À partir des dates échues et tous les vendredis, le centre projet donne les dates de début
ipm
t des tâches devant être réalisées la semaine suivante. À partir de ce plan, le centre métier
définit le personnel à allouer
ipm
a aux différentes tâches.
Tout au long de la semaine, le personnel réalise les différentes tâches aux dates
indiquées par
ipm
t .

124 Réalisation d’un environnement d’aide à la décision et à la coopération

définir dates
jalons
définir dates
de début
affecter
personnel
réaliser
tous les
vendredis
avant le début
du projet aléa
aléa
aléa
plan
ipm
t
état réel
affectations
ipm
a
client
centre projet p
centre métier m
personnel
d
a
t
e
s

é
c
h
u
e
s ipm
d

figure 89 : le fonctionnement du réseau de centres

Cette description ne suffit pas à décrire toutes les contraintes de fonctionnement des
centres. Nous introduisons par la suite les contraintes de fonctionnement qui apparaîtront dans
les méta-modèles des centres.

Les décisions concernant les dates échues
ipm
d sont prises avant que le projet ne
débute. Ces décisions sont renégociables jusqu’à une semaine avant
ipm
d . Nous supposerons
que la négociation concernant
ipm
d a déjà eu lieu et que le centre projet est crée à l’issue de
cette négociation.

ipm
d
dec
ipm
d
gel
ipm
d
des
ipm
d
t
> 1 semaine

figure 90 : contraintes dans le processus de décision entre le client et le centre
projet

Les décisions concernant les dates de début
ipm
t des tâches et les affectations doivent
être prises pour le vendredi de la semaine précédant la réalisation des tâches : cela permet
d’établir un planning prévisionnel à la semaine. Les quantités de personnel affecté à un projet
sont figées une demi-journée avant la mise en œuvre des tâches : le personnel ne connaît
l’emploi du temps définitif que pour la demi-journée qui suit.
Le centre projet a un horizon prévisionnel sur toute la durée du projet tandis que les
centres métiers ont un horizon sur la semaine en cours et la semaine suivante (deux semaines
entières au maximum).

Cadre choisi 125

ipm
t
cre
ipm
t
dec
ipm
t
gel
ipm
t
des
ipm
t
t
< ½ journée
à 8h ou à 14h
pour le vendredi
ipm
a
cre
ipm
a
gel
ipm
a
des
ipm
a
dec
> 0

figure 91 : contraintes dans le processus de décision entre les centres projets et les
centres métiers
Soit
s
∆ la durée d’une semaine,
v
∆ la durée entre le début de semaine et le vendredi,
j
∆ la durée d’une journée et une fonction semaine qui, à une date, associe le numéro de
semaine (par exemple, 1 h) 8 à 2000 Janvier 2 ( semaine ).

Les centres projets ont donc un méta-modèle de la forme :
) 9 ( des
(8) 2 /
) 7 (
) 6 ( 2 / *
(5) ) 1 ) ( ( *
(4) 0
) 3 (
) 2 (
) 1 ( -
ipm
ipm
t
j
0
s
ipm
ipm t
ipm t
j t
v ipm s t
t
a t
ipm ipm a t
ipm d
t
t gel
t gel
k t gel
t semaine dec
cre
gel gel
d t dec dec
d gel
ipm
ipm
ipm
ipm
ipm
ipm ipm
pmi ipm

∆ − ≥

∆ +
∆ + − ∆ ≤

≤ ≤ ≤
∆ ≤

L’équation (1) traduit le fait que
ipm
d est gelée au moins une semaine avant la date
ipm
d . (2) traduit que
ipm
t est décidée avant
ipm
a (et donc avant
ipm
t et
p
d ). La date de gel de
ipm
t est la même que celle de
ipm
a (3). Les variables de dates de début des tâches existent dès
que le centre existe (horizon sur toute la durée du projet).
ipm
t est décidée avant le vendredi
précédent sa mise en œuvre (5). Les variables
ipm
t sont gelées en début de demi-journée (6) et
elles sont gelées au dernier moment (7) et (8). Les variables
ipm
t sont détruites une fois la
décision mise en œuvre (9).

Dans ce méta-modèle, on peut se demander si c’est
ipm
t qui fixe les dates de décision
ipm
t
dec , de gel
ipm
t
gel et de destruction
ipm
t
des des variables ou si c’est l’inverse. En fait, si le
décideur veut planifier une tâche pour une semaine, il faut qu’il le fasse pour le vendredi
126 Réalisation d’un environnement d’aide à la décision et à la coopération

avant. Il peut cependant, reporter l’exécution de la tâche à la semaine suivante en cas d’aléa
sauf si la décision est déjà gelée.

Les centres métiers ont un méta-modèle de la forme :
) 8 ( des
(7) 2 /
) 6 (
) 5 ( 2 / *
(4) ) 1 ) ( ( *
(3) ) 2 ) ( ( *
) 2 (
) 1 (
ipm
a
j
0
ipm
ipm a
ipm a
j a
v ipm s a
v ipm s a
a t
p ipm a t
t
t gel
t gel
k t gel
t semaine dec
t semaine cre
gel gel
d t dec dec
ipm
ipm
ipm
ipm
ipm
ipm ipm
ipm ipm

∆ − ≥

∆ +
∆ + − ∆ ≤
∆ + − ∆

≤ ≤ ≤

Dans ce méta-modèle, on retrouve le même type de contraintes que dans les méta-
modèles des centres projets. L’équation (3) traduit que les variables
ipm
a ne sont crées que
deux semaines avant leurs mises en œuvre. L’horizon prévisionnel d’un centre métier
correspond bien à deux semaines.

V.2.2. Modélisation du problème de décision de chaque centre
V.2.2.1 Les centres projets

Chaque centre projet p doit gérer un projet. Ce projet est constitué d’un ensemble
p
θ
de tâches dont la réalisation nécessite du personnel alloué par un centre métier. Les tâches
doivent s’exécuter dans un certain ordre : une gamme de fabrication existe.

Les paramètres d’un centre projet sont :
• un ensemble de tâches
p
θ nécessitant des ressources partagées. Le métier m est
sollicité pour la réalisation de la tâche ipm. Ces paramètres sont des données (non
négociables).
• la quantité
ipm
a de personnel alloué à une tâche de
p
θ . Ce paramètre est une décision
d’un centre métier.
• ) (a q
i
est la durée de la tâche ipm en fonction du nombre de personnes alloué
(données)
• les dates de début au plus tôt
ipm
r (ce sont des données).
• les dates de fin au plus tard des tâches
ipm
d . Ces paramètres sont négociés avec le
client.
• une gamme de fabrication définie par un ensemble de contraintes de précédence.


Chaque centre projet a comme variable de décision :
Spécifications d’un système d’aide à la décision 127

• la date de début de chaque tâche du projet :
ipm
t . Les dates de début sont négociées
avec les centres métiers.
• la date de fin de chaque tâche du projet :
ipm
c . Les dates de fin des tâches sont des
variables privées des centres projet.

V.2.3. Les centres métiers

Les centres métiers allouent une quantité
ipm
a de personnes à une tâche ipm. La
consommation de personnel ne doit pas dépasser le nombre de personnes
m
A dont le centre
dispose.
Les paramètres d’un centre métier sont :
• l’ensemble des tâches qui nécessitent du personnel
m
Ω (donnée). Chaque tâche ipm
fait partie du projet p (donnée).
• ) (a q
i
est la durée de la tâche ipm en fonction du nombre de personnes alloué
(données)
• les dates de début des tâches
ipm
t . Ces paramètres sont les décisions des centres
projets.
• la quantité de personnel disponible :
m
A (donnée).

Les variables de décision du centre sont :

ipm
a , la quantité de personnel alloué à la tâche ipm


Dans le paragraphe suivant, nous donnons les spécifications pour le système à la
décision développé pour cet exemple.

V.3. Spécifications d’un système d’aide à la décision
Les spécifications du système d’aide à la décision sont données dans le langage unifié
de modélisation, en anglais Unified Modeling Language (UML) qui permet de spécifier,
visualiser, construire, et documenter les artefacts des systèmes informatiques. L’annexe
présente les diagrammes UML que nous utiliserons par la suite.
V.3.1. Spécifications du réseau de centres de décision

Dans ce paragraphe, les spécifications du système d’aide à la décision sont données.
Tout d’abord, l’aspect statique est étudié au travers d’un diagramme d’objets. Puis, des
diagrammes de séquence permettent de mettre l’accent sur les principales caractéristiques
temporelles du système : moment d’actualisation de la base de donnée, conversations à trois,
date de validité des messages.

Le système d’aide doit interagir avec les différents décideurs. Les données, notamment
celles concernant l’état réel du système à piloter, sont collectées par le personnel et stockées
dans une base de données.
128 Réalisation d’un environnement d’aide à la décision et à la coopération

Chaque décideur interagit avec un agent du système (pour former un centre de
décision). Le décideur contrôle l’agent ; celui-ci fournit une aide au décideur (voir la figure
92).
Les agents communiquent par messages asynchrones avec les agents qui
correspondent aux centres en amont et aux centres en aval : chaque agent projet communique
avec les deux agents métiers. De plus, les agents ont accès à une base de donnée pour pouvoir
consulter les données les concernant et pour pouvoir y écrire les valeurs des décisions prises.
Lorsqu’une décision est prise (et négociée), la base de données est actualisée. La
figure 93 montre le déroulement d’une conversation pour engagement. Quand celle-ci réussit
(le message « confirmer » est envoyé), la décision est prise et la base de donnée est actualisée.
agent projet 1
agent métier 1
décideur
projet 1
agent projet 2
agent métier 2
base de
données
décideur
projet 2
décideur
métier 2
décideur
métier 2
personnel
contrôle
assiste
communiquer
accéder
lire/écrire
a
c
c
é
d
e
r
communiquer communiquer
accéder
a
c
c
é
d
e
r

figure 92 : diagramme d’objets du système d’aide à la décision



agent projet 1 agent métier 1 base de donnée
proposer
contre-proposer
contre-proposer
accepter
confirmer
écrire
acquitter
négociation
décision

figure 93 : diagramme de séquence d'une conversation pour engagement
Spécifications d’un système d’aide à la décision 129

La figure 94 montre le déroulement d’une conversation pour information entre trois
agents. Les messages de l’agent projet 1 (initiateur de la conversation) sont envoyés
simultanément aux deux agents métiers. Par contre, les réponses des agents métiers ne
parviennent pas simultanément.
La figure 95 montre une conversation pour engagement où une décision est prise (la
base de donnée est actualisée). Au cours de cette conversation, l’agent métier 2 ne répond pas
à temps au message, la décision est prise car la date de validité est spécifiée (l’agent projet 1 a
considéré réponse par défaut comme étant la réponse de l’agent métier 2).

agent métier 1 agent projet 1
conversation
pour information
agent métier 2
demander-domaine demander-domaine
dire
dire
résumer résumer
acquitter
acquitter

figure 94 : conversation pour information entre trois agents

agent métier 1 agent projet 1 agent métier 2
proposer ( Dv : durée
validité, réponse par
défaut = accepter)
accepter
proposer ( Dv : durée
validité, réponse par
défaut = accepter)
Dv
confirmer
acquitter
base de donnée
confirmer
écrire
acquitter

figure 95 : date de validité dans une conversation pour engagement

V.3.2. Spécifications de chaque agent

Dans ce paragraphe, nous présentons les spécifications de chaque agent. Tout d’abord,
un diagramme de classes présente la structure statique des classes. Ensuite, quelques
130 Réalisation d’un environnement d’aide à la décision et à la coopération

diagrammes de collaboration permettent de montrer la dynamique des interactions entre
objets et de préciser le rôle de certains objets.


V.3.2.1 Composition d’un agent

Chaque agent est composé d’un gestionnaire des communications, d’un gestionnaire
de l’arborescence et d’un gestionnaire des variables (voir la figure 96). Le gestionnaire des
communications est chargé de gérer les conversations et de faire l’interface avec les autres
agents. Le gestionnaire de l’arborescence est chargé de gérer l’arborescence : les branches
(hypothèses, proposition, engagement, solution) et les modèles. Le gestionnaire des variables
est chargé de gérer les variables et en particulier les contraintes temporelles qui leur sont
associées (date de création, de décision, de gel et de destruction).


Chaque agent propose également une Interface Homme-Machine (IHM). Quatre vues
principales seront proposées :
• une vue « communication » présente les conversations et leurs contenus. Elle permet
également d’envoyer un message.
• une vue « arborescence » présente l’arborescence des branches et des modèles.
• une vue « modèle » présente un modèle CSP par un diagramme de Gantt et permet de
générer les domaines des variables ou des solutions et de construire une nouvelle
hypothèse.
• une vue « variables » présente les contraintes temporelles de la prise de décision par
un diagramme de Gantt.

variable
variable de
décision
paramètre
gestionnaire
variables
IHM
variables
modèle CSP
branche
contrainte gestionnaire
arborescence
IHM
arborescence
IHM modèle
message
conversation gestionnaire
communication
IHM
communication
père
fils
0..1
1
0..1
0..1
1
1
1
*
1
*
* 1
*
1
*
1
1
*
1
*
1..*
*
fille
père

figure 96 : diagramme de classe d'un agent
Spécifications d’un système d’aide à la décision 131

Les gestionnaires et l’interface homme-machine s’appuient sur différentes classes :
• la classe conversation représente une conversation en cours ou achevée. Elle est
composée de messages (classe message). À un message, on peut faire correspondre
une branche (en particulier si le message contient des contraintes).
• la classe branche représente une branche (hypothèse, proposition, engagement ou
solution). À cette branche est associé un certain nombre de contraintes. Si la branche
est une proposition ou un engagement, elle correspond à un message.
• la classe modèle CSP représente un nœud de l’arborescence. Chaque nœud possède
une branche père (sauf le nœud racine). Chaque nœud peut avoir plusieurs branches
filles.
• la classe contrainte représente une des contraintes d’une branche. La contrainte est
une contrainte d’égalité ou de domaine. Elle ne concerne donc qu’une variable.
• la classe variable représente les variables considérées et permet de connaître les
contraintes temporelles qui leur sont associées.

V.3.2.2 comportement d’un agent

Pour plus de clarté, dans les diagrammes de collaboration qui suivent, nous ne
représentons que les objets gestionnaires, IHM, agent et base de données. Ainsi, les
interactions avec les autres objets composant un agent ne sont pas montrées (par exemple
conversation). De même, les interactions interface-utilisateur ne sont pas reportées sur les
diagrammes.

1) Date limite de décision proche

Pour cet exemple, certaines variables de décision ont la date limite de décision proche.
Ces variables de décision doivent être négociées avec un agent.

Lorsque la date limite de décision est proche, le gestionnaire des variables prévient
l’utilisateur et demande au gestionnaire de l’arborescence de décider de variables (interactions
1,2 et 3 sur le diagramme de collaboration de la figure 97).
Celui-ci demande à l’IHM de l’arborescence de choisir un contexte de décision (par
défaut l’interface pourra proposer au décideur de choisir le CSP des engagements). Le
gestionnaire demande à l’IHM du modèle de prendre une décision concernant les variables.
Une fois que le décideur a pris une décision, le gestionnaire de l’arborescence crée une
hypothèse (en dessous du modèle choisi) et demande au gestionnaire des communications de
créer une nouvelle conversation.
L’IHM des communications est sollicitée pour remplir ou modifier les champs du
message (par exemple : le champ objectif ou la modification du champ date limite de
réponse). Le message est alors envoyé par le gestionnaire des communications à l’agent en
aval concerné. Le gestionnaire des communications demande au gestionnaire de
l’arborescence de transformer l’hypothèse en proposition.
Si l’agent en aval répond par accepter et une fois que l’utilisateur est consulté, le
gestionnaire des communications envoie un message « confirmer » à l’agent en aval, actualise
la base de données et demande au gestionnaire de l’arborescence de transformer la proposition
en engagement. Celui-ci indique au gestionnaire des variables que la décision a bien été
prise. L’agent en aval renvoie un message d’acquittement ; la conversation est terminée.
132 Réalisation d’un environnement d’aide à la décision et à la coopération


: gestionnaire
variables
: IHM
variables
: gestionnaire
arborescence
: IHM
arborescence
: IHM modèle
: gestionnaire
communication
: IHM
communication
1 : date limite de
décision proche (Vars)
2 : prévenir
3 : demander décider (Vars)
branche
5 : prendre décision (vars)
6 : créer hypothèse
(contraintes)
7 : créer conversation
(contraintes)
8 : remplir champs
12 : décider suite
: agent en aval
9 : proposer
13 : confirmer
11 : accepter
17 : acquitter
10 : transformer hypothèse en proposition
15 : transformer proposition en engagement
base de donnée
14 : écrire (décisions)
16 : décidé (variables)
4 : choisir contexte
contraintes

figure 97 : comportement d'un agent face à un événement « date limite de
décision proche »
2) Réception d’un message débutant une conversation pour
engagement
Un agent reçoit un message pour engagement provenant d’un centre en amont. Il s’agit
de l’exemple précédent vu de l’autre agent.
Une fois le message réceptionné et l’utilisateur prévenu, le gestionnaire des
communications demande au gestionnaire de l’arborescence d’évaluer le message. Une fois le
contexte choisi au travers de l’IHM de l’arborescence, une proposition est créée dans
l’arborescence et le message est évalué avec l’IHM du modèle correspondant.
Si l’évaluation est bonne, un message d’acception est envoyé par le gestionnaire des
communications à l’agent en aval. Quand celui-ci émet un message de confirmation et que
l’utilisateur a lu le message, le gestionnaire des communications envoie le message
d’acquittement et demande au gestionnaire de l’arborescence de transformer la proposition en
engagement. Celui-ci informe le gestionnaire des variables que certains paramètres ont été
décidés.
Conception et réalisation de l’outil d’aide à la décision 133

: gestionnaire
variables
: IHM
variables
: gestionnaire
arborescence
: IHM
arborescence
: IHM modèle
: gestionnaire
communication
: IHM
communication
4 : choisir contexte
6 : évaluer proposition
5 : créer proposition
3 : évaluer message
2 : message reçu
10 : message reçu
: agent en amont
1 : proposer
9 : confirmer
8 : accepter
11 : acquitter
7 : évaluation OK
12 : transformer proposition en engagement
13 : décidé (paramètres)

figure 98 : comportement d'un agent face à une conversation pour engagement

V.4. Conception et réalisation de l’outil d’aide à la
décision
Nous présentons quelques choix que nous avons fait pour développer le logiciel. Puis,
nous décrivons quelques vues de l’interface graphique du logiciel.

V.4.1. Choix de bibliothèques et de langage de programmation

Nous avons choisi les bibliothèques de composants logiciels Ilog Solver et Scheduler
pour la gestion des modèles de type CSP et Ilog Views pour développer l’interface homme-
machines. Elles offrent aux développeurs une interface écrite en C++ et sont portées sur un
grand nombre de plate-formes (entre autre Solaris Sparc et Intel Windows).
Ilog Solver permet de représenter un modèle CSP, de déduire les domaines des
variables (par des mécanismes de propagation de contraintes) et d’obtenir une solution (par
des algorithmes de résolution). Ilog Solver permet d’ajouter ou d’enlever des contraintes
« dynamiquement » et de gérer plusieurs modèles simultanément (utile pour l’arborescence).
De plus, on peut spécifier un temps à ne pas dépasser pour les optimisations.
134 Réalisation d’un environnement d’aide à la décision et à la coopération

Ilog Scheduler est une extension de Ilog Solver spécialisée pour les problèmes
d’ordonnancement. Ce dernier produit permet de définir explicitement des ressources et des
tâches tout en bénéficiant d’algorithmes spécialisés.
Ces deux bibliothèques permettent en outre de définir nos propres règles de
propagation de contraintes ou algorithmes de recherche.
Ilog Views permet de créer une interface graphique portable sur plusieurs plate-
formes. Cette bibliothèque permet également de créer des diagrammes de Gantt interactifs.
Grâce à un éditeur graphique, le prototypage de l’interface graphique est simple et rapide.

Nous avons choisi de développer le logiciel en C++ afin de faciliter l’interface avec les
bibliothèques Ilog . En effet, C++ est un langage de programmation orienté objet. De plus, les
bibliothèques que nous avons choisi d’utiliser offrent une interface écrite en C++.


V.4.2. L’interface graphique

Afin d’illustrer les concepts de cette thèse, nous présentons ci-après quelques fenêtres
de l’application que nous avons développée : une première fenêtre permet de visualiser
l’arborescence des modèles, une deuxième les conversations dans lesquelles le centre est
impliqué. Enfin, nous présentons la fenêtre permettant d’envoyer un message à un autre
centre.

V.4.2.1 La fenêtre de l’arborescence

La figure 99 montre la fenêtre permettant de visualiser l’arborescence des modèles et
des hypothèses. Sur la partie gauche de la fenêtre se trouve l’arborescence. À chaque item, on
fait correspondre à la fois une branche (hypothèse, proposition ou engagement) et le modèle
qui tient compte de cette branche. Dans l’exemple présenté ici, trois branches-modèles sont
représentées. Sur la partie droite de la fenêtre, se trouvent des renseignements sur la branche-
modèle sélectionnée. Les renseignements concernant la branche sont :
• son état (hypothèse, proposition, engagement). Ici, metier2version2 est un
engagement.
• les contraintes associées à la branche. Ici, il s’agit des contraintes
2 , 2 , 2
105 103 101
A A A .
• le centre à qui a été communiqué la proposition (si on est à l’origine du message
associé à la branche) ou le centre qui a émis la proposition (si on a reçu le message
associé à la branche). Ici, on a émis le message vers le centre adecico4.
• une date de validité qui correspond normalement à la date de validité du message
associé à la branche.
Dans la partie inférieure droite de la fenêtre se trouvent des renseignements concernant
la consistance du modèle associé à la branche.
À partir de cette fenêtre, le décideur peut voir le message correspondant à la branche
(le bouton apparaît grisé si la branche est une hypothèse) et peut travailler sur le modèle afin,
par exemple, de construire une nouvelle hypothèse.

Conception et réalisation de l’outil d’aide à la décision 135


figure 99 : la fenêtre de l’arborescence

V.4.2.2 La fenêtre des conversations

La fenêtre représentée sur la figure 100 permet de travailler sur les conversations et
messages reçus ou envoyés par le centre. La fenêtre est décomposée en trois parties.
À gauche, se trouve la liste de toutes les conversations dans lesquelles le centre est
impliqué. Quand le décideur clique sur une conversation (ici métier2), la liste des messages la
composant est affichée sur le panneau central. Dans ce cas, la conversation comporte quatres
messages. Si on clique sur un message, le détail du message apparaît sur le panneau de droite.
En particulier, on peut voir le type du message, l’émetteur et les destinataires, la date d’envoi
ainsi que la date de validité, la réponse par défaut et le sujet du message. De plus, les
contraintes attachées au message sont affichées dans la rubrique contenu. Des commentaires
peuvent être attachés à un message.
À partir de cette fenêtre, le décideur peut :
• consulter sa boîte aux lettres.
• créer une nouvelle conversation. La démarche normale pour créer une conversation
est de créer une hypothèse en travaillant sur le modèle et, ensuite, de la négocier.
• évaluer les messages reçus.
136 Réalisation d’un environnement d’aide à la décision et à la coopération

• créer une réponse à un message. Pour que ces deux boutons soient actifs, il faut
qu’une conversation soit sélectionnée et que l’émetteur du dernier message de la
conversation ne soit pas ce centre.
• montrer quelle est la branche de l’arborescence qui correspond à un message. Pour
que ce bouton soit actif, il faut qu’une conversation et un message soient sélectionnés.



figure 100 : la fenêtre des conversations


V.4.2.3 La fenêtre de création de messages


Lorsque le décideur souhaite envoyer un message (soit en appuyant sur les boutons
créer une conversation ou créer un message soit en essayant de transformer une hypothèse en
proposition), une fenêtre présente les différents champs du message que le décideur peut
remplir. Dans le cas de la figure 101, il s’agit de la création d’une nouvelle conversation.
Le décideur peut choisir le type de message. Dans notre cas (création d’une
conversation), les seuls choix possibles sont DemanderSi, DemanderDomaine et Proposer. Le
décideur ne peut pas modifier le champ émetteur. Le champ récepteur est rempli en fonction
du contenu (des variables qui apparaissent dans contenu) ; toutefois le décideur peut modifier
cette liste de noms. Les champs sujet, date de validité et réponse par défaut ne peuvent être
remplis que si le message début une conversation (c’est le cas ici). Le champ contenu est une
liste de contraintes ou de variables (messages DemanderDomaine). Le décideur peut spécifier
des commentaires. Ce champ est totalement libre et n’est pas interprété par l’application.
Si le décideur décide d’envoyer le message, il faut que la branche correspondante au
message soit modifiée. Par exemple, si le message est de type confirmer, une branche de
l’arborescence passe de l’état Proposition à l’état Engagement. En cas de création d’une
nouvelle conversation, la branche peut ne pas exister encore. Dans ce cas, le décideur doit
indiquer dans quel contexte placer la branche et indiquer le nom de la branche.

Conclusion 137


figure 101 : la fenêtre de création d'un message

V.5. Conclusion

Dans ce chapitre, nous avons présenté l’application que nous avons développée pour
tester notre approche. À l’aide de plusieurs fenêtres, le logiciel aide le décideur dans la
gestion des coopérations, dans la gestion du processus de décision et dans la prise de décision.
La nature dynamique du processus de décision est prise en compte.




Conclusion
Ce travail aborde le problème de la décision distribuée dans le domaine de la gestion
du temps et des ressources. L'objectif est de proposer un environnement logiciel permettant à
un décideur de suivre et de maîtriser les actions explicites de coopération dans lesquelles il
s'engage dynamiquement avec d'autres centres.

La coopération dans un réseau de centres de décision est indissociable de l'autonomie
qui est conférée aux décideurs afin d'anticiper et de réagir aux fluctuations rapides d'un
environnement incertain. Elle permet une coordination plus dynamique mais suppose de
véritables communications entre décideurs, plus riches mais plus complexes que la simple
transmission d'informations, afin d'assurer la cohérence des décisions vis à vis d'objectifs
globaux définis au niveau du réseau.


Ce travail s'inscrit dans la continuité de travaux antérieurs basés sur une approche par
contraintes pour l'aide à la coopération. Il en reprend un certain nombre de concepts et
d'hypothèses, en particulier pour modéliser la structure des organisations ayant en charge des
problèmes de gestion du temps et des ressources, et pour formaliser les interactions entre
différents décideurs ; on suppose donc pré-établis :
la structure du réseau de centres de décisions qui modélise une organisation donnée.
Elle peut être représentée par un graphe orienté où chaque arc signifie que le centre origine est
responsable de certaines décisions dont le centre destinataire doit tenir compte. Cependant, le
centre destinataire peut participer ou initier des négociations. Ainsi la présence d'un arc sur le
réseau autorise en fait des échanges bi-directionnels entre les centres.
les modèles génériques des problèmes de décision posés en chaque centre. Ils sont
basés sur le formalisme général des CSP (problèmes de satisfaction de contraintes).

Ce travail privilégie toutefois l'étude de la dynamique des interactions au sein de tels
réseaux. En plus des contraintes procédurales qui régissent les interactions entre plusieurs
centres (ex : décision en temps contraint, contraintes de workflow), nous avons défini des
protocoles de communication permettant d'engager des conversations formalisées de deux
types :
les conversations pour information permettent à plusieurs centres d’explorer le champ
des décisions possibles et de préparer des décisions robustes (acceptables par les autres
puisque préalablement négociées).
les conversations pour engagement assurent la prise de décision effective ou
éventuellement la révision de décisions.

La dynamique apparaît dès lors que l'on associe plusieurs états aux variables de
décision. D'une part l'ensemble des variables peut évoluer à certaines dates
(création/destruction) ; de plus lorsqu'une valeur leur est affectée, celle-ci peut avoir le statut
d'hypothèse (non communiquée ou communiquée) ou d'engagement.

De plus un mode particulier de coopération a été étudié, le mode asynchrone : les
conversations sont constituées d'ensembles de messages typés (exemple : demande,
acceptation, refus, …) qui sont acheminés par un système de messagerie (communication par
boîtes aux lettres). Ainsi l'environnement d'aide à la décision distribué peut s'appuyer et
intégrer des technologies existantes ce qui évite d'en développer de nouvelles.
140 Conclusion

La formalisation des conversations se traduit par l'utilisation de types de messages
prédéfinis, ce qui évite toute ambiguïté d'interprétation et autorise un traitement partiellement
automatisé (édition, filtrage, classement …).

Il résulte de cette dynamique, qu'en chaque centre il n'existe pas un modèle statique
unique mais plusieurs, qui évoluent selon le contenu des conversations qui confirment ou
infirment certaines hypothèses.

Ainsi, en chaque centre et à un instant donné, il existe une arborescence de modèles
que l'on propose de représenter explicitement afin d'aider le décideur à structurer son
processus de décision. Au problème de décision statique, s’ajoute celui de la gestion
dynamique de cette arborescence. Elle évolue en fonction des négociations qui se développent
entre les centres et des contraintes temporelles qui pèsent sur le processus de décision (prise
de décision périodique, prise en compte des aléas et opportunités). Nous associons au
traitement des différents types de messages (ex : réponse positive/négative) les actions de
gestion correspondantes (suppression de sous-arbres, fusion de nœuds, branchements).

La mise en œuvre d’un logiciel de test a permis de mettre en avant certaines
spécifications que doit implémenter un système d’aide à la décision. En particulier, il doit
fournir une aide à la décision locale, une aide à la coopération, une aide à la représentation du
processus de décision et prendre en compte la dynamique du processus de décision. Le
système d’aide a été mis en œuvre sur un réseau de centres en gestion multi-projets où
plusieurs projets sont en compétition pour l’attribution de ressources.

Différents prolongements de ces travaux peuvent être envisagés.


Notre approche s'est limitée dans un premier temps à considérer le cas où l'ensemble
des variables que gère un centre n'évolue pas. La notion d'hypothèse se traduit par l'ajout
d'une ou de plusieurs contraintes pour un ensemble de variables donné. Dans certains cas, le
décideur peut émettre des hypothèses sur la création ou la destruction de variables (avec les
modifications sur le modèle que cela entraîne). Par exemple, lorsqu’un centre
d’ordonnancement cherche à déterminer si une nouvelle opération peut être insérée dans le
plan, ses décisions affectent l'ensemble des variables de dates de début : cela revient à créer
une hypothèse concernant la création d’une ou plusieurs variables.

Les cas, où un centre est à la fois en amont et en aval d’un autre centre et, où leurs
décisions sont inter-dépendantes, doivent faire l'objet d'une analyse plus approfondie. Par
exemple, dans l’application retenue au chapitre V, un centre projet est à la fois en amont et en
aval d’un centre métier
Lorsqu'il existe un fort couplage entre deux ou plusieurs centres on peut mettre en
doute l'efficacité d'une coopération asynchrone ; dans ce cas, une mode de coopération
synchrone (réunion) permettant éventuellement une codécision peut s'avérer plus efficace La
coexistence de plusieurs modes de coopération (synchrone et asynchrone) pose également un
problème qui aurait mérité d'être abordé.

Dans le cas où un modèle s’avérerait inconsistant, nous proposons une stratégie
permettant d’identifier dans l’arborescence la ou les branches correspondant aux décisions ou
aux hypothèses qu'on peut tenter de réviser en priorité sans être assuré du résultat : il s'agit
simplement d'une heuristique visant à relâcher les contraintes dans l'ordre chronologique
Conclusion 141

inverse où elles ont été posées. En fait une analyse plus poussée du problème de décision
pourrait éventuellement permettre d’identifier et de délimiter plus finement l'ensemble
responsable minimal des contraintes à relâcher. Il semble toutefois que cette analyse dépende
fortement des propriétés du modèle utilisé en un centre (linéarité notamment).

La validation de cette étude descendante aurait nécessité une expérimentation dans un
cadre industriel réel, pour valider la pertinence des spécifications générales de l'outil d'aide à
la décision distribuée mais aussi celle des interfaces utilisateurs.



Bibliographie
[Aalst 97] W.M.P van der Aalst. Verification of workflow nets. In 18
th
International
Conference on Application and Theory of Petri Nets (ICATPN’97), Springer, 1248, pp. 407-
426, 1997.

[Afsarmanesh et al. 98] Hamideh Afsarmanesh, Cesar Garita, Luis Camarinha et
Celson Pantoja-Lima. Workflow support for management of information in PRODNET II. 5
th

IFAC Workshop on Intelligent Manufacturing Systems (IMS98), Granado, Brazil, 1998.

[Agostini et al. 94] A. Agostini, G. De Michelis, S. Patriarca et R. Tinini. A
prototype of an integrated coordination support system. CSCW, 2, pp. 209-238, 1994.

[Aknine et al. 98] Samir Aknine et Suzanne Pinson. Conception orienté agent du
travail coopératif. Cahiers du LAMSADE,157, octobre 1998.

[Alliot et al. 94] J-M Alliot et T. Schiex. Intelligence Artificielle et Informatique
théorique. Cépadues éditions, 1994.

[Antillanca et al. 99] Hector B. Antillanca et David A. Fuller. Refining temporal
criteria to classify collaborative systems. International Journal of Human-Computer Studies,
50, pp. 1-40, 1999.

[Azéma et al. 98] Pierre Azéma, François Vernadat et Pierre Gradit. A workflow
specification environment. In Worshop workflow management : net-based concepts, models,
techniques and tools (WFM’98), pages 5-21, 1998.

[Bazet 96] Isabelle Bazet. Organisation de la production et régulation sociale.
Rapport de DEA, université de Toulouse Le Mirail, 1996.

[Bazet et al. 98a] Isabelle Bazet, Gilbert de Terssac et Jacques Erschler. Les
interactions dans la gestion des contraintes. In ERGO IA, octobre 1998.

[Bazet et al. 98b] Isabelle Bazet et Gilbert De Terssac. Flexibilité des contraintes et
contraintes de flexibilité. Rapport LAAS N°98233, 1998. À parraître dans division du travail
et du social, s/d de M. Alaluf et P. Rolle, Editions Octares, Toulouse, 2000, p159-166.

[Bazet et al. 98c] Isabelle Bazet, Gilbert de Terssac et Jacques Erschler. La gestion
des contraintes : conflit et combinaison de règles. 2
ème
journées "Recherche et Ergonomie",
Toulouse (France), pp.85-91, 1998.

[Bazet et al. 99] I. Bazet, G. Masino, B. Maggi et G. de Terssac. La planification
comme médiation entre les règles temporelles générales et les activités de travail. 7
ème

journées de sociologie du travail, Bologne, juin 1999.

[Bond et al. 92] Alan H. Bond et Les Gasser. A subject-indexed bibliography of
distributed artificial intelligence. IEEE transactions on systems, man, and cybernetics, 32 :6,
pp1260-1281, 1992.

144 Bibliographie

[Boronad-Thierry 93] Caroline Boronad-Thierry. Planification et ordonnancement
multi-site: une approche par satisfaction de contraintes. Thèse de doctorat, Université Paul
Sabatier, 1993.

[Camalot et al. 00] Jean-Pierre Camalot et Patrick Esquirol. Cooperation based on
a formal negotiation of constraints. MCPL2000, France, 2000.

[Camalot et al. 97] Jean-Pierre Camalot et Patrick Esquirol. Aide à la décision et à
la négociation dans un problème de gestion de production distribuée. 3
ème
congrès de génie
industriel, Albi, France.

[Camalot et al. 97] Jean-Pierre Camalot, Patrick Esquirol, Marie-José Huguet et
Jacques Erschler. Aide à la décision et à la négociation dans un problème de gestion de
production distribuée. Journées du Groupement pour la Recherche en Productique (GRP),
Cachan (France), pp.159-180, 16-17 Octobre 1997.

[Camalot et al. 98] Jean-Pierre Camalot et Patrick Esquirol. Supporting
cooperation and constraints negotiation between time and resource managers. 17th European
Annual Conference on Human Decision Making and Manual Control, Valenciennes, 14-16
décembre 1998.

[Cervoni 87] Jean Cervoni. L'énonciation. Presse Universitaires de France
(Linguistique nouvelle), Paris, 1987.

[Chainbi et al. 96] Walid Chainbi, Chihad Hanachi et Christophe Sibertin-Blanc.
The multi-agent prey/predator problem : a petri net solution. In Symposium on Discrete
Events and Manufacturing Systems (CESA’96), pp. 692-697, 1996.

[Chinneck 96] John W Chinneck. Computer codes for the analysis of infeasible
linear programs. Journal of the Operational Research Society, vol 47, pp. 61-72, 1996.

[Chinneck et al. 00] JW Chinneck et K. Ramadan. Linear programming with
interval coefficients. Journal of the Operational Research Society, vol 51, pp. 209-220, 2000.

[Cohen et al. 90] Philip R. Cohen et Hector J. Levesque. Intention is choice with
commitment. Artificial intelligence, 42, pp. 213-261, 1990.

[Cohen et al. 95] Philip R. Cohen et Hector J. Levesque. Communicative actions for
artificial agents. In First International Conference on Multi-Agent Systems (ICMAS'95),
1995.

[DARPA 93] The DARPA knowledge sharing initiave external interfaces working
group. Draft specification of the KQML agent-communication language.
http://www.cs.umbc.edu/kqml/, 1993.

[Davis 87] Davis Ernest. Constraint propagation with intervals labels. Artificial
Intelligence, vol 32, pp. 281-331, 1987.

[Davulcu et al. 99] Hasan Davulcu, Michael Kifer, L. Robert Pokorny et Stephen
Dawson. Modeling and analysis of interactions in virtual enterprises. 9
th
International
Bibliographie 145

workshop on research issues on data engineering: information technology for virtual
enterprises, RIDE-VE, Sydney, Australia, 1999.

[Debruyne 95] Debruyne Romuald. Les algorithmes d’arc-consistance dans les CSP
dynamiques. Revue d’intelligence artificielle, Vol 9, no 3, pp. 239-267, 1995.

[DIDOM 00] DIDOM. Planning by repairing and cooperation : A more realistic
approach to multi-project management. MCPL2000, France, 2000.

[DIDOM 97] DIDOM. The analysis of distributed decision in an industrial context.
7
th
Mini Euro Conference Decision Support System, Bruges, 24-27 March, 1997.

[Dupuy 92] Yves Dupuy. Les organigrammes de structure organisationnelle. In :
l'encyclopédie du management. Vuibert, pp. 246-257, 1992.

[Ephrati et al. 93] E. Ephrati et JS. Rosenschein. Multi-agent planning as a
dynamic search for social consensus. In IJCAI93, pp. 423-429, 1993.

[Erschler et al. 93] Erschler Jacques, Fontan Gérard et Mercé Colette. Approche
par contraintes en planification et ordonnancement de la production. APII, vol 27, no 6, pp.
669-695, 1993.

[Espinasse et al. 97] Bernard Espinasse et Erwan Tranvouez. Ordonnancement
d'atelier coopératif et réactif : une approche multi-agents. In 7th mini EURO conference on
decision support systems, groupware multimedia and electronic commerce, Bruges, mars
1997. disponible sur demande à espinas@unix05.u-3mrs.fr. À paraître dans Journal of
Decision Systems.

[Espinasse et al. 99] Bernard Espinasse, Erwan Tranvouez et Alain Ferrarini.
Résolution coopérative et distribuée de problèmes : application multi-agents au
réordonnancement d'atelier. In 3
ème
congrès international de génie industriel, Montréal, mai
1999.

[Esquirol et al. 99] Patrick Esquirol et Lopez Pierre. L’ordonnancement.
Economica, 1999.

[Favrel 98] Joël Favrel. L’entreprise virtuelle : un essai sur l’état de l’art. In :
l’entreprise communicante, Claude Foulard (Ed), Hermes, 1998.

[Ferber 95] Jacques Ferber. Les systèmes multi-agents : vers une intelligence
collective. InterEditions, 1995.

[FIPA 99] FIPA. Foundation for Inteligent Physical Agents (specification).
http://www.fipa.org/ 1997-1999.

[Garvey et al. 1993] Garvey Alan J. et Lesser Victor R. Design-to-time real-time
scheduling. IEEE Transactions on systems, man, and cybernetics, vol 23, no 6, pp. 1491-
1502, 1993.

146 Bibliographie

[Giard 88] V. Giard. Processus productifs et programmation lineaire. Economica,
1988.

[Gotha 93] Gotha. Les problèmes d’ordonnancement. Recherche opérationnelle, vol
27, no 1, pp. 77-150, 1993.

[Hamadi 99] Hamadi Youssef. Traitement des problèmes de satisfaction de
contraintes distribués. Thèse de doctorat, université de Montpellier 2, 1999.

[Hennet 97] Jean-Claude Hennet. Concepts et outils pour les systèmes de
production. Cépadues éditions, 1997.

[Hétreux 96] Gilles Hétreux. Planification hiérarchisée avec agrégation du temps.
Thèse de doctorat, INSA, 1996.

[Huguet 94] Marie-José Huguet. Approche par contraintes pour l’aide à la décision
et à la coopération en gestion de production. Thèse de doctorat, INSA de Toulouse, 1994.

[Huguet et al. 96] Marie-José Huguet, Jacques Erschler, Gilbert De Terssac et
Nicole Lompré. Negocitions based on contraints in cooperation. Computer Supported
Cooperative Work, 5, pp. 267-284, 1996.

[Huguet et al. 00] Marie-José Huguet et Pierre Lopez. Mixed task scheduling and
ressource allocation problems. 2
nd
International Workshop CR-AI-OR’00, Mars 2000,
Allemagne.

[Imbert et al. 93] Jean-Louis Imbert, Jacques Cohen et Marie-Dominique
Weeger. An algorithm for linear constraint solving : its incorporation in a prolog meta-
interpreter for CLP. Journal of Logic Programming, vol 16, pp. 235-253, 1993.

[Jacquet-Lagrèze 98] Eric Jacquet-Lagrèze. Programmation linéaire : modélisation
et mise en œuvre informatique. Économica, 1998.

[Jagou 93] Patrick Jagou. Concurrent Engineering. La maîtrise des coûts, des délais
et de la qualité. Hermes, 1993.

[Johnson et al. 74] A.J Johnson et D.C. Montgomery. Operations research in
production planning, scheduling, and inventory control. Wiley, New York, 1974.

[Kim et al. 98] Kwand-Hoon Kim et Su-Ki Paik. Practical experiences and
requirements on workflow. Coordination technology for collaborative application, Wolfran
Conen and Gustaf Neumann (eds), Springer, 1364, pp. 145-160, 1998.

[Kraus et al. 91] Sarit Kraus et Jonathan Wilkenfeld. Negotiations over time in a
multi-agent environment : preliminary report. In 12
th
International Joint Conference on
Artificial Intelligence (IJCAI-91), pp. 56-61, 1991.

[Kraus et al. 95] Sarit Kraus, Jonathan Wilkenfeld, et Gilad Zlotkin. Multiagent
negotiation under time constraints. Artificial Intelligence, 75, pp. 297-345, 1995.

Bibliographie 147

[Labrou et al. 97] Yannis Labrou et Tim Finin. A proposal for a new KQML.
http://www.cs.umbc.edu/kqml/, 1997.

[Lamia Friha et al. 97] Pauline Berry Lamia Friha et Berthe Choueiry. DISA : a
distributed scheduler using abstractions. Revue d'intelligence artificielle, 11(1), pp. 27-42,
1997.

[Lasserre et al. 85] Jean-Bernard Lasserre et François Roubellat. Measuring
decision flexibility in production planning. IEEE Transactions on Automatic Control, Vol.30,
N°5, pp.447-452, Mai 1985 et Modeling and Control of Automated Manufacturing Systems,
Ed. Alan A.Desrochers, IEEE Computer Society Press, 1990, pp. 334-339.

[Le pape 94] Le Pape Claude. Scheduling as intelligent control of decision-making
and constraint propagation. In intelligent scheduling, Morgan Kaufman publishers, 1994.

[Lee et al. 93] J.H.M. Lee et M. H. Van Emden. Interval Computation as deduction
in CHIP. Journal of Logic Programming, vol 16, pp. 255-276, 1993.

[Lopez et al. 96] Pierre Lopez, Luc Haudot, Patrick Esquirol et Marc Sicard.
Conception d’un système coopératif en ordonnancement de production : une approche
pluridisciplinaire. 5
ème
congrès international de génie industriel, grenoble, 1996.

[Maggi el al. 00] Bruno Maggi et Roberto Albano. La théorie de l’Action
Organisationnelle. In : le travail d'organisation (G de Terssac Ed.), Presses Universitaires de
France, 2000.

[Mammen et al. 97] Dorothy L. Mammen et Victor R. Lesser. A testbed for the
evaluation of multi-agent communication and problem-solving strategies. In AAAI-97
Worshop on constraints and agents (American Association for Artificial Intelligence),
disponible sur http://www.cs.unh.edu/ccc/ca/aaai97.html, 1997.

[Moeschler et al. 97] Jacques Moeschler et Antoine Auchlin. Introduction à la
linguistique contemporaine. Armand Colin. 1997.

[Moldt et al. 97] Daniel Moldt et Frank Wienberg. Multi-Agent systems based on
coloured Petri Nets. In Application and Theory of Petri Nets (ICATPN’97), Springer, pages
82-101, 1997.

[Molet 89] Hugues Molet. La nouvelle gestion de production. Hermes, 1989.

[Monateri 97] J.-Ch. Monateri et M. Sapina. Production synchrone et relations
contractuelles : enjeux organisationnels et économiques. 2
ème
congrès international franco-
québécois : le génie industriel dans un monde sans frontière, Albi, France, 1997.

[Nurcan 96] Selmin Nurcan. Analyse et conception de systèmes d'information
coopératifs. Technique et science informatiques, 15(9), pp. 1287-1315, 1996.

[OMG 99] Object Management Group, Inc. OMG Unified Modeling Language
Specification. disponible sur http://www.rational.com/. Juin 1999.

148 Bibliographie

[Park et al. 98] Kyung Hye Park et Joël Favrel. Virtual enterprise – organization
and information technology infrastructure. 5
th
IFAC Workshop on Intelligent Manufacturing
Systems (IMS98), Granado, Brazil, 1998.

[Pitt et al. 96] Jeremy Pitt, Matthew Anderton, et Jim Cunningham. Normalized
interactions between autonomous agents. Computer Supported Cooperative Work, 5:201-222,
1996.

[Prins 94] Christian Prins. Algorithmes de graphes. Eyrolles. 1994.

[Rolstadas 95] A. Rolstadas. Enterprise modelling for competitive manufacturing. Int
J. Control Engng Practice, 31, pp. 43-50, 1995.

[Rosenschien et al. 94] Jeffrey S. Rosenschien et Gilad Zlotkin. Rules of encounter.
The Mit Press, 1994.

[Sadek 94a] David Sadek. Communication theorie = rationality principles +
communicative acts models. In AAAI-94 Worshop on Planning for interagent communication,
1994.

[Sadek 94b] David Sadek. Attitudes mentales et fondements du comportement
coopératif. In systèmes coopératifs : de la modélisation à la conception (Bernard Pavard), pp.
93-117, Octares, 1994.

[Sadek 96] David Sadek. Interactions utilisateurs-services : de l'ergonomie des
interfaces à l'agent intelligent dialoguant. Technical Report 8, France Télécom, octobre 1996.

[Sam-Haroud et al. 96] Sam-Haroud Djamila et Faltings Boi. Consistency
techniques for continous constraints. Constraints, vol. 1, no 1-2, pp. 85-118, 1996.

[Sandholm et al. 97] Thomas W. Sandholm et Victor R. Lesser. Coalitions among
computationally bounded agents. Artificial Intelligence, 94:99-137, 1997.

[Schael 97] Thomas Schael. Théorie et pratique du workflow : des processus métier
renouvelés. Springer, 1997.

[Schweyer 96] Bettina Schweyer. Un modèle de gestion de projet appliqué à
l'entreprise manufacturière. thèse de doctorat, Université de Savoie, 1996.

[Shepard 97] Stephen B. Shepard. The new economy: what it really means. Business
Week, no 46, http://www.businessweek.com/1997/46/b3553084.htm, 1997.

[Smith 80] Reid G. Smith. The contract net protocol : high-level communication and
control in a distributed problem solver. IEEE Transactions on Computers, 29(12):1104-1113,
Décembre 1980.

[Straub et al. 96] Pablo A. Straub et Carlos Hurtado L. Business Process Behavior
is (almost) free-choice. In Symposium on Discrete Events and Manufacturing Systems
CESA’96, pp. 704-709, 1996.

Bibliographie 149

[Teghem 96] Teghem Jacques. Programmation linéaire. Éditions ellipses, 1996.

[Tranvouez et al. 99] Erwan Tranvouez, Bernard Espinasse et Alain Ferrarini.
Résolution coopérative et distribuée de problèmes : application multi-agents au
réordonnancement d' atelier. 3
ème
congrès international de génie industriel. Montreal, 1999.

[Trentesaux 97] Damien Trentesaux. L'analyse multicritère : une approche
performante pour l'intégration de l'opérateur humain pour le pilotage réactif et distribué des
systèmes de production. In journées du Groupement de Recherche en Productique, pp. 181-
201, octobre 1997.

[Trentesaux et al. 98] Damien Trentesaux, Neville Moray et Christian Tahon.
Integration of the human operator into responsive discrete production management systems.
European Journal of Operation Research, 109, pp. 342-361, 1998.

[Vercouter et al. 99] Laurent Vervouter, Nathalie Franchesquin, Jean-Pierre
Treuil et Suzanne Pinson. Simulation multi-agent des processus de négociation en
ergonomie : un exemple de gestion locale sous contrainte collective. Cahiers du LAMSADE
no 115, juillet 1999.

[Verfaillie et al. 95] Gérard Verfaillie et Thomas Schiex. Maintien de solution dans
les problèmes dynamiques de satisfaction de contraintes : bilan de quelques approches.
Revue d’intelligence artificielle, vol. 9, no 3, pages 269-309, 1995.

[Vernadat et al. 99] François Vernadat et Pierre Azéma. High level Transition
systems for communicating agents. Rapport LAAS N°98007, 1999.

[Winograd 88] Terry Winograd. A language/action perspective on the design of
cooperative work. Human-Computer Interaction, 3(1), pp. 3-30, 1987-1988.

[Winograd et al. 87] Terry Winograd et Fernando Flores. Understanding
computers and cognition. Addison-Wesley, 1987.

[Zhang et al. 99] W.J. Zhang et Q. Li. Information modelling for made-to-order
virtual enterprise manufacturing systems. Computer-Aided Design, 31, pp. 611-619, 1999

[Zilberstein et al. 96] Zilberstein Shlomo et Russel Stuart. Optimal composition of
real-time systems. Artificial Intelligence, vol 82, pages 181-213, 1996.

[Zlotkin et al. 96] Gilad Zlotkin et Jeffrey S. Rosenschein. Mechanism design for
automated negotiation, and its application to task oriented domain. Artificial Intelligence,
86:195-244, 1996




Annexe : Le langage unifié de modélisation
(UML)

Le langage unifié de modélisation, en anglais Unified Modeling Language (UML), est
un langage pour spécifier, visualiser, construire, et documenter les artefacts des systèmes
informatiques, ainsi que pour la modélisation des entreprises et autres systèmes non
informatiques. UML est né de la fusion des trois méthodes (OMT, Booch et OOSE) et a été
normalisé en 1997 par l’OMG (Object Management Group). UML est un langage qui permet
de représenter des modèles mais il ne définit pas le processus d'élaboration des modèles.

Les principaux buts d’UML sont les suivants :
• fournir aux développeurs un langage de modélisation visuel expressif, afin d'élaborer
et de partager des modèles significatifs
• fournir des mécanismes d'extensibilité et de spécialisation à partir des concepts de
base
• être indépendant de tout langage de programmation et de toute méthode de
développement
• fournir une base formelle pour comprendre le langage de modélisation
• encourager la croissance du marché des outils orientés objet (OO)
• intégrer les pratiques reconnues.

La norme permet de définir neuf types de diagrammes qui permettent de modéliser les
besoins, les classes et objets (définition et comportement) et l’implémentation.
• Les diagrammes de cas d’utilisation représentent les fonctions du système du point de
vue de l’utilisateur.
• Les diagrammes de classes représentent la structure statique en termes de classes et de
relations.
• Les diagrammes d’objet représentent la structure statique des objets et de leurs
relations.
• Les diagrammes de séquence montrent comment les objets d’un système interagissent
en mettant l’accent sur l’aspect temporel.
• Les diagrammes de collaborations montrent comment les objets d’un système
interagissent en mettant l’accent sur l’aspect spatial.
• Les diagrammes d’états-transitions permettent de représenter le comportement d’un
élément de modélisation comme un objet ou une interaction.
• Les diagrammes d’activité modélisent des machines à états dans lesquelles les états
représentent une action ou une sous-action et les transitions sont tirées par la fin des
actions ou des sous-activités.
• Les diagrammes de composants montrent les dépendances entre les composants
logiciels (fichiers sources, fichiers exécutables, composants logiciels).
• Les diagrammes de déploiement montrent la configuration des éléments d’exécution
sur les dispositifs matériels.

Nous présentons succinctement la notation employée dans les diagrammes que nous
avons utilisés pour le développement du logiciel. Pour une description exhaustive de la
norme, on peut se référer à [OMG 99].
152 Annexe : Le langage unifié de modélisation (UML)

1. Les diagrammes de classes

Les diagrammes de classes permettent de représenter la structure statique des classes
et des objets, leur structure interne (ou du moins leur interface) et les relations entre ces
éléments.

Dans un diagramme de classes, les classes et les objets sont représentés par des
rectangles avec le nom de classe ou de l’objet à l’intérieur (voir la partie gauche de la figure
102). Le nom d’un objet est souligné. Pour noter les attributs et les méthodes d’une classe ou
d’un objet, le rectangle est partagé en trois parties avec le nom de la classe ou de l’objet dans
la partie supérieure, les attributs au milieu et les méthodes dans la partie basse (voir la classe
de nom « nom de la classe 2 » dans la figure 102).


nom de la classe 1
nom de l’objet 1
nom de la classe 2
attribut1
attribut2 : type de donnée
attribut2 : type de donnée = valeur initiale
opération()
opération( liste d’arguments ) : type retourné
classe et objet :
notation simple
classe : notation complète

figure 102 : représentation des classes et des objets

Sur un diagramme de classes, on note une association par un trait continu entre les
classes de l’association (voir la figure 103). L’association peut être nommée avec le nom situé
au milieu de la ligne qui symbolise la relation. Le sens de lecture peut être précisé au moyen
des symboles « < » et « > ». De même, pour plus de compréhension de l’association, on peut
indiquer à chaque extrémité le rôle de la classe dans l’association. De plus, la multiplicité de
l’association est notée par une expression qui peut être :
• un numéro n . L’association comporte exactement n objets de la classe (par exemple,
1). Une étoile * est utilisée pour signifier n’importe quelle valeur (de 0 à plusieurs).
• un intervalle n m.. . L’association comporte de m à n objets. Par exemple, on note
1 .. 0 pour 0 ou un objet et * .. 1 pour d’un à plusieurs objets.
Si l’association est à navigabilité unidirectionnelle, celle-ci est notée par une flèche
(voir la deuxième association sur la figure 103).


classe 1 classe 2
nom de l’association
rôle 1 rôle 2
expr1 expr2
classe 1 classe 2
nom de l’association à navigabilité unidirectionnelle

figure 103 : représentation d'une association entre deux classes

Certains types d’associations ont des représentations particulières.
L’agrégation est une association non symétrique dans laquelle une extrémité de
l’association joue un rôle prédominant par rapport à l’autre extrémité (par exemple, une classe
153 Annexe : Le langage unifié de modélisation (UML)

qui fait partie d’une autre, une action d’une classe impliquant une action dans une autre
classe…). L’agrégation se représente par un petit losange blanc du côté de l’agrégat. La
composition est un cas particulier d’agrégation. Il s’agit de l’association correspondant à la
contenance ; elle est représentée par un losange noir (voir le haut de la figure 104).
La généralisation est représentée par une flèche qui pointe de la classe la plus
spécialisée vers la classe la plus générale. Elle exprime le fait que les éléments d’une classe
soient décris dans une autre classe. Les attributs, opérations et associations sont hérités par les
sous-classes. La tête de la flèche est caractérisée par un triangle vide.

agrégat
une classe une classe composante
0..*
0..1
1..*
super-classe sous-classe1
sous-classe2
agrégation
unidirectionnelle
composition
bidirectionnelle

figure 104 : notation des agrégations et des spécialisations

La figure 105 présente un exemple de diagramme de classes. Une voiture est
composée d’un moteur et de quatre roues (agrégation et composition). Les breaks, les
décapotables et les berlines sont des voitures (spécialisation de voiture). Une voiture est
conduite par une personne et peut transporter de 0 à plusieurs passagers. De plus, une
personne ne peut conduire au plus qu’une voiture et n’être passager qu’au plus d’une voiture.

voiture
moteur
roue
personne
décapotable break berline
4 1 1 1
1
0..1
passager conducteur
conduit
>
0..*
0..1

figure 105 : un exemple de diagramme de classes

2. les diagrammes de séquence

Les diagrammes de séquence montrent comment les objets d’un système interagissent
en mettant l’accent sur l’aspect temporel.

154 Annexe : Le langage unifié de modélisation (UML)

Les objets étudiés sont placés sur la première ligne et pour chaque objet, on associe
des barres verticales en pointillé appelé « ligne de vie » de l'objet (voir la figure 106). Le
diagramme possède un axe des temps dirigé du haut vers le bas. Les messages sont
représentés par des flèches horizontales orientées de l'émetteur vers le destinataire. Lorsque le
message possède un temps de propagation non négligeable, les flèches sont alors obliques.
La représentation des périodes d'activité des objets est possible à l'aide de bande
rectangulaire le long des lignes de vie des objets et dont les extrémités représentent le début et
la fin de l'activité.
Les acteurs extérieurs au système sont représentés par ce symbole :

nom de l’acteur :
classe de l’acteur
objet 1 : classe
de l’objet
objet 2
objet 3
événement 1
opération
opération (liste
de paramètres)
opération (liste de paramètres)

figure 106 : un diagramme de séquence

3. les diagrammes de collaborations

Les diagrammes de collaboration permettent la représentation spatiale des objets, des
liens et des interactions.

Chaque objet est représenté par un rectangle avec le nom de l’objet souligné à
l’intérieur (voir les diagrammes de classes). Comme pour les diagrammes de classes, les
relations entre objets sont notées par un trait qui relie les objets.
Les objets communiquent entre eux par envoi de messages. Le diagramme représente
ces messages à l’aide de flèches le long des liens. L’ordre des messages peut être indiqué en
mettant une numérotation devant chaque message.

La figure 107 représente un exemple de diagramme de collaborations qui correspond
au diagramme de séquence de la figure 106.
155 V.5 Conclusion

nom de l’acteur :
classe de l’acteur
objet 1 : classe 1 objet 2
objet 3
1 : événement 2 : opération
3 : opération (liste
de paramètres)
4 : opération (liste de paramètres)

figure 107 : un exemple de diagramme de collaborations

4. les diagrammes d’objets

Les diagrammes d’objets sont la représentation des objets et de leurs relations. Ils
correspondent à un diagramme de collaboration simplifié, sans représentation des envois de
message.




Thèse de Mr Jean-Pierre Camalot

Aide à la décision et à la coopération en gestion du temps et des ressources
Résumé : Ce travail s’intéresse aux décisions en gestion du temps et des ressources (gestion de production,
gestion de projet). Notre objectif est de proposer aux décideurs des outils d’aide à la décision et à la coopération
distribués.
Nous supposons que les décisions sont distribuées au sein d’un réseau de centres de décision interdépendants :
les décisions d'un centre constituent des paramètres intervenant directement dans les contraintes que doivent
respecter d'autres centres. Si, a priori, aucun enchaînement strict n'est supposé entre les différentes prises de
décision, le processus de prise de décision en un centre est indissociable des processus de coopération entre
centres. Nous avons étudié le mode asynchrone de la coopération. La formalisation des conversations se traduit
par l’utilisation de messages prédéfinis, ce qui évite toute ambiguïté d’interprétation et autorise un traitement
partiellement automatisé.
En chaque centre et à un instant donné, plusieurs statuts de la décision (hypothèses, propositions et engagements)
doivent être considérés. Les hypothèses faites en un centre permettent d'élaborer des décisions prévisionnelles
mais rendent celles-ci conditionnelles. De ce fait, il n’existe pas un modèle unique en chaque centre mais
plusieurs qui diffèrent par leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des
décisions fixées. Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de
propagation de contraintes permettent, entre autres, d’évaluer la consistance de ces différents modèles, de fournir
des solutions prévisionnelles.
Au problème de décision statique associé à un modèle donné, s’ajoute celui de la gestion dynamique d’un
ensemble de modèles et d’hypothèses. Cet ensemble évolue au fur et à mesure que des négociations entre centres
se développent et que de nouveaux éléments surgissent qui confirment ou non les hypothèses faites pour préparer
les décisions.
La mise en œuvre d’un logiciel de test a permis de mettre en avant certaines spécifications que doit implémenter
un système d’aide à la décision.

Mots clefs : aide à la décision, aide à la coopération, décision distribuée, gestion de
production, gestion de projet, approche par contraintes, propagation de contraintes, processus
de décision.



Decision and cooperation support in time and resource management
Abstract: This work is focused on time and resource management (production management and project
management). We propose distributed decision and cooperation support tools.
The decisions are distributed along a network of decision centers. The decisions of one center are parameters of
some constraints that others centers must respect. If the different decision processes are not strictly linked, the
decision process in one center is indissociable with the cooperation process with others centers. We study the
asynchronous mode of the cooperation. The use of predefined conversations and messages avoid some
misinterpretation and allow a partially automated treatment.
In a center and in a given time, several status of the decision (hypothesis, proposition, and commitment) must be
considered. The hypotheses made in a center allow to elaborate preliminary decisions. Thus, a center does not
own a unique model but several that differ in the hypotheses and in the level of instantiation (the number and the
nature of fixed decisions). The consistency of the local problems and the obtaining of solutions are provided by
analyzing and solving tools based on constraint propagation.
On the static decision problem associated to a given model, there is the dynamic management of a set of
hypotheses and models. This set evolves as the centers are negotiating and as some new data, which confirm or
not the hypotheses, appear.
A test software allow us to give some specifications that a decision and cooperation support system must
implement.

Keywords: decision support, cooperation support, distributed decision, production
management, project management, constraint approach, constraint propagation, decision
process.



Remerciements
Je tiens à remercier Patrick Esquirol, mon directeur de thèse et Maître de Conférence à l'INSA de Toulouse, pour la confiance qu'il m'a témoignée, pour la collaboration active et productive que nous avons eu, pour ses encouragements, pour ses conseils, pour sa disponibilité. J'ai particulièrement apprécié ses encouragements lorsque j'ai eu des moments de doute et lors de la phase de rédaction du mémoire, ainsi que la qualité de ses remarques. Je tiens également à remercier Jacques Erschler, Professeur à l'INSA, pour avoir présidé ma soutenance, Jean-Pierre Campagne, Professeur à l'EMSE et Christian Tahon, Professeur à l'Université de Valenciennes, pour avoir accepté d'être mes rapporteurs ainsi que Jean-Bernard Cavaillé, Ingénieur de Recherche à l'ONERA et Professeur à l'ENSAE, pour avoir accepté de participer au jury. J'ai particulièrement apprécié la prise en compte de contraintes temporelles dures pour la lecture du mémoire, la qualité des remarques et l'intérêt que le jury a eu pour ces travaux. Ces travaux se sont déroulés au sein du groupe Organisation et Conduite de Systèmes Discrets (OCSD) dirigé successivement par Jean-Claude Hennet et François Roubellat, Directeurs de Recherche. Je tiens à exprimer ma gratitude envers tous les membres du groupe pour leur accueil, pour leur soutien durant ces années et pour la qualité de leurs réponses à mes questions. Je remercie Isabelle Bazet pour la patience dont elle a fait preuve lors de nos discussions, Jérôme Delatour pour ses conseils sur UML et sur les réseaux de Petri, Luc Hermitte pour ses conseils en programmation et Philippe Torres pour ses conseils en ordonnancement. Le travail effectué dans ce mémoire a été effectué au Laboratoire d'Analyse et d'Architecture des Systèmes (LAAS) du CNRS. À ce titre, je remercie Monsieur le Professeur Alain Costes et Monsieur le Directeur de Recherche Jean-Claude Laprie, directeurs du LAAS, pour m'avoir accueilli dans cet établissement. Le LAAS offre un environnement humain et matériel de grande qualité pour effectuer des travaux de recherche. J'ai apprécié l'accessibilité, la gentillesse et la compétence de l'ensemble du personnel administratif et technique. En particulier, je tiens à remercier Christian Berty pour ses conseils et la rapidité dont il a fait preuve pour tous les travaux d'édition, Éliane Dufour pour les nombreux services rendus et Véronique Villemur pour le suivi et l'attention qu'elle a portée à mon dossier de soutenance. Parallèlement à ces activités de recherche, j'ai eu l'opportunité d'effectuer une activité d'enseignement à l'INSA de Toulouse. Je tiens à exprimer ma gratitude à Jacques Erschler, Professeur, et Bernard Pradin, Professeur, pour m'avoir accueilli au sein du département de Génie Électrique et Informatique, ainsi qu'à tous les enseignants et à tous les techniciens avec qui j'ai pu collaborer. En particulier, je tiens à remercier Colette Mercé, Professeur, et Patrick Esquirol, Maître de Conférence, pour leur intérêt pour mes activités d'enseignement. Je tiens également à exprimer toute ma sympathie à Bernard Fauré et Jean-Pierre Nograbat. Je ne remercierai jamais assez ma famille (au sens large : mes parents, ma sœur Isabelle, ma nounou Yvonne ainsi que Paul et Pierre, mes voisins et en particulier MariePierre) pour leur soutien inconditionnel depuis toujours. De même, je tiens à remercier tous mes amis. En particulier, merci à Ramón (l'Espagnol qui saute partout quand il n'est pas blessé), à Massou (le chasseur écolo), à Isabelle (appelée aussi Massette, féminin de Massou), à Sandrine (que lui est-il arrivé cette semaine ? à-t-elle oublié son passeport alors qu'elle doit prendre un avion dans 10 minutes ?), à Violaine (mariée depuis l'été dernier et qui a migré vers Paris), aux amis du 2nd R4 et INSA (qui est le prochain à se marier ?), aux amis du LAAS.

2 Remerciements .

.................................................... Cadre théorique ...............1.......................................... 17 I...............2.................................3..................................1. 48 II.................................2 La modélisation par réseau de Petri et par réseau de contrôle d’information ..... 7 CHAPITRE I DÉCISION DISTRIBUÉE EN GESTION DU TEMPS ET DES RESSOURCES .2............3..........................................................1 La théorie des actes de langage ..................... 25 I...............................3...... 3 INTRODUCTION.....................................................................................1..................... Définitions.............................................. Quelques approches dans les systèmes multi-agents .........1...............1 Approches générales.................2....1........ 40 II............................................................................. 14 I................................................................................................ Conclusion ............4................................... Les structures hiérarchiques fonctionnelles........... L’environnement technique ................................2...................................1.......................................................................5....2................................................ 23 I........ 19 I.................. Les protocoles de communication entre agents ........................................................................ 16 I..............7.................................2.....................2..................1 La coordination.........1.....3............... 27 CHAPITRE II FORMALISATION DE LA COOPÉRATION – L’APPROCHE PAR CONTRAINTES .......................2..1 Les catégories de communication.... 47 II......3..3.. 53 II................................. Les structures hiérarchiques simples ............ LA COOPÉRATION DANS L’APPROCHE MULTI-AGENT ..............................................................4............ Les entreprises virtuelles...... CONCLUSION ........................................... Les structures adhocratiques ...........5................ 24 I......................4................................................................................................................3...........6.1..2...................... 40 II............................................................................................................................. Usage de la perspective langage-action ............................................... L’ENVIRONNEMENT DES ENTREPRISES EST FLUCTUANT................................................. 31 II...4................................4.........................................................................................4... 54 .................. DÉFINITION ET ASPECTS DE LA COOPÉRATION ...... 37 II.... 44 II....................................................... 48 II...............................................................................3...............................................2......................................1............. L’environnement économique ................................. 38 II................. 38 II............................................. Différents aspects de la coopération................ 44 II........................................................................3.... 22 I..........2..2................ Modélisation de la coopération ...........................4............................................................. 21 I..3................... Les structures matricielles ...........................................3............................ Réseau de centres de décision........................................................................................................................1.....2............3................. La gestion de projet « classique » .....2........................2......................1.......... LA PERSPECTIVE LANGAGE-ACTION . 41 II................................................4.....4.. Définitions........................................... LES STRUCTURES ORGANISATIONNELLES EN GESTION DU TEMPS ET DES RESSOURCES ........1...................... 11 I..........................................1.................................................. 15 I..................................2 La collaboration et la codécision ..........................2.... L’APPROCHE PAR CONTRAINTES ..................... 34 II........1.......................Sommaire REMERCIEMENTS .........4......1...2....................................... Le projet d’entreprise.................1........2.......................................................1..................2................. 50 II.............................. 46 II.......................1 La modélisation issue de la perspective langage-action ....................4........... Définitions.............................. 35 II....... 11 I................... 52 II.................................................................... 18 I....3........................................................................................................... La gestion de production « classique » ...3...............................................1............................................... Introduction .... 30 II.................................................. 12 I. L’environnement social.............2....... Les tendances actuelles ...............................................2.2.......................................................................... LES STRUCTURES ORGANISATIONNELLES ....................................................................................1........... Conclusion ........2 Les conversations .......4......2 Les messages et les conversations .................5........................... 32 II.......2..........2..................1...................................... 31 II....... 1 SOMMAIRE................................3.........................................2............................ Définition de la coopération .4.............2 Approches en gestion du temps et des ressources........................ 53 II....................................................................... 20 I..............2.........5........................ 26 I............ LES FLUX DE TRAVAIL OU « WORKFLOW » .............................. 46 II................................................................................. 33 II................................... 11 I........................ INCERTAIN ET COMPLEXE ....................2..................................................... 16 I.................. 29 II.......... 29 II. 34 II...........................................................................

................... 101 IV................2. Les critères d'optimisation................. 66 III........................................................................... 90 III...............................................................................................................................................................5 Modélisation à l’aide de graphes............2..........2..............2............2...................................................................................................... 74 III...................................................................3......... Décision sur les contraintes ....5.............................2....................................................4......................................... 89 III................2.... 91 III........2...3................................................................3............. 78 III.....2..................... Coopération et coordination au sein d’un réseau............................ 96 IV.................2............ paramètres et contraintes...................... 103 IV..........2 Fonctionnement du réseau ..........................2..........2......................................................................................................... Modèles linéaires à variables réelles ................................................................. Temps limité.............1 L’identification de conflits de partage de ressource ...3..................3 Un outil d’évaluation du volume de l’espace des solutions........... Aspect dynamique de la prise de décision ................................3.2...............2.................................................... Modélisation des problèmes d’ordonnancement ................................ 76 III...........................1..3............ Modèles linéaires à variables mixtes ou discrètes.....................................2............... Les différents états de la décision .........3........................................................................................................ 101 IV.....................4...........................1............. 74 III..........3.................................................................................................................................................... UNE APPROCHE DYNAMIQUE DE L’AIDE À LA DÉCISION DISTRIBUÉE ..................................3....................... 74 III.....2.........6........... 57 III.......5..........................3........................................................ Le problème de l’explosion du nombre d’états d’un modèle .............................. LES TECHNIQUES D'OPTIMISATION ...1 L’algorithme du simplexe pour le cas général................. STRUCTURE D’UN CENTRE ............................................... 57 III.........5............................... 66 III...........1... SYNTHÈSE ...............2...2....4................................. 70 III..........2....................................................................................................... 96 IV......................................................................2......2 Les variables de décision et les paramètres ......1............ 83 III..............................1................................................... CARACTÉRISATION DES SOLUTIONS ADMISSIBLES ......... 55 CHAPITRE III MODÉLISATION DES PROBLÈMES DE GESTION DU TEMPS ET DES RESSOURCES ..1.3 Les contraintes ..... L’analyse sous contraintes des problèmes d’ordonnancement..................... 64 III. 89 III....... 102 IV.........................2............... Horizons temporels ..............2................... 83 III.......... CONCLUSION ........... Variables..................2...................... 75 III.5............3........................... Aide à la décision ............................................... 61 III. Méthodes exactes et approchées pour les problèmes d’ordonnancement avec contraintes de ressources .......................................................................................1......... 83 III............ 65 III..............1........2........................................... 69 III..... 58 III...3... Inversibilité du modèle et paramètres partiellement connus ........................................................ LES MODÈLES EN GESTION DU TEMPS ET DES RESSOURCES...........................4............... 98 IV.3.................................................... 74 III.............. Les contraintes organisationnelles ............3..............................................................................................................................1......................3...3..2.....................................2 Le raisonnement énergétique ... 80 III.............................................. 55 II.................2 Consistances locales et filtrage .....................................................................3...2...................5......................................... 81 III.. 67 III... 86 III...................................................3..................................... DÉCISION EN TEMPS LIMITÉ ...... Discussion ........................................... 88 III...........1....2... 93 IV...........2.................................................................................................................4................................................................................................................................................4 Exemple en gestion de projets .................... CONCLUSION ....................................................2.........................3.............................. 97 IV...................3......4...................................... 88 III.....1 Définitions...................2................................... Fonctions de décision ...6..... Méta-modèle d’un réseau ... 77 III........................1........................1 Les critères en planification de la production........................................................... 104 ......................................................................................1................. 62 III.......................................3............3.....................4 Représentation des solutions ..........4....................................................................................................................... 83 III.... 57 III........................................2 Les critères en ordonnancement ......... 62 III..........................................................1..2.. Propagation de contraintes dans les CSP .....3...... 59 III..... 87 III.........................3 Les contraintes ................2...4......................................................3.....................................5....................................4.......................4...........2................ 95 IV................. Modélisation de la planification de la production...1 Introduction............................................................................ 97 IV... 85 III.........4 Sommaire II.. 60 III............................................... MODÈLE GÉNÉRAL ASSOCIÉ À CHAQUE CENTRE ....1.........1 Horizons temporels ...3 Exemple en gestion de production ................ 93 IV...... Le modèle général des CSP .........................3.......................1................................................................ 67 III.........................................................2......3.......3.......2 Les variables de décision et les paramètres ..................1...2..2..............4............................................................................................2................ 94 IV............ 92 CHAPITRE IV INTERACTIONS ET COMMUNICATION DANS UN RÉSEAU DE CENTRES DE DÉCISIONS ..................... Classification des contraintes pesant sur un centre...........2 Le cas particulier du problème central ...........................2..........1 Les contraintes de structure..................

. 117 IV........................2. 127 V.......4.........5.....2...................................................3.................................................. Spécifications de chaque agent ..................... 107 IV.2.......5............................................................... PROTOCOLE DE COMMUNICATION ..............................................................2........ L’interface graphique................ 111 IV...............................................3...........................4..............................................1.................................... 123 V..................... 122 V......................................... 139 BIBLIOGRAPHIE..................4................................4........................................................................................1................................................................ 116 IV.................................. 113 IV..................1.............................2.................................5...................Sommaire 5 IV.................4................ 134 V................1.......2........................................... 106 IV.. 123 V..........LES DIAGRAMMES DE COLLABORATIONS ........... 127 V................2.................... SPÉCIFICATIONS D’UN SYSTÈME D’AIDE À LA DÉCISION ..................1..............3...................LES DIAGRAMMES DE CLASSES.... 126 V................ 129 V................1 Structure du réseau de centres ............................................. 153 3....................1.................. 137 CONCLUSION ......... 111 IV............................................1................... 109 IV................ 121 V...... 122 V..................................................................4.2................ CONCLUSION ........................2.............. Modélisation du problème de décision de chaque centre.........3.......................................... Communication par envoi de message ......................... REPRÉSENTATION DE L’ÉTAT D’UN CENTRE ................4...................... propositions et engagements ..........................................................4..1.......................................5........................ Structure arborescente........2............................................ 118 IV........... 135 V............................................................ Choix de bibliothèques et de langage de programmation.3........................................... 121 V...................... LES BESOINS...................5.........................2......................... 133 V....................................... 122 V...............................2............................2............... 127 V...........1.................. Exemple : ......2..............................3 La fenêtre de création de messages .6.................................................. 126 V.............................................3. Évolution de l’arbre en fonction des conversations.................................................................... 121 V............................ Spécifications du réseau de centres de décision ................................. 133 V..................................................................................1........................................2 Fonctionnement du réseau de centres.................................... 134 V.1 Début d'une négociation................................. Description du réseau de centres ................1 La fenêtre de l’arborescence.................................................. Aide à la modélisation et à la résolution du problème.................................. CADRE CHOISI ...................................2 La fenêtre des conversations ............. Hypothèses................1........................ 113 IV......2 Les conversations pour information....................................... 117 IV................................................. Évolution de l’arborescence en fonction du temps .................... 152 2........................................... 106 IV...............................1 Composition d’un message ...........................5..........1..............................2...................................................... 155 ................. Prise en compte du temps..............................................................5..................................LES DIAGRAMMES DE SÉQUENCE ................3.................................................LES DIAGRAMMES D’OBJETS ............2 Type de messages ...................................................................... CONCEPTION ET RÉALISATION DE L’OUTIL D’AIDE À LA DÉCISION .... 143 ANNEXE : LE LANGAGE UNIFIÉ DE MODÉLISATION (UML)........................................................................................5..........1 Gel d'une variable .....................................2.................................................................1 Les centres projets.......................................2.............4........4.........................................1 Composition d’un agent ...2...1...... 109 IV....... 119 IV...........................................................5.......... 151 1........ Aide à la coopération .................................... 119 CHAPITRE V RÉALISATION D’UN ENVIRONNEMENT D’AIDE À LA DÉCISION ET À LA COOPÉRATION .....................................................................3.....................4..................................1....................................4..................................................4..............................................3....4.......................................1 Les conversations pour engagement .................................................................................4............................................................................. 122 V.........................4..................... 136 V................... 131 V................ 105 IV................. Les centres métiers.............2 comportement d’un agent.........2...............................................................2.. 116 IV.........3........................5.................... Évolution de l’arbre en fonction des interactions avec l’utilisateur.................................... CONCLUSION ............................................3.............................. 117 IV............... 154 4.........5................4.................1.................4......................2 Début d'une renégociation ou poursuite d'une négociation ...... 123 V......................................... Aide à structuration du processus de décision ........................ Conversations ............... 112 IV............... 130 V....5..............................................................2.................................2 Création/destruction de variables .........................

.

de nouvelles formes de relations interentreprises (par exemple les partenariats. est confrontée à la nécessité de laisser à l’homme un rôle déterminant dans la décision pour la prise en compte des aspects difficiles. voire impossibles à formaliser ou à prévoir. afin d’assurer la cohérence globale des décisions prises localement. La distribution des décisions permet d'accorder plus d’autonomie aux différents décideurs afin qu’ils puissent réagir aux aléas et aux opportunités d’une façon rapide et appropriée. D'autre part. même lorsqu'ils sont considérés isolément (un seul décideur) et résolus séquentiellement : il n'existe pas de méthodes de résolution automatique à la fois générales et efficaces. Si. les structures organisationnelles classiques sont remises en cause dans le but de faciliter une interaction rapide entre acteurs et décideurs. le système global de pilotage qui en résulte est plus complexe car si une certaine hiérarchie demeure.Introduction Pour faire face à un environnement changeant. le développement du processus d’informatisation des entreprises pose la question du partage des tâches entre l’homme et la machine pour la prise de décision et la coopération. gestion de production) : les décideurs gèrent des ressources humaines et matérielles dans le temps. plusieurs statuts de la décision (hypothèses. D'une part. Ce travail s'intéresse plus particulièrement au problème de l’aide à la décision distribuée dans le domaine de la gestion du temps et des ressources (gestion de projet. les consortiums) sont constituées afin d'associer l'ensemble des moyens permettant de conserver des marchés mais aussi d'en conquérir de nouveaux. Dans les deux cas. Une coopération de bonne qualité doit permettre d'éviter le recours fréquent à un arbitrage des conflits par la hiérarchie. Par ailleurs. C'est ce que propose l'approche par contraintes pour l'aide à la coopération [Huguet 94] qui sert de base à ce travail. De ce fait. Nous supposons que les décisions sont distribuées au sein d’un réseau de centres de décision interdépendants : les décisions d'un centre constituent des paramètres intervenant directement dans les contraintes que doivent respecter d'autres centres. qui risque d'être lourd et lent. aucun enchaînement strict n'est supposé entre les différentes prises de décision. En chaque centre et à un instant donné. Plus précisément il doivent déterminer les ressources précises permettant de réaliser un ensemble de tâches (affectation). la distribution de la décision entre plusieurs entités pose le problème de la définition d'objectifs communs et de la cohérence des décisions vis à vis des objectifs privés et communs. Cette interdépendance peut amener les centres à rechercher des compromis à travers la négociation. les chaînes logistiques intégrées. les entreprises visent à améliorer leur réactivité. le processus de prise de décision en un centre est indissociable des processus de coopération entre centres. a priori. ce qui suggère une approche de type aide à la décision. propositions et engagements) doivent être considérés. Elle nécessite cependant une bonne qualité au niveau des interactions (communication et coopération) entre les entités. Ces problèmes sont connus pour leur complexité. De nouvelles formes d'organisation sont mises en place telles que par exemple les structures matricielles projets-métiers. ainsi que les dates auxquelles ces tâches seront réalisées (planification. il n’existe pas un modèle unique en chaque centre mais plusieurs qui diffèrent par . ordonnancement). Les hypothèses faites en un centre permettent d'élaborer des décisions prévisionnelles mais rendent celles-ci conditionnelles. en interne. La nécessité d’automatiser des traitements complexes pour la prise en compte de certains aspects bien formalisés et prévisibles. incertain et complexe. les entreprises virtuelles.

Au problème de décision statique associé à un modèle donné. DIDOM (Distribution des Décisions dans les Organisations Matricielles) est un partenariat entre plusieurs laboratoires (CERT. d’évaluer la consistance de ces différents modèles. Tout d’abord. Le travail présenté dans ce mémoire tente d'apporter une contribution à ce deuxième type de recherche. Nous avons intégré ces travaux dans la recherche que le groupe DIDOM mène dans la domaine de la gestion multi-projets. Nous concluons enfin sur l'émergence d'une forme d'interaction favorisant une plus grande autonomie des décideurs. notamment dans le cas de la gestion de projet et de la gestion de production. Différents traitements peuvent être envisagés à l'aide de mécanismes de propagation de contraintes. s’ajoute celui de la gestion dynamique d’un ensemble de modèles et d’hypothèses. nous présentons l’approche dans laquelle nous nous inscrivons. La coopération a été également abordée dans les travaux relatifs aux systèmes multi-agents. Enfin. Ensuite. de plus ces modèles évoluent avec le temps. et la réponse qu'elles tentent d'apporter par une plus grande distribution des décisions. Les contraintes mettent en relation des variables et différents paramètres liés aussi bien au centre considéré qu’aux décisions d'autres centres du réseau. . Le premier chapitre a pour objet de rappeler l'origine des problèmes d'organisation auxquels sont confrontés les entreprises actuelles dans le domaine de la gestion du temps et des ressources. de fournir des solutions prévisionnelles. IRIT et LAAS) et un industriel. et des actions de développement d'outils (approche descendante relevant des sciences pour l'ingénieur) ayant pour but de fournir une aide à la décision et à la coopération. entre autres. nous nous intéressons au rôle que joue la communication dans la mise en œuvre de ces différentes formes d’interaction au travers de la perspective langage-action. Le reste du mémoire est organisé de la façon suivante. CERTOP. qui s’intéressent à l’intelligence émergent d’un système artificiel défini comme une société d’agents coopératifs. la coordination et la négociation. Dans un premier temps. différentes structures organisationnelles sont comparées. Pour cela. le problème posé en un centre peut être représenté par un modèle composé de variables de décision reliées entre elles par des contraintes. Le second chapitre s'intéresse donc naturellement à préciser le sens que nous donnons à la coopération pour la prise de décision. Nous présentons l’exemple d’organisations possédant un modèle formel préétabli très achevé des processus de travail et des flux d’information. le « workflow ». Ce projet réunit deux types de recherches complémentaires : des analyses de terrain permettant d'évaluer et d'affiner des concepts et des modèles théoriques de l'activité de planification dans un contexte de décision distribuée (approche ascendante sous la responsabilité d'une équipe de sociologues). selon le choix des variables et des paramètres instanciés ou laissés libres avant propagation : résolution. robustesse. Cet ensemble évolue au fur et à mesure que des négociations entre centres se développent et que de nouveaux éléments surgissent qui confirment ou non les hypothèses faites pour préparer les décisions. l’approche par contraintes pour la coopération dans les problèmes de gestion du temps et des ressources. Le troisième chapitre présente les modèles et les techniques d’analyse et de résolution des problèmes en un centre. essentiellement la coopération. nous examinons les différences qui existent entre des notions proches telles que la coopération. Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes permettent. etc. explicitation de marges. consistance.8 Introduction leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des décisions fixées) .

prise de décision périodique). nous détaillons les aspects temporels de la prise de décision (décision et négociation en temps limité. Des centres projets sont en compétition pour l’attribution de ressources gérées par des centres métiers. L'exemple choisi concerne la gestion multi-projet. . ainsi que les techniques et langages employés pour réaliser ce logiciel. Le cinquième chapitre présente le logiciel que nous avons développé pour tester notre approche. L'évolution de cette représentation est étudiée afin de concevoir un outil permettant au décideur de suivre et de contrôler ce processus de décision. propositions et engagements ainsi que les déductions qui peuvent être inférées caractérisent ce processus à un instant donné. Enfin. Nous concluons enfin sur le travail ultérieur qui mériterait de compléter notre étude. Dans un premier temps. selon une arborescence de modèles. nous proposons des protocoles de communication entre centres permettant aux centres de coopérer. Les spécifications du système d’aide à la décision distribué sont données. Ensuite. nous nous intéressons au problème de la représentation de l’état du processus de décision en un centre. Différentes hypothèses.Introduction 9 Le quatrième chapitre est consacré à la formalisation des interactions entre centres et à la représentation du processus de décision en un centre.

.

Après guerre. l'environnement. la nouvelle économie. de faire des calculs complexes plus rapidement. • les moyens de calcul. la société Airbus transporte des parties d’avions entre ses sites de construction en moins d’un jour. I. le secteur automobile conçoit un nouveau véhicule en moins de trois ans (contre cinq il y a quelques . train). les décideurs cherchent à optimiser l'usage des ressources humaines et matérielles dans le temps. plus innovants et toujours plus rapidement.Chapitre I Décision distribuée en gestion du temps et des ressources Les nouvelles technologies de l'information.1. La distribution nécessaire des décisions au sein de l'entreprise est abordée en étudiant des structures organisationnelles caractéristiques. etc. I. L’informatisation croissante et l’évolution de la puissance des moyens de calculs permettent d’automatiser certaines tâches. À titre d’exemple. En effet. l’environnement technique. Internet. De nos jours. En effet. Afin de pérenniser leur existence et d’assurer leur compétitivité. incertain et complexe. Pour cela. pétrolier) ou par air (exemple : avions. Nous verrons enfin comment ces principes organisationnels sont appliqués dans deux domaines de gestion du temps et des ressources : la gestion de production et la gestion de projet. par mer (exemple : cargo. les entreprises actuelles doivent faire face à un environnement fluctuant. toutes sortes de marchandises peuvent être transportées que ce soit par terre (exemple : camion. Les entreprises cherchent donc à maîtriser trois paramètres : les coûts. Les moyens de transport deviennent de plus en plus performants et économiques. l'écoute du client. plus variés.1. économique et social des entreprises a évolué de façon notable ces dernières années. seules quelques entreprises pouvaient bénéficier de gros ordinateurs. dirigeables). technique. sont autant de concepts que les entreprises doivent considérer afin de se survivre et de progresser. De nos jours. économique et social des entreprises devient de plus en plus fluctuant. L’environnement technique Les progrès techniques qui ont le plus bouleversé l’environnement des entreprises sont : • les facilités de transport des biens. les micro-ordinateurs sont couramment utilisés dans toutes les entreprises. la personnalisation des produits.1. la gestion des ressources humaines. L’environnement des incertain et complexe entreprises est fluctuant. les délais et la qualité. L’automatisation. incertain et complexe. • les moyens de production. les nouveaux procédés et les nouvelles matières permettent d’avoir des produits toujours plus complexes. Par exemple.

théoriquement. informations sur les partenaires) et un produit commercial. De nos jours. Les économies d’échelles apparaissent. En effet. on est passé d’un régime d’optimisation productive à un régime de gestion de la variété. Ces véhicules intègrent de nouveaux équipements (airbags. et mènent à une . Autrefois. Toutes ces économies ont pour but d’abaisser le coût du produit en agissant différemment sur les moyens de production. I. Dans [Monateri 97]. les entreprises vendaient aux clients ce qu’elles avaient décidé de produire. L’environnement économique En ce qui concerne l’évolution économique. les entreprises sont passées d’un mode d’optimisation où économies d’échelle et économies de vitesse prédominaient.2. La plupart des entreprises ont un site d’information et d’achat « en ligne » sur Internet. entraîne une complexité accrue du système d’information. l’auteur souligne que. elles produisent ce qu’elles peuvent vendre. etc. en productivité. notamment. au moins dans le secteur automobile. électronique embarquée. • les nouvelles technologies de l’information et de la communication. nous pouvons constater une saturation des marchés qui a provoqué le passage d’une économie de production (demande supérieure à l’offre) à une économie de marché (offre supérieure à la demande). De plus.1. le nombre des progrès techniques et surtout la rapidité des changements font que la gestion de cette technologie n’est pas plus simple. la prise en compte d’un plus grand nombre de décisions en un délai de plus en plus court. Les informations peuvent se transmettre en temps réel à travers le monde (grâce à Internet par exemple). transport information et communication moyens de calcul moyens de production environnement technique figure 1 : la gestion de l’environnement technique est complexe Les entreprises tirent parti de ces innovations technologiques pour gagner.12 Décision distribuée en gestion du temps et des ressources années). lorsque la capacité de production augmente. à un régime d’optimisation où économies de variété et économies de vitesse prédominent (voir la figure 2).) et deviennent plus complexes à réaliser (et à réparer aussi). la concurrence à laquelle elles sont soumises s’est aggravée encore avec la mondialisation des marchés ([Schweyer 96]). L’information devient même un enjeu stratégique (informations sur les concurrents. En effet. Mais.

L’environnement des entreprises est fluctuant, incertain et complexe

13

standardisation des produits et des procédés (politique adoptée par Ford dans les années 20). Les économies de vitesse résultent d’une plus grande fluidité des flux et entraînent une réduction des stocks. Les économies de variété résultent de la possibilité de réaliser plusieurs produits (peu différents) sur une même ligne de production.

Régime d’optimisation de la gestion de production : • Priorité aux économies d’échelle et de vitesse : tension des flux et réductions des stocks • Positionnement concurrentiel sur les coûts

Régime d’optimisation du rapport entre variété et tension des flux : • Priorité aux économies de variété et de vitesse : produits personnalisés, vitesse de rotation des encours • Positionnement concurrentiel fondé sur la différentiation des produits et sur les coûts

figure 2 : évolution du triptyque standardisation, rapidité, variété Ainsi, dans un tel contexte, l’orientation économique vers les besoins des clients devient le facteur clé du succès. Afin de suivre ce principe dans un monde de très forte concurrence, le facteur temps, donc la rapidité et la réactivité de l’entreprise sont de plus en plus à développer. Il est alors indispensable de pouvoir s’adapter rapidement aux situations imposées par la concurrence et par le client. Pour faire la différence face à la concurrence, l’entreprise doit montrer sa capacité à innover et la qualité de ces produits. Depuis quelques années, la nouvelle économie est apparue d’abord aux États-Unis. Ce terme désigne la croissance tirée par les nouvelles technologies. Elle reprend toutes les caractéristiques citées ci-dessus et résumées sur le Tableau 1. ancienne économie caractéristiques économiques : marchés compétition industrie : organisation de la production facteurs de production sources d’avantages comparatifs stables nationale nouvelle économie dynamiques globale et locale

production de masse production flexible capital/travail innovation/connaissance économies d’échelle et de économies de variété et de vitesse vitesse Tableau 1 : les effets de l’évolution de l’économie

14

Décision distribuée en gestion du temps et des ressources

Le changement de l’environnement économique a poussé les entreprises à tenir de plus en plus compte des aspects délais, qualité, coûts, innovation. Ainsi, les entreprises doivent être plus ouvertes aux besoins du client, à l’attente du marché.

I.1.3. L’environnement social
L’environnement social de l’entreprise change notamment le rapport de l’homme face au travail. D’une part, la nature des tâches à réaliser par l’homme a été modifiée. En effet, on assiste à : • une diminution de l’effort physique due à l’utilisation des robots (convoyage, manipulation, usinage…) • une augmentation des tâches de surveillance, de supervision, de communication • une distribution de la décision qui favorise la réactivité. Il faut donc susciter des initiatives chez des catégories de personnel qui n’en avaient autrefois aucune. • une mobilité des travailleurs. Ceux-ci ne sont plus cantonnés à un emploi ou à une compétence tout au long de leur carrière. Les entreprises leur demandent de s’adapter à de nouveaux métiers. Il faut donc que l’homme possède des compétences variées et transdisciplinaires. De plus, les attentes des travailleurs ont évolué. Le niveau d’éducation moyen et le niveau de vie augmentent. De nos jours, 70 % des personnes d’une classe d’âge ont le baccalauréat et de plus en plus de personnes arrivent à satisfaire les besoins primaires (nourriture, logement, etc.). Les travailleurs ne sont plus non seulement préoccupés par l’aspect financier du travail mais ils cherchent également à s’épanouir dans le travail. Les entreprises doivent expliquer le but des tâches à effectuer et proposer ou tenir compte des plans de carrières (voir [Jagou 93]). De plus, la nature du management du personnel évolue de relations basées sur l’adversité vers des relations basées sur la collaboration. maintenant buts politiques adaptabilité et plus hauts revenus buts personnels besoins primaires (nourriture, besoins secondaires logement…) (épanouissement, projet personnel…) compétences compétences spécifiques compétences variées et transdisciplinaires éducation requise une compétence ou un diplôme un apprentissage à vie management du personnel adversité collaboration nature de l’emploi stable risque et opportunité Tableau 2 : les effets de l’évolution sociale Enfin, les entreprises doivent également tenir compte de l’environnement politique, administratif et local (aménagement du territoire, qualité de l’environnement, formation, emploi…). avant plein-emploi

L’environnement des entreprises est fluctuant, incertain et complexe

15

I.1.4. Le projet d’entreprise
Le projet d’entreprise a pour but d’affirmer la mission et les valeurs de l’entreprise. Outre la mission d’assurer la pérennité et le devenir de l’entreprise, ces valeurs sont : l’écoute et la satisfaction des clients, la satisfaction des actionnaires, l’épanouissement des hommes et des femmes qui composent l’entreprise, la recherche de la qualité. De nos jours, trois grands objectifs étroitement liés constituent les lignes directrices de l’entreprise ([Jagou 93]): réduction des délais réduction des coûts amélioration de la qualité. • • • • • • réduction des délais réduction des coûts amélioration de la qualité • • • • • juste à temps (JIT) design-to-manufacturing concurrent engineering benchmarking qualité totale groupes d'amélioration cercles de qualité normes ISO9000

figure 3 : méthodes permettant de tendre vers les objectifs Actuellement, trois techniques sont utilisées pour réduire les délais. La première technique est le « juste à temps » JAT (ou just-in-time JIT). Cette technique s’attache à réduire la surproduction et les stocks afin de pouvoir déceler et résoudre les vrais problèmes de la production. La deuxième méthode, le « design-for-manufacturing » est une démarche que le bureau d’étude doit intégrer afin de réduire la complexité des produits, réduire le nombre de pièces qui les composent afin de diminuer le cycle conception-fabrication. Les ingénieurs doivent intégrer les difficultés et spécificités des autres métiers (méthode, fabrication, logistique). Enfin, le concurrent engineering est une approche systématique pour la conception simultanée d’un produit et des services qui lui sont associés, y compris la fabrication et le soutien. Afin de réduire les coûts, le « benchmarking » consiste à rechercher en dehors de l’entreprise les modes et les méthodes de conception, fabrication, distribution dans un domaine proche. La comparaison des résultats internes aux meilleurs résultats observés à l’extérieur de l’entreprise permet d’identifier les faiblesses de l’entreprise, d’imaginer et de mettre en œuvre des moyens qui leur permettront de revenir à un bon niveau. Cette démarche consiste également à identifier les compétences de l’entreprise et à sous-traiter, éventuellement, une partie de ses activités dont l’étude lui aurait prouvé l’absence de rentabilité ([Jagou 93]). Les méthodes comme la gestion de la qualité totale, les groupes d’amélioration de la qualité ou les cercles de qualité permettent d’améliorer la qualité des produits, notamment en négociant avec le client la qualité souhaitée du produit, en impliquant tous les acteurs de l’entreprise. Auparavant, la qualité était la préoccupation du service qualité. Actuellement, tous les acteurs de l’entreprise, et même les sous-traitants, sont impliqués dans la recherche de

Ils définissent l’organisation. Les décisions portent sur la définition des responsabilités et sur les règles qui régissent la prise de décision. La certification ISO9000 d’une entreprise est un label de qualité basé sur une démarche volontariste. I.16 Décision distribuée en gestion du temps et des ressources qualité. Dans un premier temps. Définitions Le concept d’organisation recouvre de façon indissociable l’action d’organiser et le résultat de cette action. les responsables se penchent sur les relations durables entre les individus et certaines composantes. environnement − technique − économique − social le projet d’entreprise : − réduction des délais − réduction des coûts − amélioration de la qualité figure 4 : impacts de l'environnement sur l'organisation de l'entreprise Parmi les changements qui peuvent affecter les entreprises. Dernièrement. I. Leur analyse nous permettra de cerner comment la distribution des décisions est abordée. à la fois dans la structure et dans son fonctionnement.2.1. tout en mettant en œuvre le projet d'entreprise (voir figure 4).3) a permis de normaliser les relations donneurs d’ordre/sous-traitants.2. Les structures organisationnelles Afin de limiter l’influence d’un environnement changeant et incertain et de mettre en œuvre le projet d’entreprise. nous allons voir quelques définitions sur l’organisation et des structures organisationnelles. [Schweyer 96 ] et [Maggi et al 00]). .2. La structure décrit la manière dont les différents organes et individus de l’entreprise sont agencés. mis en relation. on s’intéresse désormais à ceux qui peuvent affecter son organisation. la structure (voir le Larousse 97. On peut distinguer plusieurs types de relations : • la communication informelle qui permet l’ajustement mutuel et donc l’exercice des pouvoirs réciproques de persuasion. l’apparition des normes internationales ISO9000 (1.

ni les fins ne peuvent être considérés comme absolument rationnels . c'est-à-dire une forme d’agir rationnel » (tiré de [Maggi et al 00]). de coordination et donc de survie de l’organisation en fonctionnement (de Mintzberg. On a donc la mise en acte d’un ordre. La commande est ici entendue au sens large de conception. et souvent formalise. Une organisation est un phénomène artificiel crée par l’homme : il y a donc intentionnalité pour créer une entité concrète. de répartition et de contrôle des tâches à réaliser pour atteindre les finalités de l’organisation. 00]) résume une comparaison entre la rationalité objective (que l'on attribue aux économistes) et la rationalité intentionnelle et objective (concept développé par Simon). c’est-à-dire des normes qui en régissent l’exécution. Selon ce schéma. La structure organisationnelle est donc un puissant support d’unification. Plutôt que de chercher à maximiser son utilité.2. les décisions ne sont jamais prises dans des conditions de certitude. . En effet. la différence entre ceux qui commandent et ceux qui exécutent. I. rationalité objective toutes les alternatives des actions possibles sont connues il est possible de calculer toutes les conséquences de chaque stratégie le sujet agissant a une fonction d'utilité exacte pour ces choix qu'ils soient actuels ou futurs rationalité intentionnelle et limitée la connaissance des alternatives d'action est incomplète la connaissance des conséquences de l'action est fragmentaire les préférences ne sont pas parfaitement ordonnables et leur variation dans le temps n'est pas prévisible Tableau 3 : rationalité objective et rationalité intentionnelle et limitée La structure organisationnelle apparaît comme l’ensemble des moyens qui assurent une répartition des pouvoirs adaptée à l’identification et à la coordination des composantes de l’organisation. il cherche des solutions suffisamment bonnes ou satisfaisantes. Cette rationalité est intentionnelle et limitée. ni les moyens. • la répartition des compétences qui définit un réseau de pouvoirs expertaux et détermine la standardisation des tâches.2.Les structures organisationnelles • 17 les relations hiérarchiques qui supportent l’intervention directe de certains organes dans le travail des autres. Le Tableau 3 (emprunté à [Maggi et al. examinons quelques structures organisationnelles caractéristiques. L’action organisationnelle est « un agir qui met en relation […] les moyens par rapport aux fins. cité dans [Dupuy 1992]). Les différentes composantes restent relativement indifférenciées. Les notions d’organisation et de structure organisationnelle ayant été précisées. le décideur n'a pas la connaissance complète et il ne choisit jamais la meilleure alternative. Le mécanisme de hiérarchisation se développe dès que la complexité organisationnelle atteint un niveau suffisant. Les structures hiérarchiques simples La hiérarchisation organisationnelle exprime. orienté vers un but.

• situation de faible complexité de l’environnement et de la technique mais grande adaptabilité. • centralisation marquée au sommet de l’organisation. Voici quelques caractères essentiels du modèle de Mintzberg : • coordination par supervision directe. par l’apprentissage puis la répétition d’ensembles de tâches relativement bien délimitées et codifiées. largement inspirée par la vision rationaliste et techniciste des ingénieurs. I. • forte adhésion au pouvoir de la direction. donc d’efficacité. La pérennité et l’efficacité de ce type de structure supposent une stabilité fonctionnelle bien établie. que l’on rencontre essentiellement dans les grandes industries. liés à la compétence.3. elles coïncident avec la logique de la hiérarchisation (voir un exemple sur la figure 6). complexes voire inefficaces. Les formes bureaucratiques mécanistes. Cela va généralement de pair avec une spécialisation poussée.2. toutes les organisations doivent diviser et spécialiser le travail. La figure 5 présente un exemple de structure simple sous forme d’organigramme. Les structures hiérarchiques fonctionnelles Au-delà d’un certain niveau de complexification.18 Décision distribuée en gestion du temps et des ressources Mintzberg a défini un modèle de « configuration structurelle simple ». Ces tendances se renforcent naturellement et conduisent à la limite à des formes bureaucratiques (mécanistes ou professionnelles). reposent sur la standardisation des procédés de travail et leur extrême formalisation. autrement dit des processus opérationnels peu évolutifs. une formalisation très développée ainsi qu’une centralisation et une planification bien élaborées. permet d’avoir une coïncidence pure et simple entre les sources de pouvoirs expertaux et hiérarchiques. Tant que la spécialisation et la séparabilité des tâches sont techniquement et économiquement justifiées. Dirigeant propriétaire Secrétaire aide-comptable Vendeurs figure 5 : un exemple de structure simple Dans une telle structure. de variété des tâches à accomplir. Les bureaucraties professionnelles sont fondées sur la standardisation des . Il en résulte l’apparition de pouvoirs expertaux. l’intégration est naturellement réalisée grâce à la communication directe et informelle. ces mécanismes deviennent rapidement lourds. Une conception fonctionnaliste descendante de la structure. Cependant si l’organisation poursuit sa croissance. On obtient alors un renforcement des compétences.

On obtient alors une structure divisée par produit et par marché. Elle tend donc à exacerber des conflits. de nouveaux découpages dans l’espace et le temps apparaissent. Les structures matricielles abandonnent ainsi le principe excessivement contraignant de l’unité de commandement. par conséquent. • le manque de motivation et d’adaptabilité au sein de l’organisation Direction générale Secrétariat général Direction production Direction commerciale Direction administrative et financière Direction du personnel Études Fabrication Études Comptabilité Études Ventes méthodes publicité contrôle organisation figure 6 : une structure hiérarchique par fonctions I. .Les structures organisationnelles 19 formations et des compétences et le contrôle par les pairs (exemple : universités et cliniques). Les structures matricielles (voir exemple sur la figure 7) acceptent et formalisent des schémas de structure à la fois multirelationnels et évolutifs. du formel sur l’expertal. cette différentiation spatiale est accompagnée d’une différentiation temporelle.2. Au-delà de certains seuils de complexité et d’incertitude. Il raccourcit les circuits de communication et facilite la collaboration entre les spécialités et les professionnels de toutes origines. on remet en cause la prééminence du hiérarchique sur le fonctionnel. Dans l’espace. Ces formes bureaucratiques risquent de dériver notamment à cause de : • l’excès de coordination par intervention directe (risque de blocage des niveaux supérieurs). La structure matricielle constitue. de communication. • la concentration et la formalisation excessives de l’information le long de la ligne hiérarchique. Généralement. Mais elle amplifie les problèmes d’attribution des compétences. Les structures matricielles Les bases hiérarchiques et fonctionnelles reposent sur des hypothèses de cohérence et de stabilité des tâches. en situation très évolutive.4. un aboutissement affiné de la différenciation organisationnelle. cela conduit à privilégier une logique ascendante. L’homogénéité est recherchée par recomposition autour d’ensembles d’opérations homogènes et non par décomposition. auxquels sont logiquement associés des processus décisionnels ad hoc. d’ajustement des objectifs. Il évite la démultiplication injustifiée des spécialistes fonctionnels aux différents niveaux de la structure. Dans ces structures. La structuration trouve alors son fondement dans l’identification et dans la résolution de problèmes temporaires non répétitifs.

• l’autre d’adhésion. Elle va de pair avec une décentralisation sélective de certains pouvoirs (tiré de [Dupuy 92]). Par exemple. La figure 8 montre un exemple de chaîne de télévision. Les structures adhocratiques L’intégration peut être définie comme une réponse structurelle de l’évolution et du fonctionnement de l’organisation. L’émergence des formes adhocratiques résulte de la convergence entre les objectifs individuels et les objectifs organisationnels. Une incertitude naît de la distance entre les composantes de la structure : distance spatiale. Il montre que les entités adhocratiques opérationnelles s’identifient sans liaison formelle avec le reste de la structure. La symbolique offerte par ces derniers est trop pauvre et trop statique. C’est pourquoi elle peut ne concerner qu’une partie de la structure. En raison de leurs propriétés de complexité et d’instabilité.2. .5. Les adhocraties supposent des communications d’une intensité et d’une qualité élevées (ajustement mutuel). qui facilite ou exprime la convergence des langages et des objectifs entre les composantes de l’organisation. Elle correspond autrement dit à l’apparition d’un consensus autour de projets particulièrement motivants. et généralement complexes. mais concourants à la réalisation de tâches homogènes.20 Décision distribuée en gestion du temps et des ressources Direction générale Comités Direction de division Coordination Directions de marchés (ou de projets) Groupes organiques Directions fonctionnelles (métiers) figure 7 : le principe de la structuration matricielle I. donc de rapprochement entre point de décision et lieux et dates d’émergence des problèmes. Pour la réduire. deux logiques générales et complémentaires sont envisagées : • l’une de décentralisation des pouvoirs. distance temporelle ou distance culturelle. des adhocraties opérationnelles se forment régulièrement au sein des divisions organisationnelles à l’occasion du lancement d’un nouveau produit. les structures adhocratiques se prêtent mal aux représentations formelles par organigrammes. On peut avoir décentralisation horizontale et décentralisation verticale. Une structure adhocratique est identifiée par l’existence de relations particulièrement intenses entre organes d’origines variés.

Elles impliquent chaque individu.2. électroménager…). Elles mettent en place un mécanisme appelé entreprise virtuelle. Elle . les sous-unités peuvent être sous gestion séparée ([Rolstadas 95]). chaque cellule organisationnelle au point que la réussite des uns dépend de celle des autres et réciproquement.Les structures organisationnelles 21 Direction Services fonctionnels Partie formelle classique de la structure Services fonctionnels Lieux de production (studio) Programme régional 1 Programme régional 2 Réalisateurs de film Réalisateurs de film Constellation d’entités opérationnelles adhocratiques figure 8 : une adhocratie opérationnelle C’est donc en réservant une place essentielle à la communication et à l’adaptation que les adhocraties suscitent des mécanismes fortement adaptateurs.6. I. Une entreprise virtuelle est créée pour répondre à un marché spécifique. les entreprises peuvent monter un projet temporaire. Cela suscite nécessairement des mécanismes d’autocontrôle donc des risques de conflits très élevés. figure 9 : exemple d'une entreprise virtuelle qui est devenue un consortium Une entreprise virtuelle est un réseau d’unités géographiquement dispersées mais gérées comme une seule unité . C’est pourquoi les formes adhocratiques restent par définition jeunes et transitoires. Les entreprises virtuelles Pour faire face à la concurrence dans un marché donné (automobile.

7. Comme pour les adhocraties. plusieurs structures peuvent apparaître (comme le montre la figure 8). l’entreprise virtuelle est dissoute. les entreprises constituantes nouant leurs forces pour répondre à une croissance du marché.2. Ces structures utilisent toutes les possibilités offertes par les nouvelles technologies de l’information : groupware. réseau privé virtuel. Une entreprise virtuelle peut devenir plus permanente. Une entreprise virtuelle a une durée de vie limitée. 98]). Au sein d’une même entreprise. L’entreprise virtuelle se transforme alors en consortium ou en entreprise étendue (voir la figure 10 et [Park et al. Par exemple. elle permet de réduire les temps de production. Pour cela. II. En effet. Les décideurs mettent en œuvre ces principes organisationnels.3 et [Afsarmanesh et al. stabilisation du segment de marché réduction des coûts maturité du marché entreprise étendue stabilisation du segment de marché entreprise virtuelle opportunité figure 10 : évolution d'une entreprise virtuelle Les entreprises virtuelles doivent posséder une structure légère et flexible. plusieurs entreprises peuvent s’associer pour répondre à un appel d’offre gouvernemental. Conclusion Différentes structures d’organisation (intra ou inter entreprises) viennent d’être présentées. ces structures demandent une intensité des communications entre les acteurs et des mécanismes de coopération de coordination parfaitement définis. les structures hiérarchisées simples et fonctionnelles (comme les bureaucraties) ne résistent pas à l’incertitude à cause de la hiérarchie prédominante. Néanmoins. [Park et al. Dans les meilleurs des cas. 99]. Airbus est un exemple d’entreprise virtuelle (fondée en 1967) qui s’est transformée en consortium (en 1970) et qui va certainement se transformer en entreprise étendue. on a pu voir apparaître des façons différentes d’aborder la répartition des décisions. 98] et [Davilvu et al 99]). Les . le contrat terminé. les processus peuvent être formalisés à l’aide de workflow (cf. Une fois. [Favrel 98]. partage de base de données ([Zhang et al. les coûts de production et d’obtenir une meilleure exploitation des opportunités du marché. en tenant compte de deux critères : l’incertitude et la complexité. dynamisme consortium stabilisation du partenariat I. essentiellement. 98]).22 Décision distribuée en gestion du temps et des ressources facilite le partage rapide des ressources et des informations.

La gestion de production se rapporte à la réalisation de produits dont la variabilité. etc. on distingue deux problématiques : la gestion de projet et la gestion de production. Quelles sont les caractéristiques des organisations du point de vue de résolution des problèmes de gestion du temps et des ressources ? I. La complexité n'est pas intrinsèque à un projet mais à la coordination de différents projets . très peu récurrent voire unique. L'ensemble des ressources est mobilisé sur une période de temps assez grande. incertitude adhocratie opérationnelle professionnalisation adhésion limitée forte entreprise virtuelle Structures matricielles bureaucratie professionnelle structure simple limitée bureaucratie mécaniste complexité forte standardisation figure 11 : la logique générale des réponses structurelles en fonction de l’incertitude et de la complexité Nous venons de voir des principes généraux d’organisation. est composé d'un grand nombre de tâches à réaliser. les ouvrages publics. Habituellement. pose des problèmes d'organisation.3.Les structures organisationnelles en gestion du temps et des ressources 23 structures adhocratiques et matricielles résistent à l’incertitude et nécessitent de nombreuses interactions mais peuvent exacerber les conflits et les problèmes de communication. la construction aéronautique et spatiale. la conception et la réalisation de nouveaux produits (en automobile. le projet. la répartition des ressources est au cœur de la problématique. Cette problématique se rencontre dans les ateliers (par exemple usinage). les coûts et la qualité de fabrication des produits. tant au niveau de la demande que des processus de fabrication. . en génie logiciel). La complexité du problème provient en grande partie du grand nombre de tâches et des synchronisations nécessaires entre moyens et buts… Ces projets concernent par exemple la construction navale. les décideurs doivent gérer les ressources humaines et matérielles dans le temps. mais aussi. Dans le premier cas. dans les activités de service ou dans les problématiques multi-projets. Les commandes peuvent être nombreuses et chaque commande joue le rôle d'un nouveau projet. Les structures organisationnelles en gestion du temps et des ressources Afin d'optimiser les délais.

l’affectation des ouvriers. En fait. La gestion de production « classique » Classiquement.). • Le niveau opérationnel régit en détail la fabrication proprement dite. Il s’agit en général de définir un plan de production et un plan d’utilisation des moyens disponibles à moyen terme (6 à 18 mois par la planification et l’ordonnancement à moyen terme). le réordonnancement temps réel ou le lancement. Ce genre de structure a besoin d’un environnement relativement stable (demandes régulières. étant donné un ensemble de produits dont les caractéristiques technico-commerciales évoluaient peu. spécialisés et liés hiérarchiquement (voir un exemple sur la figure 13). la gestion de production met en place une structure hiérarchisée fonctionnelle. . investissement).24 Décision distribuée en gestion du temps et des ressources ? ? ? gestion de production : partage gestion de projet : grand nombre de de ressources tâches.. À ce niveau. À ce niveau.1. Généralement. concurrence faible . les décisions sont prises à court terme (jour ou semaine) par des services comme l’ordonnancement quotidien. les décisions se prennent à long terme (2 à 5 ans) par la direction (portefeuille d’activités.. durée importante figure 12 : gestion de projet et gestion de production I. • Le niveau tactique assure la gestion du travail et des moyens de production dans le cadre des décisions stratégiques. cette hiérarchie obéit à un modèle de résolution de problème. pendant très longtemps. etc.3. La coordination au sein de cette structure s’exerce a priori par un contrôle vertical (hiérarchique). l’objectif principal a été la recherche d’une très grande efficacité de l’outil de production. décomposant les décisions en trois niveaux : • Le niveau stratégique définit principalement la politique et les objectifs généraux de l’entreprise. Il définit par exemple le séquencement et l’ordonnancement des opérations de fabrication sur les moyens de production. toute l’organisation de l’entreprise est structurée par fonctions ou services. En effet.

2. sont chargés d’assurer l’intervention des acteurs-projet impliqués. Il fait circuler l’information et propose des suggestions aux différents intervenants. on désigne un facilitateur de projet que l’on peut considérer comme le véritable chef de projet. le chef de projet est responsable des activités. Dans la forme fonctionnelle (voir figure 14). aucun individu n’a la responsabilité du processus global. son rôle reste un rôle d’animateur. La gestion de projet « classique » Traditionnellement. Il a une autorité fonctionnelle lui permettant d’agir sur les chefs de projet-métier qui eux. Par contre. il n’a pas d’autorité hiérarchique sur le personnel amené à travailler sur le projet. DG Direction métier Chef de projet Acteurs métiers figure 14 : chef de projet en tant que facilitateur Dans la forme divisionnelle (voir figure 15).3. la coordination au sein de cette structure s’exerce a priori par un contrôle vertical (hiérarchique) et nécessite un environnement relativement stable. . Comme pour la gestion de production « classique ». Cependant. la gestion de projet est abordée de façon fonctionnelle ou divisionnelle. Ce sont les responsables hiérarchiques qui assurent l’allocation et la coordination des différentes personnes et ressources mobilisées dans le projet.Les structures organisationnelles en gestion du temps et des ressources Niveau stratégique Long terme (2à 5 ans) Plan directeur de production Programme de production Niveau tactique moyen terme (6 à 18 mois) Planification Volumes de production Niveau opérationnel Court terme (jour ou semaine) Ordonnancement Ordres de fabrication Système de production figure 13 : un exemple d'organisation en gestion de production 25 I.

Elle ne peut se mettre en œuvre que si la structure de l’entreprise est rapidement reconfigurable. diversifient leurs activités et leurs produits.3.26 Décision distribuée en gestion du temps et des ressources DG Domaine de pouvoir du chef projet Chef de projet métier figure 15 : chef de projet en tant que coordonnateur I. Les tendances actuelles DG figure 16 : chef de projet en tant que directeur (forme matricielle) Ces dernières années.1). On voit apparaître des structures matricielles ou adhocratiques qui englobent tout le cycle de vie du produit (de la conception au recyclage en passant par la production). les entreprises. Cette diversification permet de compenser une baisse de marché sur un produit par une hausse sur un autre produit. DG figure 17 : projet sorti (forme adhocratique) .3. face à un environnement de plus en plus concurrentiel et fluctuant (voir le paragraphe I.

I. on peut avoir conflit entre hiérarchie fonctionnelle et autorité du projet. 98]) mais nécessite une plus grande coopération et coordination entre les acteurs. En quoi consiste la coopération ? Peut-on envisager une coopération sans communication ? Ces questions font l’objet du chapitre qui suit. . En outre.4. complexe et fluctuant. Dans cette forme. tandis que les chefs métiers prescrivent la façon dont une tâche est réalisée. Dans les formes adhocratiques ou autonomes (voir figure 17). Conclusion Dans un environnement incertain. La mise en place de telles structures donne aux acteurs plus de flexibilité dans la gestion des règles ([Bazet et al. les entreprises revoient leurs structures organisationnelles classiques (hiérarchiques et fonctionnelles) et mettent en place des structures plus adaptées (matricielles et adhocratiques). les acteurs qui travaillent sur le projet sont physiquement et institutionnellement sortis des structures métiers pour être rassemblés sous l’autorité du chef de projet pendant la durée de leur intervention.Conclusion 27 Dans une forme matricielle (voir la figure 16). plusieurs projets peuvent coexister et. ce qui définit un problème de décision distribuée. le chef de projet (appelé directeur) planifie et contrôle l’activité du personnel sur le projet. se trouver en concurrence pour l’utilisation de ressources partagées . ainsi.

.

nous consacrons le chapitre qui suit à l’examen de points de vue complémentaires sur la coopération. . si elle améliore la cohérence des actions individuelles en leur permettant de mieux se situer dans l’action collective assumée par l’entreprise. nous présenterons l’approche dans laquelle nous nous inscrivons. De plus. La notion de contrainte fonde à la fois les modèles de résolution des outils d’aide à la décision locale. obéit cependant à certaines « maximes conversationnelles » dont il faut tenir compte pour améliorer la messagerie libre et proposer des outils de coopération dédiés à la décision distribuée. Enfin. Nous présentons notamment la perspective langage-action qui permet de reconnaître les actions associées à la production de certains énoncés et de les prendre en compte dans l’interprétation des conversations entre deux locuteurs. l’approche par contraintes. Celle-ci se caractérise par l’adoption du principe d’une rationalité limitée des acteurs au sein d’une organisation. le « workflow ». de coordination. Ensuite. ainsi qu’aux interactions entre ces agents. Nous réservons ensuite une place importante aux travaux relatifs aux systèmes multiagents. II. de coordination. grâce à l’effort que sa mise en place requiert en termes d’analyse et d’explicitation des processus et des règles appliqués. Dans un premier temps. Face à la nécessité d’atteindre des objectifs globaux et de partager des moyens commun.1. et le modèle de coopération entre les entités. les décideurs doivent coopérer. qui échangent et révisent une partie des contraintes prises en compte dans leurs modèles. Nous nous intéressons ensuite au rôle que joue la communication dans la mise en œuvre de ces différentes formes d’interaction. nous précisons la définition que nous associons aux notions de coopération. peut servir dans le même temps. nous présentons l’exemple d’organisations possédant un modèle formel très achevé des processus de travail et des flux d’information. Cette perspective méritait en effet d’être étudiée dans la mesure où la communication en langage naturel. Définition et aspects de la coopération Le sens commun ne permet pas toujours de bien distinguer les termes de coopération. de collaboration et de codécision. qui s’intéressent à l’intelligence émergeant d’un système artificiel défini comme une société d’agents coopératifs.Chapitre II Formalisation de la coopération – l’approche par contraintes Nous nous intéressons au problème de l'aide à la décision et à la coopération dans un contexte distribué. même limitée à des échanges formels dans un contexte de coopération dans le travail. lors de la mise en œuvre de ces processus. issus des sciences humaines. Cette nouvelle forme d’organisation. de codécision et de négociation. des conflits apparaissent ce qui engendre parfois des réajustements qui peuvent se faire au travers de négociations. Dans le but de se donner une définition pratique mais suffisamment consensuelle de la coopération. à mettre en évidence leur trop grande complexité et/ou leur inefficacité. des sciences cognitives et des sciences de l’ingénieur.

on voit qu’elle nécessite des interactions. à un niveau plus fin de détail.30 Formalisation de la coopération – l’approche par contraintes Pour préciser ces différentes notions. les renégociations se basent sur la décision déjà prise et les entités recherchent une nouvelle décision proche de l’ancienne. peuvent être perçues comme individuelles ou collectives. si la décision tarde à être prise ou s’ils n’arrivent pas à mettre en œuvre la décision). II. certaines actions élémentaires nécessaires pour atteindre ce but. Ainsi. 94]. En effet. des confrontations ou des négociations entre les entités agissantes. [Winograd 88]. une des entités peut demander à changer une décision déjà prise : c’est un processus de renégociation qui survient et qui vise à redéfinir une nouvelle décision (voir la figure 18). L’action coopérative ne s’attachera qu’à accomplir le ou les buts communs. Elles ont pour objet de prévenir ou de régler des conflits entre plusieurs entités. Définition de la coopération Une définition consensuelle de la coopération pourrait être la suivante : La coopération est une action collective vers un même but. etc. Nous nous proposons d’aider efficacement les individus dans la gestion des processus de coopération prédéfinis tout en autorisant les processus de coopération libres. si l’on s’intéresse à l’action collective en tant que processus. . En effet. Si un dialogue précède la décision. mais ces dernières peuvent également initier une nouvelle (re)négociation (par exemple.1. Durant un processus de coopération. nous renvoyons le lecteur aux travaux sur lesquels nous nous sommes appuyés : [Bazet 96]. Le processus de coopération peut être prédéfini (imposé institutionnellement. [Agostini et al. on a lors un processus de négociation visant à mettre d’accord l’entité qui génère la décision et celle qui doit la prendre en compte (pour l’exécuter par exemple). une entité qui génère une décision peut non seulement débuter une (re)négociation avec les entités qui devront la prendre en compte. il n’est pas nécessaire que toutes les entités aient exactement les mêmes buts. [Sadek 94a]. Cette définition est toutefois trop générale. De même. prise de décision négociations construction de la décision renégociations révision de la décision temps figure 18 : (re)négociations dans le processus de décision Les (re)négociations peuvent être initiées par une des entités ou venir de l’extérieur. des négociations peuvent survenir. [Bazet et al 98a]. des échanges. par des conventions sociales.) ou libre (les entités déterminent dynamiquement les buts communs et la forme d’interaction à mettre en œuvre pour y parvenir). De même. Souvent.1. par la hiérarchie.

non seulement. d’actions et de personnes Dans [Bazet el al.Définition et aspects de la coopération 31 II. la collaboration et la codécision.2. mais aussi. transport le week-end.2. II. Il est donc apparu des mécanismes de synchronisation des objets matériels. de rendre cohérent les actions des différents acteurs. Ces règles se traduisent donc par des contraintes temporelles. Par exemple. .1 La coordination Le principal problème de la coordination est la synchronisation des actions et la cohérence des actions individuelles par rapport à l’ensemble du processus.) contraignent le champ des actions possibles et influent sur les processus de coordination. Différents aspects de la coopération Plusieurs aspects de la coopération peuvent être identifiés. La coordination traite de l’organisation des actions dans le temps. on peut recourir à des règles explicites sur les prises de décisions (règles de précédence causale entre deux décisions ou bornes temporelles sur une ou plusieurs décisions). le plan a été identifié comme un outil de coordination qui permet. etc. L’activité de planification est de plus soumise à d’autres contraintes temporelles. Nous tentons de définir plus précisément trois aspects : la coordination. les règles juridiques et sociales (travail de nuit.1.1. Dans un processus de coordination des décisions. 99]. Elle a pour but de construire et d’exploiter un référentiel temporel commun permettant d’ordonner les actions individuelles. figure 19 une gamme d’assemblage : un exemple de synchronisations d’objets. de synchroniser dans le temps. des opérations à effectuer. Cet ordre est nécessaire soit parce que certaines actions en conditionnent d’autres (relation de causalité. des personnes (une illustration est présentée sur la figure 19). absolues ou relatives. contraintes diverses de synchronisation) soit pour régler à l’avance d’éventuels conflits provenant de la simultanéité de plusieurs actions (existence de ressources limitées).

Collaborer signifie travailler ensemble à l’exécution d’une certaine action pour produire un résultat final. Il se pose donc un problème de coordination toutes les semaines car l’ordonnancement. le terme de collaboration s’utilise à la place de celui de coopération lorsqu’il n’est pas possible.2 La collaboration et la codécision La collaboration est un autre aspect de la coopération. Ainsi. pertinent ou souhaitable de différencier les actions individuelles.32 Formalisation de la coopération – l’approche par contraintes La prise de décision.. Il y a donc un problème de coordination puisque l’ordonnancement. par exemple. le planning est calculé toutes les semaines et l’ordonnancement tous les jours. affectation des ouvriers.).). s’il veut être cohérent. entre les fonctions planification (calcul des volumes de production) et ordonnancement (séquencement des opérations. en gestion de production. doit attendre les résultats de la planification. En effet. nous avons vu au chapitre 1 que le planning (niveau tactique) est calculé moins fréquemment que l’ordonnancement (niveau opérationnel) et que le calcul de l’ordonnancement nécessite les décisions de planification. fabrication. En effet.1. attend les décisions provenant de la planification. les techniques issues de l’ingénierie concourante ou simultanée mettent l’accent sur l’aspect collaboratif de la coopération en impliquant tous les acteurs qui sont intéressés par le produit (commerciaux. pour lesquelles les décideurs ont besoin de se coordonner. des collaborations apparaissent.. Des contraintes de coordination existent. fonction de décision planification volumes de production ordonnancement t0 séquencement des opérations affectation des ouvriers coordination nécessaire entre les entités t moment de prise de décision figure 20 : un exemple de coordination entre planification et ordonnancement II. etc. Ceux-ci collaborent à la définition du produit et au suivi de celui-ci tout au long de son cycle de vie. Sur la figure 20.2. dans un souci de cohérence. . recyclage . la négociation peuvent être considérées comme de véritables activités. À l’occasion de la conception de nouveaux produits.

un exemple de codécision Décrire une collaboration renseigne assez peu sur les contraintes qui couplent les actions individuelles (coordination) ou sur les aspects relatifs à leur régulation (négociation). plus les mécanismes de coordination et de régulation devront être détaillés. Dans ce cas. on parle plutôt de codécision. nous proposerons une aide à la coopération et nous étudierons. Pourtant. La perspective langage-action La perspective langage-action considère que le langage est la première dimension de l’activité coopérative.2. Dans ce mémoire. plus la description d’une collaboration sera fine.La perspective langage-action 33 bureau d’étude fabrication commercial recyclage figure 21 : un exemple d'une collaboration autour d'un produit Si plusieurs acteurs collaborent en vue de prendre des décisions. plusieurs individus prennent une ou plusieurs décisions communes. C’est le résultat du vote (la décision prise) qui importe le plus. figure 22 : un vote. les processus de coordination et de négociation dans le domaine de la gestion du temps et des ressources. Une élection est un exemple typique de codécision (voir la figure 22). Dans son ouvrage sur L’énonciation Jean Cervoni ([Cervoni 87]) . II. plus particulièrement.

• La sémantique porte sur l’étude des relations entre les structures de langage et un espace de significations potentielles. Pour J. ou du moins une direction acceptée par tous ». en règle générale. à ce que les gens font avec le langage et non à la forme de celui-ci. • les actes illocutoires que l’on accomplit en disant quelque chose et à cause de la signification de ce que l’on dit. [Ferber 95]). • La pragmatique s’intéresse à l’utilisation du langage. L. le simple fait d’énoncer la phrase « je te promets que je t’emmènerais au cinéma demain matin ». Sa fonction première s’attache à définir le rôle du langage dans l’évocation et l’interprétation des actions. 87]. [Ferber 95].1. • Dans le domaine de la syntaxe. 97]). reconnaissent un but commun. [Winograd et al. [Schael 97]. la fonction du langage est tout autant d’agir sur la réalité et de permettre à celui qui produit l’énoncé d’accomplir.2. et référencé dans [Winograd et al 87]. Austin (dans son ouvrage de 1962 intitulé « How to do things with words ».2. La perspective langage-action s’attache essentiellement à la pragmatique. Selon la théorie des actes de langage.1 La théorie des actes de langage La théorie des actes de langage se fonde sur une opposition à « l’illusion descriptive » qui veut que le langage ait pour fonction première de décrire la réalité et que les énoncés affirmatifs soient toujours vrais ou faux. à travers la mise à disposition d’outils formels.P Grice « Le bon fonctionnement de la communication exige que soit respecté un principe de coopération : ainsi les participants d’un échange verbal. [Winograd 88]. même en l’absence d’un destinataire suffit à l’accomplissement d’un acte locutoire. [schael 97].34 Formalisation de la coopération – l’approche par contraintes résume ainsi les propos de H. au contraire. Nous nous intéressons à cette dimension car la coopération que nous nous proposons de favoriser entre décideurs. ce faisant. Cette section s’appuie sur [Moeschler et al. doit tenir compte des règles de coopération admises pour la communication en langage naturel. on s’intéresse à la structure des formes écrites (ou orales) du langage. Dans cette optique. [Winograd 88]. II. II. Elle comprend la définition des traits de sens attachés aux éléments individuels (mots) et le sens produit en les combinant (phrases). ou un ensemble de buts. la sémantique et la pragmatique. 97].1. une action. Cadre théorique En linguistique. on distingue généralement trois grands domaines d’étude de la langue : la syntaxe. Les règles syntaxiques (à l’écrit il s’agit par exemple des règles de grammaire) décrivent comment les éléments de base (lettres. on peut distinguer trois types d’actes de langage : • les actes locutoires que l’on accomplit dès lors que l’on dit quelque chose et indépendamment du sens que l’on communique. c'est-à-dire. Par exemple. les énoncés ne sont ni vrais ni faux (tiré de [Moeschler et al. mots…) peuvent êtres modifiés et combinés afin de former des structures complexes formellement acceptables. En énonçant la phrase de l’exemple précédent devant .

l’interlocuteur peut être persuadé de la bienveillance de l’émetteur.2. de prédiction ou de menace. • la conversation pour possibilités dans laquelle deux personnes négocient une modification du contexte dans lequel elles agissent (afin de générer des conversations pour action). conseils. les messages devront préciser explicitement le performatif (j’ordonne. les difficultés d’interprétation de certains actes de langage. il me les faut pour demain » (directif) <le magasinier> : « ok. etc.1. conseil. l’émetteur accomplit un acte illocutoire de promesse. je demande. dans laquelle deux personnes négocient une action qu’une des personnes effectuera pour l’autre.). etc. ou au moins de réduire. baptême. l’émetteur a accompli un acte perlocutoire. 97]).2 Les conversations Les actes de langage entre deux personnes sont des événements liés . les expressifs (félicitation. Par exemple. Les auteurs réduisent les classes d’actes de langages à trois classes. nomination. etc.) . le message peut contenir l’intention de l’acte de langage. Par exemple. je dis. II. aux prédictions. à savoir : • les actes de dire que qui correspondent grossièrement aux déclarations.) . les promissifs (promesse. <le magasinier> : « il manque deux composants » (représentatif ) <le chef projet> : « commandez-en . remerciement. je promets.). • les actes de demander si qui correspondent aux phrases interrogatives. invitation) . Afin d’éliminer. Par exemple. aux promesses. les directifs (ordre. aux assertions. • les actes de dire de qui correspondent grossièrement aux ordres. [Winograd et al 87] propose 4 types de conversations : • la conversation pour action. ils constituent des conversations. etc. • les actes perlocutoires que l’on accomplit par le fait d’avoir dit quelque chose et qui révèlent des conséquences de ce que l’on a dit. etc. la conversation suivante entre le magasinier et le chef projet permet d’identifier les 5 actes de langage. Afin d’optimiser la coopération et de diminuer les risques d’ambiguïté.) . Un outil d’aide à la décision peut intégrer ces classifications des actes de langage pour proposer plusieurs types de messages prédéfinis. je téléphone dès ce matin » (promissif) <le chef projet> : « je déclare le problème résolu » (déclaratif) <le magasinier> : « désolé de ce contre-temps » (expressif) Cependant. Si la compréhension par le destinataire de la phrase de l’exemple précédent change ses croyances.La perspective langage-action 35 un interlocuteur capable de la comprendre. . les déclaratifs (déclaration de guerre. etc. etc. • • • • • Searle a identifié 5 catégories d’actes de langage : les représentatifs (assertion. on ne sait pas si la phrase « il pleuvra demain » correspond à un acte de promesse. demande. offre. affirmation. Sperber et Wilson objectent que cette classification n’est pas toujours possible ni nécessaire (tiré de [Moeschler et al.

Chaque cercle représente un état de la conversation. B peut accepter (et s’engager à satisfaire les conditions). Les conversations portent peu souvent sur un changement du cadre d'interprétation. qui caractérise le futur cours des actions de B.A ction ) . À la suite d’une contre- A→ B faire :retirer (B. Les arcs sont des actes de langage que les participants A et B peuvent faire.Ac ter tion ’) 7 8 A→B:rejeter faire(B. annuler la requête ou émettre une contre-proposition. ete tio Ac r n) tio n) A→ fair B:ac e(B cep . C'est pourquoi nous ne détaillerons que les conversations pour action et pour possibilités. A→B:déclarer pas_satisfait(Action) A→B:demander faire(B. Ce graphe montre le cas d’une conversation initiée par une demande de A vers B. Cette conversation est constituée de demandes et d’engagements. L'activité habituelle d'un décideur est de prendre des décisions et de les communiquer (par des conversations pour action) mais aussi de préparer des décisions (avec des conversations pour possibilités). etire re( rej Ac r B. La demande est interprétée par chaque parti (A et B) comme ayant certaines conditions de satisfaction. Après la première demande (état 2).A poser n tre-pro A→B:co tion) c faire(B.A A→ B→ fair B:r fai A: e(B. • la conversation pour orientation dans laquelle les participants sont prédisposés à créer un contexte partagé pouvant servir de base d’interprétation pour les conversations futures.36 • Formalisation de la coopération – l’approche par contraintes la conversation pour clarification qui permet de gérer ou d’anticiper les blocages concernant les interprétations possibles de la condition de satisfaction d’une conversation pour action.Action’) B→A:retirer faire(B.Ac fai e fair poser n tre-pro B→ A:co tion’) c faire(B.Action) B→A:promettre faire(B.Action) A→B:déclarer satisfait(Action) 1 2 3 4 5 r ete n) rej tio A: .Action’) 6 9 figure 23 : la conversation pour action (adaptée de [Winograd et Flores 1986]) La figure 23 illustre l’évolution d’une conversation pour action sous la forme d’un graphe d’état. Cette conversation commence par une demande mais il existe un réseau similaire où la conversation commence par une offre. 1) Les conversations pour action Une conversation pour action est utilisée par deux personnes pour négocier une action que l’un effectuera pour l’autre.Action) B→A:informer fait(B.A c r tir e B→ re(B B:re tion) A→ (B.

2) Les conversations pour possibilité [Agostini et al 94] détaille les conversations pour possibilité. dépassé un certain délai après avoir informé A que le travail est terminé. A peut à nouveau proposer un nouveau point de vue.Ac → (B A ire fa B→A:retirer faire(B. en aucun cas.2.Action) 3 A→ B→ A fai B:r :re re( et faire(B fuser B.La perspective langage-action 37 proposition de B (état 6).Action) A→B:contre_proposer faire(B. lorsque celui-ci reçoit un message d’une autre personne. Les principales étapes d’une conversation pour possibilité sont l’ouverture. [Winograd 87] met en application la perspective langage-action. A déclare sa satisfaction. il interprète les engagements ou le contenu des messages. Par exemple. L’état 5 correspond à une fin idéale tandis que l’état 8 correspond à un état refusé. B peut considérer que A est satisfait (par défaut). Le . Celles-ci permettent à deux personnes d’explorer un déroulement possible des actions et créent un contexte favorable à ces dernières. Ce type de conversation. l’état 7 à un état supprimé et l’état 9 à un état non satisfait.A ce ( ac tio faire B: .2. Une fois que B s’est engagé (état 3). est capable de retrouver la conversation d’origine et lui propose différents types de réponses prédéfinies. Certaines conversations peuvent contenir plusieurs actes de langage implicites. Ensuite. B continue en proposant son point de vue. A→B:proposer faire(B. A propose un sujet. B exécute l’action et signale si l’action est réalisée ou pas. Le diagramme de changements d’état de la figure 24 montre une conversation pour possibilité. L’unité de base des communications n’est pas le message mais la conversation. Usage de la perspective langage-action Dans « The Coordinator ». Le logiciel guide l’utilisateur en lui proposant d’engager différents types de conversations et. Ainsi de suite jusqu’à que l’un des protagonistes soit d’accord avec l’autre (état 4) ou qu’un refus survienne (état 5) ou que la proposition soit supprimée (état 6). D’autres possibilités ne sont pas illustrées sur ce schéma. notamment celles constituées d’échanges portant sur la légitimité de l’action (vous devez faire ça !). Ce logiciel suit les conversations en cours et récapitule les engagements pris par l’utilisateur mais. la continuation et la clôture.Action) 1 2 B→A:contre_proposer faire(B. favorable à l’anticipation des prochaines conversations. Alors.Action’) 4 5 6 figure 24 : conversation pour possibilité II. rejeter la contre-proposition ou accepter cette contre-proposition.Actio Ac n) tio n) r fuser B:re ction’) pte n’) A → B.Action’) B→A:accepter faire(B. un logiciel d’aide à la conversation. irer . permet également de solliciter des suggestions d’autres personnes en vue de définir un consensus sur le sujet. A peut à son tour émettre une contre-proposition (et retourner à l’état 2).

le maniement d’information.1. grâce à cette modélisation. conversations face-à-face. conversations de groupe. en un temps limité. Les flux de travail ou « workflow » Les flux de travail ou « workflow » permettent de définir des processus prédéfinis de coopération et/ou de coordination d’un groupe de personnes. Comme pour « The Coordinator ». Les conversations sont divisées en quatre catégories : les engagements à faire (pour exécuter une action). II.38 Formalisation de la coopération – l’approche par contraintes logiciel demande également à l’utilisateur de fournir trois dates optionnelles pour chaque conversation : une date de réponse. d’une réunion. Définitions L’objectif de l’étude des flux de travail (ou workflow en anglais) est d’augmenter l’efficacité d’un groupe de personnes travaillant ensemble dans un but commun (et donc ces personnes coopèrent). Les tâches de traitement de l’information passent d’une personne à une autre selon un circuit conditionnel bien défini. Par contre. En effet. on peut essayer de modéliser la réaction de chaque intervenant dans la conversation en analysant le contenu du message (ce que ne font pas les deux logiciels présentés). Les problèmes de coopération et de coordination étant en grande partie résolus à l’avance. Naffa donne cette définition du workflow (lue dans [Nurcan 96]) : « travail coopératif impliquant un nombre limité de personnes devant accomplir. téléphone). II. Les applications workflow automatisent la gestion des flux d’information et de matériel suivant les spécifications d’un processus donné. Après une présentation des flux de travail. etc. une date à laquelle le travail doit être fait et une date d’alerte. [Agostini 94] décrit UTUCS (User-To-User Communication Support) un logiciel basé sur la perspective langage-action. envisager un support automatisé ou partiellement automatisé pour certaines conversations notamment les conversations pour action et les conversations pour possibilité. la fourniture d’information (donnée ou demandée).3. plusieurs personnes sont impliquées pour atteindre l’objectif global mais à des étapes différentes du déroulement du travail et cela individuellement à partir du moment où la . les personnes peuvent consacrer plus de temps aux tâches individuelles et suivre les procédures pour les tâches collectives. des tâches articulées autour d’une procédure définie et ayant un objectif global ». Ce logiciel aide un utilisateur à gérer des conversations transitant par différents médiums (messagerie électronique. Dans le cas du workflow. Le logiciel permet également de suivre les minutes d’une conversation. La théorie des actes de langage offre un cadre et un modèle pour les conversations entre individus. les engagements qui doivent être (pour modifier la distribution des rôles). il peut exister des interactions sans actes de langage (comme la transmission d’un document). l’unité de base des communications est la conversation. On peut. On a accès à deux dates : la date de la conversation et la date de fin au plus tard. De plus.3. nous présenterons deux modélisations de la coopération au sein des flux de travail. cette approche ne permet pas de modéliser toutes les interactions et surtout leurs effets. Ces dates permettent également au logiciel de déclencher une alarme ou de conclure une conversation par message implicite.

avant de transmettre une fiche de commande. La mise en place d’outils workflow coïncide souvent avec une réorganisation de l’entreprise. Dans une entreprise. de la réactivité. Ceci a pour conséquence des performances accrues (amélioration de la productivité. L’adoption d’une représentation commune du travail et son partage en libre accès permettent par exemple. Par exemple. le commercial peut s’assurer (et négocier) auprès du service de la faisabilité du produit. un contrôle du flux de travail. Cette réorganisation horizontale met l’accent sur les processus correspondant à des équipes de projets. Celui-ci fabrique un produit et transmet une fiche de suivi au service financier. le traitement d’une commande Les possibilités offertes par les outils de workflow sont de trois ordres : un guidage rigoureux des procédures. au gestionnaire de localiser rapidement les entités actuellement en charge d’une tâche. le commercial transmet les commandes des clients au service de production. La figure 25 montre un exemple de workflow. livraison commercial commande production bordereau de livraison fiche de suivi facturation figure 25 : un exemple de workflow. Cette représentation montre bien les transmissions de documents mais peut cacher des mécanismes de coopération.Les flux de travail ou « workflow » 39 personne « prend » la tâche. La tâche étant ainsi assimilée à l’objet (en général un document) qui matérialise son effet. . Celui-ci émet une facture qu’il transmet au client. il est possible de déterminer facilement l’état d’avancement d’un ensemble de tâches en localisant les objets dans le workflow. des délais de production et de la qualité des biens et des services). Les outils de workflow répondent technologiquement à cette réorganisation. La démarche de re-conception du travail autour d’un ensemble fini et simplifié de processus s’appelle « Business Process Reenginering » (BPR). un maximum d’automatisation. à une entité donnée d’évaluer la charge de travail qui va lui parvenir prochainement… Les workflows sont particulièrement adaptés pour modéliser les flux de documents administratifs. Une fois le produit livré. le service de livraison transmet le bordereau de livraison au service financier.

II. issu des conversations pour possibilités. Le workflow de déclaration (voir figure 27).3. une phase d’engagement (négociation). le modèle issu des réseaux de Petri bénéficie d’outils puissants pour vérifier que le workflow ne comporte pas de sources de blocage. est moins structuré et peut-être vu comme constitué d’étapes de communication récurrentes entre les participants.3. Modélisation de la coopération Afin de modéliser la coopération au sein d’un workflow (et donc la coordination au regard des définitions du workflow). Le modèle issu de la perspective langage-action propose une approche client-fournisseur qui n’existe pas dans l’autre approche. une phase de performance (exécution) et une phase d’évaluation (acceptation). deux courants se distinguent ([Nurcan 96]) : les modèles issus des réseaux de Petri et les modèles issus de la perspective langage-action.2. Ces deux types d’approches ont certaines caractéristiques communes : une approche « top-down » (on procède par affinements successifs) et la même finalité (diviser un processus en un nombre fini d’étapes et en décrire l’enchaînement). Par contre. qui se termine généralement par une déclaration finale commune.40 Formalisation de la coopération – l’approche par contraintes II. Le workflow d’action se décompose en 4 phases (voir figure 26) : une phase de requête (préparation). 1 l’initiateur ouvre la discussion Sujet de discussion 2 le partenaire continue la discussion figure 27 : le workflow de déclaration déclenché par l'initiateur vers un partenaire .1 La modélisation issue de la perspective langageaction 1 client demande d’action (phase requête) Pouvez-vous faire cela ? Oui. Les responsabilités et les relations entre intervenants sont clairement identifiées. je vais le faire 2 fournisseur accepte de le faire (phase d’engagement) Conditions de satisfaction 4 client accepte l’information et déclare sa satisfaction (phase d’évaluation) OK merci C’est fait 3 fournisseur effectue le travail et informe qu’il est fait (phase de performance) figure 26 : le modèle de workflow primaire décrivant les relations clients/fournisseur dans la perspective langage-action L’application de la perspective langage-action permet de créer deux types de workflow (voir [Schael 97]) : le workflow d’action et le workflow de déclaration.2.

On peut décomposer chaque workflow par d’autres workflows. Il se décompose en quatre parties : définition de l’objet de la réunion.3. Il s’agit de la définition d’un workflow de réunion.2. . réunion et compte-rendu. prise de rendez-vous.Les flux de travail ou « workflow » 41 [Schael 97] modélise ainsi les flux de conversations dans les différentes procédures. les acteurs et le contrôle des activités.2 La modélisation par réseau de Petri et par réseau de contrôle d’information ICN (Information Control Nets ou réseau de contrôle d’information) est un formalisme mathématique permettant de modéliser graphiquement une procédure ([Straub et al 96] et [Kim et al 98]). II. Demande de accord sujet A : constitution de participant régulateur l’ordre du jour Accord pour répondre convocation Acceptation Sujet proposé régulateur participant B : convocation des participants Organisation d’une réunion régulateur RÉUNION Accord pour participation participant régulateur Demande d’évaluation régulateur Accord pour évaluer Prise en compte Réponse participation Annonce de l’intérêt C : conversation / débat participant Prise en compte Proposition de solution / résolution E : évaluation de la participant réunion Avis sur la Prise en compte de réunion la réponse Prépare une question Participant (1) Veut répondre D : question / Participant réponse (n-1) réponse Prise en compte de la réponse figure 28 : un exemple de représentation de conversation (tiré de [Schael 97]) Cette approche permet de modéliser les processus de façon claire et précise en mettant l’accent sur les relations clients-fournisseurs. Les ICN permettent de représenter les activités. un exemple de représentation de conversation est montré sur la figure 28. Ainsi. les procédures.

le passage de réseau ICN à un réseau de Petri se fait simplement : [Straub et al 96] propose une table de traduction des composants ICN en composants de réseau de Petri (voir figure 30). . • les états « surchargés » : l’état (le marquage) final a un jeton dans le nœud de sortie et un jeton dans un nœud intérieur. • les activités inutiles : leurs sorties ne sont utiles pour personne. Après avoir pris la commande. le produit est fabriqué sur un des sites de production (connecteur ou).42 Formalisation de la coopération – l’approche par contraintes production (site 1) i prise de la commande (commercial 1) Légende : livraison o fin production (site 2) activité facturation connecteur et connecteur ou figure 29 : un exemple de workflow par ICN (reprise de l’exemple de la figure 25) Un exemple de processus ICN est montré sur la figure 29. ICN Réseau de Petri A Début A Fin A figure 30 : la table de correspondance entre les composants ICN et les composants réseau de Petri On peut représenter les processus par des réseaux de Petri. La modélisation par réseau de Petri permet de vérifier certaines propriétés du processus modélisé. En même temps (connecteur et). le processus est fini. D’ailleurs. les réseaux de Petri permettent de détecter • les blocages : le jeton n’arrive jamais au nœud de sortie. le produit est livré. Puis. Une fois le produit livré et la facture réglée. Il reprend et complète l’exemple présenté sur la figure 25. En effet. • les réponses multiples : on peut avoir plusieurs jetons dans le nœud de sortie. une facture est adressée au client.

un ou plusieurs jetons représentés par des ronds noirs. Il est borné car chaque place peut contenir un jeton au plus.un réseau de Petri est dit vivant si et seulement si. il existe un autre marquage M’ atteignable depuis M qui rend t franchissable. transition franchissable transitions franchissables figure 31 : tous les états (marquages) d'un réseau de Petri En plus de cette représentation graphique. pour chaque marquage que l’on peut atteindre M et pour chaque transition t. L’état du réseau. quand cette transition est tirée. Les transitions sont les composants actifs du réseau : elles changent l’état du réseau en accord avec les règles de tirage. À tout instant. . Les connexions entre deux arcs de même type ne sont pas autorisées. toutes les places ont un nombre de jetons borné. une place contient zéro. la transition consomme un jeton de chaque place précédent la transition et produit un jeton dans chaque place suivant la transition. Tout d’abord. Le réseau de la figure 31 est vivant et borné. est constitué par la distribution des jetons à travers les places. Les nœuds sont connectés par des arcs orientés. . Les places sont représentées par des cercles et les transitions par des rectangles (voir la figure 31 pour un exemple de réseau de Petri). Ensuite. Cette propriété est intéressante car elle s’assure qu’il n’y aura pas de blocage dans le réseau et que chaque transition est franchissable depuis n’importe quel marquage.Les flux de travail ou « workflow » 43 Les réseaux de Petri Les réseaux de Petri classiques sont des graphes avec deux types de nœuds appelés places et transitions. Il est vivant car depuis n’importe quel marquage on peut aller dans un autre marquage qui rend n’importe quelle transition franchissable. il existe un formalisme mathématique (non présenté ici) qui permet de définir et de démontrer certaines propriétés des réseaux de Petri. appelé aussi marquage. une transition est franchissable si toutes les places avant la transition t contiennent au moins un jeton.un réseau de Petri est dit borné si et seulement si pour chaque marquage. Ainsi : .

La transformation en réseau de Petri de l’exemple donné précédemment (figure 29) donne le réseau de la figure 32. par exemple. les workflows ne font pas d’hypothèses sur le comportement attendu de chaque entité (il doit faire le travail) ni sur les effets des décisions sur une entité. II. livraison production 1 i prise de commande production 2 facturation o figure 32 : réseau de Petri correspondant au réseau ICN de la figure 29 Les réseaux de contrôle d’information et les réseaux de Petri permettent de représenter graphiquement les processus et de vérifier leur validité à l’aide d’outils mathématiques.1. etc. Les workflows permettent de représenter et de modéliser les processus de travail et les flux d'information. Dans cette discipline.4. . Définitions L’intelligence artificielle distribuée (IAD) s’intéresse aux méthodes qui permettent des interactions cohérentes dans des systèmes informatiques distribués. d’information. en prouvant que le réseau de Petri (auquel on a ajouté une transition qui va du nœud de fin au nœud de début) est vivant et borné. Les flux de travail montrent rarement les processus de négociation qui sont parfois nécessaires. Cette modélisation formelle permet d'assurer la cohérence des actions individuelles en leur permettant de mieux se situer dans l'action collective et de vérifier que les processus ne provoquent pas de blocage et des actions inutiles. L’approche multi-agents s’intéresse notamment à la représentation des connaissances. On peut rapidement montrer que ce réseau auquel on a ajouté une transition qui va de o vers i (la transition en pointillé) est vivant et borné : toute transition peut être tirée depuis n’importe quel marquage accessible et il y a au plus un jeton par place. Par contre. Cette modélisation peut être alors implantée sur un logiciel adéquat et aider les différents acteurs à représenter l’état d’un processus (sources de blocages…) et à le gérer (passage de documents.44 Formalisation de la coopération – l’approche par contraintes La vérification des bonnes propriétés se fait. II.4.). à la mise en place de protocoles de communication et à la construction de plans d’action. La coopération dans l’approche multi-agent Les systèmes multi-agents s’intéressent à l’intelligence émergeant d’un système artificiel défini comme une société d’agents coopératifs. Les techniques développées pour les systèmes multi-agents permettent de mettre en œuvre les concepts développés par la perspective langage-action et les workflows pour la réalisation d’outils d’aide à la décision et à la coopération.

qui sont des objets particuliers (A⊆O) . un ensemble d’opérations Op permettant aux agents de A de percevoir. . il est même prévu que l’agent change ses buts. Il est aussi capable de percevoir et d’agir sur son environnement. Chaque agent a ses propres buts et s’intéresse à sa propre survie. un ensemble de relations R qui unissent ces objets entre eux. produire.La coopération dans l’approche multi-agent 45 on peut distinguer la résolution distribuée de problèmes. Il dispose donc d’une certaine liberté de manœuvre. un ensemble d’objet O. ses accointances. Dans certains cas. le système doit effectuer certaines tâches globales et il existe un but. on peut retenir que les agents disposent d’une certaine autonomie. de ces représentations et des communications qu’elle reçoit. mais par des tendances. Voici les définitions que donne [Ferber 95] des agents et des systèmes multi-agents. Il est capable d’accepter ou de refuser les requêtes provenant d’autres agents. des systèmes multi-agents (SMA). dans laquelle le système distribué a été conçu par un seul homme (ou une équipe).] Ces objets sont passifs. que l’on appellera lois de l’univers. transformer et manipuler des objets de O. qui influence les préférences de tous les agents du système. En d’autres termes. Les préférences des agents proviennent des différents concepteurs d’agents. de but global qui influence les préférences des agents. Il n’existe pas.. ils ne sont pas dirigés par l’utilisateur ou par d’autres agents. qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une fonction de satisfaction. dont le comportement tend à satisfaire ces objectifs. consommer. dans laquelle le système distribué est composé d’agents conçus indépendamment. Définition : on appelle système multi-agents un système composé des éléments suivants : un environnement E. [Ferber 95] signale le cas particulier où A=O et E=∅. et en fonction de sa perception.. [. Définition : on appelle agent une entité physique ou virtuelle qui est capable d’agir dans un environnement. Les systèmes muti-agents visent à représenter une société d’individus ou d’agents. détruits et modifiés par les agents. qui ne dispose que d’une représentation partielle de cet environnement [. les relations R définissent un réseau : chaque agent est directement lié à d’autres agents. c’est à dire un espace disposant généralement d’une métrique. à la conception. qui est capable de percevoir (mais de façon limitée) son environnement. Il ne fait pas que raisonner. voire de survie. qui peut éventuellement se reproduire. lesquels représentent les entités actives du système. c’est à dire qu’ils peuvent être perçus.]. qui possède des ressources propres. Pour la résolution distribuée de problèmes. à la conception. créés. des opérateurs chargés de représenter l’application de ces opérations et la réaction du monde à cette tentative de modification. qui peut communiquer directement avec d’autres agents.. qui possède des compétences et qui offre des services. Dans ce cas là. en tenant compte des ressources et des compétences dont elle dispose. qu’elle cherche à optimiser). De cette définition. un ensemble A d’agents..

2. La nature du canal de communication joue un rôle important dans la communication. Les domaines d’intérêts de ces domaines d’application peuvent être la conception de protocoles ayant certaines propriétés. connexité dans le réseau. la robotique distribuée (des robots autonomes). les interfaces utilisateurs .. la construction de mondes hypothétiques. Les protocoles de communication entre agents Les concepteurs de systèmes multi-agents doivent fixer des protocoles de communication entre agents. Ce mécanisme . par exemple. le message est envoyé à tout un ensemble d’agents selon un mode appelé diffusion (broadcasting en anglais). l’apprentissage.2. On peut distinguer trois sortes d’acheminement de message. Il s’agit. Ce type de communication est notamment employé en robotique où les robots peuvent envoyer des signaux par ondes radio. tableau noir et est visible de tous les agents (ou seulement d’une classe particulière). Selon les systèmes. La liste de diffusion est établie selon une relation de voisinage (proximité dans l’environnement. Les autres agents ne peuvent pas recevoir ce message. Lorsque le destinataire est connu de l’émetteur.1 Les catégories de communication Plusieurs formes de communication entre agents peuvent être mises en oeuvre et dépendent fortement du milieu dans lequel les agents vont évoluer.) ou selon les capacités de ces agents. etc. Les interactions sont essentiellement des communications intentionnelles. Elles varient suivant la nature du médium ou la nature de la liaison émetteur-destinataire.. la représentation des connaissances et la construction de plans d’actions.4.46 Formalisation de la coopération – l’approche par contraintes Ces systèmes sont appelés systèmes multi-agents purement communicants. Nous allons plus particulièrement nous intéresser aux protocoles qui régissent les communications entre agents. • L’acheminement par voie d’affiche : un agent qui désire communiquer place son message sur un espace commun appelé tableau d’affichage. II. appelée aussi communication selon un mode point à point. la simulation multi-agent. les protocoles peuvent être fixés pour toujours (la plupart du temps) ou changés au cours de la vie des agents II. Si le destinataire n’est pas connu de l’émetteur ou s’il veut faire une annonce publique. Les systèmes multi-agents sont utilisés dans de nombreux domaines comme la résolution de problèmes distribués. Pour plus de détails sur ce paragraphe. Ce type de communication est très utilisé dans les systèmes dynamiques où des agents apparaissent et disparaissent. ce dernier peut lui adresser des messages en particulier et ainsi instaurer une communication individuelle. • L’acheminement par propagation d’un signal : un agent émet un signal qui se diffuse dans l’environnement et dont l’intensité décroît en fonction de la distance. du courrier électronique. • L’acheminement direct est le mode le plus simple : un message envoyé par l’émetteur est directement transporté au destinataire par le canal de communication. on pourra se reporter au chapitre 6 de [Ferber 95].4.

d’une certaine façon. performatifs manquants (comme les promissifs c'est-à-dire que les engagements ne sont pas prévus). Les conversations sont.4. Ce langage reste général et n’est pas contraignant. KQML (« Knowledge Query and Manipulation Language ») a été développé par le DARPA aux États-Unis. exécuter. Les conversations sont issues des schémas de la perspective langageaction. ce langage montre quelques lacunes comme l’a souligné [Cohen et al 1995] : ambiguïté et imprécision (la signification des performatifs est donnée brièvement en langage naturel ce qui les rend vagues et confus).La coopération dans l’approche multi-agent 47 d’acheminement combine à la fois les caractéristiques de l’acheminement direct et de l’acheminement par propagation. Un grand nombre de performatifs a été défini dans cette norme : demander. etc. retirer. informer. annoncer. ce langage ne fait pas d’hypothèses sur le contenu des messages. insérer. il existe un langage de communication entre agents (agent communication language ou ACL en anglais) « standard ». le plus souvent. Les messages sont construits. Les messages sont écrits en texte selon une syntaxe proche du LISP (voir un exemple sur la figure 33) et contiennent un certain nombre de paramètres comme l’expéditeur. effacer. décrites par des automates à états finis ou par des réseaux de Petri. Enfin. Les conversations (c'est-à-dire la séquence des messages entre agents) sont représentées habituellement par des automates à états finis (on pourra se référer à la figure 23 . Cependant. les bases de données ou de documents (comme Lotus Notes) comme des systèmes fonctionnant par voie d’affiche. le contenu. Ce langage laisse au concepteur d’un agent le choix d’implémenter tout ou partie des performatifs et même l’autorise à en ajouter. L’Agent A envoi cette demande à l’agent B ( evaluate :language KIF :ontology motors :reply-with q1 :content (val (torque motor1) (sim-time 5))) et l’agent B répond par : (reply :language KIF :ontology motors :in reply-to q1 :content (scalar 12 kgf)) figure 33 : l'agent A envoie une simple demande à B qui renvoi une réponse Pour l’élaboration de messages.2 Les messages et les conversations Les agents s’échangent des messages et ceux-ci forment des conversations.2. la plupart du temps. etc. selon un schéma issu de la théorie des actes de langage. le ou les destinataires. Chaque message est aussi appelé performatif. performatifs inutiles et incohérents (certains performatifs ne sont pas des actes de langage). ce langage donne des indications pour construire des conversations : certaines séquences de messages étant autorisées (prévues). II. De plus. On peut voir.

La figure 34 montre un réseau de Petri correspondant à une conversation pour action. Pour une description plus détaillée ou une bibliographie plus importante. Agent A Agent B DemanderFaire(P) DA DB B ne veut pas faire P A veut que P soit fait A ne peut pas faire P RefuserFaire(P) B veut bien faire P AR1 AccepterDemande(P) BR EchecFaire(P) ImpossibleFaire Achevé(P) AR2 NotificationFin(P) DA Échec DA satisfaction FB figure 34 : modélisation d'une conversation par réseau de Petri II. Au bout d’un certain temps (ou quand tous les agents ont répondu).3. les états internes des deux agents et leur comportement.4.4. dont les places correspondent aux états internes de l’agent.1 Approches générales Pour savoir quoi. les récepteurs évaluent l’appel et répondent en faisant une offre. Si un agent ne peut pas faire une tâche. Les transitions correspondent soit à des synchronisations dues à la réception de messages soit à des conditions d’application des actions. l’initiateur retient la . la plupart des concepteurs se basent sur une modélisation de l’agent. Quelques approches dans les systèmes multi-agents II. et selon quelle stratégie. Chaque agent est décrit par un sous-réseau de Petri. Il s’agit d’un système opportuniste d’allocation de tâches fondé sur un protocole d’appel d’offre. 92] pour une bibliographie non commentée. Les messages en cours d’acheminement sont représentés par des places supplémentaires qui raccordent les agents A et B de manière à ne plus former qu’un seul réseau. [Smith 1980] a développé un modèle de distribution de tâches et des problèmes appelé réseau contractuel (contract net). on pourra voir [Ferber 95] ou [Kraus et al.48 Formalisation de la coopération – l’approche par contraintes et à la figure 24) ou par des réseaux de Petri. quand communiquer. il émet un appel d’offre sur le réseau. L’intérêt des réseaux de Petri est de pouvoir représenter à la fois les échanges entre agents.3. en particulier ils se basent sur une modélisation du raisonnement des agents. 95] et même [Bond et al. Nous allons voir très rapidement quelques approches.

les agents ont les mêmes capacités (ils sont identiques). Cette approche peut facilement être utilisée en robotique (si tous les robots sont identiques). ils font un certain nombre d’hypothèses : les agents cherchent à maximiser une fonction d’utilité. Par contre.La coopération dans l’approche multi-agent 49 meilleure offre. cette approche est très difficilement applicable. Une autre tendance vise à modéliser les agents grâce à une logique modale. on peut avoir des agents hétérogènes sur le réseau. Comme précédemment. une inadéquation pour les agents non purement communicants (« les actions sont considérées comme des constructions d’évènements et non comme des opérations applicables dans le monde ») et surtout un moteur d’inférence très difficile à mettre en œuvre (il faut faire toutes les preuves « à la main »). Il permet aux agents de ne pas connaître toutes leurs accointances et. ils définissent une stratégie de conversation pour que les deux agents tirent un bénéfice et que les négociations aient certaines propriétés : efficacité. le but (GOAL). Dans cette approche. même si cette théorie est intéressante grâce à sa formalisation des actes rationnels. les modalités de base sont la croyance (BELief). engagement relatif…) et formalisent un nombre important de propriétés sur l’intention. l’événement qui va arriver ensuite (HAPPENS) et l’événement qui vient de se produire (DONE). des intentions ou/et des buts. Ainsi. Par contre. [Rosenschein et al 94] et [Zlotkin 96] analysent les systèmes multi-agents au travers de la théorie des jeux. Des séquences d’événements peuvent être représentées et permettent de construire des « mondes » possibles et de raisonner sur l’action. etc. Cette approche offre un mécanisme d’allocation de tâches relativement simple à mettre en œuvre. pour résoudre des problèmes de transport (des camions doivent livrer des containeurs). . notamment. les négociations sont isolées (on ne s’engage pas pour une future négociation et on ne se souvient pas des précédentes). les agents peuvent transformer leur fonction d’utilité en une fonction commune à tous les agents. [Ferber 1995] signale que. des séquences d’événements peuvent être représentées. U et C. Ceci permet d’énoncer des conditions sous lesquelles un agent peut abandonner un but. Le principe de ces stratégies est un fonctionnement par offres alternatives pour explorer l’espace des solutions préférables jusqu’à arriver à un « équilibre ». Il s’agit essentiellement de modéliser un agent. Dans le cas où les agents n’ont pas les mêmes capacités. [Cohen et al 1990] et [Cohen et al. Ils arrivent à donner des conditions pour que les stratégies de négociations garantissent les propriétés recherchées. [Kraus et al 95] et [Kraus 91] adaptent cette théorie pour éviter que les agents passent trop de temps à négocier. il fait l’hypothèse que les différents agents sont totalement coopératifs. Pour cela. [Sadek 94] propose de représenter les attitudes mentales primitives de croyance. Ces approches se basent sur des opérateurs modaux pour représenter des croyances. 1995] ont défini une logique de l’action rationnelle. Ils donnent d’ailleurs quelques exemples de stratégies. etc. Ces modalités de base combinées à des axiomes et à un modèle permettent de spécifier comment l’agent s’est engagé sur ces buts (engagement fanatique. distribution (pas d’agent réglant les conflits). symétrie. stabilité. elle présente quelques lacunes. incertitude et choix par trois opérateurs modaux K. puisque les agents destinataires évaluent l’appel d’offre. Cette approche est appliquée à la coopération entre l’homme et un agent artificiel (qui peut être plongé dans un système multiagent). où les agents ont tout intérêt à relier les négociations entre elles ou bien ne peuvent pas facilement établir une fonction d’utilité commune (voire individuelle). qu’il travaille collectivement ou pas. simplicité.

De plus.3.1). pour l’instant. elle n’étudie pas les structures matricielles (où un agent peut avoir plusieurs responsables). dans les systèmes multiagents. les communications entre agents (synchrones et asynchrones) et sur l’observation de l’environnement. d’utiliser la puissance d’inférence de la logique et la représentation graphique des réseaux de Petri. Cependant. Il s’agit des mêmes méthodes utilisées dans les approches objet pour modéliser leur comportement. [Azema et al. restreinte au réordonnancement d’atelier. Pour l’instant. 97]. Cette approche est très intéressante car elle s’applique à aider et à impliquer le responsable d’une machine dans le processus de réordonnancement. l’étude n’a porté que sur une cellule de production. Ainsi. Ceci permet d’utiliser un langage de programmation. sa complexité ainsi que la réduction de la réactivité des agents. La description du comportement de l’agent est souvent couplée à l’utilisation de la logique « classique » ([Moldt et al. cette étude est. Cependant. 99]. . les réseaux de Petri permettent de détecter des blocages et des comportements anormaux. on met plus l’accent sur la dynamique du système (création et destruction d’agents). en s’appuyant sur des critères communs comme la performance de la solution (minimisation du retard).3. Des critères d’évaluation permettent à l’agent logiciel de proposer et d’ordonner les solutions d’ordonnancement : il existe une fonction d’évaluation locale et une fonction d’évaluation globale. Le protocole utilisé est très inspiré du protocole par réseau contractuel (voir la section II.50 Formalisation de la coopération – l’approche par contraintes Les réseaux de Petri sont utilisés dans les systèmes multi-agent pour représenter le comportement des agents ([Chainbi et al 96]). De plus.4. L’architecture générale est constituée de trois niveaux (comme le montre la figure 35).4. deux machines peuvent s’échanger des tâches. si un agent me demande une information que je possède alors il faut la lui transmettre. elle fait apparaître la possibilité de régulations horizontales (entre agents de même nature) et verticales (en faisant intervenir la hiérarchie). 98]). [Vernadat et al. II. L’utilisateur associé à chaque M_agent dispose d’une place importante puisque l’approche prend en compte le fait que les agents ne sont pas totalement altruistes ni coopératifs et prends en compte l’autonomie des agents. si un agent a besoin d’aide alors il faut essayer de l’aider . Ils cherchent à minimiser l’impact d’un aléa en évitant de recalculer entièrement l’ordonnancement prévisionnel préalablement établi. La communication entre agents passe également par le respect de « règles sociales » : par exemple. De plus.2 Approches en gestion du temps et des ressources [Tranvouez et al 99] et [Espinasse et al 97] traitent des potentialités de la Résolution Coopérative et Distribuée de Problèmes pour les problèmes de réordonnancement d’atelier. C'est-à-dire que la population d’agents est constituée uniquement de machines qui sont homogènes (les décisions portent sur des tâches à réaliser).

et non structurés (comme le choix de la remise en cause ou non de l’ordonnancement prévisionnel).La coopération dans l’approche multi-agent 51 S_agent : responsable de production C_agents : coordinateurs de cellules M_agents : associés aux machines de production d’une cellule figure 35 : l'organisation multi-agent pour le réordonnancement d'atelier [Trentesaux 97]. une architecture multiagent est proposée (voir la figure 36). Une fois. la ressource goulot identifié le superviseur ordonnance les tâches qui lui sont allouées en fonction des objectifs globaux de production. un agent peut avertir du besoin de réévaluer les charges et mener ainsi un nouvel ordonnancement. une étude sur ce que pourrait être une interface graphique et sur l’apport de techniques de résolution multicritères est faîte. Ici. L’exploitation d’une approche multi-critère permet d’intégrer un ensemble de contraintes spécifiques à la fois au domaine et à l’opérateur. Les tâches non planifiées (celles qui disposent d’une marge temporelle) sont allouées dynamiquement selon un protocole de communication. Si une perturbation trop conséquente intervient. processus peu structurés (gestion des files d’attente du stock d’entrée pour les ressources non-goulots). Cette approche met surtout l’accent sur les collaborations entre le superviseur et les opérateurs mais on se demande quelles peuvent être les relations entre opérateurs. Le rôle du superviseur est principalement de détecter dynamiquement la ressource goulot en fonction des charges de production et de gérer la cohérence globale des décisions locales. pour proposer une aide efficace à l’utilisateur. on distingue deux types de coopération : l’une verticale entre l’opérateur et l’agent et l’autre horizontale entre agents. [Trentesaux 98] propose d’intégrer l’opérateur humain pour le pilotage réactif et distribué de systèmes de production. Cette approche met l’accent sur les problèmes de coopération homme-machine. Les processus non structurés sont a priori les plus complexes à décider et nécessitent l’intervention de l’opérateur tandis que les processus structurés peuvent être gérés par une méthode algorithmique sans l’intervention humaine. Ainsi. Les processus décisionnels sont partagés en trois catégories : processus structurés (comme le choix de la ressource goulot). . Pour la mise en œuvre.

etc. une architecture agent permet de mettre en œuvre un workflow.52 Formalisation de la coopération – l’approche par contraintes opérateur Coopération verticale agent superviseur Niveau superviseur Niveau opérateur Niveau agent Niveau ressource opérateur Coopération verticale agent Coopération horizontale ressource opérateur opérateur agent agent ressource ressource ressource ressource figure 36 : architecture des agents dans [Trentesaux 98] Dans [Vercouter el al 99]. L'implémentation de cette approche a été faite avec le langage Java. Les conversations et négociations sont prises en compte au travers des engagements pris entre plusieurs décideurs. Du point de vue de l’aide à la décision et à la coopération en gestion du temps et des ressources. L'application consiste à organiser les activités des acteurs (dans le temps) et à les contrôler. on peut distinguer deux approches : • les approches qui mettent l’accent sur l’aspect coopératif.). etc. Les agriculteurs modélisés par des agents gèrent leur exploitation. L'agent assiste et représente l'acteur dans le système. Ces approches sont appliquées dans un cadre général et ne prennent pas en . Un agent logiciel qui assiste un acteur est composé de différents agents primitifs comme les agents de décision. l'approche permet de simuler des processus de négociation en agronomie. L'acteur du système exécute les tâches du processus (rédaction. réutilisabilité. Conclusion L’approche multi-agent propose des modèles d’organisation d’une population d’agents. flexibilité). II. Ceux-ci doivent négocier le type d'interventions qu'ils font faire sur leurs parcelles en fonction d'une contrainte globale de pollution (un cours d'eau avoisinant risque d'être pollué au nitrate). L'exemple choisi concerne la rédaction de documents techniques en télécommunication. En effet. relecture.4. Dans [Aknine et al 99]. la proposition envoyée pourra être modifiée par l'agent qui l'a reçue. L'architecture présentée est caractérisée par la récursivité et axée sur trois aspects (mobilité. Le protocole de négociation est proche du protocole contract net. un agent va envoyer des propositions à l'ensemble de ses accointances et attendre des réponses individuelles. Pour l'instant.4. Elle permet également de spécifier et de mettre en place des protocoles de communication entre les agents. À chaque acteur est associé un agent logiciel. cette approche n'a pas été validée sur le terrain. les agents de perception. les agents d'exécution. Le protocole de négociation employé utilise des concepts du protocole contract net. Cependant.

II. II. le décideur peut également remettre en cause ces décisions. prise de décision le choix effectué dans l’espace d’action et remise en cause d’une décision le fait de remettre en cause le cadre de l’action. un décideur ne peut pas avoir connaissance de tous les paramètres pouvant l'influencer. La décision recouvre plusieurs aspects. La prise de décision est effectuée par un ou des opérateurs humains éventuellement assistés par des systèmes d’aide à la décision. rationalité limitée au paragraphe I. auprès des personnes compétentes au plus près des endroits où peuvent survenir des aléas. il existe un supérieur hiérarchique qui contrôle la structure et distribue les tâches à effectuer. La prise de décision est donc déléguée. cette distribution entraîne un besoin de coopération pour que l'organisation survive (un des buts de la coopération). L’approche par contraintes L’approche par contraintes. Il est donc impossible de prévoir toutes les conséquences des décisions qui seront mises en œuvre. s’appuie sur l’analyse du problème de décision en termes de contraintes. abusivement. Dans la suite. • les approches en gestion du temps et des ressources. Les décisions prises sont de même nature (concernant les opérations). nous appellerons. il n’y a aucun moyen d’évaluation des décisions négociées et donc d’appréciation de l’autonomie du décideur. Enfin.1). Ainsi. Nous considérons que la prise de décision s’effectue au travers d’un réseau de centres de décision. elle vise à redéfinir l’espace des actions possibles. tous les événements futurs ne sont pas prévisibles. un protocole basé sur le « contract net protocol » de Davis peut être appliqué. distribuée. En particulier. Ceci permet de prendre des décisions en contexte et de réagir plus rapidement aux aléas. la décision est un choix effectué dans un espace d’actions possibles : cet espace est défini a priori par un ensemble de contraintes et la décision sera localisée à l’intérieur de ce cadre de dépendance.5. Un centre de décision correspond à une fonction de décision. la décision consiste à choisir entre le fait de respecter un espace d’actions prédéterminé ou bien à redéfinir un espace d’action (voir le chapitre 1 de la partie 3 de [Hennet 98]). De plus. Il y a séparation entre les processus de négociation et les processus de prise de décision locale. Introduction Pour prendre des décisions. Les décideurs échangent des opérations à effectuer. et donc. Notons que prendre en compte des décisions ne signifie pas forcément respecter ces décisions .L’approche par contraintes 53 compte les particularités des problèmes que l’on souhaite étudier. la décision peut porter sur la définition même de ce cadre : en ce sens. De plus. développée dans un cadre pluridisciplinaire. Mais. Tout d’abord.1. Cependant. Un décideur est doublement contraint : il doit prendre en compte les décisions d'autres entités et il doit faire en sorte que ses décisions puissent être prises en compte. les décisions d'une entité doivent être prises en compte (voire mises en œuvre) par d'autres. . Le décideur prend donc les décisions du mieux qu'il peut en fonction du contexte où il se trouve (cf.5. En considérant que les décideurs sont totalement coopératifs. Cette approche est issue des travaux de l’analyse sous contraintes (voir chapitre suivant) des problèmes d’ordonnancement confrontés à des travaux en sociologie du travail sur l’autonomie et la régulation du travail. à remettre en cause l’espace d’action initial.2.

la décision dans un centre est contrainte par les décisions prises par les centres en amont . Commercial Commandes Gestion des ressources Disponibilités Études et méthodes Approvisionnement Dates de disponibilité Lancement Ordres de fabrication Atelier de fabrication figure 38 : exemple de réseau de centres de décision Gammes de fabrication .2. La figure 38 montre un réseau de centres résultant d’une analyse sur site industriel (présenté dans [Huguet et al. Réseau de centres de décision décision décision décision Contraintes du centre considéré décision décision décision Centres en amont Centres en aval figure 37 : réseau de centres de décision Un réseau de centres de décision peut être représenté par un graphe dont les sommets représentent les centres de décision et les arcs orientés l’action de la prise de décision d’un centre sur des paramètres intervenant dans les contraintes d’un autre centre.5. elle contraint elle-même les décisions des centres en aval (figure 37).54 Formalisation de la coopération – l’approche par contraintes II. Ainsi. 96]).

un centre devrait connaître toutes les contraintes (décisions) susceptibles de peser sur ces décisions avant de les prendre. De même. Cette coopération porte sur les paramètres intervenant dans les contraintes qui déterminent le cadre des décisions de chaque centre.2 page 17). des décisions sont prises en l’absence de certains paramètres. se posent des problèmes de coordination entre centres : en principe. La coopération peut alors consister à communiquer pour assurer la robustesse de ses décisions futures (préparation) ou à renégocier des valeurs devenues incohérentes. • robuste vis-à-vis des décisions prises en aval. compte tenu du caractère dynamique du système dans lequel elle agit. La cohérence est d’autant plus facile à assurer que les décisions en amont sont robustes. C’est le cas notamment des structures hiérarchisées (voir le paragraphe I. à la représentation approchée qu’il a des centres situés en aval. En effet. La difficulté. II.6. lié à son impact vis-à-vis des centres de décision situés en amont et en aval. Des mécanismes de coopération permettent aux différents décideurs d’assurer la cohérence globale des décisions prises localement. Il apparaît ainsi que la cohérence et la robustesse sont deux facettes d’un même processus de coopération entre centres de décision. pour que la décision prise dans un centre soit consistante vis-à-vis du fonctionnement global du réseau de centres de décision elle doit être à la fois : • cohérente vis-à-vis des décisions prises en amont. Dans la réalité. L’approche par contraintes offre un cadre rigoureux à l’étude de la coopération dans un réseau de centres de décision. Elle présente également un caractère distribué. L’absence de circuit implique un ordre partiel ou total entre les centres de décision. pour un centre. La robustesse vise donc à faciliter la cohérence des décisions en aval. . sur la base d ‘estimations. Le prochain chapitre présente les techniques employées pour modéliser les problèmes de décision des centres. Cela se traduit par la nécessité de prendre des décisions qui pourront être mises en œuvre par l’aval ou d’accepter que ces décisions soient remises en cause. De plus. II. ces centres étant eux-mêmes contraints par des décisions provenant d’un autre centre (voir les détails sur la modélisation d’un centre de décision au chapitre suivant). Conclusion Notre but est de proposer des outils d’aide à la décision distribuée en gestion du temps et des ressources.5. Les mécanismes de coordination permettent de synchroniser les décisions.3.2. Cela se traduit par la nécessité de respecter les décisions prises en amont ou de les remettre en cause explicitement. En particulier. . lié au choix qui doit être fait en fonction de critères propres à ce centre. un centre donné peut être à la fois en amont et en aval d’un autre centre.Conclusion 55 On peut noter que le graphe associé au réseau peut comporter des circuits. Coopération et coordination au sein d’un réseau La prise de décision dans un centre présente un caractère local. Nous nous attacherons à mettre en valeur les techniques favorisant une aide à la décision locale et négociée. Les techniques issues de l’approche multi-agents permettent de mettre en œuvre les négociations entre décideurs. de prendre des décisions robustes est liée notamment. une décision robuste à un moment donné peut perdre sa qualité au cours du temps.

56 Formalisation de la coopération – l’approche par contraintes .

Le modèle de fonctionnement d’un centre est exploité : • par un processus déductif. Il peut également être utile lors des négociations avec d’autres centres. • par des techniques de résolution permettant d'obtenir une solution au problème. De plus. l’outil peut fournir aux décideurs des pistes quant aux décisions et/ou paramètres à remettre en cause. en évaluant des propositions faites par d’autres centres et en générant des propositions.. Il s’agit de relations formelles (équations linéaires ou non linéaires. • non modifiables. en considérant certaines variables comme des données).Chapitre III Modélisation des problèmes gestion du temps et des ressources de Dans un problème de gestion du temps et des ressources. Cet outil d’aide peuvent s’appuyer sur une utilisation élargie d’outils classiques déjà existants (par exemple. On distingue les variables de décision communiquées et négociées avec d'autres centres. les décisions peuvent être de plusieurs types (quantités de produits à réaliser. La prise de décision correspond à l’instanciation d’une ou plusieurs variables de décision. les contraintes mettent en relation différents paramètres liés aussi bien au centre considéré qu’aux autres centres du réseau (en amont et en aval). Le fonctionnement d’un centre est représenté par un modèle composé de variables de décision reliées entre elles par des contraintes. inéquations. des contraintes relient entre elles ces variables. Modèle général associé à chaque centre III. Il s'agit essentiellement de données de l'environnement tel que les paramètres liés à l’état réel du système physique. l'analyse sous contraintes (ASC) permettant d’expliciter les degrés de liberté dont dispose le centre pour prendre ses décisions. affectation de ressources…). Ce sont les décisions prises par les centres situés en amont. . Variables. ensembles conjonctifs ou non conjonctifs de relations . Un outil peut aider le décideur à construire des décisions en faisant participer partiellement ou totalement le décideur. Enfin. dates de début de fabrication. Ce modèle permet de caractériser le fonctionnement du centre. Outre les variables de décision.1. les contraintes du modèle font intervenir des paramètres : • modifiables.1. En plus des variables de décision. des variables de décision privées. III.1. ou une estimation de celles-ci.. paramètres et contraintes La décision dans un centre est modélisée par des variables de décision. Une variable de décision peut prendre ses valeurs dans un domaine discret ou continu.) qui limitent les valeurs admissibles des variables.

en fonction de l’analyse sous contraintes. Certaines contraintes peuvent néanmoins être activées ou désactivées en fixant une valeur particulière à certains paramètres. une contrainte numérique du type X 1 + X 2 ≤ P peut devenir inactive en donnant une valeur très grande à P . • la prise de décision sous contraintes vise à exploiter les degrés de liberté disponibles. éventuellement. Fonctions de décision L’activité d’un centre de décision peut être décomposée en plusieurs fonctions ([Huguet 94]) : • l’analyse sous contraintes vérifie la consistance des contraintes et explicite les degrés de liberté du centre à travers. joue un rôle important pour le contrôle de la cohérence au sein du réseau et plus généralement pour la rationalisation des décisions. III. seuls les facteurs du modèle (paramètres et variables de décision) étant modifiables. le décideur prend des décisions sous contraintes ou sur les contraintes (voir la figure 40).58 Modélisation des problèmes de gestion du temps et des ressources centre de décision variables privées paramètres centres en amont modifiables contraintes variables de décision centres communiquées en aval paramètres non modifiables figure 39 : variables et contraintes intervenant dans le modèle d'un centre La structure même du modèle adopté. une caractérisation de l’espace des solutions. Par exemple. éventuellement. par exemple.1. Elle consiste à instancier certaines variables de décision en tenant compte de toutes les contraintes pesant sur un centre et.2. les renégocie. Cette structure est considérée par la suite comme figée. • la prise de décision sur les contraintes remet en cause des décisions externes et. Habituellement. analyse sous contraintes acceptation du cadre de décision ? remise en cause du cadre de décision décision sous contraintes décision sur les contraintes figure 40 : l'activité de décision d'un centre de décision . à négocier ces décisions avec d'autres centres. liée au choix des variables de décision et à celui des contraintes prises en compte.

il s’agit de déterminer les décisions que le centre peut (ou veut) renégocier avec les centres en aval afin de retrouver un ensemble consistant. interactif). il n’est conditionné que par d’autres contraintes). • • • • Compte tenu des interactions avec d'autres centres et de l'aspect prévisionnel de certaines données. le domaine des valeurs actives (deux valeurs actives distinctes restreignent différemment l’espace de solutions) et le domaine des valeurs passives (quelle que soit la valeur prise. de domaines de valeurs admissibles pour les décisions internes au centre. pour l'instant. le décideur peut être amené : • • à ajouter ou retirer des contraintes du modèle. Ces paramètres seront considérés comme des variables dans le modèle du centre. les paramètres qui concernent le long-terme ne sont pas connus précisément. Seules les décisions qui seront mises en œuvre dans le court-terme sont fixées .1. caractérisation des paramètres provenant d’autres centres. que prévisionnelles peuvent n'être que partiellement instanciées. L’ensemble des contraintes étant consistant. à instancier une partie seulement des variables de décisions. il s’agit de déterminer quelles sont les valeurs acceptables ou souhaitables pour les décisions provenant d’autres centres. Concrètement. caractérisation des solutions admissibles. tandis que les décisions qui ne sont. Aide à la décision Notre objectif est d’aider le décideur à se déterminer face un problème caractérisé par un ensemble de contraintes dont une partie seulement a été modélisée et parmi lesquelles certaines ne sont pas totalement figées. • à prendre en compte des paramètres dont la valeur n'est pas connue. génération de solutions admissibles. En effet. On peut par exemple tenter de mettre en évidence les domaines des valeurs inacceptables (décisions qui n’appartiennent à aucune solution). l’espace des solutions est identique . L’ensemble des contraintes étant consistant. des degrés de liberté apparaissent sous la forme.Modèle général associé à chaque centre 59 III. L’ensemble des contraintes étant consistant. remise en cause de décisions. Pour cela. Ainsi. il s’agit à partir d’une analyse de cet ensemble. L’ensemble des contraintes étant non consistant (fonction décision sur les contraintes). remise en cause de paramètres provenant d’autres centres. Les deux derniers points permettent aux centres de décision de négocier des décisions avec des centres en aval.3. on peut exploiter au maximum les contraintes modélisées et utiliser les degrés de liberté restants pour tenter d’intégrer les contraintes non modélisées. On peut envisager différents modes de résolution (automatique. par exemple. L’étude des réponses aux deux dernières questions constitue l’essentiel de l’activité d’analyse sous contraintes. on peut chercher à déterminer les contraintes qu’il suffit de remettre en cause pour retrouver un ensemble consistant. L’ensemble des contraintes étant non consistant. . il s’agit de construire une ou plusieurs solutions. Il s’agit d’étudier la consistance d’un ensemble de contraintes. la prise en compte des contraintes pesant sur un centre de décision conduit à se poser plusieurs types de questions (voir des exemples sur la figure 41) : • • existence d’une solution. d’expliciter les conditions d’admissibilité des solutions.

III. les problèmes de satisfaction de contraintes (CSP) qui nous permettent de représenter certains problèmes rencontrés en gestion du temps et des ressources. Ensuite. Les autres sections présenteront les techniques de résolution ainsi que les techniques d'analyse sous contraintes. Ceci nous permettra de présenter des outils permettant d'évaluer les degrés de liberté d'un centre. Les modèles et les traitements que nous mettrons en œuvre devront tenir compte de la dynamique du fonctionnement du centre et de la possibilité d' « inverser » le modèle.2. remise en cause) peuvent être employées pour les paramètres. les paramètres et les contraintes rencontrés dans ces deux cas seront détaillées. nous présentons les modèles particuliers rencontrés en planification de la production et en ordonnancement. génération. Les modèles en gestion du temps et des ressources Nous introduisons tout d'abord un outil général de modélisation. . de prendre des décisions ou de remettre en cause certaines décisions.60 Modélisation des problèmes de gestion du temps et des ressources Certaines des techniques employées pour répondre aux questions relatives aux décisions (caractérisation. V2 V2 V1 existence d'une solution V2 critère V1 caractérisation de l'espace des solutions (avec le domaine admissible des variables) V2 V1 V1 génération d'une solution remise en cause de optimale suivant le critère certains paramètres figure 41 : exemples de traitement sur le modèle d'un centre La section suivante présente des modèles utilisés en gestion du temps et des ressources. Les variables de décision. compte tenu de décisions fixées ou souhaitées (les variables de décision sont considérées comme étant des constantes). Les modèles de planification de la production et d'ordonnancement seront approfondis. En effet. il s'agit d'utiliser les algorithmes avec les paramètres comme variables.

le terme DCSP est aussi utilisé pour les CSP distribués : le traitement associé au CSP est distribué sur plusieurs processeurs. Le domaine d i est associé à la variable xi .. c m ) de m contraintes.… . Ils peuvent être utilisés pour représenter certains problèmes d'ordonnancement (voir le paragraphe III. Ces hyper-graphes sont appelés parfois réseau de contraintes.2. Les propriétés de ces réseaux de contraintes permettent d'utiliser des algorithmes spécifiques.3). y > 0 ) soit en extension par une relation qui porte sur un sous-ensemble cartésien des domaines associés aux variables (.1.C) est défini par : • un ensemble X = (x1. dans le cas des problèmes d'ordonnancement. [ . on parle de CSP binaire. x 2 } . y ) = { 11). (2. (1. • un ensemble C = (c1. Un problème de satisfaction de contraintes ou CSP P = (X. Chaque contrainte est définie sur un sous-ensemble v i de variables ( v i ⊆ X ). Ils permettent d’exprimer les problèmes rencontrés en gestion du temps et des ressources (par exemple les modèles de planification et les modèles d’ordonnancement).… . Toutefois. Pour les CSP discrets.Les modèles en gestion du temps et des ressources 61 III.. les contraintes peuvent être exprimées soit en intention sous la forme d’égalité ou d’inégalité (par exemple : x + y ≤ 3.2). Les problèmes de satisfaction de contraintes temporelles (TCSP) sont caractérisés par des variables continues et des contraintes binaires.d 2. Quand toutes les contraintes d’un CSP sont d'arité égale à deux. On appelle arité de ci la longueur de la séquence v i . c2 . par exemple. on peut se contenter d’un graphe. Le modèle général des CSP Les problèmes de satisfaction de contraintes ou CSP (constraint satisfaction problem en anglais) sont utilisés aussi bien en Intelligence Artificielle qu’en Recherche Opérationnelle. Dans le cas d’un CSP binaire. On peut différencier les CSP discrets où les variables sont discrètes et les domaines finis des CSP continus (CCSP) où les variables sont réelles et les domaines sont une réunion d’intervalles.D.. Les DCSP (dynamic CSP) sont des CSP dans lesquels on modélise l’incrémentatilité d’un CSP : le problème d'ajout ou de retrait de contraintes est explicitement pris en compte. machines ou agents (voir la thèse de [Hamadi 99]).d n ) de n domaines pour les variables de X . de v i (par exemple : ( x.x2. D = {1 − 7][2 − 6]} 5 x + 7 x 2 ≤ 35 C= 1  4 x1 + 3 x2 ≤ 18  X = {x1. On peut représenter un CSP sous la forme d’un hyper-graphe dont les sommets sont les variables et les hyper-arêtes les contraintes.xn ) de n variables • un ensemble D = (d1.1)}). x > 0.2.. exemple III-1 : un exemple de CSP binaire à variables continues La figure 42 représente l'espace des solutions du CSP suivant ainsi que le réseau de contraintes associé.

Pour cela.2.2.2. des mois…). qui implique l’utilisation de produits semi-finis dont il faut également planifier la production : il faut alors définir les quantités de produits intermédiaires à transporter entre les sites. des capacités des centres de production. capacités. visant à répartir la production sur différentes unités de production équivalentes.2. Dans le cas d’une production multi-sites ([Boronad-Thierry 93]). Modélisation de la planification de la production Comme nous l’avons vu au chapitre 1. coûts). Parfois. la fonction de planification en gestion de production prend des décisions tactiques en définissant les volumes de produits à fabriquer sur des intervalles de temps prédéfinis (périodes). la durée des périodes n’est pas toujours constante. le temps est généralement discrétisé en une suite de périodes égales considérées comme indivisibles (exemple : des semaines. des demandes (fermes et prévisionnelles). Le travail à planifier est alors évalué en quantités (produits. etc.62 x2 Modélisation des problèmes de gestion du temps et des ressources 4 x1 + 3 x 2 ≤ 18 [1-7] x1 5 x1 + 7 x 2 ≤ 35 4 x1 + 3 x 2 ≤ 18 0 5 x1 + 7 x 2 ≤ 35 [2-6] x2 x1 figure 42 : une représentation graphique du CSP (à gauche) et le réseau de contraintes (à droite) associé à l’exemple III-1 III. objectifs quantité de produit par période état des stocks et de planification par site ([Boronad-Thierry 93]) la production par étape ([Hétreux 96]) demandes capacités des ressources figure 43 : décisions et paramètres d'un centre de planification III. des quinzaines. la planification peut aussi inclure des décisions d’allocation. Le champ des décisions s’élargit dans le cas d’une production multi-niveaux ([Hétreux 96]).1 Horizons temporels En planification. les périodes étant plus courtes en début d’horizon . la fonction de planification s’appuie sur l’état de stocks et de la production. La notation retenue dans la suite du chapitre est celle utilisée dans [Johnson et al 74]. d'objectifs s’appuyant sur des fonctions de calcul de coûts.

[Boronad-Thierry 1993]). Cette discrétisation permet de localiser les phénomènes étudiés sur des intervalles de temps et non plus sur une échelle de temps continue. l’horizon temporel considéré est souvent défini par deux caractéristiques : l’horizon de planification et l’horizon de décision (voir figure 44). Horizon de planification temps • Horizon de décision une période figure 44 : horizons de planification et de décision Afin de prendre en compte la nature dynamique du système de production. un horizon de planification de 14 périodes et un horizon de décision de 2 périodes. Compte tenu de l’aspect prévisionnel des décisions prises au niveau tactique. C’est par l’intermédiaire de cet horizon que les l’aspect prévisionnel est introduit. afin d’adapter le niveau de détail des décisions à celui des données disponibles. capacités) et les décisions (quantités de produits) s’expriment alors en référence à des périodes. L’horizon de planification représente le nombre de périodes sur lesquelles les données sont prises en compte. Les données (exemple : stocks initiaux. la prise de décision est souvent mise en œuvre à horizon glissant. À chaque nouveau cycle. Il est suffisamment long pour que l’influence des données situées au-delà de cet horizon soit négligeable mais suffisamment court pour assurer la fiabilité de celles prises en compte. • L’horizon de décision définit le nombre de périodes sur lesquelles les décisions sont effectivement mises en œuvre. Ceci est nécessaire en raison de l’inertie du système due aux délais de production et d’approvisionnement. . Les décisions correspondantes sont souvent « gelées » c'està-dire qu’elles ne peuvent plus être remises en cause par d’éventuelles replanifications.Les modèles en gestion du temps et des ressources 63 (cf. Ceci est intéressant dans un environnement perturbé puisque le système est alors en mesure de réagir aux aléas passés. Cette technique consiste à élaborer périodiquement des décisions sur un horizon de planification constant. l’état réel du système de production est pris en compte. Cet horizon correspond aux premières périodes de l’horizon de planification. Ce processus dynamique de décision permet de réactualiser les données déjà connues et d’introduire de nouvelles informations au fur et à mesure de leur disponibilité. L’exemple de la figure 45 montre des planifications avec une périodicité de 2 périodes.

2.). Ce sont des variables qui n’ont pas à être communiquées à d’autres centres. etc. Ces variables constituent les variables de décision qui seront transmises à d’autres centres. La fabrication des produits nécessite l’utilisation de R ressources.2 Les variables de décision et les paramètres Un système de production fabrique N produits.64 Périodes État réel observé 1 Modélisation des problèmes de gestion du temps et des ressources 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Planification en période 1 temps Décisions effectives Décisions prévisionnelles Planification en période 3 État réel observé temps Décisions effectives Nouvelles décisions prévisionnelles Planification en période 5 État réel observé temps Décisions effectives Nouvelles décisions prévisionnelles figure 45 : procédure à horizon glissant III. C'est-à-dire la quantité des produits en stocks au début de la première période 0 : Ii 0 Les variables de décision de ce modèle sont : • les quantités des produits i à fabriquer au cours de chaque période t : X it . Si la réalisation des produits nécessite plusieurs étapes (assemblage.2. Chaque produit i est soumis à une demande sur un horizon de temps découpé en T périodes. Afin de prendre des décisions. . Une hypothèse importante concerne la taille relative des périodes vis à vis des durées de fabrication : on suppose par la suite que la réalisation de chaque produit est supposée pouvoir s’effectuer en totalité sur une période. les variables de décisions peuvent être des quantités de produit par période et par étape j ( Iijt et X ijt ). stockage de sous-produits. le centre de planification doit tenir compte des paramètres suivants : • les demandes pour chaque produit i en fin de période t : Dit • les capacités des ressources pour chaque période t exprimé généralement en machine*heure ou en homme*heure : bkt • les consommations de ressource r pour la fabrication d’un produit i : aik • l’état initial du système de production. transport. • les niveaux de stocks pour chaque produit i en fin de période t : I it . La capacité d’une ressource k peut varier en fonction de la période t .

Afin de ne pas perdre les propriétés de linéarité des contraintes P2 .t −1 + X it − Dit ∀i ∈ [1. Si le décideur souhaite caractériser les paramètres aik . Nous considérons par la suite que les paramètres aik sont non modifiables et que les contraintes en planification sont linéaires. T ] • une production et des stocks minimaux : X it ≥ X it . . N ] ∀t ∈ [1.3). + − + − I it = I it − I it avec I it ≥ 0 et I it ≥ 0 ∀i ∈ [1. il doit instancier totalement les variables X it . très rapides et répandus. N ] ∀t ∈ [1.3 Les contraintes Le modèle généralement adopté pour calculer les volumes de production et des stocks est de la forme : Iit = Ii . Il s’agit d’une équation de conservation de la matière. Un produit dont la fabrication est lancée durant la période t ne sera disponible que durant la période t + Li . T ] • des délais de fabrication et de transport ([Boronad-Thierry 93]).2. Les demandes non satisfaites dans une période sont reportées sur la période suivante. Les paramètres Dit . N ] ∀t ∈ [1. La contrainte ( P2 ) permet de limiter la production pour chaque période. En général.Les modèles en gestion du temps et des ressources 65 III.2. compte tenu de la capacité de chacune des ressources. En effet. les contraintes considérées en planification sont des contraintes linéaires. R ] ∀t ∈ [1.T ] (P1 ) N ∑ a X ≤ b ∀k ∈ [1. N ] ∀t ∈ [1.T ] .3.T ] (P3 )  it Iit ≥ 0 ∀i ∈ [1. Les équations ( P3 ) et ( P4 ) traduisent la positivité des flux de matières (en stock et en cours de transformation). On tolère que les demandent ne puissent pas être satisfaites à chaque période. L'équation suivante remplace l'équation P4 . N ] ∀t ∈ [1.T ] (P2 )  ik it kt  i =1 X ≥ 0 ∀i ∈ [1. d'autres contraintes peuvent être considérées afin de modéliser : • une capacité de stockage limitée : I it ≤ I i ∀i ∈ [1. On modélise les arriérés en tolérant un stock négatif entre deux périodes. Les modèles linéaires à variables entières peuvent également utiliser certains de ces algorithmes (voir le paragraphe III. N ] ∀t ∈ [1. Suivant les problèmes rencontrés. seuls les paramètres aik et les variables X it ne peuvent pas être considérées en même temps comme des variables. les algorithmes de traitement des modèles linéaires à variables réelles sont très efficaces. bkt peuvent être considérés comme des variables.T ] (P4 )  L’équation d’état ( P1 ) traduit l’évolution des stocks en fin de période. La réalisation d’un produit nécessite plusieurs périodes Li . L’équation d’état ( P1 ) du modèle devient : Iit = Ii ( t −1) + X i ( t − Li ) − Dit ∀i ∈ [1. Iit ≥ Iit avec Iit ≥ 0 et X it ≥ 0 • des arriérés de fabrication (voir [Hetreux 96]).

III. matières premières…). les décisions à prendre sont des quantités de produits à produire et à stocker par périodes sur un certain horizon. La réalisation d’une tâche dure un temps non nul (sa durée pi ) et consomme des moyens k avec une intensité aik .. I ≥ 0 21 11 21  11  5 7  35 0 aik =   bk 1 = 18  Ii 0 = 0 4 3      (1) ( 2) (3 ) ( 4) (5 ) 1 Di 1 =    2 (6) En planification de la production. I11 = I10 + X11 − D11  I21 = I20 + X 21 − D21 a11 X11 + a21 X 21 ≤ b11  a12 X11 + a22 X 21 ≤ b21  X ≥ 0. éventuellement. La figure 42 représente l’espace des solutions associé aux variables X11 et X12 . Les tâches peuvent être exécutées par morceaux (tâches préemptives) ou sans interruption (tâches non préemptives). espace…) des ressources consommables dont la disponibilité diminue après utilisation (budget. Ainsi. . On distingue. de contraintes linéaires.3.66 Modélisation des problèmes de gestion du temps et des ressources exemple III-2 : planification en gestion de production Une entreprise doit définir le plan de production de deux produits pour une période sur un horizon de 1 période.. Une tâche i est définie comme une activité élémentaire de travail localisée dans le temps (avec une date de début t i et/ou une date de fin ci ). de contraintes portant sur les ressources (utilisation. Modélisation des problèmes d’ordonnancement III. les ressources disjonctives qui ne peuvent exécuter qu’une tâche à la fois (machine-outil…) et les ressources cumulatives qui peuvent être utilisées par plusieurs tâches simultanément (équipe d’ouvriers.. X ≥ 0. Les contraintes sont souvent linéaires. On distingue les ressources renouvelables qui. enchaînement . • des modèles linéaires à variables mixtes qui sont constitués de variables entières et réelles. d’autre part.). Les ressources doublement contraintes sont des ressources dont l’utilisation instantanée et la consommation globale sont limitées. I ≥ 0.1 Définitions Le problème d'ordonnancement consiste à organiser dans le temps des tâches interdépendantes compte tenu de contraintes portant sur le temps (délais.3. fours de cuisson…).. Cette distinction est essentiellement faite pour le cas des ressources renouvelables. après avoir été utilisées par une tâche. les modèles que nous considérons en planification sont : • des modèles linéaires à variables réelles qui sont constitués de variables réelles (dans certains cas rationnelles).) et. sa capacité Ak . Une ressource k est un moyen technique ou humain pouvant être utilisé pour la réalisation d'au moins une tâche et disponible en quantité limitée.2.2. retrouvent leur disponibilité initiale (machines. disponibilité . de contraintes linéaires.

pi peut varier en fonction de l’affectation. Lorsque Ωk n’est pas totalement connu. 00] par exemple).2. la tâche consomme aik unité de la ressource. la durée minimale qui sépare le début de la tâche i du début de la tâche j • Ωk est l'ensemble des tâches qui utilisent la ressource k .3 Les contraintes Les contraintes usuellement considérées dans les problèmes d’ordonnancement sont soit : • • des contraintes temporelles. bij n’est pas totalement connu. Si celle-ci est cumulative avec une capacité Ak .3. Il est à noter que tous les paramètres cités ci-dessus peuvent être considérés comme des variables.2 Les variables de décision et les paramètres Les principales variables de décision dans les problèmes d’ordonnancement sont : • les dates de début t i des tâches. en cas de problématique à gammes alternatives.3. • les durées des tâches pi . Ce critère de classification permet de distinguer des propriétés des modèles notamment en termes de complexité des algorithmes de résolution. pas de ressources problème central ressources consommables renouvelables disjontives cumulatives Problèmes d’atelier figure 46 : typologie par les ressources des problèmes d'ordonnancement. Les principaux paramètres considérés sont : • ri la date de disponibilité (date de début au plus tôt) et d i la date échue (date de fin au plus tard) d'une tâche. • bij . des contraintes de ressources. . on a affaire à un problème d’ordonnancement couplé à un problème d’affectation (voir [Huguet et al. De même. III. • les dates de fin ci des tâches. III. Dans ce cas.2.Les modèles en gestion du temps et des ressources 67 Une classification par les ressources des problèmes d’ordonnancement est montrée sur la figure 46 (une classification plus complète se trouve dans [Esquirol et al 99]).

Il existe aussi des contraintes relatives telles que les contraintes de précédence et plus généralement des contraintes de cohérence technologique qui expriment une distance minimale ou maximale entre tâches. soit i est réalisée avant j soit j est réalisée avant i . pour exprimer les contraintes de précédence ou de succession entre deux tâches. Par exemple. disponibilité des approvisionnements) ou à la durée totale du projet. Ce sont ces contraintes qui définissent ri la date de disponibilité et d i la date échue. Elles interdisent la réalisation simultanée d’un nombre trop important de tâches compte tenu de la disponibilité maximale de la ressource Ak (t ) à chaque instant et des quantités aik requises individuellement par les tâches : ∑ aik ≤ Ak (t ) ∀t ∀k avec Ωk (t)={i/i utilise k et ti ≤t≤ti + pi} . on prend bij = pi et on a t i + pi ≤ t j . car elles s’expriment sous la forme générale d’inégalités de potentiels du type : t j − t i ≤ bij . 2) Les contraintes de ressources Les contraintes de limitation de l’utilisation des ressources renouvelables sont décomposées en : • contraintes disjonctives. elles obligent à réaliser toute paire de tâches sur des intervalles disjoints. Elles interdisent l’utilisation simultanée de la ressource par deux tâches. . La modélisation de ce conflit fait donc intervenir un séquencement qui peut être représenté par un ensemble non conjonctif d’inégalités de potentiel (reliées par un OU) : t i + pi ≤ t j OU t j + p j ≥ t i • contraintes cumulatives. La figure 47 présente une i ∈Ω k ( t ) courbe de charge de la ressource k correspondant à un certain ordonnancement : la capacité est de 40. Elles sont issues d’impératifs de gestion et relatives aux dates limites de tâches (délais de livraison. les contraintes de gamme s’expriment de cette façon. On a donc ri ≤ t i ≤ ci ≤ d i ∀i . si un produit nécessite deux étapes A et B dans sa fabrication. lorsque la durée est connue. Par exemple :  exprime le fait que la tâche j doit t i − c j ≥ 0  commencer exactement à la fin de t i (succession immédiate). Dans les problèmes d’atelier. Par exemple. des contraintes absolues portent sur une variable. Si deux tâches i et j sont liées par une contrainte disjonctive ( i ∈ Ω k et j ∈ Ω k ) . on peut avoir l’étape A qui doit précéder B.68 Modélisation des problèmes de gestion du temps et des ressources 1) Les contraintes temporelles D'une part. Pour représenter certaines contraintes plus complexes. Ces contraintes sont également appelées contraintes potentielles. on a recours à plusieurs inégalités de potentiels devant être vérifiés conjointement. En d’autres termes. On parle d’ensemble conjonctif c j − t i ≥ 0  d’inégalités de potentiels.

les tâches apparaissent en ordonnée et le temps sur l’axe des abscisses. En ordonnancement de projet sans contraintes de ressources. Ceci permet de visualiser les zones d’occupation des ressources et la durée de l’ordonnancement.4 Représentation des solutions Un diagramme de Gantt permet de visualiser graphiquement l’exécution des tâches et/ou l’utilisation des ressources au cours du temps. Tâche i A Durée pi (jours) 5 Contrainte B 2 C D E 2 4 8 Après B Après A et C Après B Tableau 4 : exemple de projet F 1 Après D et E En présence de contraintes de ressources disjonctives (comme dans les problèmes d’atelier). exemple III-3 : gestion de projet La figure 48 montre un exemple de diagramme de Gantt pour un projet à 6 tâches dont les caractéristiques sont résumées dans le Tableau 4 (l’exemple est tiré de [Esquirol et al 99]). À chaque tâche est associée un segment ou une barre de longueur proportionnelle à la durée de la tâche.2. Dans le cas de problèmes d’atelier.3. le diagramme de Gantt est composé d’une ligne horizontale pour chaque ressource. Les lignes en pointillées peuvent servir pour signaler des contraintes de succession. une représentation par produits permet de visualiser les temps d’attente des produits.Les modèles en gestion du temps et des ressources aik i ∈Ω k (t ) 69 ∑ 40 30 20 10 0 Ak=40 temps figure 47 : exemple de courbe de charge III. tâches F E D C B A temps figure 48 : diagramme de Gantt projet .

3.2. La figure 49 représente le diagramme de Gantt par ressources et la figure 50 représente le diagramme de Gantt par produits. une représentation hybride peut être employée pour représenter une solution. Il n’y a donc que des contraintes temporelles. Un exemple est montré sur la figure 47. deux produits A et B sont à réaliser (l’exemple est tiré de [Esquirol et al 99]).70 Modélisation des problèmes de gestion du temps et des ressources exemple III-4 : ordonnancement à ressources disjonctives Dans un atelier. III. Produit A B Machine 1 2 60 20 40 30 Tableau 5 : exemple d'atelier 3 30 10 machine 1 2 3 B (1 ère A (1 ère tâche) B (2 A (2 è me è me tâche) tâche) tâche) è me A (3 tâche) B (3) temps figure 49 : diagramme de Gantt ressource produit B A 2 1 2 1 3 3 temps figure 50 : diagramme de Gantt produit Pour les problèmes avec ressources cumulatives. Chaque produit est composé de 3 tâches à réaliser sur 3 machines (A sur la machine 1 puis 2 puis 3 et B sur 2 puis 1 puis 3). Le Tableau 5 donne les valeurs des durées des opérations en minutes. 1) Le problème central Le problème central ne tient pas des contraintes de ressource (cela revient à supposer que les ressources sont à capacité infinie ou suffisante). nous verrons les moyens de représenter. à l’aide de graphes. les problèmes d’ordonnancement sans contraintes de ressources et ceux avec contraintes de ressources renouvelables. Le modèle est linéaire à variables réelles. .5 Modélisation à l’aide de graphes Dans ce paragraphe.

Ceci permet de modéliser toute contrainte de distance entre un couple de bornes relatif à une même tâche (figure 54a) ou deux tâches distinctes (figure 54b). liés à sa date de début et de fin. A 1 B 3 C 2 D 4 E F 5 Étape 1 : début projet . Ceci est particulièrement utile lorsque le projet n’est pas en concurrence avec d’autres projets pour l’attribution de ressources. La figure 53 représente le graphe potentiel-étapes associé à l’exemple III-3 (gestion de projet). 2 tâches fictives de début et de fin. On peut représenter ces problèmes à l’aide de graphes. les arcs du graphe représentent des tâches (réelles ou fictives) alors que les sommets caractérisent les étapes ou événements repérant le début ou la fin d’un ensemble de tâches. La formulation du problème central en termes de graphe permet l’utilisation de techniques spécifiques aux graphes (notamment l’algorithme permettant de trouver le plus long chemin dans un graphe pour minimiser le temps d’exécution de l’ordonnancement). La longueur d’un arc représente la durée d’une tâche. début de F Étape 5 : fin de F et du projet figure 53 : graphe potentiel-étapes associé à l'exemple III-3 c) Le graphe potentiel-bornes Dans ce type de graphe. Une inégalité de la forme t j − t i ≥ bij est représentée sur la figure 51 : bij i j figure 51 : modélisation potentiels-tâches a) Les graphes potentiels-tâches Pour les graphes potentiels-tâches. chaque tâche est représentée par (au moins) deux sommets. La figure 52 représente le graphe potentiel-tâches associé à l’exemple III-3 (gestion de projet) : 0 début 0 A 2 5 2 C D 4 F 1 fin 2 8 B E figure 52 : graphe potentiel-tâches associé à l'exemple III-3 b) Les graphes potentiels-étapes Pour les graphes potentiels-étapes. relient les sommets sans prédécesseur/successeur. début de A et B Étape 2 : fin de B . L’étude du problème central permet d’analyser l’enchaînement des principales tâches du projet au cours du temps. Il existe trois sortes de graphes permettant de représenter ces problèmes : les graphes potentiels–tâches. La différence entre ces graphes réside dans la sémantique associée aux sommets et aux arcs.Les modèles en gestion du temps et des ressources 71 Ce type de problème se rencontre en ordonnancement de projet (à capacité infinie). les graphes potentiels-étapes et les graphes potentiels-bornes. les arcs représentent les contraintes de potentiels entre les dates de début des tâches représentées par les sommets. . début de D Étape 4 : fin de D et E . de durée nulle. début de C et E Étape 3 : fin de A et C .

Ces problèmes sont caractérisés par l’existence de contraintes non conjonctives. L’opération j du produit i est notée (i . Chaque produit est constitué de ni opérations. qu’elles soient cumulatives ou disjonctives. Le respect de sa gamme de fabrication impose des . peuvent être décomposés en problèmes à une machine et problèmes à m machines. « job-shop » (tous les produits ont un cheminement propre à respecter). j ) . Comme chaque produit ne peut se trouver à plusieurs endroits différents. Puis. Ceux-ci peuvent être décomposés à leur tour en problèmes « flow-shop » (tous les produits ont le même cheminement dans l’atelier). elle utilise la machine mij et sa durée est de pîj . Dans un premier temps. ce type de graphe est la seule représentation capable de tenir compte de cette contrainte. et plus généralement les problèmes à contraintes disjonctives. a) Les problèmes d’atelier Les problèmes d’atelier sont caractérisés par des contraintes de ressources disjonctives. Les tâches ou opérations concernent une étape de la fabrication d’un type de produits ou d’un lot de produits. nous allons voir quelques spécificités des problèmes d’atelier (avec ressources disjonctives). « open-shop » (tous les produits ont un cheminement libre dans l’atelier). Les problèmes d’atelier. L’atelier est constitué de m machines fabriquant n produits (indice i ).72 Modélisation des problèmes de gestion du temps et des ressources Lorsque la durée d’une tâche n’est pas connue précisément (soit parce que la durée est une variable de décision soit parce que le paramètre durée n’est pas encore entièrement instancié). nous traiterons les problèmes à ressources renouvelables. pi 0 ti ci ti ci − pi (a) contraintes d’encadrement de la durée d’une tâche pi ≤ pi ≤ p i (b) contrainte de succession t i − ci ≥ 0 figure 54 : modélisation par un graphe potentiel-bornes La figure 55 représente le graphe potentiel-bornes associé à l’exemple III-3 : tA 0 début 5 cA tC 0 0 2 8 cC cE 0 tD 0 4 cD 0 tF 1 cF 0 fin 0 tB 2 cB 0 tE figure 55 : graphe potentiel-bornes associé à l'exemple exemple III-3 2) Les problèmes avec contraintes de ressources renouvelables Dans ce paragraphe. de nouvelles contraintes de précédence entre tâches apparaissent : ce sont les contraintes de gamme. nous verrons une extension des graphes conjonctifs aux problèmes non conjonctifs.

1) p (i .3}. Le donne les quantités de ressources requises par les tâches ainsi que leurs durées.2.1 page 86 pour une définition plus exacte). {1. Les différents ensembles critiques sont : 1 avant 4 OU 4 avant 1.2. Cette technique de représentation s’avère toutefois rapidement inapplicable en présence d’ensembles critiques de grande cardinalité pouvant d’autre part avoir des intersections.4}. Tâche i 1 2 3 4 Durée pi 3 4 2 5 Intensité ai 3 2 1 4 Les conflits entre tâches peuvent être caractérisés par la détermination d’ensembles minimaux de tâches en conflit appelés ensembles critiques (voir le paragraphe III. Pour les problèmes d’atelier. On peut accompagner le symbole de disjonction de deux nombres associés aux durées respectives des tâches. ni ) (où le signe p représente la contrainte de précédence). 60 0 Début A1 20 0 40 B1 60 30 B2 A2 20 A3 30 10 B3 10 fin 30 40 30 figure 56 : graphe potentiel-tâches correspondant à l’exemple III-4 c) Représentation des contraintes cumulatives Pour les problèmes à ressources cumulatives. b) Représentation des contraintes disjonctives sur les graphes potentiels-tâches Les graphes conjonctifs présentés pour le problème central au paragraphe 1) peuvent être étendus pour tenir compte des contraintes non conjonctives.2) p L p (i . exemple III-5 : un exemple de problème cumulatif 4 opérations doivent être séquencées sur une ressource cumulative de capacité 5. 1 avant 2 OU 2 avant 1 OU 1 avant 3 OU 3 avant 1 OU 2 avant 3 OU 3 avant 2. la représentation d’une disjonction se fait à l’aide d’un symbole particulier ( ) sur un arc représentant le choix entre deux contraintes de précédence. Les autres non conjonctions sont représentées par les lignes entourant certains arcs.4}. {2. pour {2.4}. Les disjonctions sont représentées par .Les modèles en gestion du temps et des ressources 73 contraintes de précédence la forme (i . les ensembles critiques sont : {1.4}.4. Pour ce problème.2. pour {1. les non conjonctions ne peuvent pas être représentés selon le même procédé. pour {1. La figure 56 montre le graphe potentiel-tâches correspondant à l’exemple III-4 (ordonnancement d’atelier). . 2 avant 4 OU 4 avant 2.3} La figure 57 montre comment représenter ces non conjonctions.

minimisation des retards (maximum. Les critères d'optimisation III. correspond un modèle linéaire à variables réelles. • les critères liés aux coûts de lancement. minimisation de la charge de chaque ressource.3. etc. moyen. Aux problèmes avec contraintes de ressources renouvelables correspondent des modèles à variables mixtes.) par rapport aux dates limites fixées. somme.1. les coûts de changement de capacité de ressources. la fonction Z = min ∑N=1 ∑T=1 Iit cherche à minimiser les stocks. les coûts de changement de taux de production. Elles permettent de prouver l’existence d’au moins une solution ou de trouver la (ou les) solution(s) optimale(s).) mais aussi d’objectifs techniques ou humains (régularité du taux de capacité de certaines ressources (humaines).1. III. En général. • les critères liés aux ressources : minimisation de la quantité de ressources nécessaires pour réaliser un ensemble de tâches.2 Les critères en ordonnancement Parmi les critères possibles. de production. régularité de la production) est adopté.1 Les critères en planification de la production Lorsque l'on cherche à obtenir une solution optimale à un problème de planification de la production. . Les techniques d'optimisation Les techniques d’optimisation s’appuient sur un critère pour classer les solutions. Selon les cas. un critère composé d’objectifs économiques (comme les coûts de fabrication. de transport. Par exemple. sans contraintes de ressources. etc. Iit ) est une fonction linéaire de X it et de I it .74 4 2 4 OU 2 3 Modélisation des problèmes de gestion du temps et des ressources B 4 5 D 5 Etape A : début de 3 Etape B : début de 2 Etape C : début de 1 Etape D : début de 4 A 3 C 3 figure 57 : graphe potentiel-tâches associé à l'exemple III-5 Le problème d'ordonnancement consiste à organiser dans le temps des tâches interdépendantes. f ( X it . III. de stockage.3. on peut distinguer : • les critères liés au temps : minimisation du temps total d’exécution. etc.3. La principale raison de l'emploi de critère d'optimisation linéaire est l'efficacité des algorithmes employés pour trouver la ou les solutions optimales. i t III.1. une solution optimale sera celle qui minimise le critère ou qui le maximise.3. nombre. Au problème central.

Les modèles linéaires à variables réelles ont quelques propriétés fondamentales : si l’espace des solutions est non vide.3. Il reste donc un problème avec deux variables ( X 11 et X 21 ).Les techniques d'optimisation • les critères liés à une énergie ou un débit… 75 Les critères d’optimisation usuellement considérés dans les problèmes d’atelier sont : • minimisation du temps de cycle ou temps de séjour dans l’atelier : Cmax = max ci i • • minimisation minimisation pondération • minimisation de la somme pondérée des dates de fin Cw = ∑ w i ci i du plus grand retard : Tmax = max 0. La solution optimale est le sommet de coordonnées (1. alors celui-ci forme un polyèdre convexe. L’espace des solutions est un polytope (donc un polyèdre convexe). . Le critère choisi revient à minimiser la production ( Z ≡ min X 11 + X 21 ). c i − d i ) du retard moyen pondéré : Tw = ∑i i ∑i w i avec w le vecteur de III. soit la solution optimale est située sur un sommet du polytope et est unique. on pourra se reporter aux ouvrages de [Teghem 96] et de [JacquetLagrèze 98].2. critère solution optimale critère solutions optimales critère polytope et solution polytope et solutions polyèdre non borné et pas de solution optimale unique optimales sur une face figure 58 : les solutions optimales en fonction du polyèdre et du critère Reprise de l’exemple III-2 : planification en gestion de production Les variables de stocks peuvent être éliminées (elles peuvent être obtenues à partir des autres variables). soit tous les points d’une des faces du polytope sont optimaux. Modèles linéaires à variables réelles Pour cette partie. si le polyèdre est non borné. si le polyèdre convexe est borné (c’est un polytope). max(ci − d i )    i   w max(0.2) (marqué avec un rond noir sur la figure 59). il est possible que le problème n’ait pas de solution optimale à distance finie.

si elle réussit. Géométriquement. m étant le nombre de contraintes d’inégalités non redondantes du modèle. Cet algorithme contient deux phases : • la procédure d’initialisation détermine les coordonnées du premier sommet admissible (solution mais pas forcement optimum). L’algorithme du simplexe est en théorie de complexité exponentielle mais en pratique (statistiquement) il est de complexité égale à 1. • la procédure itérative calcule une solution (un sommet) donnant la meilleure valeur du critère.1 L’algorithme du simplexe pour le cas général L’algorithme du simplexe est un algorithme qui converge vers le (ou les) sommet(s) optimum(s) en optimisant le critère. une itération consiste à passer d’un sommet à l’autre le long d’une arête de l’espace des solutions.5m .2.76 Modélisation des problèmes de gestion du temps et des ressources Z = min X11 + X 21  X11 ≥ D11 − I10   X 21 ≥ D21 − I20 a11 X11 + a21 X 21 ≤ b11  a12 X11 + a22 X 21 ≤ b21  X ≥ 0. alors l’espace des solutions est vide . Cet algorithme est connu depuis longtemps (Dantzig a publié la première version en 1947) et est présent dans de nombreuses bibliothèques et outils de programmation linéaire comme CPLEX de Ilog.3. OSL de . Si cette procédure échoue. XPRESS-MP de Dash Ltd. X ≥ 0 21  11  5 7  35 aik =   bk 1 = 18  4 3     X21 (2) (1) ( 2) (3 ) ( 4) (5 ) 0 Ii 0 =   0  1 Di 1 =    2 (6) sous min X 11 + X 21 (1) 4 X 11 + 3 X 21 ≤ 18 (4) 0 5 X 11 + 7 X 21 ≤ 35 (3) X11 figure 59 : espace des solutions associé au problème de l'exemple III-2 III. alors le problème contient au moins une solution.

• d’une analyse paramétrique quand un paramètre λ apparaît dans le second membre des contraintes d’inégalité. • d’une analyse de sensibilité. • une technique dynamique. Ceci est dû à la spécificité du modèle qui. notamment les langages de programmation logique avec contraintes. Le problème initial est modifié (par exemple par ajout de contraintes) et il s’agit de réoptimiser le problème. Il peut s’agir : • d’une analyse paramétrique où un paramètre λ intervient dans le critère (de la forme Z = (c1 + λc 2 ) X ).Les techniques d'optimisation 77 IBM. deux techniques peuvent être mises en œuvre : • une technique statique. l’algorithme du simplexe est rarement employé dans ce cas. d’autre part. À l’aide de l’algorithme de Bellman-Ford.3.2 Le cas particulier du problème central Bien que le modèle employé soit linéaire à variables réelles. on peut déterminer un chemin critique correspondant à une séquence de tâches ne disposant d’aucune marge si l’on désire terminer au plus tôt. Ceci permet de déterminer quel sera le sommet optimum en fonction du paramètre λ . ne contient que des inégalités à deux variables avec des coefficients égaux à 1. Pour les problèmes linéaires que nous étudierons (surtout en planification de la production). de sensibilité et post-optimales sur les modèles. d’une part. • d’une analyse de post-optimisation.2. tels que CLP(R) ([Imbert et al 93]) ou PrologIV. 0 ou –1 et qui. Une fois le problème modélisé. . Ceci revient à calculer le chemin le plus long entre le début et la fin du projet sur le graphe potentiels-tâches associé. On peut trouver assez facilement un ordonnancement au plus tôt et un ordonnancement au plus tard pour les problèmes centraux (voir les algorithmes dans [Prins 94]). Pour la phase d’initialisation. En effet. Ceci permet à des langages comme Prolog et CLP(R) de réaliser un test de consistance incrémental. les outils de programmation linéaire proposent des analyses paramétriques. Il s’agit de déterminer le domaine des variations d’un certain coefficient pour lequel la solution optimale n’est pas modifiée. Ceci donne de façon complète les domaines de valeurs que peuvent prendre les variables de décision. permettant de détecter les inconsistances au fur et à mesure que les contraintes sont posées. De plus. L’algorithme consiste à maintenir un sommet admissible au fur et à mesure que les contraintes sont posées. cette technique permet de vérifier rapidement si une contrainte rend le problème inconsistant. on cherche un sommet admissible. nous retiendrons l’algorithme du simplexe avec la technique dynamique dans la première phase. III. De plus. Une question fondamentale dans la résolution concerne la minimisation de la durée totale du projet. peut être représenté par une graphe. ainsi que dans différentes extensions du langage Prolog. une solution (non optimale) est quand même donnée. le décideur peut utiliser les outils d’analyse paramétrique pour caractériser les degrés de liberté dont il dispose. Enfin. si l’algorithme de recherche d’une solution optimale est interrompu après la fin de la première phase.

De plus.3 Un outil d’évaluation du volume de l’espace des solutions Le volume de l'espace des solutions peut être obtenu par un algorithme récursif en calculant le volume de chaque face du polytope ([Lasserre et al.8] C 2 [5.4] [2. m] ∑ aik X i + ∑ aik R ≤ bk sous i =1 i =1 X − R ≥ 0 ∀i ∈ [1. N ]  peut être obtenu en maximisant le modèle suivant (qui correspond au modèle précédent avec quelques modifications mineures) : Rmax = max R N N ∀k ∈ [1. Cet algorithme pouvant être long (en temps d'exécution). calculer le rayon maximum qu’une sphère peut occuper dans l’espace des solutions du modèle : N a X ≤ b ∀k ∈ [1. .5] [0. la méthode PERT permet non seulement de résoudre le problème d’ordonnancement mais permet également de tenir compte des durées de tâches imprécises (à l’aide d’un modèle probabiliste). L’ensemble des contraintes en contact avec la sphère peut être obtenu facilement en examinant les valeurs duales associées aux contraintes : si la valeur duale d’une contrainte est 0.4] début 0 0 A 2 5 [2.15] fin 2 8 [10.10 ] D 4 F 1 [11.3. Cet ensemble de contraintes peut être interprété comme l’ensemble des contraintes qui « contraint » le plus l’espace des solutions.2. Le chemin critique est indiqué en gras.78 Modélisation des problèmes de gestion du temps et des ressources Sur la figure 60. le volume de l'espace des solutions peut être aussi apprécié en calculant le rayon maximum d'une sphère contenue dans l'espace des solutions (voir un exemple sur la figure 61). m] ∑ ik i k  i =1 Xi ≥ 0 ∀i ∈ [1. nous retiendrons l’algorithme qui permet de trouver les ordonnancements au plus tôt et au plus tard. on trouve les domaines associés aux dates de début des tâches de l’exemple III-3 avec une date de fin au plus tard de 15. on obtient les coordonnées du centre de la sphère. car ils permettent de caractériser l’espace des solutions en associant à chaque tâche un domaine pour sa date de début. 85]). le chemin critique obtenu peut être utilisé pour connaître un ensemble des paramètres et décisions à relâcher en cas de décision sur contraintes. N ]  i De plus.14 ] B E [0. alors la contrainte touche la sphère. en optimisant le modèle précédent. Dans le cas général. [0. III. Pour les problèmes centraux.6] figure 60 : domaines des dates de début ( exemple III-3) Parmi les méthodes de résolution des problèmes centraux.

3. R ] ∀t ∈ [1.T ] Application à l’exemple III-2 de planification de la production : Pour obtenir les coordonnées du centre du cercle ainsi que son rayon. Les contraintes qui sont en contact avec la sphère sont les contraintes (1).2. N ] ∀t ∈ [1. le rayon maximum de la sphère contenue dans l'espace des variables Xit peut être obtenu en maximisant : Rmax = max(R ) N N 2 ∑ aik X it + ∑ a jk * R ≤ bkt j =1  i =1  sous  X it − R ≥ 0  t t Ii 0 + ∑ X is − ∑ Dis + t * R ≥ 0 s =1 s =1   ∀k ∈ [1.75 .T ] ∀i ∈ [1.2. On obtient un rayon de 3 / 4 = 0.75 . en maximisant le rayon du modèle modifié (et en tolérant un rayon négatif). X21 (2) rayon maximum d'un cercle contenu dans l'espace des solutions (1) 4 X 11 + 3 X 21 ≤ 18 (4) 0 5 X 11 + 7 X 21 ≤ 35 (3) X11 figure 61 : une évaluation du volume de l'espace des solutions . X 21 − R ≥ 0  . on obtient un ensemble de contraintes à relâcher pour avoir une solution ainsi que la distance de relâchement minimum. N ] ∀t ∈ [1. Les coordonnées du centre du cercle sont X11 = 175 et X 21 = 2.T ] ∀i ∈ [1. il suffit de maximiser : Rmax = max R  X11 − R ≥ 1   X 21 − R ≥ 2  sous 5 X11 + 7 X 21 + 74R ≤ 35 4 X + 3 X + 5R ≤ 18 21  11  X11 − R ≥ 0. (2) et (4). Appliqué au modèle de planification présenté au paragraphe III.Les techniques d'optimisation 79 Lorsque le modèle initial n’a pas de solution.

Ceci tient au fait qu’en introduisant des variables discrètes dans le modèle. on perd les propriétés énoncées au III.3). Les méthodes polyédriques essaient de trouver un polyèdre convexe englobant au plus juste l’espace des solutions du problème en variables mixtes et plus petit que l’espace des solutions du problème en variables réelles. si la solution trouvée par l’optimisation en variables réelles (à l’aide du simplexe par exemple) du nouveau système est entière (pour les variables concernées) alors celle-ci est aussi solution optimale du problème original en variables mixtes.4). Ainsi. Si le critère avait été Z1 ≡ max X 11 + X 21 . on introduit de nouvelles contraintes (appelles coupes) dans le système de contraintes. Dans ce cas bien précis.3. la solution optimale du problème résolu en variables entières est la même que celle obtenue par le problème résolu en variables réelles. (3. (2. 50/13) et en discret les solutions optimales sont (1.2.3. cette méthode donne un ensemble de contraintes à relâcher en cas de décision sur contraintes. la solution optimale avec le critère Z1 est (21/13 .2). Ceci est utile dans le cas où aucune connaissance ne permet de choisir les contraintes à relâcher en priorité. Pour résoudre les problèmes à variables mixtes. III. la solution optimale n’aurait pas été la même : en continu.80 Modélisation des problèmes de gestion du temps et des ressources Cette méthode permet d’évaluer le volume de l’espace des solutions. Reprise de l’exemple III-2 La figure 62 montre l’espace des solutions correspondant au problème de l’exemple III-2 résolu en variables continues et les points représentent les solutions admissibles du problème résolu en variables entières. deux techniques sont utilisées : les méthodes polyédriques et les procédures par séparation et évaluation. De plus. X21 min X 11 + X 21 coupe X11 figure 62 : espace des solutions associé au problème de l'exemple I-1 en variables entières 0 .3. Pour cela. Modèles linéaires à variables mixtes ou discrètes Les modèles linéaires à variables mixtes sont bien plus durs à résoudre que les modèles linéaires à variables réelles. Il s’agit donc d’un moyen pour évaluer les degrés de liberté d’un centre.

Certains sous-ensembles ne seront pas séparés car leur analyse mettra en évidence qu’ils ne contiennent pas de solutions meilleures que celles déjà trouvées . Dans la suite du paragraphe. X11=1 X21=2 X11=2 X11=3 X21=3 X21=3 X21=4 X21=2 X21=2 figure 63 : arborescence d'une méthode par séparation et évaluation appliquée à l'exemple III-2 Pour ce type de modèle. nous retiendrons les procédures par séparation et évaluation avec une stratégie de type profondeur d’abord. . cette analyse vise à évaluer la valeur optimale de la fonction économique du sous-problème. une solution est donnée.Les techniques d'optimisation 81 Sur la figure 62. La résolution des problèmes d’ordonnancement avec contraintes de ressources est. D’où l’idée d’utiliser des méthodes heuristiques. Ceci favorise le test d’existence d’au moins une solution et si l’algorithme de recherche de solution optimale est interrompu.4. Deux grands types de stratégies existent : une stratégie de type largueur d’abord (on parcourt l’arbre niveau par niveau) et une stratégie de type profondeur d’abord (on descend d’abord le plus profondément possible).3. NP-complet. Cette coupe permet de trouver toutes les solutions optimales quel que soit le critère (ce n’est pas toujours le cas pour les autres problèmes). • une procédure de cheminement qui indique quels sous-ensembles analyser et dans quel ordre. III. on dit que l’arborescence est élaguée. la ligne en pointillés représente une coupe possible. une typologie des méthodes exactes et heuristiques en cinq points est présentée (voir [Gotha 93]). Reprise de l’exemple III-2 : La figure montre l’arborescence d’une méthode par séparation et évaluation. en général. Ces méthodes sont de deux types : les méthodes exactes qui prouvent l’optimalité de la solution trouvée et les méthodes heuristiques qui trouvent la solution optimale ou une solution qui s’en approche. plus précisément à déterminer une borne inférieure (supérieure pour un problème de maximisation) de cette valeur. En effet. elles ont pour but l’obtention rapide d’une solution. Les procédures par séparation et évaluation ou « Branch and Bound » sont essentiellement constituées de trois éléments : • une procédure de séparation qui à chaque fois qu’il sera nécessaire de séparer un sous-ensemble de solutions déterminera combien de sous-ensembles considérer et comment les constituer. Pour l’essentiel. Méthodes exactes et approchées pour les problèmes d’ordonnancement avec contraintes de ressources Les méthodes de résolution des problèmes d’ordonnancement sont issues de la recherche opérationnelle et de l’intelligence artificielle. • une procédure d’évaluation qui consiste à analyser un sous-problème.

Par exemple.82 Modélisation des problèmes de gestion du temps et des ressources Les méthodes par construction progressive sont des méthodes itératives où. Parmi ces méthodes. on effectue en général un retour en arrière (« backtraking »). • par l’application de règles de priorités qui ne conduisent pas en général à des solutions optimales (par exemple les méthodes « sérielles » pour les problèmes cumulatifs). dans ce cas. Les méthodes de résolution permettent de trouver la (les) meilleure(s) solution(s) à un problème. en transformant un flow-shop normal en flow-shop de permutation. La méthode peut donner une solution optimale. • décompositions temporelles (principalement pour l'ordonnancement dynamique). Toutefois. Les méthodes par voisinage manipulent des solutions complètes.. le nombre de solutions à explorer est moindre. C’est le cas par exemple des techniques de propagation de contraintes alliées à des techniques de résolution ou bien des algorithmes génétiques (algorithmes qui font évoluer une population de solutions par sélection et mutation). on résout d’abord le problème temporel puis le problème d’affectation).). Les méthodes qui utilisent des techniques de représentation des connaissances et de résolution des problèmes sont généralement issues de l'intelligence artificielle. Le choix du voisin conduit à plusieurs types de méthodes : • méthodes de plus forte pente (choix du meilleur voisin). Lorsque le problème contient des dates échues impératives. • recuit simulé (choix d'un voisin quelconque). on trouve les méthodes de relaxation (lagrangienne. mais qui fournissent des évaluations par défaut pouvant être intégrées dans d'autres méthodes. • méthodes de descente (choix aléatoire d'un voisin meilleur). Les méthodes par décomposition cherchent à décomposer le problème en sousproblèmes de complexité moindre. surrogate .. Chaque itération a pour objectif de passer d’une solution complète à une solution voisine mais meilleure relativement au critère considéré. • décompositions spatiales (décomposition en sous-ateliers). les méthodes par construction progressive peuvent conduire à des solutions non admissibles . Le choix de l’opération a ajouter à l’ordonnancement peut être défini : • par l’application d’un théorème de dominance. à chaque itération. • décomposition de l'ensemble des solutions du problème (ce sont les méthodes par séparation et évaluation). . les méthodes de résolution qui viennent d’être présentées reposent sur un modèle présentant certaines limitations : • l’ensemble des contraintes réelles n’est généralement pas pris en compte dans le modèle de résolution pour des raisons de difficulté de formalisation. Le fait de relâcher conduit à des solutions qui ne sont plus réalisables. on complète une solution partielle. • méthodes Tabou (méthode de descente mais on accepte de « remonter » losqu'un minimum local est atteint). Plusieurs types de décompositions peuvent être considérés : • décompositions hiérarchiques (plusieurs niveaux avec des mécanismes d’agrégation) • décompositions structurelles (par exemple. Les méthodes par modification des contraintes changent le modèle des problèmes à résoudre.

• l’obtention d’une solution unique ne permet pas de juger des degrés de liberté qui pourraient être utilisés en cas d’aléa : si le modèle change même de façon très partielle. en partie seulement. l’autonomie d’un centre de décision.4. III.4. l'auteur identifie six types de propagation de contraintes. [Lee et al. Ceci permet de caractériser. 93] et [Davis 87]). Pour cette raison. Ces méthodes peuvent s’appliquer aussi bien aux CSP discrets qu’aux CSP continus (voir [Sam-Haroud et al. Nous nous intéresserons qu'aux deux les plus généraux. il faut relancer une nouvelle résolution.2 Consistances locales et filtrage Les techniques de propagation de contraintes les plus connues sont les méthodes de consistance locale et de filtrage de domaine. il peut être intéressant de caractériser les solutions d’un problème.1 Introduction La propagation de contraintes est un mécanisme déductif qui permet d'inférer de nouvelles contraintes à partir d'un sous-ensemble de contraintes et de variables. III.Caractérisation des solutions admissibles • 83 certaines connaissances. L’inférence de contraintes permet d’inférer de nouvelles contraintes. en donnant le domaine que peuvent prendre les variables. Caractérisation des solutions admissibles Les techniques présentées dans ce paragraphe permettent en premier lieu de caractériser les solutions admissibles.1. L’ajout de plusieurs contraintes peut se faire en plusieurs étapes liées chacune à l'ajout d'une seule contrainte. III. les résultats intermédiaires sont valides et le processus peut être repris plus tard.1. Propagation de contraintes dans les CSP III. en particulier les préférences du décideur. Ce processus est étudié dans les CSP distribués (cf. On peut noter que l'inférence de label est un cas particulier d'inférence de contraintes. dont les plus intéressantes sont : • l'utilisation possible pour les systèmes incrémentaux. Dans [Davis 87]. . Ces méthodes infèrent des restrictions sur les domaines (inférence de labels).4. sont difficiles à traduire sous forme de contraintes ou de critères. 96].4. [Davis 87] a mis en avant quelques caractéristiques des systèmes de propagation de contraintes. en explicitant de nouvelles contraintes entre les variables. en prouvant l'inconsistance d'un problème. sans que cela n'affecte le résultat final. par exemple. d’évaluer les conséquences d’une décision particulière en temps de terme de modification de l’espace des solutions. • l'implémentation possible en parallèle. Si on interrompt le processus de propagation. Nous considérons également l’inférence de labels qui modifie le domaine des variables. Les CSP dynamiques exploitent particulièrement cette propriété.1. C’est l’objectif des techniques de propagation de contraintes. [Hamadi 99]). • l'utilisation possible sous contraintes de temps.

de nombreux algorithmes de filtrage ont été proposés.. Chaque arc (i.15] tD ≥ tA + 5 tA tD Pour rendre ce CSP arc-consistant. Les plus connus portent les noms de AC-1 à AC-6 (on peut voir le détail de ces algorithmes et une discussion approfondie sur leur efficacité dans [Hamadi 99] ou dans [Alliot et al 94]). Un CSP est dit k-consistant si pour toute instanciation consistante de (k-1) variables. tout le réseau de contraintes est reparcouru. [0 .15] [0 . Si aucune inconsistance n’est détectée.10] [5 . La consistance de nœud est équivalente à la 1-consistance. Voici quelques cas particuliers de k-consistance : Un CSP est noeud-consistant si et seulement si l’ensemble des valeurs de chaque domaine vérifient les contraintes unaires pesant sur la variable associée. il existe une valeur du domaine de l'autre variable qui satisfasse la contrainte. On en déduit le graphe suivant qui correspond à un CSP arc-consistant. Un CSP est chemin-consistant si et seulement si pour tout chemin ( x0 .. le CSP est nœud-consistant et arc-consistant. x1 . . j ) voit le domaine di filtré en fonction de la contrainte cij . L’algorithme AC-1 est le plus simple de ces algorithmes. il existe une valeur pour tB telle que la contrainte soit vérifiée et inversement. il existe une valeur pour toute k-ième variable telle que l’instanciation des k variables soit consistante. il faut réduire les domaines des deux variables afin que quelque soit la valeur prise dans le domaine de tA. Cet algorithme est relativement inefficace car à chaque changement. Ainsi. Illustration de l’arc-consistance Soit le graphe suivant. [0 . Un CSP est dit consistant si il existe au moins une solution. pour toute valeur du domaine d'une des deux variables. tout couple de valeur des domaines de x0 et xm .. Une contrainte binaire est arc-consistante si et seulement si.15] tD ≥ t A + 5 tA tD Afin de rendre un CSP arc-consistant. Dans le cas. xm ) . on a t D = t A + 5 et t A = t D − 5 . Un CSP est arc-consistant si et seulement si toutes ces contraintes binaires sont arc-consistantes. il existe au moins une valeur pour toute variable intermédiaire (de x1 à xm −1 ) tel que chaque contrainte binaire reliant deux variables adjacentes soit satisfaite.. L’arc consistance correspond à la 2-consistance. le réseau de contraintes est entièrement parcouru. nous présentons les notions de consistance et de k-consistance. la chemin-consistance est équivalente à la 3consistance.84 Modélisation des problèmes de gestion du temps et des ressources Avant de présenter les techniques de filtrage. Tant que le domaine d’une des variables est changé. d’un CSP binaire.

déduit des restrictions sur la localisation temporelle des tâches (inférence de domaine).5] t A ≥ t début tA tD ≥ t A + 5 t D ≥ tC + 2 [5 . Les règles présentées ici peuvent s’appliquer aux problèmes d’ordonnancement avec tâches non préemptives et ressources renouvelables. III. . L’analyse sous d’ordonnancement contraintes des problèmes Les techniques de k-consistance appliquées aux problèmes d’ordonnancement donnent de bons résultats dans certains cas : les algorithmes de chemin-consistance assurent que le CSP résultant est globalement consistant dans le cas des ordonnancements sans partage de ressource. Le premier type de règles présenté repose sur l’identification de conflits de partage afin d’effectuer d’éventuels arbitrages.8] tC t fin ≥ t F + 1 tF ≥ tE + 8 tF [10 . [Hennet 97]. on empile toutes les contraintes qui font intervenir la variable sauf ci . C’est le rôle de l’analyse sous contraintes des problèmes d’ordonnancement ([Esquirol et al 99]. La figure 64 montre le graphe CSP arc-consistant dérivé de celui de l'exemple III-3.2. intégral. Le second type de règles présenté s’appuie sur le concept d’énergie. Au départ. [Huguet 94].Caractérisation des solutions admissibles 85 L’algorithme AC-3 comble en partie cette inefficacité. [Le Pape 94]). Si une variable voit sont domaine changé à cause d’une contrainte ci . Les algorithmes de chemin-consistance donnent les actualisations maximales des domaines de variables et assurent que le CSP résultant est globalement consistant : toute valeur du domaine d’une variable intervient dans au moins une solution. Ce raisonnement correspond à une inférence de contraintes. toutes les contraintes sont dans la pile .15] tE ≥ tB + 2 tE [2 . On peut remarquer que les valeurs des domaines obtenus ici sont les même que ceux obtenus avec l’ordonnancent au plus tard et au plus tôt comme l’a montré la figure 60. les algorithmes de chemin-consistance appliqués aux problèmes d’ordonnancement sans contraintes de partage de ressource donnent un CSP globalement consistant. Donc.10] tD tF ≥ tD + 4 [0 .4] tC ≥ t B + 2 [2 . on peut mettre en place des règles de déduction plus spécifiques afin de renforcer la consistance du problème.6] figure 64 : arc-consistance appliqué au CSP de l'exemple III-3 Les problèmes d’ordonnancement sans contraintes de partage de ressources peuvent être formulés sous la forme d’un TCSP (CSP à variables temporelles) binaire. Dans les autres cas. au fur et à mesure des actualisations les contraintes sont dépilées pour filtrer les domaines des variables. [0 .4] tdébut t B ≥ t début tB [0 .4. Ce raisonnement.14] tfin [11 .

2}. Un ensemble critique de tâches en conflit T est un ensemble minimal de tâches qui utilisent une ressource k . Les tâches 5 et 6 ne peuvent pas faire partie d’un ensemble disjonctif maximal car elles ne peuvent entrer en conflit avec aucune autre tâche. Exemple : .3}.4. {2.5}. puis dans un second temps par l’inférence de séquencements obligatoires ou interdits et enfin par l’actualisation des domaines des variables. qui ne sont pas ordonnées et qui ne peuvent pas être exécutées en parallèle.4. les tâches de cet ensemble doivent être totalement ordonnées. On en déduit i précède j .3.3}. Pour deux taches i et j appartenant à un ensemble critique. l’énumération systématique peut donner un grand nombre d’ensembles critiques. {1.5.4.6}.4].5. Un ensemble disjonctif maximal D est un plus grand ensemble de tâches qui utilisent la ressource k tel que tout couple de tâches de cet ensemble est un ensemble critique.2. La recherche des ensembles critiques de tâches en conflit et des ensembles disjonctifs maximaux permet d’utiliser des règles de déduction afin d’inférer des séquencements interdits ou obligatoires.3). On suppose qu’il n’existe aucune contrainte temporelle initiale (hormis les dates de début au plus tôt et au plus tard des tâches).2.6}. Le nombre de décisions nécessaires pour résoudre un problème est au plus égal au nombre d’ensembles critiques. Exemple III-6 : un problème d'ordonnancement cumulatif Dans cet exemple.1 L’identification de conflits de partage de ressource Ce type de raisonnement passe d’abord par la détermination des ensembles critiques de tâches en conflit.2. {1. {2. Ainsi. i ai ri pi di 1 3 0 2 5 2 3 2 2 6 3 2 3 1 6 4 2 0 1 6 5 1 3 1 5 6 1 1 2 6 L’analyse permet de déterminer les ensembles critiques : {1.86 Modélisation des problèmes de gestion du temps et des ressources III. si d j − ri < pi + p j alors i ne peut pas précéder j . {1.2. Voici deux exemples de règles : • précédence interdite.3}.4}. Ces contraintes supplémentaires sont ajoutées au CSP.5.2. {1. La nécessité de résoudre un ensemble critique de tâches en conflit peut être exprimée par un ensemble non conjonctif d’inégalités de potentiels (comme nous l’avons vu au paragraphe III. 6 tâches {1. La recherche des ensembles critique est triviale dans le cas de ressources disjonctives. dans le cas de ressources cumulatives. {2. Les ensembles disjonctifs maximums sont {1.4. Par contre. {3.6} utilisent une seule ressource de capacité Ak = 4 .4}.6}. {3.

III. la tâche i peut être séquencée avant la tâche j ou avant la tâche k . i s∈ S nouvelle contrainte : ∃s ∈ S / s p i . D est un ensemble disjonctif maximal.4. [Huguet 94]. on a déduit que i ne peut pas précéder j . max d S − ri s∈ S ' i j S k s∈S ' ∑p s Une fois. Or. les contraintes déduites intégrées dans le CSP. Ici. .Caractérisation des solutions admissibles d j − ri 87 i j pi + p j • ensemble non postérieur. l’ensemble des tâches critiques ne contient que deux tâches.2. [Hennet 97]. nous ne donnerons que le principe de ce raisonnement. sur la figure de la règle de précédence interdite. Il vise à resserrer certaines fenêtres afin d’interdire un positionnement des tâches menant à une consommation excessive d’énergie. S ⊆ D − {} S ' = S ∪ {}. La figure suivante illustre ce propos. À titre d’exemple. Pour une description exhaustive de ces déductions. Il s’ensuit une actualisation possible de la date de début au plus tôt de la tâche i et de la date de fin au plus tard de la tâche j . La tâche i ne peut pas être séquencée avant les tâches j et k . donc j doit précéder i . on se référera aux articles [Esquirol 99]. i ∈ D. si max d s − ri < ∑ ps alors ¬(i p S ) . certaines déductions sur les domaines peuvent être inférées. On en déduit la i.2 Le raisonnement énergétique Le raisonnement énergétique est basé sur les bilans énergétiques relatifs à une ressource cumulative k . Par contre.

des séquencements interdits ou obligatoires peuvent être déduits.5. Plus généralement. on peut envisager de ne prendre que les intervalles correspondant aux extrémités des tâches afin de limiter la complexité du traitement à une complexité polynomiale. l’énergie fournie par un ensemble de personnes peut être exprimée en hommexheure et l’énergie fournie par un îlot d’atelier en machinesxheures. l’analyse permet de déduire un ensemble de dates interdites pour une tâche et. propager les contraintes à chaque nœud de l’arbre.88 Modélisation des problèmes de gestion du temps et des ressources L’énergie est une grandeur qui permet de caractériser une quantité de travail. L’inférence de labels ou inférence de domaine permet d’actualiser les domaines des variables. Tout l’art de la résolution consiste à bien doser le nombre de règles à employer dans la propagation de contraintes. soit de caractériser l’espace des solutions. Dans ce cas. III. Dans cette partie. Discussion Les techniques de propagation de contraintes permettent d’inférer des informations à partir d’un ensemble de contraintes et de variables. Ils s’avèrent performants dans certains cas comme l’ordonnancement sans partage de ressources. L’inférence de contraintes permet de déduire de nouvelles contraintes. Dans certains cas. on utilise en complément des règles d'analyse sous contraintes ce qui revient à réaliser une certaine forme de k-consistance. soit fournie par une ressource sur un intervalle de temps. Une fois. Cette analyse peut mener à la détection d'une inconsistance globale. ainsi.4. Ces techniques couplées à une génération de solution par évaluation et séparation permettent d’élaguer l’arbre des contraintes. Cependant. . nous revenons sur quelques particularités essentielles de ces techniques. une inconsitance globale peut passer inaperçue. Dans le cas de l'ordonnancement. elles peuvent donner lieu à de nouvelles actualisations. d’actualiser les fenêtres des tâches (dates de début au plus tôt et date de fin au plus tard). soit requise pour réaliser une tâche. On peut. seule la génération d’une solution permet de vérifier la consistance du problème. III. Pour une tâche i d’intensité constante ai et de durée pi . ces informations intégrées dans le CSP. Les techniques de propagation consomment du temps . soit de générer une solution. Synthèse Les modèles et les techniques présentés tout au long du chapitre permettent.3. l’énergie requise par la tache est ei = ai pi . Ainsi. qui nous paraissent importantes pour la réalisation d'un outil d'aide à la décision. Les techniques générales de propagation comme les algorithmes assurant l’arcconsistance et la chemin-consistance peuvent être appliquées à tous les types de problèmes (planification comme ordonnancement). Les raisonnements mis en œuvre ne sont pas complets dans le cas général. par exemple. Le principal problème de ce type de raisonnement est de déterminer les intervalles de temps à étudier. L’idée de base est d’étudier les consommations minimales et maximales des tâches sur un intervalle de temps. l’élagage de branches permet de gagner du temps. Par exemple.

[Verfaillie et al 95] ont identifié. d’un point de vue global. On accepte que les algorithmes donnent des réponses non optimales (dans le cas d’une résolution) ou une réponse incomplète (dans les cas des caractérisations). Les algorithmes incrémentaux traitent le problème de maintien de consistance d’arc. deux types d’approches. Tout d’abord. le retrait de contraintes ne pose pas de problème (la solution vérifie n’importe quel sous-ensemble de l’ensemble des contraintes). En effet. si le calcul de trajectoire prend trop de temps. l’atelier peut être bloqué et entraîner des retards. III. solution) depuis le début. dans le cadre des techniques de propagation de contraintes. Les algorithmes classiques peuvent facilement être adaptés pour l’ajout de contraintes. • maintien d’une solution après chaque modification.1. le décideur ne peut pas attendre indéfiniment les résultats des algorithmes.5. des interactions avec d’autres centres amènent le décideur à ajouter ou à retirer des contraintes. une solution de P’ devrait être trouvée à proximité de S. alors si le problème P’ est proche de P. un accident peut survenir. Temps limité Dans la plupart des cas. Ici. Ces contraintes sont les contraintes produites par exemple par les mécanismes de propagation de contraintes. il serait souhaitable de développer des techniques réutilisant une partie du travail déjà effectué sur le problème précédent.Synthèse 89 III. Aspect dynamique de la prise de décision La modélisation des problèmes considérés jusqu'ici présente un caractère statique.5. Lors d’un changement dans le modèle. Le retrait de contraintes pose un problème délicat et fait l’objet d’algorithmes spécifiques comme par exemple Dn-AC4. le retrait de contraintes peut poser des problèmes (des informations déduites préalablement ne sont plus valides). La seconde approche consiste à mémoriser des contraintes produites dans les cadres de recherche précédentes et à réutiliser celles qui restent valides dans le cadre du problème courant pour couper l’espace de recherche associé. Cette problématique a été beaucoup étudiée en planification de trajectoires (pour les robots). Inversement. dans un contexte réel on est souvent amené à modifier dynamiquement un modèle. En contrepartie. Par exemple. le temps est considéré comme une ressource. En effet. Le retrait de contraintes ne pose aucun problème par contre l’ajout d’une contrainte peut rendre la solution inconsistante. . l’ajout de contraintes ne pose pas de problèmes (les informations déduites jusqu’alors ne sont pas remises en cause). plutôt que de reprendre l’analyse du problème (caractérisation. Par contre. Le principal obstacle de ces approches est qu’une solution peut être difficile à maintenir en cas d’ajout de contraintes (la solution ne satisfait peut-être pas les contraintes ajoutées). Plusieurs approches peuvent être envisagées : • maintien d’un certain niveau de consistance locale après chaque modification. la première approche consiste à mémoriser et à réutiliser des solutions de problèmes précédents : si une solution S satisfait P. si la résolution du problème d’ordonnancement prend trop de temps et si la date de début de l’ordonnancement est dépassée. En fait. Dn-AC-6 et AC/DC (voir [Debruye 95]).2.

90 Modélisation des problèmes de gestion du temps et des ressources Deux grandes approches peuvent être distinguées : les algorithmes « anytime » et les algorithmes « design-to-time ». Une génération de solution par évaluation et séparation en profondeur d’abord peut facilement être considérée comme un algorithme anytime (on peut arrêter l’algorithme dès qu’une première solution a été générée). ce décideur peut se poser la question suivante : compte tenu d’une solution souhaitable. le décideur du centre de planification considère le paramètre D53 comme une variable et cherche à maximiser le critère max D53 . L’approche des algorithmes anytime est intéressante dans le cadre d’une aide à la décision. Les algorithmes design-to-time ([Garvey 93]) maximisent la qualité du résultat en fonction du temps alloué .40] . un commercial demande à la fonction planification quelle est la quantité de produits 5 que peut livrer l’entreprise pour la période 3 sans faire appel à la soustraitance. Ces paramètres peuvent être considérés comme des variables dans le modèle du centre de décision. L’algorithme du simplexe peut aussi être transformé en algorithme anytime (il suffit de s’assurer que la procédure d’initialisation soit terminée). Les algorithmes anytime sont relativement faciles à concevoir. [Huguet 94]). Il se peut qu’on ne connaisse que le domaine des valeurs que prendra un paramètre (paramètres prévisionnels). Cette interruption peut être inattendue (crée par l’utilisateur par exemple) ou planifiée. l’algorithme peut s’arrêter à une date de fin au plus tard si celle-ci est connue. le décideur prend des décisions avec les paramètres fixés (les décisions en amont). Très schématiquement. De même. Le commercial transmet au centre de planification que D53 ∈ [35. on peut s’appuyer sur le caractère réversible (voir par exemple [Hennet 97]. Le centre de planification tient compte de cette imprécision en considérant D53 comme une variable avec le domaine indiqué.3. le meilleur optimum et le pire optimum peuvent être obtenus sur des modèles linéaires avec les paramètres spécifiés comme des intervalles (par . Dans [Chinneck et al. puisqu’à tout moment les contraintes déduites sont des conditions nécessaires. Le principe est le suivant : on considère les paramètres comme des variables et les variables de décision comme des paramètres. Le client ne connaît pas précisément la quantité dont il aura besoin.5. Mais. Pour répondre à cette question. III. Un algorithme design-to-time peut être également anytime s’il accepte une interruption. Exemples en planification de la production : Pour pouvoir répondre à un client. il existe donc une fonction qui permet de mesurer la qualité des solutions. Le décideur peut interrompre le traitement et obtenir un résultat. Inversibilité du modèle et paramètres partiellement connus Par défaut. les algorithmes anytime ([Zilberstein et al 96]) peuvent être interrompus à n’importe quel moment et donnent un résultat de qualité proportionnelle au temps utilisé. Par exemple. quelles sont les valeurs des paramètres qui la rendent admissible ? Pour répondre à cette question. 00]. La principale différence entre les deux approches est que l’algorithme anytime peut être interrompu à tout moment alors qu’un algorithme design-totime s’arrêtera nécessairement avant la date prédéfinie. les techniques de propagation de contraintes sont des algorithmes anytime.

certains cas particuliers d’ordonnancement ont été étudiés quand certains paramètres n’étaient pas connus : On peut considérer un problème d’ordonnancement conjointement avec un problème d’affectation ( Ωk n’est pas totalement connu). En effet.40]) . Exemple en ordonnancement d’atelier : Si la durée des tâches peut varier en fonction de la quantité des produits à fabriquer. Cependant. Si on ne connaît que les domaines (discrets) de certains paramètres. il suffit de choisir une valeur pour les paramètres parmi toutes les valeurs du domaine. tous les paramètres peuvent être considérés comme des variables .5. nous avons vu que la linéarité du modèle est conservée quand les stocks initiaux ( I i 0 ). l’obtention du meilleur optimum et du pire optimum nécessite une énumération. plusieurs modèles pour la gestion de projets avec gammes alternatives et avec contraintes de ressources sont étudiés. 00].Synthèse 91 exemple aik = [35. Dans [Ginestet 98]. Des affectations interdites sont mises à jour. En planification de la production. On peut considérer un problème d’ordonnancement avec gammes alternatives. par exemple. . En cas d’inversion (totale) du modèle.4. Les techniques de propagation de contraintes par k-consistance restent valables : il suffit de considérer les paramètres non entièrement instanciés comme des variables. les capacités des machines ( bkt ) et les demandes ( Dit ) ne sont pas totalement connus. Cette étude est. Dans le cas général. Le modèle n’est plus linéaire lorsque les variables de décision X it (quantités de produits à fabriquer) et les paramètres aik (consommations de ressource pour la fabrication d’un produit) sont considérés en même temps comme des variables. Exemple en gestion de projet : Le décideur peut être amené à considérer la date de fin au plus tard des tâches comme une variable pour. les techniques de résolution par évaluation et séparation restent valables. dépendante du problème considéré. Le décideur choisit une gamme de fabrication parmi un certain nombre (plusieurs matrices bij possibles). en général. on peut chercher à savoir quels sont les contraintes. Décision sur les contraintes Pour prendre des décisions sur les contraintes. Pour ce faire. renégocier la date de fin d’un projet dont on sait qu’il ne pourra se terminer dans les délais initialement prévus. III. il suffit de considérer le paramètre pi comme une variable et maximiser le modèle avec le critère max pi . le décideur responsable d’un atelier peut donner son avis sur la quantité maximale de produits qu’il peut fabriquer. Tous les algorithmes employés pour le modèle « classique » restent valides (comme l’algorithme du simplexe ou les techniques de k-consistance). la linéarité est conservée. des techniques de propagation de contraintes sont étudiées pour ce cas. Dans [Huguet et al. les paramètres ou les décisions qui doivent être relâchés.

la prise en compte d’arriérés de fabrication permet de prendre en compte. Dans [Chinneck 96]. il faut disposer d’une stratégie de pose de contraintes (a priori de la plus importante à la moins importante). la recherche des chemins critiques dans le graphe potentielstâches indique l’ensemble des tâches dont la durée dont on peut diminuer la durée dans le but d’achever le projet plus tôt.3.3. essentiellement liée à la coopération entre centres . le décideur tiendra compte de ces propres objectifs mais aussi des relations qu’il a avec d’autres centres. Ici. On le voit ici.6. la stratégie de remise en compte des contraintes dépend énormément du problème et de l’expertise du décideur. Pour définir la stratégie. Le chapitre suivant s’intéresse à la dynamique des modèles associés aux centres d’un réseau. Ces mêmes outils peuvent être utilisés pour préciser des valeurs acceptables pour les paramètres. dès la modélisation. Dans le cas général. Néanmoins. • en planification. augmentation de la capacité des ressources. autorisation d’arriérés de fabrication. grâce à une prose progressive des contraintes liées aux ordres de fabrication classés par ordre croissant d’importance. l’ajout progressif des contraintes permet d’identifier un ensemble de contraintes qui posent problème.92 Modélisation des problèmes de gestion du temps et des ressources En ordonnancement.2. Le système SCOOP (voir [Lopez et al 96]) permet de détecter des inconsistances et prévient l’utilisateur en essayant d’expliquer (et donc d’identifier) la cause du problème. dans le paragraphe III. certains outils sont disponibles pour analyser la cause du problème : • en ordonnancement. nous avons vu que la recherche d’une sphère de rayon maximum contenu dans l’espace des solutions donne les contraintes les plus fortes. des paramètres. la possibilité de retards ou la possibilité de paramètres non entièrement spécifiés (voir paragraphe précédent). III. Dans ce chapitre. de prendre des décisions sous ou sur les contraintes. Des techniques de résolution et de propagation de contraintes permettent d’analyser l’espace des solutions. une méthode pour obtenir l’ensemble non réductible des contraintes qui ne peuvent être satisfaites est donnée : il suffit de relâcher une des contraintes de cet ensemble pour que le problème ait de nouveau une solution. De plus. En ce qui concerne la planification. recherche des contraintes les plus fortes. des relations entre variables et paramètres). analyse du chemin critique et identification des ressources goulots. nous avons abordé les décisions. Pour les ordonnancements avec ressources. les contraintes et les préférences essentiellement comme des objets mathématiques statiques (variables de décision. Conclusion Les modèles présentés dans ce chapitre permettent de représenter le problème de décision d’un centre. l’identification de la (ou des) machine(s) goulot(s) peut donner lieu à différentes stratégies de relaxation.

en réduisant les possibilités de (re)négociation. sous la forme d'outils d'analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes. mais plusieurs. certaines à but prévisionnel. de remise en cause supposent un certain niveau de formalisation des interactions entre les décideurs. II. Or dans un environnement perturbé. il n’existe pas un modèle unique en chaque centre. De ce fait. De plus. Dans ce contexte. La négociation porte sur la valeur des paramètres intervenant dans les contraintes des modèles des centres. . les négociations qu’elles supportent font référence à des états différents des modèles.Chapitre IV Interactions et communication dans un réseau de centres de décisions IV. un premier type d'aide à la décision peut être proposé. Cette formalisation joue un rôle déterminant car elle clarifie les intentions des différents centres au cours de leurs interactions et permet de construire des conversations types. d'hypothèse. elle permet également de remettre en cause des décisions déjà prises afin de réagir à des aléas. Si les interactions entre centres sont toutes synchrones. Elle permet d'anticiper des problèmes dont la résolution demande un temps non négligeable . Nous étudions le service que peut constituer l’utilisation d’une messagerie dédiée aux conversations portant sur la négociation des paramètres intervenant dans les contraintes du modèle des centres. Dès lors que les interactions entre centres ne sont pas synchrones. par exemple entre deux échanges avec des centres différents. les notions d'engagement.5). D'autre part. Enfin. des contraintes de décision en temps limité peuvent également influer sur la stratégie des décideurs.1. Ce type d'aide permet d'évaluer la consistance du problème local et de fournir des solutions prévisionnelles. Cet ensemble évolue au fur et à mesure que des négociations entre centres se développent et que de nouveaux événements surgissent qui confirment ou non les hypothèses faites pour préparer ces négociations. un centre peut s’engager dans plusieurs types de négociation. les modèles évoluent selon une suite d’états totalement ordonnés . Nous abordons par la suite le problème de l'aide à la gestion dynamique du processus de résolution en un centre. Ces modèles partagent certes un grand nombre de caractéristiques. En chaque centre. mais diffèrent par : • leur niveau d'instanciation (le nombre de décisions fixées) • l’état communiqué ou non des hypothèses et des décisions • leur durée de vie (temps au bout duquel certaines hypothèses du modèle deviennent caduques) Au problème de résolution statique s'ajoute celui de la gestion dynamique d'un ensemble partiellement structuré de modèles. les décideurs ont une connaissance partielle du problème global posé au réseau et doivent communiquer pour coopérer et éventuellement négocier. Une approche dynamique de l’aide à la décision distribuée Nous nous intéressons au problème de l'aide à la décision distribuée au sein d'un réseau de centres de décisions (cf. d’autres pour réagir à des événements imprévus. toutes les informations utiles n'arrivent pas au même moment en un centre. la dynamique globale résulte d’une suite de résolutions de problèmes statiques.

de le prévenir de l'urgence ou du retard d'une prise de décision. sous la forme de dates limites associées aux changements d’état des variables. Nous supposons que les interactions entre agents s’effectuent selon des protocoles prédéfinis. L'échange de messages s'insère dans deux types de conversations prédéfinies (conversation pour engagement et conversation pour information). Le suivi des conversations et l'évaluation des différentes propositions faites sont facilités. IV. Les négociations entre centres peuvent être partiellement automatisées. Dans notre approche. nous considérerons qu’un seul décideur. Enfin. agit à la fois sur le système d’information et qu’il agit comme un décideur unique équivalent (nous écartons ainsi le sous-problème de décision collective que pourrait soulever la description détaillée du fonctionnement interne d’un centre). d’évaluer le temps maximum disponible pour une négociation. Des contraintes de coordination peuvent ainsi être prises en compte. nous proposons un protocole de communication entre les centres. Nous distinguons les contraintes organisationnelles qui définissent la structure et le fonctionnement du réseau. les contraintes de modèle qui portent directement sur les décisions et les contraintes procédurales qui permettent à plusieurs centres de coopérer. Pour simplifier. propositions et engagements que le centre considère sont représentés au travers d'une structure arborescente. les différentes hypothèses. Ensuite. la notion d’agent recouvre l’ensemble des dispositifs permettant d’assister le décideur à la fois dans la résolution des problèmes dont le centre a la charge et dans les interactions formalisées qu’il a avec d’autres centres. Dans un deuxième temps. Structure d’un centre Un centre est composé d’un ou de plusieurs décideurs assistés par un système d’aide à la décision appelé agent (voir la figure 65). centre de décision 1 informatisé agent agent centre de décision 2 décideur non informatisé décideur figure 65 : constitution des centres de décision . les différents états que peut prendre une variable de décision sont étudiés.2.94 Interactions et communication dans un réseau de centres de décisions Nous proposons de distinguer plusieurs classes de contraintes parmi l’ensemble des contraintes qui fixent le cadre des décisions en chaque centre. Un outil d’aide à la décision doit permettre au décideur de mieux gérer son temps.

les contraintes organisationnelles sont aussi plus rarement . messagerie… En se posant différentes questions sur les décisions.nature. Enfin. les contraintes procédurales sont modifiées. le décideur cherche à connaître les contraintes qui pèsent sur elles. de négociation ? figure 66 : le décideur cherche à caractériser les contraintes La remise en cause de ces contraintes présente plus ou moins de facilité.valeur fixée. dates limites de prise de décision. Ces contraintes se traduisent en général par un protocole d'interaction entre les centres : communication à l'aide de notes. réunions. liens entre centres). Elles définissent la structure du réseau (type des décisions prises par chaque centre. à trouver une solution au problème de décision (sous contraintes) ou à négocier des paramètres (sur contraintes). Parfois.2.). décisions des centres en amont décisions du centre négociées avec les centres en aval centre . les centres négocient les valeurs des paramètres et des variables intervenant dans les contraintes de modèle. Classification des contraintes pesant sur un centre Afin de proposer un outil d'aide capable de tenir compte de l’ensemble des contraintes qui influent sur l’activité des décideurs. Ces contraintes affectent le domaine des variables de décision.. L’essentiel des conversations entre centres porte donc sur l’ajustement des modèles entre centres. Elles décrivent le type et la sémantique des échanges entre les 2 centres (engagements. … ? . Ainsi. pour améliorer l’efficacité des interactions entre deux centres. chapitre précédent) permettent d'aider le décideur à évaluer les marges de manœuvre dont il dispose. Nous supposons que ce problème est formalisable à l'aide d'un modèle de type CSP. il convient d’abord d'identifier cet ensemble. Nous avons identifié trois types de contraintes formalisables qui pèsent sur un centre : Les contraintes organisationnelles proviennent de la définition du réseau. Elles définissent également son fonctionnement à travers des règles de coordination entre centres (contraintes de workflow. périodicité des décisions. De plus. Des outils de propagation de contraintes et de résolution (cf. Les contraintes de modèle décrivent de façon générique le problème posé en chaque centre.Structure d’un centre 95 IV. Les contraintes procédurales structurent le processus de coopération entre les centres. en fonctionnement normal. les négociations concernant des décisions sont facilitées par le cadre fourni par les contraintes procédurales (voir la figure 66).. instant de décision/de gel.1. le décideur peut chercher non seulement à connaître les valeurs que peut prendre une décision (contraintes de modèle) mais aussi à connaître le type des décisions. le centre responsable et les contraintes temporelles qui pèsent sur le processus de décision (contraintes organisationnelles). précédence).méthode de communication. Par exemple. comportement attendu . selon une fréquence beaucoup plus faible. valeurs possibles ? .

c j ) . Les techniques permettant de représenter et de traiter les contraintes de modèle ont été abordées au chapitre précédent. .1 Les contraintes de structure La structure du réseau de centres de décision peut être représentée par un graphe orienté dont les sommets représentent les centres de décisions et les arcs orientés la dépendance d'un centre (B) envers un autre centre (A) dont les décisions interviennent comme des paramètres dans ses contraintes. Les contraintes organisationnelles Les contraintes organisationnelles sont essentiellement définies par des contraintes de structure (aspect statique) et des contraintes de coordination (aspect dynamique ou fonctionnement). uM ) l'ensemble des M arcs.2. l'ensemble des centres en amont du centre ci est amont (ci ) = {c j / ∃u = (c j . c i )} . c2 .. Dans la suite du chapitre. IV. Lorsque qu’un réseau est correctement défini les définitions et propriétés suivantes sont applicables au graphe associé (la notation et les termes employés sont issus de [Prins 94]) : • l'ensemble des variables de décision du centre ci est l'union des variables portées par les arcs incidents extérieurement à ci : var _dec (c i ) = ∪ F (u ) . u2 .. Dans la suite.. Soit X i l'ensemble de variables que considère le centre ci . nous cherchons.. + u ∈ω ( c i ) • • • l'ensemble des paramètres du centre ci est l'ensemble des variables portées par les arcs incidents intérieurement à ci : param(ci ) = ∪ F (u ) . F ) avec : • C = (c1.2. F (u ) est l'ensemble des variables de décision de ci transmise à cj .. ce graphe est défini par le triplet S = (C. Nous y reviendrons peu dans ce chapitre. • à proposer un protocole de communication entre centres (contraintes procédurales) • à représenter l'état d'un centre.2. C’est notamment le cas à l’occasion d’un processus de BPR et de la mise en place d’un système de workflow (voir chapitres I et II). Pour un arc u = (ci .U. il nous est apparu indispensable de limiter notre approche au cas où les contraintes procédurales et organisationnelles sont fixées et ne peuvent être remises en cause.. Dans un premier temps. cN ) l'ensemble des N centres.2. essentiellement : • à représenter les contraintes organisationnelles. • U = (u1. • F une fonction de U vers l'ensemble des variables de décision X ( F : U → X ).. − u ∈ω ( c i ) l'ensemble des variables privées de ci est var_ priv (ci ) = X i − var_ dec (c i ) − param(ci ) . On peut remarquer que l’absence de circuit dans ce graphe traduit un ordre partiel ou total dans la prise de décision (par exemple hiérarchisation)..96 Interactions et communication dans un réseau de centres de décisions remises en cause. IV.

Structure d’un centre • • l'ensemble des centres en aval du centre ci est aval (ci ) = {c j / ∃u = (c i , c j )} .

97

une variable de décision ne peut être sous la responsabilité que d'un seul centre. ∀c i ∀c j ≠ ci , var_ dec (ci ) ∩ var_ dec (c j ) = ∅ . De plus, X = ∪ var_ dec (ci ) .
ci

IV.2.2.2 Fonctionnement du réseau
La description de la structure d'un réseau de centres de décision ne suffit pas pour décrire les contraintes organisationnelles. En effet, l'étude du fonctionnement du réseau est aussi importante. Afin de décrire le fonctionnement d'un réseau de décision, il semble utile de distinguer le fonctionnement normal du fonctionnement perturbé. En fonctionnement normal, la nature et la date d'arrivée des interactions sont prévisibles et connues. C'est le cas notamment en fonctionnement périodique : le centre responsable de variables et les centres en aval doivent périodiquement négocier les variables de décision. • En fonctionnement perturbé, les centres ne connaissent pas la nature et la date des interactions. Ces interactions visent à réagir face à un aléa ou à une opportunité ; elles permettent de corriger des décisions prises préalablement. On est alors dans une phase de renégociation. Nous pouvons représenter le fonctionnement (normal et perturbé) d’un réseau de centres par un actigramme SADT. Ici, chaque rectangle (voir figure 67) représente une fonction de décision ; les données d’entrée arrivent par le côté gauche de la boîte (flèche 1), les données de sortie figurent sur le côté droit (flèche 2) ; les données qui contrôlent ou déclenchent la fonction de décision (flèche 3) entrent par le haut ; enfin les informations représentant la nature des dispositifs de décision (ici un ou plusieurs centres de décision) (flèche 4) figurent sous l’activité. Si le fonctionnement est périodique les événements qui déclenchent la fonction de décision sont du type : « tous les jours », « toutes les semaines »…). Si le déclenchement a lieu sur événement non contrôlable, le contrôle sera constitué de décisions provenant d'un centre en amont ou d’aléas survenus dans l'environnement. évènement déclenchant contrôle (3) données en entrée (1) fonction centres participants (4) figure 67 : une fonction de décision données en sortie (2) •

IV.2.2.3 Exemple en gestion de production
La figure 68 montre un réseau de centres de décision en gestion de production. Compte tenu du plan prévisionnel, le centre commercial envoie des commandes (quantité et date de livraison par commande) au centre de planification. Celui-ci calcule un plan de

98

Interactions et communication dans un réseau de centres de décisions

production (quantité de produits à fabriquer par période). Ce dernier est reçu et décomposé en tâches par le centre d’ordonnancement. Le graphe montre un ordre naturel dans la prise de décision entre le centre de planification et celui d’ordonnancement. Il existe donc une hiérarchie dans la prise de décision qui induit des contraintes de coordination. commercial plan de production quantité de produits à fabriquer par période plan de production quantité de produits à fabriquer par période carnet de commande : quantité de produits à livrer par commande date de livraison par commande planification

ordonnancement date de début des tâches

figure 68 : un exemple de réseau en gestion de production La figure 69 montre le fonctionnement correspondant à la structure de la figure 68. Le commercial fournit une quantité de produits à fabriquer pour une date de livraison. Pour cela, il se base sur un plan fourni par le centre de planification, ce plan étant actualisé en fonction des commandes passées. Toutes les semaines, le centre de planification fournit les quantités de produits à fabriquer pour la première période au centre ordonnancement. Celui-ci délivre un ordonnancement quotidien. Les différents centres de décision tiennent compte également d’aléas (exemples : augmentation d’une commande, mise au rebut d’un lot de pièces, panne machine). Dans cet exemple, il y a correspondance entre les fonctions de décision et les centres de décision.
client aléa quantité de produits à livrer date de livraison toutes les semaines aléa planifier quantité de produits à fabriquer tous les jours aléa

prendre des commandes

commercial

planification quantité de produits à fabriquer

ordonnancer

ordonnancement

figure 69 : le fonctionnement du réseau en gestion de production

IV.2.2.4 Exemple en gestion de projets
Cet exemple fait parti des études menées par le groupe DIDOM (DIstribution de la Décision dans les Organisations Matricielles). DIDOM est un partenariat entre plusieurs

Structure d’un centre

99

laboratoires (CERT, CERTOP, IRIT et LAAS) et un industriel. Ce groupe de recherche s’intéresse aux mécanismes décisionnels dans les organisations matricielles. Les études menées visent à traiter des problèmes industriels et à proposer des méthodes génériques. Le groupe DIDOM mène deux types d’actions ([DIDOM 97] et [DIDOM 00]) : • des analyses sur site (approche ascendante) menées, entre autre, par une équipe de sociologues • des actions génériques (approche descendante). Deux thèmes sont étudiés : la réparation d’un plan d’un projet et les mécanismes de coordination entre projets. Les travaux présentés dans ce mémoire ont été intégrés par le groupe DIDOM. Nous nous sommes intéressé à une structure matricielle projets/métiers dans une entreprise qui réalise des produits complexes obtenus par assemblage et intégration de nombreux sous-systèmes. Le responsable projet est chargé de piloter la réalisation effective du produit en maintenant un plan à court terme (CT). Pour cela, il se base sur le plan moyen terme (MT) et l'état d'avancement de l'assemblage du produit. Outre sa compétence technique, qui l'amène à proposer ou valider des opérations devant être planifiées sur le produit, le correspondant métier est aussi chargé de collecter les besoins du projet en ressources humaines. Le responsable métier a en charge la gestion des connaissances et des compétences relatives à un métier. En particulier, l'affectation des personnels (emploi du temps) aux différents projets relève de sa responsabilité. Le graphe (voir la figure 70) montre l'existence de circuits dans le réseau. Contrairement à l’exemple précédent, la présence de circuits sur le graphe illustre les régulations qui s’opèrent entre les responsables projet par l’intermédiaire des affectations décidées par les responsables métier.
axe métier

plan MT resp. projet 1 plan CT plan MT
métier 1

plan MT affectation des ressources affectation des ressources resp. projet 2 plan CT plan MT besoin en ressources resp. métier 1 besoin en ressources corresp. métier 1

corresp. métier 1

métier 2

corresp. métier 2

besoin en ressources

resp. métier 2

besoin en ressources

corresp. métier 2

projet 1

projet 2

axe projet

figure 70 : un exemple de réseau en gestion de projet Afin de rendre cohérents les plans d’assemblage de projets et l’emploi du temps des personnels une coordination est nécessaire.

Toutefois. La replanification des activités d’assemblage constitue l’objet central des réunions d’avancement projet (cf. projet corresp. groupe resp. les participants. équipe équipe figure 71 : le fonctionnement du réseau en gestion de projet plan réalisé resp. réunions « RM ») afin de recenser les besoins. RP) avec une fréquence hebdomadaire. ceci n'exclue pas l'utilisation de négociations asynchrones afin de préparer des solutions aux différents problèmes et de réagir aux différentes opportunités rencontrées dans la semaine. projet corresp. division resp. ces dernières s’enchaînent dans un ordre donné (RA. ils font certaines hypothèses sur les ressources qui seront affectées au projet. Afin de rendre cohérentes entre elles les différentes décisions prises au cours des réunions. la fréquence et l’enchaînement sont formellement prédéfinis. répartir les personnels entre les différents projets. réunions « RP »). Lorsque la demande globale dépasse la disponibilité. Cependant. groupe métier corresp. projet resp. métier par métier (cf.100 Interactions et communication dans un réseau de centres de décisions On s’intéresse par la suite aux processus prédéfinis d’interaction entre les différents centres de décision. réunions « RA » sur la figure 71) au cours desquelles les plans CT et MT sont réparés. cette forme de coordination préalable se traduit par des réunions dont l’objet. Ce type de décision est prise durant les réunions de production (cf. RM. si les plans sont réalistes du point de vue technique. En cas d’échec. Ici. des ajustements sont effectués à travers des négociations. équipe plan à la journée . métiers toutes les semaines résoudre des conflits (RP) plans CT validés resp. Les processus prédéfinis de coordination sont de type synchrone. métiers plans de production conflits solutions tous les jours suivre l’état d’avancement (DM) projet plans MT validés plans CT validés plan réalisé exécuter plan réalisé resp. et éventuellement pallier des pointes de charge en recourant à l’embauche d’intérimaires. des réunions quotidiennes (DM) permettent de suivre le projet et de réagir aux différents aléas ou opportunités. Enfin. toutes les semaines projet prendre en compte l’état réel (RA) toutes les semaines métier prendre en compte les ressources(RM) plans CT proposés plans MT plans CT prévus plans MT prévus resp. Des réunions métiers périodiques sont organisées. un premier niveau d’arbitrage est possible par le responsable de la division d’assemblage.

Enfin. • La destruction de la variable. Entre la prise de décision et le gel. C’est durant cet état que l’application de la décision a lieu. La variable est détruite. la variable est renégociable. entre le gel et la destruction de la variable. À partir de cet instant. noté des x . • Le gel. Par exemple. cet intervalle doit couvrir l’ensemble des phases qui peuvent intervenir dans une décision négociée.3. sauf si le domaine initial ne comporte qu’une valeur. une certaine forme d’autonomie apparaît à travers le choix de la date de prise de décision à l'intérieur du cadre fixé. Les instants qui caractérisent un changement d’état sont : • La création de la variable. date_de_décision_au_plus_tard]. Les différents états de la décision Au cours du temps. Elle est rarement instanciée. Cette prise de décision conclut une phase de négociation. Durant cette période. Globalement. noté dec x . une variable de décision x change d’état. IV. notée crex . lorsque les domaines de valeurs sont ordonnés (quantités.3. Décision en temps limité Nous supposons que les instants de prise de décision sont contraints par des intervalles temporels du type [date_de_décision_au plus_tôt. ou renégociations.1. La variable est instanciée et négociée avec les centres en aval. décision gel destruction changement création d’état crex dec x gel x des x négociable renégociable gelée temps états négociation renégociations figure 72 : états d'une variable x actions d’un centre . Cette date marque une frontière entre des négociations de type prévisionnel et des négociations de type réactif. ou états. une négociation peut avoir lieu ayant pour objet l’instanciation de la variable. approvisionnement.Décision en temps limité 101 Cependant. suite à une mise à jour du modèle. Entre la création de la variable et la prise de décision. • La prise de décision. noté gel x . la variable est gelée (sa valeur ne peut plus être changée). Ainsi. La valeur de la variable ne peut plus être changée (pour des raisons technologiques. La variable est créée avec un domaine initial. toutes les contraintes de coordination ne peuvent pas apparaître sur les diagrammes tels que celui de la figure 7. IV. la variable est négociable. dates) les renégociations se basent sur les instanciations précédentes afin de trouver une valeur proche. les dates de décision au plus tard ne peuvent pas y être représentées. Plusieurs renégociations pourront avoir lieu et auront pour objet le changement de la valeur de la variable. elle peut intervenir dans des contraintes de modèle. Généralement. Si la variable apparaît dans une contrainte soit on remplace la variable par sa valeur soit on retire la contrainte. réservations…).

Par exemple.3. Une attitude naturelle consiste à grouper les décisions par paquets partageant les mêmes dates de changement d’état : • le nombre d’états à considérer en est considérablement diminué • il est préférable de générer un ensemble de décisions simultanément cohérentes.2.102 Interactions et communication dans un réseau de centres de décisions IV. En effet. un centre de planification préfère donner un plan de production pour tous les produits sur une période. seulement une partie de ces états seront acceptables. certaines variables sont créées . La figure 73 montre le nombre d’états générés pour une chronique particulière (liste ordonnée d’événements) dans un réseau comportant 3 centres dont un des centres. Le centre négocie un plan dans son ensemble et non décision par décision. Pour ce petit exemple. utilise un modèle à 3 variables (deux variables sont des paramètres provenant de deux centres en amont et Z est la variable de décision du centre 3). il faut en principe combiner les différentes alternatives (valeurs possibles envisagées dans chaque négociation sur une variable) pour obtenir l’ensemble des états atteignables à l’issue des conversations. Leur détermination n’est pas envisageable en l’absence d’hypothèses permettant de limiter ce problème. Le problème de l’explosion du nombre d’états d’un modèle Dans le cas général. il existe déjà 12 états distincts (nombre d’intervalles temporels jointifs générés par projection sur l’axe temporel des différents instants de changements d’état des 3 variables). si l’on veut assurer la cohérence d’un modèle résultant de diverses négociations menées en parallèle entre un centre et ses accointances. Centre 1 X Centre 3 Centre 2 Y Z X Y Z temps figure 73 : états du modèle du centre 3 On est confronté au problème d’explosion combinatoire lorsqu’on désire anticiper les événements et déterminer à l’avance l’évolution possible du modèle en un centre. Ainsi. est à l’origine d’une explosion combinatoire du nombre d’états que peut prendre le modèle du problème de décision en un centre. le caractère asynchrone des changements d’états des variables. • ceci réduit le nombre d’interactions entre les centres. Pour un centre d’ordonnancement. le centre 3. Or. Les moments de prise de décision périodique sont l’occasion de synchroniser les dates des différents instants qui caractérisent les variables. cela consisterait à donner des décisions pour la journée suivante.

Si on regarde la figure 39 page 58. on a vu qu’habituellement en planification. certaines variables sont décidées. on peut faire correspondre plusieurs horizons (voir le chapitre 3 pour les horizons rencontrés en planification). À l’instant t 0 . t h = max des x (l’horizon prévisionnel va de l’instant présent jusqu’à la x date de destruction maximum des variables crées). Cet horizon est inclus dans l’horizon prévisionnel. Il semble plus efficace de passer au schéma de droite où les décisions changent d’état de façon synchrone : le centre prend un ensemble de décisions en même temps et communique l’ensemble des décisions dans un même message. les variables correspondant aux deux premières périodes ont été détruites (car appliquées). Au chapitre 3. d’autres variables sont gelées et. Cet horizon prend en compte les variables de décisions existantes qu’elles soient déjà instanciées ou non. La figure 75 montre les instants de changement d’état de quatre variables (de x1 à x 4 ). le mécanisme de glissement (prise de décision périodique) est l’occasion de créer. la variable x1 est déjà gelée. deux groupes de variables ont été ajoutés en fin d’horizon et. Le centre responsable de ces décisions prend les décisions individuellement et les transmet une à une. Sur la partie gauche de la figure suivante. L’horizon prévisionnel est l’intervalle de temps entre t 0 et l’instant maximum de destruction . avec ∀x / crex ≤ t0 et gel x ≥ t 0 td = min des x (l’horizon de décision va de l’instant x présent jusqu’à la date minimale de destruction des variables non gelées et crées).3. figure 74 : prise de décision synchrone IV. de geler ou de détruire certaines variables.Décision en temps limité 103 pour prendre en compte un horizon plus long. horizon _ prévisionnel = [t0 . t h ] avec t 0 la date courante et t h tel que ∀x / crex ≤ t 0 . d’instancier. les variables dont les décisions ont été appliquées sont détruites. entre la planification de la période 1 et 3. Les variables de décision sont donc non gelées mais sur le point de l’être : horizon _ de _ décision = [t0 . • L’horizon de décision définit l’horizon sur lequel les variables de décisions et les paramètres sont ou vont effectivement être mis en œuvre mais non gelés. les instants de changements d’état des décisions ne sont pas liés. • L’horizon prévisionnel représente l’horizon sur lequel les paramètres et les variables de décision sont pris en compte. certaines décisions sont instanciées.3. enfin. Horizons temporels Aux différents états que peuvent prendre les variables de décision. seules les variables x1. x2 et x3 sont créées . t d ] .

Ces contraintes permettent aux centres de se coordonner efficacement. le centre 2 peut être à l'origine d'une négociation par anticipation sur X afin de pouvoir se baser sur une valeur (même prévisionnelle) de X . Ces contraintes permettent de mettre en œuvre les mécanismes de décision périodique où les instants de changement d’états des variables sont synchronisés. on voit immédiatement que le centre 2 peut avoir à mener une négociation sur Y alors que X n'a même pas été négociée. X pourrait être modifiée juste après le gel de Y et entraîner une incohérence) . x2 . temps t0 td horizon prévisionnel horizon de décision figure 75 : différents horizons en fonction des états des variables th IV. On peut considérer deux familles de contraintes qui interviennent dans les métamodèles : • les contraintes de synchronisation entre centres permettent d’établir un ordre (au moins partiel) dans la prise de décision de différents centres. X (resp. 2) heure avant sa date de gel. Cet horizon correspond aux prochaines décisions qu’il faudra prendre. Y doit être gelée à t 0 . Y ) doit faire l'objet d'une première négociation au moins 1 (resp. Méta-modèle d’un réseau La définition des règles de coordination des centres d’un réseau sous la forme de contraintes temporelles liant les instants de prises de décision sur les variables de chaque centre constitue un méta-modèle qu’il est possible d’exploiter (par propagation) pour déduire des inconsistances ou montrer une autonomie trop faible en un centre lorsqu’il ne dispose pas d’un temps suffisant pour négocier avec les autres. Pour se dégager de ce problème. les deux centres savent qu'elle doit se finir avant t0 . Ici. Une fois engagés dans une renégociation. L’horizon de décision est l’intervalle de temps entre t 0 et la date minimale de destruction des variables crées et non gelées ( x2 et x3 ).3. Exemple : La figure suivante présente un exemple de méta-modèle pour deux centres de planification. • les contraintes de synchronisation interne visent à réduire le problème de l’explosion combinatoire du nombre d’états.4.104 Interactions et communication dans un réseau de centres de décisions des variables x1. X doit être gelée avant t 0 dans le cas contraire. Le méta-modèle permet également de savoir qu'au moins 1 heure de renégociation sur X est prévue. x3 ( t h correspond à l’instant de destruction de x3 ). .

Les réunions (même lieu) et les téléconférences (lieu différent) sont deux exemples typiques d’interaction synchrone. chapitre V). ainsi rappeler au décideur de prendre des décisions. Les communications par tableau (même lieu) et par courrier électronique (lieu différent) constituent des exemples d’interaction asynchrone. les outils d'aide peuvent être utiles pour préparer les interactions synchrones (exemple : les réunions). Protocole de communication Lors de leurs communications. cela permet d'évaluer le temps maximum que le centre peut consacrer à une négociation. Les interactions sont asynchrones si les deux activités citées précédemment n’ont pas nécessairement lieu en même temps. IV.Protocole de communication 105 Modèle CSP du centre 1 gel x < t 0 dec x ≤ gel x − 1 ( 2) (3 ) X Modèle CSP du centre 2 gel y = t0 gel x < t 0 dec x ≤ gel x − 1 dec y ≤ gel y − 2 Y contraintes organisationnelles (de coordination) (1) ( 2) (3 ) ( 4) figure 76 : exemple de contraintes temporelles sur un centre Nous pouvons construire un méta-modèle qui permet de représenter la plupart des contraintes temporelles pesant sur les instants de prise de décision d'un centre. Un outil d'aide à la décision pourra. Dans ([Nurcan 96]) une matrice espace/temps est utilisée pour classifier les circonstances de travail coopératif (voir tableau 6). Il permet de connaître les urgences. les centres respectent des contraintes procédurales. nous proposons un protocole de communication permettant aux différents agents d'échanger des informations sur les décisions. même (synchrone) différent (asynchrone) interaction face à face interaction asynchrone exemple : réunion exemple : tableau espace différent (distant) interaction synchrone distribuée interaction asynchrone distribuée exemple : téléconférence exemple : courrier électronique tableau 6 : matrice espace/temps Temps même (local) . Dans ce paragraphe. Enfin.4. Le protocole de communication et les outils d'aide que nous proposons pour négocier ne seront valables que pour des interactions asynchrones. Nous considérons que les interactions sont synchrones si les activités qui visent à influencer et à se laisser influencer ont lieu en même temps (ce critère est détaillé dans [Antillanca et al 99]). Ces caractéristiques peuvent faire partie des spécifications d’un outil d’aide à la décision distribuée en temps limité (cf. L'outil pourra également signaler qu'il est nécessaire d'attendre certaines décisions en amont avant que le centre ne prenne des décisions. Ce modèle permet de représenter les marges de manœuvre qu'il possède avant la prise de décision. Deux critères sont employés pour ce classement : un critère temporel (synchrone/asynchrone) et un critère spatial (même lieu/lieu différent). Cependant.

• la formalisation permet de rendre explicites les intentions de l’émetteur du message. Nous distinguons ainsi plusieurs types de messages composés de différents champs. mais de futures conversations portant sur une prise de décision pourront se baser sur cette recherche. l’émetteur peut compter sur la réception de réponses adaptées à son envoi. Communication par envoi de message Les conversations sont constituées de messages. Cet objectif vise la description du fonctionnement dynamique du réseau de centres de décisions .1. Les champs associés à tout message sont les suivants : • contenu : ce sur quoi porte le message. • la recherche d’informations. un engagement faible est pris. Initialement. Son domaine d’application concerne la spécification de systèmes artificiels. KQML est un langage de communication et un protocole qui permet à des agents autonomes et asynchrones de travailler ensemble par échange de messages (voir chapitre 2 et [Labrou et al 97]).4. IV. un centre peut rechercher des informations sur la faisabilité de propositions ou demander que l’on lui en fasse. Dans cette conversation. Dans notre cas. les champs supplémentaires que nous proposons sont signalés par le signe ° dans le reste de ce paragraphe. il est complémentaire de la description statique de la structure du réseau. Les ambiguïtés sont ainsi éliminées. en fonction des conversations type que les deux entités utilisent. KQML est un langage universel extensible.1. En retour. . Toutefois. Si la conversation se termine bien. Il propose un ensemble prédéfini de champs caractérisant chaque message. le langage KQML (Knowledge Query and Manipulation Language). Il s’agit d’un formalisme pour l'envoi de messages entre agents. ce champ est constitué soit d'un ensemble de contraintes d'égalité et/ou de domaine soit de noms de variables (voir le tableau 7). Nous proposons d’utiliser un formalisme dédié aux communications asynchrones.106 Interactions et communication dans un réseau de centres de décisions Afin de proposer des traitements partiellement automatisés. nous proposons l'emploi de messages s'insérant dans deux types de conversations qui ont pour but : • la prise de décision. Ce type de conversation permet aux centres d'agir par anticipation. il autorise l’introduction de champs supplémentaires répondant aux besoins spécifiques d’une application. Les messages échangés par les agents correspondent à des actes de langage. Nous avons utilisé cette possibilité . En vue de prendre des décisions. un engagement (fort) est pris entre les différentes parties et la base de données est actualisée. Toutefois le principe d’un certain niveau de formalisation des échanges entre décideurs humains présente plusieurs avantages : • la formalisation oblige à analyser les différents types de messages et de conversations entre deux décideurs communicant leurs décisions ou négociant en vue de prendre leurs décisions. qui devra « typer » chaque message émis. Les différents centres ne sont pas obligés de le respecter. un ensemble d’affectations est négocié. IV.4.1 Composition d’un message La composition d’un message s’inspire des champs d’un courrier électronique ou d'une fiche dans les bureaucraties. Si la conversation se termine bien.

• réponse par défaut° : si l’agent destinataire ne répond pas à temps. Les messages que s'échangent les centres de décisions peuvent être de type : • proposer° : l'émetteur propose à un ou plusieurs autres agents de prendre comme décision la valeur du champ contenu. En fonction de son type. destinataire(s) : le ou les centre(s) destinataires du message. • référence à rappeler : si l'agent émetteur attend une réponse. Par exemple. qui précède l’envoi ou la réception d’un message. • contre-proposer° : le centre émetteur fait une contre-proposition à une proposition précédente. IV. contre-proposer et demander-si). • en réponse à : quand le message est une réponse. Un centre qui reçoit un message demanderdomaine répond avec ce type de message. les messages peuvent avoir des champs supplémentaires (cf. Le champ contenu porte sur des variables dont le centre émetteur du message est responsable. il spécifie un identificateur que le destinataire devra rappeler. date d’émission° : la date d’émission du message.2 Type de messages Le type d’un message permet d’identifier l’action que l’émetteur veut que le destinataire fasse. l’émetteur considère que la réponse sera la réponse par défaut. ce champ explicite le but de la conversation. ce champ est rempli avec l'identificateur contenu dans le champ référence à rappeler du message auquel le centre répond.1. les types de messages non prévus par KQML (mais permis) sont suivis du signe °. • confirmer° : le centre émetteur confirme que le contenu contenu est considéré comme un engagement entre toutes les parties. Le contexte (conversationnel) est donc l’ensemble des messages relatifs à une même conversation. • accepter/refuser : ces deux messages sont utilisés comme réponse directe aux messages précédents (proposer. conversation°: identificateur unique de la conversation en cours. conditions d’utilisation décrites dans le tableau 7) : • date de validité° : date avant laquelle l’émetteur du message souhaite une réponse. • demander-si : le centre émetteur demande aux destinataires s’ils acceptent la valeur du champ contenu. alors une date de validité doit l’être également. Comme au paragraphe précédent.Protocole de communication • • • • 107 émetteur : le centre qui envoie le message.4. ce champ pourra prendre la valeur "planification pour la semaine 12". Si une réponse par défaut est spécifiée. • dire : le centre émetteur signale au centre destinataire que les domaines de valeurs consistantes sont ceux du champ contenu. Ceci permet de replacer un message dans son contexte. . • intention° (ou objectif) : pour les messages initiant une nouvelle conversation (et uniquement pour eux). • demander-domaine : le centre émetteur demande aux centres destinataires d’indiquer un domaine de valeurs consistantes du point de vue du destinataire pour les variables du champ contenu. pour un centre de planification.

cependant le champ contenu a de fortes chances de faire l’objet d’un engagement prochain. Cet échange fait parti d'une conversation pour information. le champ contenu (contraintes d'égalité. • abandonner° : abandon de la conversation. • acquitter° : le centre émetteur signale qu’il a bien reçu le message confirmer ou résumer. CentreB devra répondre avant le 2 janvier 2000 à 18 heures avec l'identificateur 4321. Le premier message est une demande de toutes les instanciations possibles de X11 et X12 envoyée par centreA pour centreB. (ask-all (tell :sender centreA :sender centreB :receiver centreB :receiver centreA :content "X11 X12" :content "X11=[12. Le 2 janvier 2000 à 10 heures 54. Le tableau suivant montre certaines propriétés que les messages doivent respecter. Aucun engagement fort n’est encore pris . type du message proposer et contre-proposer demander-si accepter et refuser demander-domaine dire confirmer résumer acquitter abandonner direction quelconque quelconque champ contenu date de validité et réponse par défaut possible possible impossible possible impossible impossible impossible impossible impossible contraintes égalité contraintes égalité contraintes de domaine quelconque le champ contenu du message initiateur quelconque nom de variables quelconque contraintes d'égalité ou de domaine vers l'aval contraintes d'égalité quelconque contraintes d’égalité contraintes de domaine vers le centre contraintes d'égalité responsable dépend du type rien de conversation tableau 7 : propriétés des messages Exemple d'échange de messages : Voici un exemple d'échange de messages entre deux centres. centreB répond que.108 • Interactions et communication dans un réseau de centres de décisions résumer° : le centre émetteur fait le résumé de la conversation et clôt la conversation. X11 est compris entre 12 et 24 et que X12 est nécessairement égal à 34.24] X12=34" :date "1/1/2000 0:0" :date "2/1/2000 10:54" :conversation 1234 :conversation 1234 :reply-with 4321 :in-reply-to 4321 ) :validity-date "2/1/2000 18:00" ) . de domaine ou un ensemble de variables) les champs date de validité et réponse par défaut. Il s'agit de propriétés concernant le sens d'envoi des messages (vers le centre responsable des variables présentes dans le champ contenu ou vers l'aval). pour lui.

action}).4.Protocole de communication 109 IV. Les transitions indiquent également le type des messages attendus ou émis (à chaque transition est associée une condition de franchissement et/ou une action à réaliser {condition .2.2.Caval ) et V ∩ F (u ) ≠ ∅ Ces conversations sont constituées de deux phases : • une phase de négociation. la décision est imposée aux centres n'ayant pas accepté la proposition. Normalement. tous les messages reçus sont lus. Conversations Nous avons vu au chapitre 2 des scénarios de conversations dans le cadre de la théorie des actes de langage ou des systèmes multi-agents.1 Les conversations pour engagement Ces conversations ont pour but la prise de décision. Une conversation réussie se termine par un engagement entre les différentes parties pour respecter l’objet (le champ contenu) de la conversation. nous allons décrire le déroulement de deux types de conversations : les conversations pour conclure sur une prise de décision effective et les conversations pour rechercher des informations afin de préparer une décision cohérente et robuste. Caval / ∃u = (Cres . Les transitions correspondent à la lecture d’un ou plusieurs messages (on a alors un arc qui va de la boîte de réception vers la transition) ou à l’envoi de messages (arc de la transition vers la boîte d’envoi). Les participants de ces conversations sont le centre Cres responsable des variables de décision (V ) et les centres en aval {Caval } concernés par une ou toutes les variables de décision. refusent la proposition ou émettent une contre-proposition vers Cres .4. Ce type de conversation concerne l’instanciation de variables. Les centres Caval émettent un message d'acquittement en retour. Nous nous inspirons de ces scénarios pour proposer nos types de conversations. Cres peut passer dans la phase de décision même si la proposition n'a pas été acceptée par tous les centres en aval. Une transition est franchie dès que la date limite DV est atteinte. Les places doublement encerclées de ce réseau de Petri constituent la boîte de réception et la boîte d’envoi du centre. À cette occasion. Cette phase a pour but la négociation de l'engagement à prendre. Dans le cas le plus extrême. Cette phase peut être initiée soit par un Cres soit par Caval . Mais. . Cres ne passe à la phase de décision que lorsque tous les centres ont accepté une proposition. celui-ci sera remplacé par le résultat de cette conversation. Ceux-ci acceptent. La figure 77 montre le comportement d’un centre responsable des variables de décisions faisant l’objet d’une négociation pour engagement. Ce message signale qu'un engagement a été pris entre tous les centres pour que contenu soit appliqué. Dans ce cas. Les autres places constituent un état du centre lors du traitement de la conversation. • une phase de décision. Cres émet une proposition vers tous les Caval . Cette phase débute par un message confirmer de Cres envoyé à tous les Caval . Si la conversation est initiée par un Caval alors Cres étend la discussion à tous les Caval . Si un engagement portant sur les mêmes variables existait déjà. La figure 78 montre le comportement de chaque centre aval. Dans cette partie. IV. Elles permettent à un centre responsable de décisions de s'assurer de leur robustesse et aux centres en aval de la cohérence de leurs décisions. Cres peut imposer sa décision à tous les centres en aval.

type=confirmer ou type=abandonner} n accord {type=acquitter.} {type=proposer .type=contreproposer} n <type> m (m<n) n boîte de réception de Cres <type> opinion res {.} accord {. soit il négocie une autre proposition (message contre-proposer). alors une confirmation est lancée et le centre passe dans l’état accord. soit il abandonne (message abandonner).110 Interactions et communication dans un réseau de centres de décisions Lorsqu’il est dans l’état « opinion res ».} boîte d'envoi de Cres fin figure 77 : comportement d’un centre responsable de décisions faisant l’objet d’une conversation pour engagement début {type=proposer .DV] n {. début 1 n {type=accepter ou type=refuser ou type=contre-proposer . le comportement attendu (et non obligatoire) de Cres est le suivant : • si toutes les réponses des centres avals acceptent.} [DV] opinion res {.} { .type=accepter ou type=refuser ou type=contre-proposer} boîte d'envoi de Caval <type> boîte de réception de Caval {type=confirmer ou type= abandonner.type=proposer} opinion aval <type> {type=contreproposer.} {. • dans les autres cas.type=proposer} opinion aval [DV.type=acquitter} fin figure 78 : comportement d’un centre en aval lors d’une conversation pour engagement .

début {typer=demander-si ou demander-domaine. Le centre d'ordonnancement envoie un message de réception du message de confirmation. Ces conversations permettent de négocier par anticipation. typer=acquitter} {. le chapitre 5) montre un exemple de conversation pour engagement entre un centre planification et un centre ordonnancement. Ce type de conversation est plus libre que les conversations pour engagement puisque tout centre peut intervenir à n’importe quel moment. Le centre ordonnancement envoie une contre-proposition. Le centre d'ordonnancement répond favorablement. le centre de planification envoie le message de confirmation au centre d'ordonnancement (la décision est prise). Afin de conclure l’accord.2 Les conversations pour information Les conversations pour obtenir des informations ne débouchent pas sur un engagement fort.typee=demander-si ou demander-domaine} <typer> boîte de réception n {typer=demander-si ou typer=accepter ou typer=refuser ou typer=dire.typee=résumer ou typee=abandonner} attente {typer=acquitter.} fin figure 79 : comportement d’un centre lors d’une conversation pour information IV.4.Protocole de communication 111 IV. N’importe qui peut initier ces conversations et n’importe qui peut les terminer. Le centre de planification envoie un message proposer qui débute la conversation.} {. Le centre de planification envoie une nouvelle proposition.3.} n <typee> n n n boîte d’envoi {typer=résumer ou typer=abandonner. Exemple : La figure 80 (il s’agit d’un diagramme de séquence cf.2. La conversation se conclut soit par une réussite de la conversation (un résumé est alors fait) soit par un échec.} évaluation {typee=demander-si ou typee=accepter ou typee=refuser ou typee=dire.4. .

en réponse à. Quand le CSP devient inconsistant. X21=19) contre-proposer (X11=13.5. conversation. X21=15) confirmer (X11=13. entre autres. il faut conclure la (re)négociation avant la date de gel). Le décideur peut représenter et évaluer différentes hypothèses ou conversations.112 Interactions et communication dans un réseau de centres de décisions planification ordonnancement proposer (X11=10. Notamment. X21=23) contre-proposer (X11=10. les champs émetteur. évaluer les effets de plusieurs conversations menées simultanément. date d’émission. Par contre. l’outil d’aide peut indiquer quelles sont les réponses possibles. • et surtout. • l’outil d’aide peut fournir un historique des conversations afin de ne pas explorer deux fois les mêmes hypothèses. • quand un centre doit répondre à un message. X21=15) accepter (X11=13. destinataire (en fonction du champ contenu). Cependant. quelles sont les contraintes (et les conversations pour engagement) à remettre en cause ? Le prochain paragraphe présente une structure arborescente qui permet. cette arborescence fournit une aide complémentaire pour la prise de décision locale et les négociations. X21=15) acquitter temps figure 80 : une conversation pour engagement L’utilisation d’un protocole de communication (messages et conversations prédéfinis) permet d’automatiser partiellement certains traitements : • certains champs des messages peuvent être automatiquement remplis. le champ intention est laissé à la discrétion de l’utilisateur. . ce dernier champ peut être rempli en utilisant le méta-modèle (en effet. l’outil d’aide peut automatiquement intégrer le champ contenu dans le CSP du centre. référence à rappeler et date de validité. Représentation de l’état d’un centre Nous avons adopté une structure arborescente pour représenter l’état d’un centre. de représenter les effets d’une conversation. une fois que la conversation est terminée avec succès. IV. on peut se demander comment représenter. En permettant de représenter et de structurer le processus de décision. En effet.

5. la contrainte sera plus ou moins facile à changer.1.2. Au moment où un centre envoie le message confirmer (partie d’une conversation pour engagement). C2 > C2 = C3 ∪ C1 figure 81 : passage d’un nœud à un autre Nous cherchons à représenter le problème local d'un centre. CSP1 =< X . Ceci permet de préparer des décisions que l'on communiquera dans la suite. D. propositions et engagements Les contraintes de modèle qu'un centre considère peuvent avoir plusieurs origines. trois types de contraintes : • les engagements sont des contraintes issues de conversations pour engagement. Les contraintes d'engagement sont des contraintes d'affectation. une proposition ou d'un engagement transforme le CSP courant ( CSP1 ). C1 > Ajout d'une hypothèse. L'auteur de ces contraintes peut être soit le centre en amont soit le centre lui-même (dans la boucle proposer/modifier). Ces contraintes sont associées à la notion de robustesse. proposition ou engagement (contenant les contraintes C3 ). Ces contraintes ont été communiquées mais aucun engagement fort n'est encore intervenu. • les engagements ou propositions en relation avec l'aval correspondent à des conversations concernant des décisions prises en aval. IV. Nous cherchons également à évaluer les effets de ces différentes contraintes. différentes hypothèses. Ces contraintes sont des contraintes d'affectation ou de domaine. Cependant. comme il est plus facile de changer des contraintes sur lesquelles le centre ne s’est pas engagé. Suivant cette origine. Hypothèses. CSP2 =< X . Ces contraintes sont quelconques. Ces contraintes sont liées à la notion de cohérence. • les propositions sont des contraintes issues de conversations pour information ou de conversations pour engagement non encore abouties. Ainsi. En effet. proposition ou engagement. l'ensemble des contraintes du CSP résultant ( CSP2 ) est l'ensemble des contraintes du CSP1 plus les contraintes C3 (voir figure ci-après). Structure arborescente La prise en compte d'une hypothèse. ces contraintes ont toutes les chances d'être appliquées dans le futur. nous proposons une structure arborescente à plusieurs étages allant des décisions les plus figées à celles qui sont le plus hypothétiques : . les contraintes associées à ce message sont considérées comme une contrainte d'engagement. propositions et engagements.5. il faut prendre en compte les nouvelles contraintes ( C3 ) de l'hypothèse. A priori. • les hypothèses sont des contraintes qu'un centre considère sans quelles soient communiquées à d'autres centres. outre les contraintes de modélisation.Représentation de l’état d’un centre 113 IV. seules les contraintes de domaine ou d'affectations pourront être négociées. Cependant. D. C'est pour cela que nous distinguons. On peut distinguer deux sous-types d'engagements et de propositions : • les engagements ou propositions en relation avec l'amont correspondent à des conversations concernant des décisions prises en amont.

Les arcs font la transition d'un nœud à un de ses fils.. La cohérence des CSP qui tiennent compte des propositions et des hypothèses permet d'anticiper sur un problème de cohérence ou de robustesse futur.. des décisions gelées ou imposées et. Ce CSP détermine donc si à un instant t le centre de décision est cohérent et robuste (le CSP a au moins une solution).. Ei est un engagement.} est l’ensemble des arcs de l’arborescence. La racine de l'arbre est le modèle générique qui permet de modéliser le problème de décision du centre. hypothèses CSP des engagements engagements P4 CSP4 propositions . H k est une hypothèse et Sl à la génération d’une solution. La prise en compte de tous les engagements donne le CSP des engagements. Ensuite. Pj est une proposition. La prise en compte des paramètres non contrôlables et des décisions gelées dans ce modèle donne le CSP racine. H k .. 1 BRA = {Ei . imposées CSP racine E1 CSP1 E2 P3 CSP3 P5 CSP5 H6 CSP6 H7 CSP7 résolutions solution 1 solution 2 solution 3 figure 82 : arbre de recherche en un centre À chaque nœud correspond un modèle CSP.. Les propositions et les hypothèses portent sur des décisions qui seront amenées à être des engagements. L’arborescence peut être notée à l’aide d’un triplet A = (CSP. décisions gelées. CSPN } est l’ensemble des nœuds de l’arborescence. BRA.114 Interactions et communication dans un réseau de centres de décisions CSP générique paramètres non contrôlables. Il s'agit d'un des modèles abordés au chapitre 3. viennent les propositions (ce sont des hypothèses communiquées donc susceptibles de devenir des engagements). CON ) où : CSP = {CSP . des décisions pour lesquelles le centre s'est engagé.. Ils correspondent à l'ajout d'une ou plusieurs contraintes dans le modèle du CSP parent.. surtout. Sl . Le CSP des engagements modélise le problème du centre de décision en tenant compte des paramètres non contrôlables. Dans les branches les plus basses interviennent les hypothèses (non communiquées) et les solutions générées. CSP2 . Pj .

la permutation de bra2 avec bra3. alors toute permutation de branches qui sont sur le chemin n’a aucune influence sur les deux CSP .C1 > bra1 CSP2 =< X . Cette propriété est intéressante pour reclasser les engagements. L’inverse est vrai aussi. C j = Ci ∪ CON (bra ) .C3> figure 84 : effets d'une permutation de deux branches . Propriété 2 : composition.Représentation de l’état d’un centre CON est une fonction qui à tout arc associe un ensemble de contraintes. Sur l’exemple de figure 84. Ceci est une conséquence de la propriété précédente (en composant puis en séparant les branches).C1> bra2 CSP2=<X. En particulier. Cette propriété pourra être utile en cas de renégociation d’une partie d’une proposition ou engagement. décomposition de branches Si à une branche correspond plusieurs contraintes.D. Il est donc remplacé par CSP3. Par contre.C3 > CON (bra3 ) = CON (bra1 ) ∪ CON (bra2 ) figure 83 : composition.D.C1 > bra3 CSP3 =< X . CSPj ). CSP1=<X.D. CSP1 =< X .C4> bra2 CSP3=<X.C2 > bra2 composition décomposition CSP1 =< X . par contre.C2> bra3 CSP3=<X. D. on peut décomposer la branche en plusieurs branches contenant chacune un sous-ensemble des contraintes. les CSP situés entre ces deux CSP diffèrent.C3 > CSP3 =< X .D.C3> permutation de bra3 et de bra2 CSP1=<X. D. D. et ceux qui peuvent ou vont être renégociés le plus bas.D. D. décomposition de branches Propriété 3 : permutation de branches Lorsque le chemin qui sépare deux CSP ne possède pas d’embranchement. on peut être amené à mettre les engagements qui vont être gelés le plus haut possible dans l’arborescence. les propositions ou les hypothèses selon les besoins.D. D. n’entraîne pas de changements dans CSP1 et CSP3.C1> bra3 CSP4=<X. 115 Propriété 1 : passage d’un nœud père à un nœud fils Le passage d’un nœud père CSP à un nœud fils CSP2 (voir la figure 81) entraîne la 1 propriété suivante : ∀CSPi ∀bra ∈ BRA / bra = (CSPi . les contraintes de CSP2 changent.

disparaître (une conversation échoue…) ou être transformées (une proposition devient un engagement…). génèrer des solutions. cette branche change d'état et s'intègre dans l'arc des paramètres non contrôlables et des décisions gelées. IV. IV.3. ici. Elle est donc instanciée par une valeur qui a fait l'objet d'un engagement. Lors du déroulement d'une conversation.1 Gel d'une variable Avant d'être gelée. le gel. Mais. • l'utilisateur. Évolution de l’arborescence en fonction du temps Les changements d'état des variables font évoluer la structure arborescente. ces actions se limitent à créer des hypothèses. • les conversations. CSP générique bra1 CSP racine E1 ≡ {X = I } CSP1 CSP racine figure 85 : gel d'une variable Si E1=(CSPracine.5. Au moment du gel. que l’engagement qui concerne la variable à geler est placé juste au-dessous du CSPracine. Au moment du gel.5. engager une conversation (une hypothèse devient une proposition). L'utilisateur peut agir en principe à tous les endroits de l’arborescence. Des décisions changent d'état.3.116 Interactions et communication dans un réseau de centres de décisions L'arborescence présentée ici n'est pas statique. Elle évolue en fonction de trois types d'événements : • le temps. L'arbre a donc une branche qui est l'engagement portant sur la variable. la création et la destruction de variables. en fait. le CSP qui intègre l'engagement devient le CSP racine. En particulier. gel de X bra1 CSP générique . une variable est dans l'état renégociable.CSP1) et CON(E1)={V=I} gel(V)≡ CSP←CSP-{CSPracine} BRA←BRA-{E1} CSPracine=CSP1 bra1←bra1∪{V=I} Nous supposons. des branches peuvent apparaître (des propositions). Les propriétés 2 et 3 permettent d’arriver à ce résultat.

5. S’il existe déjà des propositions. Voici quelques critères qui aideront à placer la nouvelle proposition : • si P1 est issu d’une conversation pour engagement et P2 d’une conversation pour information. il faut réévaluer tous les CSP pour savoir si des changements doivent être faits parmi les engagements.4. Évolution de l’arbre en fonction des conversations Dans le cas de changements dus aux conversations. P1 est susceptible d’être très prochainement transformée en engagement. Il appartiendra au décideur de fixer la politique de placement. donc. on peut choisir la seconde configuration (nouvelle branche en concurrence de P1). Pour bien montrer l’indépendance de la réponse.5. C’est en partie pour cette raison que les centres créent ou détruisent des variables à l’occasion de la prise de décision à temps régulier. tout l’arbre est susceptible d’être modifié. La destruction d’une variable se fait en prenant en compte l’état du système. Il faut donc placer une nouvelle branche. le placement de la nouvelle n’est pas simple car il dépend de plusieurs critères. IV.3. faut-il placer la nouvelle proposition à la suite des propositions ou créer une nouvelle ramification ? CSP des engagements CSP des engagements P1 CSP1 P2 CSP2 ou CSP1 P1 P2 CSP2 figure 86 : placement d'une nouvelle proposition P2 Si la proposition P1 n’a aucune influence sur P2.Représentation de l’état d’un centre 117 IV. crées ou détruites.4. Une fois que les variables et les contraintes ont été ajoutées ou enlevées du modèle générique. Dans le cas général. des contraintes sont modifiées.2 Création/destruction de variables Lorsqu'une variable est crée ou détruite.1 Début d'une négociation Il n’existe pas de branche qui concerne les variables de décision. Ces modifications interviennent au niveau du modèle générique . propositions ou hypothèses. on peut distinguer deux cas : le début d’une nouvelle négociation peut créer une branche n’importe où dans l’arbre tandis que la poursuite d’une (re)négociation ou le commencement d’une renégociation où l’emplacement de la nouvelle branche est déterminé. on peut placer P2 dans les deux configurations. . IV.5.

4. Pour donner une réponse plus fiable ou pour étudier les répercussions de la nouvelle proposition. Pour répondre au message. • si P1 est issu d’une demande d’information et P2 fait partie d’une conversation pour engagement. Si l’ancienne branche fait partie d’une succession de branches sans ramification.5. il existe déjà une branche (une proposition ou un engagement). La conclusion d’une renégociation peut donc entraîner de nouvelles renégociations. Mais. Dans ce cas.2 Début négociation d'une renégociation ou poursuite d'une Dans ce cas. c’est lui qui décide où mettre la branche. IV. Cette adaptation peut éventuellement invalider certains CSP et donc certaines propositions. Ces critères permettent de présenter un premier choix de placement de la branche au décideur. la nouvelle proposition est placée en concurrence de P1 (cas 2). il faut évaluer le nouveau CSP créé (CSP4 sur la figure 87). le centre peut recréer une structure d’arbre identique à la précédente (partie grisée). il convient de la placer en dernière position (voir propriété 3) afin de répondre au message en garantissant un minimum de changements dans la structure. une causalité temporelle apparaît dans la prise de décision. la nouvelle proposition sera placée à la suite de P1 (cas 1). il faut essayer d’adapter l’ancienne structure au changement de branche. la nouvelle proposition est reçue en prévision du remplacement de l’ancienne branche. la réponse que l’on donnera à P2 semble plus importante que la demande d’information. On peut même essayer de mettre P1 à la suite de P2 afin de vérifier que l’hypothèse est toujours valable. En effet. on peut essayer de placer la nouvelle proposition P2 à la suite de P1 (cas 1). Dans ce cas. d’autres critères peuvent faire intervenir la nature des centres impliqués ou des décisions. Si la conversation est conclue avec succès. • si les dates d’instanciation ou de gel des variables de P2 sont supérieures ou égales à celles des variables de P1. On peut étudier les effets de la nouvelle proposition en créant une nouvelle branche en parallèle de l’ancienne.118 Interactions et communication dans un réseau de centres de décisions Pour anticiper au maximum. CSP racine E1 CSP1 E2 CSP des engagements la renégociation est un succès P4 CSP4 P3 CSP5 CSP racine E1 CSP1 E2 E4 CSP des engagements P3 CSP3 P3 CSP5 figure 87 : effets d'une renégociation sur la structure .

• peut être gérée partiellement automatiquement. Cependant. IV. la gestion de l'arbre ne peut pas être entirement automatisée. La structure du réseau est décrite par un graphe. le décideur va transformer une hypothèse en proposition en la négociant avec les centres en aval. à travers la réalisation d’un prototype de logiciel d’aide à la décision distribuée. Évolution de l’arbre en fonction des interactions avec l’utilisateur Une des principales activités d'un centre de décision est de prendre des décisions et de les négocier avec les centres en aval. la structure arborescente : • permet de représenter et évaluer différentes hypothèses ou propositions. Une fois la préparation faite. l'outil d'aide peut facilement détecter les inconsistances dues aux modifications de l'arbre et indiquer au décideur la ou les branches à renégocier. Ici. . En particulier. Conclusion Nous avons proposé un ensemble de concepts pour aider un centre à prendre des décisions et à les négocier avec d'autres centres. Cette négociation aura pour but de transformer cette proposition en engagement. En considérant les états que peuvent prendre les décisions. On peut supposer que le décideur se place dans un nœud et génère une branche qui sera placée en dessous du nœud considéré. une structure arborescente permet de représenter l’état d’un centre. le suivi des conversations est facilité. Pour un outil d'aide. Pour cela. différentes hypothèses peuvent être considérées. Enfin. La proposition d'un protocole de communication (conversations et échange de messages) a permis de spécifier ce que pourraient être certaines contraintes procédurales. Nous avons pu ainsi identifier les contraintes organisationnelles qui traduisent la structure et le fonctionnement du réseau de centres de décision. nous pouvons créer un méta-modèle qui permet de représenter et d’évaluer l’autonomie que possède un centre pour les moments de prise de décision et les durées de négociations.Conclusion 119 IV. Le fonctionnement est abordé au travers d’un schéma de type SADT. Le chapitre suivant s’intéresse à la mise en œuvre. les contraintes qui modélisent le problème de décision en un centre et les contraintes procédurales qui indiquent comment deux centres doivent coopérer. • permet de suivre plusieurs conversations à la fois et d'étudier les répercussions quelles ont entre elles. Ainsi.5. le décideur va générer des hypothèses et des solutions.6. Lors de la préparation des décisions.5. une caractérisation des contraintes formalisables pesant sur un centre de décision a été proposée. encore se pose la question : où placer la nouvelle hypothèse ? Faut-il la placer à la suite des autres hypothèses et propositions ou faut-il créer une nouvelle ramification ? C’est au décideur de placer la nouvelle branche en fonction de la stratégie qu'il suit.

.

Il s’agit d’aider le décideur à gérer les conversations qu’il mène avec d’autres centres. Le décideur peut prendre des décisions qui seront communiquées aux centres en aval. • représenter et structurer le processus de décision. De même. les paramètres ou les contraintes qu’il peut remettre en cause. Le reste du chapitre est consacré à un exemple en gestion multi-projets. nous décrivons les choix de développement que nous avons fait et nous présentons quelques fenêtres de l’interface graphique développée. Afin d’anticiper de futurs problèmes.1. Le logiciel peut assister le décideur dans la représentation d’un problème de décision. le décideur peut avoir : • à déterminer les degrés de liberté dont il dispose. Les traitements sont dépendant des caractéristiques du modèle CSP choisi pour modéliser le problème de décision (variables continues/discrètes. contraintes binaires/n-aires). . modèle linéaire/non linéaire. • à agir sur les contraintes. Il s’agit de structurer les hypothèses faites par le décideur et sur lesquelles il s’est éventuellement engagé. • prendre en compte la dynamique du processus de décision.1. Tout d’abord. • à agir sous contraintes. En particulier. V.1. Les besoins Les chapitres précédents nous ont permis d’identifier quelques besoins. Enfin. En cas de manque d’autonomie. Le décideur peut être engagé dans plusieurs processus de coopération à la fois. • coopérer. ainsi que dans les traitements associés. Nous donnons les spécifications de l’application développée au travers de quelques diagrammes UML. Des renégociations peuvent en découler. Aide à la modélisation et à la résolution du problème Compte tenu d’un problème de décision. Plusieurs indicateurs peuvent être proposés (voir le chapitre 3) : une vérification de la consistance du modèle CSP.Chapitre V Réalisation d’un environnement d’aide à la décision et à la coopération Ce chapitre présente le logiciel d’aide à la décision distribué qui nous a permis de tester notre approche. le décideur cherche à connaître les décisions. les domaines des paramètres peuvent être négociés avec les centres en amont. nous résumons les besoins que le décideur d’un centre peut exprimer. Des centres projets sont en compétition pour l’attribution de ressources gérées par des centres métiers. une analyse de sensibilité. nous avons identifié des besoins pour : • modéliser et résoudre des problèmes. V. les domaines des variables de décision ou des paramètres. le décideur peut aussi négocier les domaines que prendront les variables de décision.

le système peut remplir automatiquement certains champs du message de réponse et proposer à l’utilisateur un choix de réponses possibles. Prise en compte du temps Le problème de décision n’est pas statique. inspiré d’un problème réel de gestion de projets (voir [DIDOM 2000] et l’exemple du chapitre 4 en gestion de projets). Par exemple.1. une proposition ou un engagement apparaissent dans l’arbre.). Le système doit permettre le suivi des conversations. Cadre choisi Nous présentons ici le contexte de développement de l’application. début d’une conversation pour engagement. message issu d’une conversation déjà présente dans l’arbre. Par exemple. Par exemple : • la date limite de prise de décision de certaines variables. Par exemple. V.4. Dans la suite.1. De même. Le système peut proposer au décideur une place en fonction de plusieurs critères : variables déjà négociées. l’ensemble des contraintes et des variables peut changer.3. des informations arrivent . Au fur et à mesure. . Nous avons choisi un exemple de gestion de projets avec ressources partagées. classement.1.2. se pose le problème du contexte dans lequel se placer.2. Le système de décision doit permettre de gérer les mécanismes de prise de décision périodique (création. • la date limite de réponse à un message. le décideur peut visualiser l’état du processus de décision. V. de nouvelles branches doivent être créées. le respect des protocoles de communication. il pourrait être préférable de classer les messages contenus dans une conversation pour engagement avant un message contenu dans une conversation pour information. à la réception d’un message. en phase de prise de décision. Le décideur peut être prévenu lorsque certaines limites temporelles sont proches. V. le système doit fournir au décideur une aide pour gérer sa boîte aux lettres (sélection. nous utiliserons ces spécifications pour réaliser une application dans le cadre de la gestion de projets avec ressources partagées. Aide à la coopération Dans le cas d’interactions asynchrones entre les centres. Afin de pouvoir répondre convenablement à un message. il peut voir le contexte d’une prise de décision (les hypothèses et engagements faits pour prendre la décision). le décideur génère une hypothèse qu’il cherche à valider en la négociant avec les centres en aval. Le décideur peut chercher à savoir quels sont les centres à qui adresser un message (en fonction des variables contenues dans le message). destruction de variables). Aide à structuration du processus de décision Grâce à l’arborescence des modèles. etc. Durant le processus de décision.122 Réalisation d’un environnement d’aide à la décision et à la coopération V. gel. Dans ces cas.

À partir de ce plan. Chaque centre métier gère des personnes. ai personnes sont affectées à un projet pour la réalisation d’une tâche i .2. Description du réseau de centres V. La durée de la tâche dépend du nombre de personnes allouées.2. deux projets sont en compétition pour l’attribution de personnels spécialisés regroupés par métier. client di1m projet 1 ti11 ai11 métier 1 client -> projet p : projet p -> métier m : métier m -> projet p : ti12 ti 22 ai12 ai 21 ai 22 métier 2 date échue d ipm dates de début tipm personnel alloué a ipm ti 21 client di 2 m projet 2 figure 88 : le réseau de centres de décision V. Chaque projet et chaque métier sont gérés par un centre de décision. Ils doivent définir les dates de début t i pour chaque tâche du projet.2. le centre métier définit le personnel à allouer a ipm aux différentes tâches.1 Structure du réseau de centres Deux centres projet ont en charge la réalisation d’un projet chacun.Cadre choisi 123 Dans cet exemple. Le centre projet doit tenir compte également des dates de fin au plus tard qui sont négociées avec le client (le client peut suivre la progression du projet). La figure 88 représente le réseau de centres considéré ici. V.1.2 Fonctionnement du réseau de centres Les dates échues dipm sont définies par le client avant le début du projet (voir la figure 89). le centre projet donne les dates de début t ipm des tâches devant être réalisées la semaine suivante. Tout au long de la semaine.1. le personnel réalise les différentes tâches aux dates indiquées par t ipm .1. La réalisation d’une tâche nécessite du personnel d’un des métiers. . À partir des dates échues et tous les vendredis.

Ces décisions sont renégociables jusqu’à une semaine avant d ipm . decd ipm geld ipm dipm desd ipm t > 1 semaine figure 90 : contraintes dans le processus de décision entre le client et le centre projet Les décisions concernant les dates de début t ipm des tâches et les affectations doivent être prises pour le vendredi de la semaine précédant la réalisation des tâches : cela permet d’établir un planning prévisionnel à la semaine. Les quantités de personnel affecté à un projet sont figées une demi-journée avant la mise en œuvre des tâches : le personnel ne connaît l’emploi du temps définitif que pour la demi-journée qui suit. . Les décisions concernant les dates échues dipm sont prises avant que le projet ne débute. Nous supposerons que la négociation concernant d ipm a déjà eu lieu et que le centre projet est crée à l’issue de cette négociation. Nous introduisons par la suite les contraintes de fonctionnement qui apparaîtront dans les méta-modèles des centres. Le centre projet a un horizon prévisionnel sur toute la durée du projet tandis que les centres métiers ont un horizon sur la semaine en cours et la semaine suivante (deux semaines entières au maximum).124 avant le début du projet aléa définir dates dipm jalons client Réalisation d’un environnement d’aide à la décision et à la coopération dates échues tous les vendredis aléa définir dates de début plan tipm aléa affecter personnel affectations aipm réaliser centre projet p centre métier m état réel figure 89 : le fonctionnement du réseau de centres personnel Cette description ne suffit pas à décrire toutes les contraintes de fonctionnement des centres.

Les variables tipm sont gelées en début de demi-journée (6) et elles sont gelées au dernier moment (7) et (8). tipm est décidée avant le vendredi précédent sa mise en œuvre (5).∆ s (1) dect ipm ≤ deca pmi ≤ tipm ≤ dipm gelt ipm = gela ipm cret ipm = 0 gelt ipm = t0 + k * ∆ j / 2 gelt ipm ≤ tipm gelt ipm ≥ tipm − ∆ j / 2 des t ipm ≥ tipm (2) (3) (4) (6) (7 ) (8) (9) dect ipm ≤ ∆ s * ( semaine(tipm ) − 1) + ∆ v (5) L’équation (1) traduit le fait que d ipm est gelée au moins une semaine avant la date dipm . il faut qu’il le fasse pour le vendredi . Les variables tipm sont détruites une fois la décision mise en œuvre (9). ∆v la durée entre le début de semaine et le vendredi. semaine( 2 Janvier 2000 à 8 h) = 1). La date de gel de tipm est la même que celle de aipm (3).Cadre choisi decaipm cret ipm creaipm dect ipm gelaipm gelt ipm < ½ journée à 8h ou à 14h >0 tipm desaipm dest ipm t 125 pour le vendredi figure 91 : contraintes dans le processus de décision entre les centres projets et les centres métiers Soit ∆ s la durée d’une semaine. si le décideur veut planifier une tâche pour une semaine. ∆ j la durée d’une journée et une fonction semaine qui. Les centres projets ont donc un méta-modèle de la forme : geld ipm ≤ dipm . à une date. Les variables de dates de début des tâches existent dès que le centre existe (horizon sur toute la durée du projet). on peut se demander si c’est tipm qui fixe les dates de décision dect ipm . Dans ce méta-modèle. (2) traduit que tipm est décidée avant aipm (et donc avant tipm et d p ). En fait. associe le numéro de semaine (par exemple. de gel gelt ipm et de destruction dest ipm des variables ou si c’est l’inverse.

V. les dates de fin au plus tard des tâches d ipm . • la quantité aipm de personnel alloué à une tâche de θ p .2. Ce paramètre est une décision d’un centre métier. L’équation (3) traduit que les variables aipm ne sont crées que deux semaines avant leurs mises en œuvre. Les paramètres d’un centre projet sont : • un ensemble de tâches θ p nécessitant des ressources partagées. L’horizon prévisionnel d’un centre métier correspond bien à deux semaines. • une gamme de fabrication définie par un ensemble de contraintes de précédence. Ces paramètres sont des données (non négociables). • qi (a) est la durée de la tâche ipm en fonction du nombre de personnes alloué (données) • les dates de début au plus tôt ripm (ce sont des données). Il peut cependant. reporter l’exécution de la tâche à la semaine suivante en cas d’aléa sauf si la décision est déjà gelée.1 Les centres projets Chaque centre projet p doit gérer un projet.2. Le métier m est sollicité pour la réalisation de la tâche ipm . Modélisation du problème de décision de chaque centre V. Les centres métiers ont un méta-modèle de la forme : (1) dect ipm ≤ decaipm ≤ tipm ≤ d p gelt ipm = gela ipm (2) creaipm = ∆ s * ( semaine(tipm ) − 2) + ∆ v (3) decaipm ≤ ∆ s * ( semaine(tipm ) − 1) + ∆ v (4) gelaipm = t0 + k * ∆ j / 2 gelaipm ≤ tipm gelaipm ≥ tipm − ∆ j / 2 desa ipm ≥ tipm (5) (6) (7) (8) Dans ce méta-modèle. on retrouve le même type de contraintes que dans les métamodèles des centres projets. Ces paramètres sont négociés avec le client.2.126 Réalisation d’un environnement d’aide à la décision et à la coopération avant. Les tâches doivent s’exécuter dans un certain ordre : une gamme de fabrication existe. Chaque centre projet a comme variable de décision : • .2. Ce projet est constitué d’un ensemble θ p de tâches dont la réalisation nécessite du personnel alloué par un centre métier.

• la date de fin de chaque tâche du projet : cipm . conversations à trois. Les variables de décision du centre sont : • aipm . nous donnons les spécifications pour le système à la décision développé pour cet exemple. Les paramètres d’un centre métier sont : • l’ensemble des tâches qui nécessitent du personnel Ωm (donnée). en anglais Unified Modeling Language (UML) qui permet de spécifier. Le système d’aide doit interagir avec les différents décideurs. V. V. .3. Chaque tâche ipm fait partie du projet p (donnée). Tout d’abord. construire. Spécifications du réseau de centres de décision Dans ce paragraphe. des diagrammes de séquence permettent de mettre l’accent sur les principales caractéristiques temporelles du système : moment d’actualisation de la base de donnée.2. Les centres métiers Les centres métiers allouent une quantité aipm de personnes à une tâche ipm .1. la quantité de personnel alloué à la tâche ipm Dans le paragraphe suivant. Les dates de début sont négociées avec les centres métiers. et documenter les artefacts des systèmes informatiques. visualiser.3. Les données. sont collectées par le personnel et stockées dans une base de données. Puis. notamment celles concernant l’état réel du système à piloter. • qi (a) est la durée de la tâche ipm en fonction du nombre de personnes alloué (données) • les dates de début des tâches tipm . Ces paramètres sont les décisions des centres projets. • la quantité de personnel disponible : Am (donnée). La consommation de personnel ne doit pas dépasser le nombre de personnes Am dont le centre dispose. Spécifications d’un système d’aide à la décision Les spécifications du système d’aide à la décision sont données dans le langage unifié de modélisation. date de validité des messages. l’aspect statique est étudié au travers d’un diagramme d’objets.3. V. les spécifications du système d’aide à la décision sont données. Les dates de fin des tâches sont des variables privées des centres projet.Spécifications d’un système d’aide à la décision • 127 la date de début de chaque tâche du projet : tipm . L’annexe présente les diagrammes UML que nous utiliserons par la suite.

celui-ci fournit une aide au décideur (voir la figure 92). les agents ont accès à une base de donnée pour pouvoir consulter les données les concernant et pour pouvoir y écrire les valeurs des décisions prises. la décision est prise et la base de donnée est actualisée. Quand celle-ci réussit (le message « confirmer » est envoyé). De plus. contrôle décideur projet 1 assiste agent projet 1 communiquer communiquer accéder accéder communiquer agent projet 2 décideur projet 2 agent métier 1 accéder base de données agent métier 2 lire/écrire décideur métier 2 accéder décideur métier 2 personnel figure 92 : diagramme d’objets du système d’aide à la décision agent projet 1 proposer contre-proposer négociation contre-proposer accepter décision confirmer acquitter agent métier 1 base de donnée écrire figure 93 : diagramme de séquence d'une conversation pour engagement . Le décideur contrôle l’agent . La figure 93 montre le déroulement d’une conversation pour engagement.128 Réalisation d’un environnement d’aide à la décision et à la coopération Chaque décideur interagit avec un agent du système (pour former un centre de décision). Lorsqu’une décision est prise (et négociée). la base de données est actualisée. Les agents communiquent par messages asynchrones avec les agents qui correspondent aux centres en amont et aux centres en aval : chaque agent projet communique avec les deux agents métiers.

Au cours de cette conversation.Spécifications d’un système d’aide à la décision 129 La figure 94 montre le déroulement d’une conversation pour information entre trois agents. Ensuite. la décision est prise car la date de validité est spécifiée (l’agent projet 1 a considéré réponse par défaut comme étant la réponse de l’agent métier 2). réponse par défaut = accepter) confirmer écrire acquitter acquitter figure 95 : date de validité dans une conversation pour engagement V. Par contre. les réponses des agents métiers ne parviennent pas simultanément. Les messages de l’agent projet 1 (initiateur de la conversation) sont envoyés simultanément aux deux agents métiers. nous présentons les spécifications de chaque agent. quelques . Spécifications de chaque agent Dans ce paragraphe. agent métier 1 agent projet 1 agent métier 2 demander-domaine dire conversation pour information résumer acquitter demander-domaine dire résumer acquitter figure 94 : conversation pour information entre trois agents agent métier 1 agent projet 1 agent métier 2 base de donnée proposer ( Dv : durée validité. un diagramme de classes présente la structure statique des classes. La figure 95 montre une conversation pour engagement où une décision est prise (la base de donnée est actualisée).2. l’agent métier 2 ne répond pas à temps au message.3. réponse par défaut = accepter) accepter Dv confirmer proposer ( Dv : durée validité. Tout d’abord.

* 1 0.1 père * * fille père 1 1 fils modèle CSP * 1 variable variable de décision * 1 1 gestionnaire arborescence 1 gestionnaire variables IHM variables paramètre figure 96 : diagramme de classe d'un agent . Le gestionnaire des communications est chargé de gérer les conversations et de faire l’interface avec les autres agents. Le gestionnaire de l’arborescence est chargé de gérer l’arborescence : les branches (hypothèses.. solution) et les modèles. proposition. d’un gestionnaire de l’arborescence et d’un gestionnaire des variables (voir la figure 96). de gel et de destruction).3.1 * contrainte branche 0. conversation * 1 * message 0.2.. V.1 IHM arborescence 1 * IHM modèle gestionnaire 1 communication IHM communication 1. Chaque agent propose également une Interface Homme-Machine (IHM).1 Composition d’un agent Chaque agent est composé d’un gestionnaire des communications. Elle permet également d’envoyer un message. Le gestionnaire des variables est chargé de gérer les variables et en particulier les contraintes temporelles qui leur sont associées (date de création.130 Réalisation d’un environnement d’aide à la décision et à la coopération diagrammes de collaboration permettent de montrer la dynamique des interactions entre objets et de préciser le rôle de certains objets. • une vue « modèle » présente un modèle CSP par un diagramme de Gantt et permet de générer les domaines des variables ou des solutions et de construire une nouvelle hypothèse. Quatre vues principales seront proposées : • une vue « communication » présente les conversations et leurs contenus. de décision... engagement. • une vue « variables » présente les contraintes temporelles de la prise de décision par un diagramme de Gantt. • une vue « arborescence » présente l’arborescence des branches et des modèles.

Celui-ci indique au gestionnaire des variables que la décision a bien été prise. Chaque nœud possède une branche père (sauf le nœud racine). les interactions avec les autres objets composant un agent ne sont pas montrées (par exemple conversation). engagement ou solution).Spécifications d’un système d’aide à la décision 131 • • • • • Les gestionnaires et l’interface homme-machine s’appuient sur différentes classes : la classe conversation représente une conversation en cours ou achevée. Celui-ci demande à l’IHM de l’arborescence de choisir un contexte de décision (par défaut l’interface pourra proposer au décideur de choisir le CSP des engagements). IHM. on peut faire correspondre une branche (en particulier si le message contient des contraintes). L’IHM des communications est sollicitée pour remplir ou modifier les champs du message (par exemple : le champ objectif ou la modification du champ date limite de réponse).2 et 3 sur le diagramme de collaboration de la figure 97). À un message. le gestionnaire de l’arborescence crée une hypothèse (en dessous du modèle choisi) et demande au gestionnaire des communications de créer une nouvelle conversation. certaines variables de décision ont la date limite de décision proche. agent et base de données. Si l’agent en aval répond par accepter et une fois que l’utilisateur est consulté. le gestionnaire des communications envoie un message « confirmer » à l’agent en aval. Une fois que le décideur a pris une décision. la conversation est terminée. La contrainte est une contrainte d’égalité ou de domaine. Si la branche est une proposition ou un engagement. Ces variables de décision doivent être négociées avec un agent. À cette branche est associé un certain nombre de contraintes. les interactions interface-utilisateur ne sont pas reportées sur les diagrammes. Elle est composée de messages (classe message). la classe variable représente les variables considérées et permet de connaître les contraintes temporelles qui leur sont associées. le gestionnaire des variables prévient l’utilisateur et demande au gestionnaire de l’arborescence de décider de variables (interactions 1. De même. Le gestionnaire demande à l’IHM du modèle de prendre une décision concernant les variables. nous ne représentons que les objets gestionnaires. L’agent en aval renvoie un message d’acquittement . la classe branche représente une branche (hypothèse. 1) Date limite de décision proche Pour cet exemple. la classe contrainte représente une des contraintes d’une branche. la classe modèle CSP représente un nœud de l’arborescence. Chaque nœud peut avoir plusieurs branches filles.3. Lorsque la date limite de décision est proche. Le message est alors envoyé par le gestionnaire des communications à l’agent en aval concerné. actualise la base de données et demande au gestionnaire de l’arborescence de transformer la proposition en engagement. elle correspond à un message.2. V. Le gestionnaire des communications demande au gestionnaire de l’arborescence de transformer l’hypothèse en proposition. dans les diagrammes de collaboration qui suivent. . Elle ne concerne donc qu’une variable.2 comportement d’un agent Pour plus de clarté. proposition. Ainsi.

une proposition est créée dans l’arborescence et le message est évalué avec l’IHM du modèle correspondant. . Quand celui-ci émet un message de confirmation et que l’utilisateur a lu le message. Une fois le contexte choisi au travers de l’IHM de l’arborescence.132 Réalisation d’un environnement d’aide à la décision et à la coopération : agent en aval 9 : proposer 13 : confirmer 14 : écrire (décisions) : gestionnaire communication base de donnée 7 : créer conversation (contraintes) 10 : transformer hypothèse en proposition 15 : transformer proposition en engagement 4 : choisir contexte branche 6 : créer hypothèse (contraintes) 3 : demander décider (Vars) : gestionnaire arborescence : IHM arborescence 11 : accepter 17 : acquitter 8 : remplir champs 12 : décider suite : IHM communication 5 : prendre décision (vars) contraintes : IHM modèle 2 : prévenir 16 : décidé (variables) : gestionnaire variables : IHM variables 1 : date limite de décision proche (Vars) figure 97 : comportement d'un agent face à un événement « date limite de décision proche » 2) Réception engagement d’un message débutant une conversation pour Un agent reçoit un message pour engagement provenant d’un centre en amont. le gestionnaire des communications demande au gestionnaire de l’arborescence d’évaluer le message. Une fois le message réceptionné et l’utilisateur prévenu. Il s’agit de l’exemple précédent vu de l’autre agent. Si l’évaluation est bonne. un message d’acception est envoyé par le gestionnaire des communications à l’agent en aval. Celui-ci informe le gestionnaire des variables que certains paramètres ont été décidés. le gestionnaire des communications envoie le message d’acquittement et demande au gestionnaire de l’arborescence de transformer la proposition en engagement.

Conception et réalisation de l’outil d’aide à la décision Nous présentons quelques choix que nous avons fait pour développer le logiciel. Ilog Solver permet d’ajouter ou d’enlever des contraintes « dynamiquement » et de gérer plusieurs modèles simultanément (utile pour l’arborescence). Ilog Solver permet de représenter un modèle CSP. . de déduire les domaines des variables (par des mécanismes de propagation de contraintes) et d’obtenir une solution (par des algorithmes de résolution). V. on peut spécifier un temps à ne pas dépasser pour les optimisations. Puis.1. nous décrivons quelques vues de l’interface graphique du logiciel. Elles offrent aux développeurs une interface écrite en C++ et sont portées sur un grand nombre de plate-formes (entre autre Solaris Sparc et Intel Windows). Choix de bibliothèques et de langage de programmation Nous avons choisi les bibliothèques de composants logiciels Ilog Solver et Scheduler pour la gestion des modèles de type CSP et Ilog Views pour développer l’interface hommemachines.4. De plus.4.Conception et réalisation de l’outil d’aide à la décision 133 : agent en amont 1 : proposer 9 : confirmer 8 : accepter 11 : acquitter : gestionnaire communication 2 : message reçu 10 : message reçu : IHM communication 3 : évaluer message 7 : évaluation OK 12 : transformer proposition en engagement 4 : choisir contexte 5 : créer proposition : gestionnaire arborescence 6 : évaluer proposition : IHM arborescence : IHM modèle 13 : décidé (paramètres) : gestionnaire : IHM variables variables figure 98 : comportement d'un agent face à une conversation pour engagement V.

C++ est un langage de programmation orienté objet. nous présentons la fenêtre permettant d’envoyer un message à un autre centre. Cette bibliothèque permet également de créer des diagrammes de Gantt interactifs. Les renseignements concernant la branche sont : • son état (hypothèse. V. le décideur peut voir le message correspondant à la branche (le bouton apparaît grisé si la branche est une hypothèse) et peut travailler sur le modèle afin. on fait correspondre à la fois une branche (hypothèse. A103 = 2.2.4. une deuxième les conversations dans lesquelles le centre est impliqué. • les contraintes associées à la branche. proposition. Ces deux bibliothèques permettent en outre de définir nos propres règles de propagation de contraintes ou algorithmes de recherche. Ici.2. Dans l’exemple présenté ici. En effet. proposition ou engagement) et le modèle qui tient compte de cette branche. • le centre à qui a été communiqué la proposition (si on est à l’origine du message associé à la branche) ou le centre qui a émis la proposition (si on a reçu le message associé à la branche). Ilog Views permet de créer une interface graphique portable sur plusieurs plateformes. À partir de cette fenêtre. les bibliothèques que nous avons choisi d’utiliser offrent une interface écrite en C++. par exemple. À chaque item. nous présentons ci-après quelques fenêtres de l’application que nous avons développée : une première fenêtre permet de visualiser l’arborescence des modèles. le prototypage de l’interface graphique est simple et rapide. De plus.1 La fenêtre de l’arborescence La figure 99 montre la fenêtre permettant de visualiser l’arborescence des modèles et des hypothèses. V. on a émis le message vers le centre adecico4. engagement). Ici. Ce dernier produit permet de définir explicitement des ressources et des tâches tout en bénéficiant d’algorithmes spécialisés. il s’agit des contraintes A101 = 2.4. trois branches-modèles sont représentées. Sur la partie droite de la fenêtre. Dans la partie inférieure droite de la fenêtre se trouvent des renseignements concernant la consistance du modèle associé à la branche. Enfin. Nous avons choisi de développer le logiciel en C++ afin de faciliter l’interface avec les bibliothèques Ilog . Sur la partie gauche de la fenêtre se trouve l’arborescence. Grâce à un éditeur graphique. metier2version2 est un engagement.134 Réalisation d’un environnement d’aide à la décision et à la coopération Ilog Scheduler est une extension de Ilog Solver spécialisée pour les problèmes d’ordonnancement. • une date de validité qui correspond normalement à la date de validité du message associé à la branche. de construire une nouvelle hypothèse. Ici. se trouvent des renseignements sur la branchemodèle sélectionnée. A105 = 2 . L’interface graphique Afin d’illustrer les concepts de cette thèse. .

En particulier. les contraintes attachées au message sont affichées dans la rubrique contenu. le décideur peut : • consulter sa boîte aux lettres. De plus. de la négocier.2 La fenêtre des conversations La fenêtre représentée sur la figure 100 permet de travailler sur les conversations et messages reçus ou envoyés par le centre. À gauche. le détail du message apparaît sur le panneau de droite. À partir de cette fenêtre. • créer une nouvelle conversation. l’émetteur et les destinataires. on peut voir le type du message. la liste des messages la composant est affichée sur le panneau central. Si on clique sur un message. Des commentaires peuvent être attachés à un message. ensuite. Quand le décideur clique sur une conversation (ici métier2).Conception et réalisation de l’outil d’aide à la décision 135 figure 99 : la fenêtre de l’arborescence V. la réponse par défaut et le sujet du message. La fenêtre est décomposée en trois parties. La démarche normale pour créer une conversation est de créer une hypothèse en travaillant sur le modèle et. la date d’envoi ainsi que la date de validité. • évaluer les messages reçus. . se trouve la liste de toutes les conversations dans lesquelles le centre est impliqué. la conversation comporte quatres messages.4.2. Dans ce cas.

la branche peut ne pas exister encore. Le décideur peut spécifier des commentaires. Dans notre cas (création d’une conversation). il s’agit de la création d’une nouvelle conversation. Le décideur ne peut pas modifier le champ émetteur. Dans ce cas.4.2. Le décideur peut choisir le type de message. les seuls choix possibles sont DemanderSi. date de validité et réponse par défaut ne peuvent être remplis que si le message début une conversation (c’est le cas ici). toutefois le décideur peut modifier cette liste de noms. Le champ récepteur est rempli en fonction du contenu (des variables qui apparaissent dans contenu) . • montrer quelle est la branche de l’arborescence qui correspond à un message. le décideur doit indiquer dans quel contexte placer la branche et indiquer le nom de la branche. une branche de l’arborescence passe de l’état Proposition à l’état Engagement. il faut qu’une conversation et un message soient sélectionnés. En cas de création d’une nouvelle conversation. Par exemple. Les champs sujet. il faut que la branche correspondante au message soit modifiée. Dans le cas de la figure 101.3 La fenêtre de création de messages Lorsque le décideur souhaite envoyer un message (soit en appuyant sur les boutons créer une conversation ou créer un message soit en essayant de transformer une hypothèse en proposition). une fenêtre présente les différents champs du message que le décideur peut remplir. si le message est de type confirmer. . Ce champ est totalement libre et n’est pas interprété par l’application. il faut qu’une conversation soit sélectionnée et que l’émetteur du dernier message de la conversation ne soit pas ce centre. DemanderDomaine et Proposer. Le champ contenu est une liste de contraintes ou de variables (messages DemanderDomaine). Si le décideur décide d’envoyer le message.136 • Réalisation d’un environnement d’aide à la décision et à la coopération créer une réponse à un message. Pour que ces deux boutons soient actifs. Pour que ce bouton soit actif. figure 100 : la fenêtre des conversations V.

dans la gestion du processus de décision et dans la prise de décision. Conclusion Dans ce chapitre.5. La nature dynamique du processus de décision est prise en compte. À l’aide de plusieurs fenêtres. le logiciel aide le décideur dans la gestion des coopérations. nous avons présenté l’application que nous avons développée pour tester notre approche.Conclusion 137 figure 101 : la fenêtre de création d'un message V. .

.

Cependant. acceptation. …) qui sont acheminés par un système de messagerie (communication par boîtes aux lettres). on suppose donc pré-établis : la structure du réseau de centres de décisions qui modélise une organisation donnée. De plus un mode particulier de coopération a été étudié. Ils sont basés sur le formalisme général des CSP (problèmes de satisfaction de contraintes). L'objectif est de proposer un environnement logiciel permettant à un décideur de suivre et de maîtriser les actions explicites de coopération dans lesquelles il s'engage dynamiquement avec d'autres centres. le centre destinataire peut participer ou initier des négociations. celle-ci peut avoir le statut d'hypothèse (non communiquée ou communiquée) ou d'engagement. et pour formaliser les interactions entre différents décideurs . Ainsi l'environnement d'aide à la décision distribué peut s'appuyer et intégrer des technologies existantes ce qui évite d'en développer de nouvelles. afin d'assurer la cohérence des décisions vis à vis d'objectifs globaux définis au niveau du réseau. . D'une part l'ensemble des variables peut évoluer à certaines dates (création/destruction) . La dynamique apparaît dès lors que l'on associe plusieurs états aux variables de décision. refus.Conclusion Ce travail aborde le problème de la décision distribuée dans le domaine de la gestion du temps et des ressources. le mode asynchrone : les conversations sont constituées d'ensembles de messages typés (exemple : demande. Ce travail s'inscrit dans la continuité de travaux antérieurs basés sur une approche par contraintes pour l'aide à la coopération. Elle permet une coordination plus dynamique mais suppose de véritables communications entre décideurs. en particulier pour modéliser la structure des organisations ayant en charge des problèmes de gestion du temps et des ressources. de plus lorsqu'une valeur leur est affectée. les modèles génériques des problèmes de décision posés en chaque centre. Ainsi la présence d'un arc sur le réseau autorise en fait des échanges bi-directionnels entre les centres. contraintes de workflow). Elle peut être représentée par un graphe orienté où chaque arc signifie que le centre origine est responsable de certaines décisions dont le centre destinataire doit tenir compte. La coopération dans un réseau de centres de décision est indissociable de l'autonomie qui est conférée aux décideurs afin d'anticiper et de réagir aux fluctuations rapides d'un environnement incertain. les conversations pour engagement assurent la prise de décision effective ou éventuellement la révision de décisions. Ce travail privilégie toutefois l'étude de la dynamique des interactions au sein de tels réseaux. nous avons défini des protocoles de communication permettant d'engager des conversations formalisées de deux types : les conversations pour information permettent à plusieurs centres d’explorer le champ des décisions possibles et de préparer des décisions robustes (acceptables par les autres puisque préalablement négociées). plus riches mais plus complexes que la simple transmission d'informations. En plus des contraintes procédurales qui régissent les interactions entre plusieurs centres (ex : décision en temps contraint. Il en reprend un certain nombre de concepts et d'hypothèses.

où un centre est à la fois en amont et en aval d’un autre centre et. lorsqu’un centre d’ordonnancement cherche à déterminer si une nouvelle opération peut être insérée dans le plan. une mode de coopération synchrone (réunion) permettant éventuellement une codécision peut s'avérer plus efficace La coexistence de plusieurs modes de coopération (synchrone et asynchrone) pose également un problème qui aurait mérité d'être abordé. ses décisions affectent l'ensemble des variables de dates de début : cela revient à créer une hypothèse concernant la création d’une ou plusieurs variables. nous proposons une stratégie permettant d’identifier dans l’arborescence la ou les branches correspondant aux décisions ou aux hypothèses qu'on peut tenter de réviser en priorité sans être assuré du résultat : il s'agit simplement d'une heuristique visant à relâcher les contraintes dans l'ordre chronologique . Nous associons au traitement des différents types de messages (ex : réponse positive/négative) les actions de gestion correspondantes (suppression de sous-arbres. Au problème de décision statique. La mise en œuvre d’un logiciel de test a permis de mettre en avant certaines spécifications que doit implémenter un système d’aide à la décision. où leurs décisions sont inter-dépendantes. Ainsi. fusion de nœuds. filtrage. une aide à la représentation du processus de décision et prendre en compte la dynamique du processus de décision. prise en compte des aléas et opportunités). dans ce cas. une aide à la coopération. qu'en chaque centre il n'existe pas un modèle statique unique mais plusieurs. ce qui évite toute ambiguïté d'interprétation et autorise un traitement partiellement automatisé (édition. un centre projet est à la fois en amont et en aval d’un centre métier Lorsqu'il existe un fort couplage entre deux ou plusieurs centres on peut mettre en doute l'efficacité d'une coopération asynchrone . branchements). le décideur peut émettre des hypothèses sur la création ou la destruction de variables (avec les modifications sur le modèle que cela entraîne). Les cas. En particulier. doivent faire l'objet d'une analyse plus approfondie. qui évoluent selon le contenu des conversations qui confirment ou infirment certaines hypothèses. il existe une arborescence de modèles que l'on propose de représenter explicitement afin d'aider le décideur à structurer son processus de décision. La notion d'hypothèse se traduit par l'ajout d'une ou de plusieurs contraintes pour un ensemble de variables donné. Par exemple. Elle évolue en fonction des négociations qui se développent entre les centres et des contraintes temporelles qui pèsent sur le processus de décision (prise de décision périodique. Différents prolongements de ces travaux peuvent être envisagés. il doit fournir une aide à la décision locale. Le système d’aide a été mis en œuvre sur un réseau de centres en gestion multi-projets où plusieurs projets sont en compétition pour l’attribution de ressources. Dans le cas où un modèle s’avérerait inconsistant. Notre approche s'est limitée dans un premier temps à considérer le cas où l'ensemble des variables que gère un centre n'évolue pas. Dans certains cas. en chaque centre et à un instant donné. Il résulte de cette dynamique.140 Conclusion La formalisation des conversations se traduit par l'utilisation de types de messages prédéfinis. dans l’application retenue au chapitre V. s’ajoute celui de la gestion dynamique de cette arborescence. Par exemple. classement …).

pour valider la pertinence des spécifications générales de l'outil d'aide à la décision distribuée mais aussi celle des interfaces utilisateurs. En fait une analyse plus poussée du problème de décision pourrait éventuellement permettre d’identifier et de délimiter plus finement l'ensemble responsable minimal des contraintes à relâcher. . Il semble toutefois que cette analyse dépende fortement des propriétés du modèle utilisé en un centre (linéarité notamment).Conclusion 141 inverse où elles ont été posées. La validation de cette étude descendante aurait nécessité une expérimentation dans un cadre industriel réel.

Bibliographie
[Aalst 97] W.M.P van der Aalst. Verification of workflow nets. In 18th International Conference on Application and Theory of Petri Nets (ICATPN’97), Springer, 1248, pp. 407426, 1997. [Afsarmanesh et al. 98] Hamideh Afsarmanesh, Cesar Garita, Luis Camarinha et Celson Pantoja-Lima. Workflow support for management of information in PRODNET II. 5th IFAC Workshop on Intelligent Manufacturing Systems (IMS98), Granado, Brazil, 1998. [Agostini et al. 94] A. Agostini, G. De Michelis, S. Patriarca et R. Tinini. A prototype of an integrated coordination support system. CSCW, 2, pp. 209-238, 1994. [Aknine et al. 98] Samir Aknine et Suzanne Pinson. Conception orienté agent du travail coopératif. Cahiers du LAMSADE,157, octobre 1998. [Alliot et al. 94] J-M Alliot et T. Schiex. Intelligence Artificielle et Informatique théorique. Cépadues éditions, 1994. [Antillanca et al. 99] Hector B. Antillanca et David A. Fuller. Refining temporal criteria to classify collaborative systems. International Journal of Human-Computer Studies, 50, pp. 1-40, 1999. [Azéma et al. 98] Pierre Azéma, François Vernadat et Pierre Gradit. A workflow specification environment. In Worshop workflow management : net-based concepts, models, techniques and tools (WFM’98), pages 5-21, 1998. [Bazet 96] Isabelle Bazet. Organisation de la production et régulation sociale. Rapport de DEA, université de Toulouse Le Mirail, 1996. [Bazet et al. 98a] Isabelle Bazet, Gilbert de Terssac et Jacques Erschler. Les interactions dans la gestion des contraintes. In ERGO IA, octobre 1998. [Bazet et al. 98b] Isabelle Bazet et Gilbert De Terssac. Flexibilité des contraintes et contraintes de flexibilité. Rapport LAAS N°98233, 1998. À parraître dans division du travail et du social, s/d de M. Alaluf et P. Rolle, Editions Octares, Toulouse, 2000, p159-166. [Bazet et al. 98c] Isabelle Bazet, Gilbert de Terssac et Jacques Erschler. La gestion des contraintes : conflit et combinaison de règles. 2ème journées "Recherche et Ergonomie", Toulouse (France), pp.85-91, 1998. [Bazet et al. 99] I. Bazet, G. Masino, B. Maggi et G. de Terssac. La planification comme médiation entre les règles temporelles générales et les activités de travail. 7ème journées de sociologie du travail, Bologne, juin 1999. [Bond et al. 92] Alan H. Bond et Les Gasser. A subject-indexed bibliography of distributed artificial intelligence. IEEE transactions on systems, man, and cybernetics, 32 :6, pp1260-1281, 1992.

144

Bibliographie

[Boronad-Thierry 93] Caroline Boronad-Thierry. Planification et ordonnancement multi-site: une approche par satisfaction de contraintes. Thèse de doctorat, Université Paul Sabatier, 1993. [Camalot et al. 00] Jean-Pierre Camalot et Patrick Esquirol. Cooperation based on a formal negotiation of constraints. MCPL2000, France, 2000. [Camalot et al. 97] Jean-Pierre Camalot et Patrick Esquirol. Aide à la décision et à la négociation dans un problème de gestion de production distribuée. 3ème congrès de génie industriel, Albi, France. [Camalot et al. 97] Jean-Pierre Camalot, Patrick Esquirol, Marie-José Huguet et Jacques Erschler. Aide à la décision et à la négociation dans un problème de gestion de production distribuée. Journées du Groupement pour la Recherche en Productique (GRP), Cachan (France), pp.159-180, 16-17 Octobre 1997. [Camalot et al. 98] Jean-Pierre Camalot et Patrick Esquirol. Supporting cooperation and constraints negotiation between time and resource managers. 17th European Annual Conference on Human Decision Making and Manual Control, Valenciennes, 14-16 décembre 1998. [Cervoni 87] Jean Cervoni. L'énonciation. Presse Universitaires de France (Linguistique nouvelle), Paris, 1987. [Chainbi et al. 96] Walid Chainbi, Chihad Hanachi et Christophe Sibertin-Blanc. The multi-agent prey/predator problem : a petri net solution. In Symposium on Discrete Events and Manufacturing Systems (CESA’96), pp. 692-697, 1996. [Chinneck 96] John W Chinneck. Computer codes for the analysis of infeasible linear programs. Journal of the Operational Research Society, vol 47, pp. 61-72, 1996. [Chinneck et al. 00] JW Chinneck et K. Ramadan. Linear programming with interval coefficients. Journal of the Operational Research Society, vol 51, pp. 209-220, 2000. [Cohen et al. 90] Philip R. Cohen et Hector J. Levesque. Intention is choice with commitment. Artificial intelligence, 42, pp. 213-261, 1990. [Cohen et al. 95] Philip R. Cohen et Hector J. Levesque. Communicative actions for artificial agents. In First International Conference on Multi-Agent Systems (ICMAS'95), 1995. [DARPA 93] The DARPA knowledge sharing initiave external interfaces working group. Draft specification of the KQML agent-communication language. http://www.cs.umbc.edu/kqml/, 1993. [Davis 87] Davis Ernest. Constraint propagation with intervals labels. Artificial Intelligence, vol 32, pp. 281-331, 1987. [Davulcu et al. 99] Hasan Davulcu, Michael Kifer, L. Robert Pokorny et Stephen Dawson. Modeling and analysis of interactions in virtual enterprises. 9th International

Montréal. http://www. [Dupuy 92] Yves Dupuy. groupware multimedia and electronic commerce. RIDE-VE. 99] Bernard Espinasse. pp. vol 23. 1993. pp. 1993. Hermes. [DIDOM 00] DIDOM. L’ordonnancement. Les organigrammes de structure organisationnelle. 14911502. Claude Foulard (Ed). 1998. [Erschler et al. Erwan Tranvouez et Alain Ferrarini. 669-695. Bruges. [Espinasse et al. [Favrel 98] Joël Favrel. 423-429. Revue d’intelligence artificielle. Ephrati et JS. Les systèmes multi-agents : vers une intelligence collective. 246-257.fipa. Ordonnancement d'atelier coopératif et réactif : une approche multi-agents. pp. pp. 1999. [Ferber 95] Jacques Ferber. man. mars 1997.org/ 1997-1999. [FIPA 99] FIPA. no 6. mai 1999. InterEditions. disponible sur demande à espinas@unix05. Australia. 239-267. In : l'encyclopédie du management. À paraître dans Journal of Decision Systems. Economica. In 7th mini EURO conference on decision support systems. [Esquirol et al. 24-27 March. 93] E. France. 7th Mini Euro Conference Decision Support System. 1999. no 6. Rosenschein. Bruges. [Garvey et al. 99] Patrick Esquirol et Lopez Pierre. 1995. Résolution coopérative et distribuée de problèmes : application multi-agents au réordonnancement d'atelier. In IJCAI93. Design-to-time real-time scheduling. Foundation for Inteligent Physical Agents (specification). Fontan Gérard et Mercé Colette. Les algorithmes d’arc-consistance dans les CSP dynamiques.Bibliographie 145 workshop on research issues on data engineering: information technology for virtual enterprises.u-3mrs. 1997. no 3.fr. IEEE Transactions on systems. L’entreprise virtuelle : un essai sur l’état de l’art. In 3ème congrès international de génie industriel. . 1992. [Espinasse et al. Planning by repairing and cooperation : approach to multi-project management. 1993] Garvey Alan J. 97] Bernard Espinasse et Erwan Tranvouez. APII. 2000. A more realistic [DIDOM 97] DIDOM. Sydney. Approche par contraintes en planification et ordonnancement de la production. In : l’entreprise communicante. [Ephrati et al. 1993. 93] Erschler Jacques. 1995. [Debruyne 95] Debruyne Romuald. pp. Vuibert. Multi-agent planning as a dynamic search for social consensus. and cybernetics. The analysis of distributed decision in an industrial context. MCPL2000. et Lesser Victor R. Vol 9. vol 27.

[Kim et al. Practical experiences and requirements on workflow. INSA. [Kraus et al. Thèse de doctorat. 98] Kwand-Hoon Kim et Su-Ki Paik. 56-61. Wiley. 5. 95] Sarit Kraus. des délais et de la qualité. Journal of Logic Programming. pp. Multiagent negotiation under time constraints. An algorithm for linear constraint solving : its incorporation in a prolog metainterpreter for CLP. [Huguet et al. 145-160. Hermes. [Huguet et al. 1998. Gilbert De Terssac et Nicole Lompré. vol 16. 235-253. 1997.146 Bibliographie [Giard 88] V. [Kraus et al. [Huguet 94] Marie-José Huguet. 267-284. vol 27. 91] Sarit Kraus et Jonathan Wilkenfeld. In 12th International Joint Conference on Artificial Intelligence (IJCAI-91). Mixed task scheduling and ressource allocation problems. Economica. Springer. 1993. and inventory control. Mars 2000. Montgomery. 1994. New York. pp. 74] A. Économica. Wolfran Conen and Gustaf Neumann (eds). Concepts et outils pour les systèmes de production. pp.C. Cépadues éditions. 297-345. 77-150. 00] Marie-José Huguet et Pierre Lopez. Jacques Erschler. [Johnson et al. Giard. 1996. Programmation linéaire : modélisation et mise en œuvre informatique. Allemagne. La maîtrise des coûts. [Hennet 97] Jean-Claude Hennet. Negocitions based on contraints in cooperation. Artificial Intelligence. 1364. Thèse de doctorat. scheduling. 1974. Approche par contraintes pour l’aide à la décision et à la coopération en gestion de production. Planification hiérarchisée avec agrégation du temps. Traitement des problèmes de satisfaction de contraintes distribués. no 1. 1993. Computer Supported Cooperative Work. [Hamadi 99] Hamadi Youssef. 1999. [Imbert et al. 96] Marie-José Huguet. université de Montpellier 2. 1988. Negotiations over time in a multi-agent environment : preliminary report. pp. 1998. [Jagou 93] Patrick Jagou. 1995. . 75. Les problèmes d’ordonnancement. Jacques Cohen et Marie-Dominique Weeger. 1996. Coordination technology for collaborative application. Concurrent Engineering. Recherche opérationnelle. 93] Jean-Louis Imbert. 1993. [Hétreux 96] Gilles Hétreux. 2nd International Workshop CR-AI-OR’00. [Jacquet-Lagrèze 98] Eric Jacquet-Lagrèze. INSA de Toulouse. Thèse de doctorat. pp. Processus productifs et programmation lineaire. Operations research in production planning. Jonathan Wilkenfeld. pp. et Gilad Zlotkin. [Gotha 93] Gotha. 1991.J Johnson et D.

La théorie de l’Action Organisationnelle. [Molet 89] Hugues Molet. OMG Unified Modeling Language Specification. Alan A. 1997. 85] Jean-Bernard Lasserre et François Roubellat. 1997. pp.html.cs. disponible sur http://www. Monateri et M. Scheduling as intelligent control of decision-making and constraint propagation. Vol. 1997. pp. pages 82-101. 93] J. grenoble. Albi. 1993. Interval Computation as deduction in CHIP. 334-339. 2000.M. Production synchrone et relations contractuelles : enjeux organisationnels et économiques.com/. disponible sur http://www. Armand Colin. Patrick Esquirol et Marc Sicard. pp. 1989. 97] Daniel Moldt et Frank Wienberg. [Maggi el al. [Le pape 94] Le Pape Claude. Presses Universitaires de France. In intelligent scheduling. [Nurcan 96] Selmin Nurcan. In : le travail d'organisation (G de Terssac Ed. Inc. 96] Pierre Lopez. 1990.-Ch. France. Multi-Agent systems based on coloured Petri Nets. Van Emden.rational. Juin 1999. Springer. Lee et M. 1287-1315. 27-42. http://www. [Lasserre et al. Analyse et conception de systèmes d'information coopératifs. 1996. A proposal for a new KQML.Bibliographie 147 [Labrou et al. 97] Yannis Labrou et Tim Finin.30. IEEE Computer Society Press. La nouvelle gestion de production. IEEE Transactions on Automatic Control.edu/kqml/. Revue d'intelligence artificielle. 1994. Ed. pp. 00] Bruno Maggi et Roberto Albano. Measuring decision flexibility in production planning. Technique et science informatiques. pp. Mai 1985 et Modeling and Control of Automated Manufacturing Systems.Desrochers.H. [Moldt et al. Luc Haudot.edu/ccc/ca/aaai97. DISA : a distributed scheduler using abstractions. 11(1). Lesser. 15(9).unh.umbc. N°5. 1997. Morgan Kaufman publishers. 97] Dorothy L. [Lee et al. .cs. [Monateri 97] J. [Moeschler et al. vol 16. Mammen et Victor R. Conception d’un système coopératif en ordonnancement de production : une approche pluridisciplinaire. Journal of Logic Programming. 97] Jacques Moeschler et Antoine Auchlin. A testbed for the evaluation of multi-agent communication and problem-solving strategies. In AAAI-97 Worshop on constraints and agents (American Association for Artificial Intelligence). 1997. 1996. [Lopez et al. 97] Pauline Berry Lamia Friha et Berthe Choueiry. In Application and Theory of Petri Nets (ICATPN’97).). 5ème congrès international de génie industriel. [Mammen et al. H.447-452. Sapina. 255-276. [OMG 99] Object Management Group. [Lamia Friha et al. Introduction à la linguistique contemporaine. 2ème congrès international francoquébécois : le génie industriel dans un monde sans frontière. Hermes. 1997.

704-709. 1994. [Shepard 97] Stephen B. [Rosenschien et al. Shepard. Technical Report 8. [Sadek 94b] David Sadek. Smith. Interactions utilisateurs-services : de l'ergonomie des interfaces à l'agent intelligent dialoguant. IEEE Transactions on Computers. [Schweyer 96] Bettina Schweyer. Rolstadas. 1997. 1995. 43-50. France Télécom. 1994. octobre 1996.148 Bibliographie [Park et al. Brazil. Sandholm et Victor R. Théorie et pratique du workflow : des processus métier renouvelés. The contract net protocol : high-level communication and control in a distributed problem solver. 1. Eyrolles. pp. 1997. Rules of encounter. Normalized interactions between autonomous agents. Algorithmes de graphes. Constraints. Business Week. Université de Savoie. no 1-2. 97] Thomas W.htm. Consistency techniques for continous constraints. vol. The Mit Press. [Schael 97] Thomas Schael. [Rolstadas 95] A.com/1997/46/b3553084. Rosenschien et Gilad Zlotkin. 1994. Attitudes mentales et fondements du comportement coopératif. Springer. Décembre 1980. Coalitions among computationally bounded agents. 1998. [Sandholm et al. Control Engng Practice. [Sam-Haroud et al. [Sadek 94a] David Sadek.businessweek. 1997. [Sadek 96] David Sadek. pp. Enterprise modelling for competitive manufacturing. [Smith 80] Reid G. http://www. 96] Pablo A. Artificial Intelligence. 98] Kyung Hye Park et Joël Favrel. 85-118. pp. 1996. thèse de doctorat. Granado. et Jim Cunningham. 94] Jeffrey S. Lesser. 1996. [Prins 94] Christian Prins. Un modèle de gestion de projet appliqué à l'entreprise manufacturière. In AAAI-94 Worshop on Planning for interagent communication. Int J. In systèmes coopératifs : de la modélisation à la conception (Bernard Pavard). Computer Supported Cooperative Work. 96] Jeremy Pitt. In Symposium on Discrete Events and Manufacturing Systems CESA’96. The new economy: what it really means. Matthew Anderton. 5:201-222. 96] Sam-Haroud Djamila et Faltings Boi. 29(12):1104-1113. no 46. 94:99-137. 31. 1994. Business Process Behavior is (almost) free-choice. pp. 5th IFAC Workshop on Intelligent Manufacturing Systems (IMS98). 1996. . 1996. [Straub et al. Octares. Communication theorie = rationality principles + communicative acts models. Virtual enterprise – organization and information technology infrastructure. 93-117. [Pitt et al. Straub et Carlos Hurtado L.

Information modelling for made-to-order virtual enterprise manufacturing systems.Bibliographie [Teghem 96] Teghem Jacques. Rosenschein. Simulation multi-agent des processus de négociation en ergonomie : un exemple de gestion locale sous contrainte collective. [Vernadat et al. 1996. [Winograd 88] Terry Winograd. 181201. 1999. pp. Integration of the human operator into responsive discrete production management systems. Computer-Aided Design. 31. In journées du Groupement de Recherche en Productique. Jean-Pierre Treuil et Suzanne Pinson. 99] François Vernadat et Pierre Azéma. 87] Terry Winograd et Fernando Flores. 96] Gilad Zlotkin et Jeffrey S. pp. 1999 [Zilberstein et al. 9. European Journal of Operation Research. vol. Understanding computers and cognition. 1998. A language/action perspective on the design of cooperative work. Addison-Wesley. 1996. juillet 1999. 1995. 99] Laurent Vervouter. 611-619. 95] Gérard Verfaillie et Thomas Schiex. Zhang et Q. Human-Computer Interaction. Artificial Intelligence. Rapport LAAS N°98007. Bernard Espinasse et Alain Ferrarini. pp. 342-361. L'analyse multicritère : une approche performante pour l'intégration de l'opérateur humain pour le pilotage réactif et distribué des systèmes de production. Résolution coopérative et distribuée de problèmes : application multi-agents au réordonnancement d' atelier. Programmation linéaire.J. octobre 1997. pp. 1996 . Cahiers du LAMSADE no 115. Éditions ellipses. 99] W. pages 269-309. vol 82. Neville Moray et Christian Tahon. and its application to task oriented domain. [Zhang et al. 98] Damien Trentesaux. Mechanism design for automated negotiation. 99] Erwan Tranvouez. pages 181-213. Optimal composition of real-time systems. [Zlotkin et al. Revue d’intelligence artificielle. High level Transition systems for communicating agents. no 3. 86:195-244. 3ème congrès international de génie industriel. [Winograd et al. [Vercouter et al. [Trentesaux et al. 96] Zilberstein Shlomo et Russel Stuart. 109. Montreal. 3-30. 3(1). Maintien de solution dans les problèmes dynamiques de satisfaction de contraintes : bilan de quelques approches. 1999. [Verfaillie et al. Artificial Intelligence. Li. 1987-1988. [Trentesaux 97] Damien Trentesaux. 149 [Tranvouez et al. Nathalie Franchesquin. 1987.

Annexe : Le langage unifié de modélisation (UML)
Le langage unifié de modélisation, en anglais Unified Modeling Language (UML), est un langage pour spécifier, visualiser, construire, et documenter les artefacts des systèmes informatiques, ainsi que pour la modélisation des entreprises et autres systèmes non informatiques. UML est né de la fusion des trois méthodes (OMT, Booch et OOSE) et a été normalisé en 1997 par l’OMG (Object Management Group). UML est un langage qui permet de représenter des modèles mais il ne définit pas le processus d'élaboration des modèles. • • • • • • Les principaux buts d’UML sont les suivants : fournir aux développeurs un langage de modélisation visuel expressif, afin d'élaborer et de partager des modèles significatifs fournir des mécanismes d'extensibilité et de spécialisation à partir des concepts de base être indépendant de tout langage de programmation et de toute méthode de développement fournir une base formelle pour comprendre le langage de modélisation encourager la croissance du marché des outils orientés objet (OO) intégrer les pratiques reconnues.

La norme permet de définir neuf types de diagrammes qui permettent de modéliser les besoins, les classes et objets (définition et comportement) et l’implémentation. • Les diagrammes de cas d’utilisation représentent les fonctions du système du point de vue de l’utilisateur. • Les diagrammes de classes représentent la structure statique en termes de classes et de relations. • Les diagrammes d’objet représentent la structure statique des objets et de leurs relations. • Les diagrammes de séquence montrent comment les objets d’un système interagissent en mettant l’accent sur l’aspect temporel. • Les diagrammes de collaborations montrent comment les objets d’un système interagissent en mettant l’accent sur l’aspect spatial. • Les diagrammes d’états-transitions permettent de représenter le comportement d’un élément de modélisation comme un objet ou une interaction. • Les diagrammes d’activité modélisent des machines à états dans lesquelles les états représentent une action ou une sous-action et les transitions sont tirées par la fin des actions ou des sous-activités. • Les diagrammes de composants montrent les dépendances entre les composants logiciels (fichiers sources, fichiers exécutables, composants logiciels). • Les diagrammes de déploiement montrent la configuration des éléments d’exécution sur les dispositifs matériels. Nous présentons succinctement la notation employée dans les diagrammes que nous avons utilisés pour le développement du logiciel. Pour une description exhaustive de la norme, on peut se référer à [OMG 99].

152

Annexe : Le langage unifié de modélisation (UML)

1. Les diagrammes de classes
Les diagrammes de classes permettent de représenter la structure statique des classes et des objets, leur structure interne (ou du moins leur interface) et les relations entre ces éléments. Dans un diagramme de classes, les classes et les objets sont représentés par des rectangles avec le nom de classe ou de l’objet à l’intérieur (voir la partie gauche de la figure 102). Le nom d’un objet est souligné. Pour noter les attributs et les méthodes d’une classe ou d’un objet, le rectangle est partagé en trois parties avec le nom de la classe ou de l’objet dans la partie supérieure, les attributs au milieu et les méthodes dans la partie basse (voir la classe de nom « nom de la classe 2 » dans la figure 102). classe et objet : notation simple nom de la classe 1 classe : notation complète nom de la classe 2 attribut1 attribut2 : type de donnée attribut2 : type de donnée = valeur initiale opération() opération( liste d’arguments ) : type retourné

nom de l’objet 1

figure 102 : représentation des classes et des objets Sur un diagramme de classes, on note une association par un trait continu entre les classes de l’association (voir la figure 103). L’association peut être nommée avec le nom situé au milieu de la ligne qui symbolise la relation. Le sens de lecture peut être précisé au moyen des symboles « < » et « > ». De même, pour plus de compréhension de l’association, on peut indiquer à chaque extrémité le rôle de la classe dans l’association. De plus, la multiplicité de l’association est notée par une expression qui peut être : • un numéro n . L’association comporte exactement n objets de la classe (par exemple, 1). Une étoile * est utilisée pour signifier n’importe quelle valeur (de 0 à plusieurs). • un intervalle m..n . L’association comporte de m à n objets. Par exemple, on note 0..1 pour 0 ou un objet et 1..* pour d’un à plusieurs objets. Si l’association est à navigabilité unidirectionnelle, celle-ci est notée par une flèche (voir la deuxième association sur la figure 103). classe 1 expr1 rôle 1 nom de l’association expr2 rôle 2 classe 2

classe 1

classe 2 figure 103 : représentation d'une association entre deux classes

nom de l’association à navigabilité unidirectionnelle

Certains types d’associations ont des représentations particulières. L’agrégation est une association non symétrique dans laquelle une extrémité de l’association joue un rôle prédominant par rapport à l’autre extrémité (par exemple, une classe

elle est représentée par un losange noir (voir le haut de la figure 104).. L’agrégation se représente par un petit losange blanc du côté de l’agrégat. Une voiture est conduite par une personne et peut transporter de 0 à plusieurs passagers. Les attributs. opérations et associations sont hérités par les sous-classes.1 voiture roue 1 1 1 4 décapotable break berline figure 105 : un exemple de diagramme de classes 2.. Une voiture est composée d’un moteur et de quatre roues (agrégation et composition)... La généralisation est représentée par une flèche qui pointe de la classe la plus spécialisée vers la classe la plus générale.1 0.153 Annexe : Le langage unifié de modélisation (UML) qui fait partie d’une autre. les diagrammes de séquence Les diagrammes de séquence montrent comment les objets d’un système interagissent en mettant l’accent sur l’aspect temporel. les décapotables et les berlines sont des voitures (spécialisation de voiture).* passager conducteur 1 conduit moteur > 0.* une classe composante sous-classe1 sous-classe2 figure 104 : notation des agrégations et des spécialisations La figure 105 présente un exemple de diagramme de classes. De plus. personne 0. La tête de la flèche est caractérisée par un triangle vide.. agrégat 0. Les breaks. Il s’agit de l’association correspondant à la contenance . Elle exprime le fait que les éléments d’une classe soient décris dans une autre classe.* une classe super-classe composition bidirectionnelle 1. une personne ne peut conduire au plus qu’une voiture et n’être passager qu’au plus d’une voiture.1 agrégation unidirectionnelle 0. .. une action d’une classe impliquant une action dans une autre classe…). La composition est un cas particulier d’agrégation.

Le diagramme représente ces messages à l’aide de flèches le long des liens. Les messages sont représentés par des flèches horizontales orientées de l'émetteur vers le destinataire. les flèches sont alors obliques. La figure 107 représente un exemple de diagramme de collaborations qui correspond au diagramme de séquence de la figure 106. Chaque objet est représenté par un rectangle avec le nom de l’objet souligné à l’intérieur (voir les diagrammes de classes). Lorsque le message possède un temps de propagation non négligeable. les relations entre objets sont notées par un trait qui relie les objets. on associe des barres verticales en pointillé appelé « ligne de vie » de l'objet (voir la figure 106). Comme pour les diagrammes de classes. Les acteurs extérieurs au système sont représentés par ce symbole : nom de l’acteur : classe de l’acteur événement 1 objet 1 : classe de l’objet objet 2 objet 3 opération opération (liste de paramètres) opération (liste de paramètres) figure 106 : un diagramme de séquence 3. des liens et des interactions. les diagrammes de collaborations Les diagrammes de collaboration permettent la représentation spatiale des objets.154 Annexe : Le langage unifié de modélisation (UML) Les objets étudiés sont placés sur la première ligne et pour chaque objet. L’ordre des messages peut être indiqué en mettant une numérotation devant chaque message. La représentation des périodes d'activité des objets est possible à l'aide de bande rectangulaire le long des lignes de vie des objets et dont les extrémités représentent le début et la fin de l'activité. . Le diagramme possède un axe des temps dirigé du haut vers le bas. Les objets communiquent entre eux par envoi de messages.

. Ils correspondent à un diagramme de collaboration simplifié. sans représentation des envois de message.5 Conclusion 3 : opération (liste de paramètres) 1 : événement objet 1 : classe 1 2 : opération objet 2 nom de l’acteur : classe de l’acteur 4 : opération (liste de paramètres) objet 3 figure 107 : un exemple de diagramme de collaborations 4. les diagrammes d’objets Les diagrammes d’objets sont la représentation des objets et de leurs relations.155 V.

Si. . distributed decision. gestion de production. En chaque centre et à un instant donné. This set evolves as the centers are negotiating and as some new data. Au problème de décision statique associé à un modèle donné. We study the asynchronous mode of the cooperation. propositions et engagements) doivent être considérés. Keywords: decision support. project management.Thèse de Mr Jean-Pierre Camalot Aide à la décision et à la coopération en gestion du temps et des ressources Résumé : Ce travail s’intéresse aux décisions en gestion du temps et des ressources (gestion de production. a center does not own a unique model but several that differ in the hypotheses and in the level of instantiation (the number and the nature of fixed decisions). plusieurs statuts de la décision (hypothèses. propagation de contraintes. The consistency of the local problems and the obtaining of solutions are provided by analyzing and solving tools based on constraint propagation. entre autres. proposition. La formalisation des conversations se traduit par l’utilisation de messages prédéfinis. gestion de projet. On the static decision problem associated to a given model. d’évaluer la consistance de ces différents modèles. Cet ensemble évolue au fur et à mesure que des négociations entre centres se développent et que de nouveaux éléments surgissent qui confirment ou non les hypothèses faites pour préparer les décisions. the decision process in one center is indissociable with the cooperation process with others centers. The use of predefined conversations and messages avoid some misinterpretation and allow a partially automated treatment. and commitment) must be considered. Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes permettent. Nous avons étudié le mode asynchrone de la coopération. production management. cooperation support. Decision and cooperation support in time and resource management Abstract: This work is focused on time and resource management (production management and project management). De ce fait. which confirm or not the hypotheses. processus de décision. The decisions of one center are parameters of some constraints that others centers must respect. A test software allow us to give some specifications that a decision and cooperation support system must implement. approche par contraintes. le processus de prise de décision en un centre est indissociable des processus de coopération entre centres. several status of the decision (hypothesis. aucun enchaînement strict n'est supposé entre les différentes prises de décision. In a center and in a given time. there is the dynamic management of a set of hypotheses and models. décision distribuée. Thus. gestion de projet). The decisions are distributed along a network of decision centers. appear. decision process. aide à la coopération. La mise en œuvre d’un logiciel de test a permis de mettre en avant certaines spécifications que doit implémenter un système d’aide à la décision. If the different decision processes are not strictly linked. Les hypothèses faites en un centre permettent d'élaborer des décisions prévisionnelles mais rendent celles-ci conditionnelles. We propose distributed decision and cooperation support tools. The hypotheses made in a center allow to elaborate preliminary decisions. constraint propagation. Notre objectif est de proposer aux décideurs des outils d’aide à la décision et à la coopération distribués. de fournir des solutions prévisionnelles. s’ajoute celui de la gestion dynamique d’un ensemble de modèles et d’hypothèses. Mots clefs : aide à la décision. constraint approach. ce qui évite toute ambiguïté d’interprétation et autorise un traitement partiellement automatisé. a priori. Nous supposons que les décisions sont distribuées au sein d’un réseau de centres de décision interdépendants : les décisions d'un centre constituent des paramètres intervenant directement dans les contraintes que doivent respecter d'autres centres. il n’existe pas un modèle unique en chaque centre mais plusieurs qui diffèrent par leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des décisions fixées.

You're Reading a Free Preview

Télécharger
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->