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 .

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

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

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

.

Ces problèmes sont connus pour leur complexité. En chaque centre et à un instant donné. De nouvelles formes d'organisation sont mises en place telles que par exemple les structures matricielles projets-métiers. qui risque d'être lourd et lent. les chaînes logistiques intégrées. en interne. aucun enchaînement strict n'est supposé entre les différentes prises de décision. Dans les deux cas. a priori. D'une part. 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. afin d’assurer la cohérence globale des décisions prises localement. incertain et complexe. les structures organisationnelles classiques sont remises en cause dans le but de faciliter une interaction rapide entre acteurs et décideurs. D'autre part. 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. plusieurs statuts de la décision (hypothèses. propositions et engagements) doivent être considérés. Cette interdépendance peut amener les centres à rechercher des compromis à travers la négociation. 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. ce qui suggère une approche de type aide à la décision. de nouvelles formes de relations interentreprises (par exemple les partenariats. les entreprises visent à améliorer leur réactivité. voire impossibles à formaliser ou à prévoir. Par ailleurs. 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. 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. La nécessité d’automatiser des traitements complexes pour la prise en compte de certains aspects bien formalisés et prévisibles.Introduction Pour faire face à un environnement changeant. De ce fait. 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. Elle nécessite cependant une bonne qualité au niveau des interactions (communication et coopération) entre les entités. 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 entreprises virtuelles. Les hypothèses faites en un centre permettent d'élaborer des décisions prévisionnelles mais rendent celles-ci conditionnelles. C'est ce que propose l'approche par contraintes pour l'aide à la coopération [Huguet 94] qui sert de base à ce travail. ainsi que les dates auxquelles ces tâches seront réalisées (planification. Si. Une coopération de bonne qualité doit permettre d'éviter le recours fréquent à un arbitrage des conflits par la hiérarchie. il n’existe pas un modèle unique en chaque centre mais plusieurs qui diffèrent par . Plus précisément il doivent déterminer les ressources précises permettant de réaliser un ensemble de tâches (affectation). le processus de prise de décision en un centre est indissociable des processus de coopération entre centres. ordonnancement). gestion de production) : les décideurs gèrent des ressources humaines et matérielles dans le temps. le système global de pilotage qui en résulte est plus complexe car si une certaine hiérarchie demeure. 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.

entre autres. la coordination et la négociation. . selon le choix des variables et des paramètres instanciés ou laissés libres avant propagation : résolution. etc. notamment dans le cas de la gestion de projet et de la gestion de production. Tout d’abord. La coopération a été également abordée dans les travaux relatifs aux systèmes multi-agents. 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. Le second chapitre s'intéresse donc naturellement à préciser le sens que nous donnons à la coopération pour la prise de décision. Le travail présenté dans ce mémoire tente d'apporter une contribution à ce deuxième type de recherche. essentiellement la coopération. Pour cela. Enfin. Dans un premier temps. Ensuite. 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. IRIT et LAAS) et un industriel. de fournir des solutions prévisionnelles. nous examinons les différences qui existent entre des notions proches telles que la coopération. 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). différentes structures organisationnelles sont comparées. 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. 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. qui s’intéressent à l’intelligence émergent d’un système artificiel défini comme une société d’agents coopératifs. et la réponse qu'elles tentent d'apporter par une plus grande distribution des 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. 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. consistance. Différents traitements peuvent être envisagés à l'aide de mécanismes de propagation de contraintes. Au problème de décision statique associé à un modèle donné. nous présentons l’approche dans laquelle nous nous inscrivons. d’évaluer la consistance de ces différents modèles. s’ajoute celui de la gestion dynamique d’un ensemble de modèles et d’hypothèses. de plus ces modèles évoluent avec le temps. CERTOP. Nous concluons enfin sur l'émergence d'une forme d'interaction favorisant une plus grande autonomie des décideurs. Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes permettent. robustesse. explicitation de marges. le « workflow ».8 Introduction leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des décisions fixées) . 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. 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. 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 nous intéressons au problème de la représentation de l’état du processus de décision en un centre. L'exemple choisi concerne la gestion multi-projet. selon une arborescence de modèles. prise de décision périodique). nous proposons des protocoles de communication entre centres permettant aux centres de coopérer. 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. Des centres projets sont en compétition pour l’attribution de ressources gérées par des centres métiers. ainsi que les techniques et langages employés pour réaliser ce logiciel. nous détaillons les aspects temporels de la prise de décision (décision et négociation en temps limité. Enfin. Le cinquième chapitre présente le logiciel que nous avons développé pour tester notre approche. propositions et engagements ainsi que les déductions qui peuvent être inférées caractérisent ce processus à un instant donné. Ensuite. . Nous concluons enfin sur le travail ultérieur qui mériterait de compléter notre étude. Les spécifications du système d’aide à la décision distribué sont données. Dans un premier temps. 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.

.

Internet. La distribution nécessaire des décisions au sein de l'entreprise est abordée en étudiant des structures organisationnelles caractéristiques.1. L’automatisation. Afin de pérenniser leur existence et d’assurer leur compétitivité. etc. les délais et la qualité. De nos jours. Les entreprises cherchent donc à maîtriser trois paramètres : les coûts. plus innovants et toujours plus rapidement. train). En effet. technique. toutes sortes de marchandises peuvent être transportées que ce soit par terre (exemple : camion. De nos jours. seules quelques entreprises pouvaient bénéficier de gros ordinateurs.1. les micro-ordinateurs sont couramment utilisés dans toutes les entreprises. la société Airbus transporte des parties d’avions entre ses sites de construction en moins d’un jour. l'écoute du client. L’environnement des incertain et complexe entreprises est fluctuant. pétrolier) ou par air (exemple : avions. les nouveaux procédés et les nouvelles matières permettent d’avoir des produits toujours plus complexes. En effet. les décideurs cherchent à optimiser l'usage des ressources humaines et matérielles dans le temps. par mer (exemple : cargo. économique et social des entreprises devient de plus en plus fluctuant. Les moyens de transport deviennent de plus en plus performants et économiques. incertain et complexe.1. L’informatisation croissante et l’évolution de la puissance des moyens de calculs permettent d’automatiser certaines tâches. • les moyens de production. I. la gestion des ressources humaines. la personnalisation des produits. économique et social des entreprises a évolué de façon notable ces dernières années. de faire des calculs complexes plus rapidement. l’environnement technique. Après guerre. À titre d’exemple. la nouvelle économie. Pour cela.Chapitre I Décision distribuée en gestion du temps et des ressources Les nouvelles technologies de l'information. 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 entreprises actuelles doivent faire face à un environnement fluctuant. plus variés. l'environnement. sont autant de concepts que les entreprises doivent considérer afin de se survivre et de progresser. dirigeables). Par exemple. 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. incertain et complexe. le secteur automobile conçoit un nouveau véhicule en moins de trois ans (contre cinq il y a quelques . • les moyens de calcul. I.

La plupart des entreprises ont un site d’information et d’achat « en ligne » sur Internet. Mais. les entreprises sont passées d’un mode d’optimisation où économies d’échelle et économies de vitesse prédominaient. on est passé d’un régime d’optimisation productive à un régime de gestion de la variété. Les économies d’échelles apparaissent. En effet. les entreprises vendaient aux clients ce qu’elles avaient décidé de produire. notamment. lorsque la capacité de production augmente. I. au moins dans le secteur automobile. Dans [Monateri 97]. théoriquement.2. en productivité. entraîne une complexité accrue du système d’information. elles produisent ce qu’elles peuvent vendre. l’auteur souligne que. 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.) et deviennent plus complexes à réaliser (et à réparer aussi). De plus. L’environnement économique En ce qui concerne l’évolution économique. la prise en compte d’un plus grand nombre de décisions en un délai de plus en plus court. Toutes ces économies ont pour but d’abaisser le coût du produit en agissant différemment sur les moyens de production. Autrefois. et mènent à une . la concurrence à laquelle elles sont soumises s’est aggravée encore avec la mondialisation des marchés ([Schweyer 96]). • les nouvelles technologies de l’information et de la communication. Ces véhicules intègrent de nouveaux équipements (airbags.12 Décision distribuée en gestion du temps et des ressources années). L’information devient même un enjeu stratégique (informations sur les concurrents. etc. à un régime d’optimisation où économies de variété et économies de vitesse prédominent (voir la figure 2). informations sur les partenaires) et un produit commercial. 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). En effet.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. De nos jours. Les informations peuvent se transmettre en temps réel à travers le monde (grâce à Internet par exemple). électronique embarquée.

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

Définitions Le concept d’organisation recouvre de façon indissociable l’action d’organiser et le résultat de cette action. Leur analyse nous permettra de cerner comment la distribution des décisions est abordée. I. 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. Les décisions portent sur la définition des responsabilités et sur les règles qui régissent la prise de décision. I. à la fois dans la structure et dans son fonctionnement. nous allons voir quelques définitions sur l’organisation et des structures organisationnelles.2. La structure décrit la manière dont les différents organes et individus de l’entreprise sont agencés. les responsables se penchent sur les relations durables entre les individus et certaines composantes. Dernièrement.2. la structure (voir le Larousse 97. Dans un premier temps. La certification ISO9000 d’une entreprise est un label de qualité basé sur une démarche volontariste. l’apparition des normes internationales ISO9000 (1. Les structures organisationnelles Afin de limiter l’influence d’un environnement changeant et incertain et de mettre en œuvre le projet d’entreprise. mis en relation.3) a permis de normaliser les relations donneurs d’ordre/sous-traitants. on s’intéresse désormais à ceux qui peuvent affecter son organisation. Ils définissent l’organisation.2. [Schweyer 96 ] et [Maggi et al 00]). tout en mettant en œuvre le projet d'entreprise (voir figure 4).16 Décision distribuée en gestion du temps et des ressources qualité.1. . 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. Les différentes composantes restent relativement indifférenciées. orienté vers un but. 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. ni les moyens. et souvent formalise. de répartition et de contrôle des tâches à réaliser pour atteindre les finalités de l’organisation. c’est-à-dire des normes qui en régissent l’exécution. examinons quelques structures organisationnelles caractéristiques. cité dans [Dupuy 1992]).2. La commande est ici entendue au sens large de conception. Les structures hiérarchiques simples La hiérarchisation organisationnelle exprime. • la répartition des compétences qui définit un réseau de pouvoirs expertaux et détermine la standardisation des tâches. Le Tableau 3 (emprunté à [Maggi et al. En effet. On a donc la mise en acte d’un ordre. Plutôt que de chercher à maximiser son utilité. Selon ce schéma. . ni les fins ne peuvent être considérés comme absolument rationnels . I. La structure organisationnelle est donc un puissant support d’unification. c'est-à-dire une forme d’agir rationnel » (tiré de [Maggi et al 00]). Cette rationalité est intentionnelle et limitée. le décideur n'a pas la connaissance complète et il ne choisit jamais la meilleure alternative. 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). Le mécanisme de hiérarchisation se développe dès que la complexité organisationnelle atteint un niveau suffisant. L’action organisationnelle est « un agir qui met en relation […] les moyens par rapport aux fins. 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. les décisions ne sont jamais prises dans des conditions de certitude.2. il cherche des solutions suffisamment bonnes ou satisfaisantes. de coordination et donc de survie de l’organisation en fonctionnement (de Mintzberg. Les notions d’organisation et de structure organisationnelle ayant été précisées. la différence entre ceux qui commandent et ceux qui exécutent.

Dirigeant propriétaire Secrétaire aide-comptable Vendeurs figure 5 : un exemple de structure simple Dans une telle structure. Il en résulte l’apparition de pouvoirs expertaux.2. La pérennité et l’efficacité de ce type de structure supposent une stabilité fonctionnelle bien établie. liés à la compétence. Cependant si l’organisation poursuit sa croissance. Une conception fonctionnaliste descendante de la structure. 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. de variété des tâches à accomplir. I. Tant que la spécialisation et la séparabilité des tâches sont techniquement et économiquement justifiées. autrement dit des processus opérationnels peu évolutifs. On obtient alors un renforcement des compétences. donc d’efficacité. complexes voire inefficaces. largement inspirée par la vision rationaliste et techniciste des ingénieurs. Les structures hiérarchiques fonctionnelles Au-delà d’un certain niveau de complexification. • forte adhésion au pouvoir de la direction. une formalisation très développée ainsi qu’une centralisation et une planification bien élaborées. Les bureaucraties professionnelles sont fondées sur la standardisation des . toutes les organisations doivent diviser et spécialiser le travail.3. • centralisation marquée au sommet de l’organisation. Les formes bureaucratiques mécanistes. Ces tendances se renforcent naturellement et conduisent à la limite à des formes bureaucratiques (mécanistes ou professionnelles). elles coïncident avec la logique de la hiérarchisation (voir un exemple sur la figure 6). Cela va généralement de pair avec une spécialisation poussée.18 Décision distribuée en gestion du temps et des ressources Mintzberg a défini un modèle de « configuration structurelle simple ». • situation de faible complexité de l’environnement et de la technique mais grande adaptabilité. que l’on rencontre essentiellement dans les grandes industries. l’intégration est naturellement réalisée grâce à la communication directe et informelle. par l’apprentissage puis la répétition d’ensembles de tâches relativement bien délimitées et codifiées. permet d’avoir une coïncidence pure et simple entre les sources de pouvoirs expertaux et hiérarchiques. ces mécanismes deviennent rapidement lourds. reposent sur la standardisation des procédés de travail et leur extrême formalisation.

• la concentration et la formalisation excessives de l’information le long de la ligne hiérarchique. d’ajustement des objectifs. Dans ces structures. Il évite la démultiplication injustifiée des spécialistes fonctionnels aux différents niveaux de la structure. La structuration trouve alors son fondement dans l’identification et dans la résolution de problèmes temporaires non répétitifs. de nouveaux découpages dans l’espace et le temps apparaissent. Les structures matricielles (voir exemple sur la figure 7) acceptent et formalisent des schémas de structure à la fois multirelationnels et évolutifs. Elle tend donc à exacerber des conflits. en situation très évolutive. 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). L’homogénéité est recherchée par recomposition autour d’ensembles d’opérations homogènes et non par décomposition.4. cette différentiation spatiale est accompagnée d’une différentiation temporelle. auxquels sont logiquement associés des processus décisionnels ad hoc. un aboutissement affiné de la différenciation organisationnelle. Les structures matricielles Les bases hiérarchiques et fonctionnelles reposent sur des hypothèses de cohérence et de stabilité des tâches.2. cela conduit à privilégier une logique ascendante. Les structures matricielles abandonnent ainsi le principe excessivement contraignant de l’unité de commandement. on remet en cause la prééminence du hiérarchique sur le fonctionnel. . Dans l’espace. Généralement.Les structures organisationnelles 19 formations et des compétences et le contrôle par les pairs (exemple : universités et cliniques). Mais elle amplifie les problèmes d’attribution des compétences. du formel sur l’expertal. La structure matricielle constitue. Au-delà de certains seuils de complexité et d’incertitude. 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. de communication. On obtient alors une structure divisée par produit et par marché. Il raccourcit les circuits de communication et facilite la collaboration entre les spécialités et les professionnels de toutes origines.

qui facilite ou exprime la convergence des langages et des objectifs entre les composantes de l’organisation. Une incertitude naît de la distance entre les composantes de la structure : distance spatiale.2. Les adhocraties supposent des communications d’une intensité et d’une qualité élevées (ajustement mutuel). Par exemple.5. La symbolique offerte par ces derniers est trop pauvre et trop statique. et généralement complexes. Elle va de pair avec une décentralisation sélective de certains pouvoirs (tiré de [Dupuy 92]). Pour la réduire. Les structures adhocratiques L’intégration peut être définie comme une réponse structurelle de l’évolution et du fonctionnement de l’organisation.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. les structures adhocratiques se prêtent mal aux représentations formelles par organigrammes. deux logiques générales et complémentaires sont envisagées : • l’une de décentralisation des pouvoirs. C’est pourquoi elle peut ne concerner qu’une partie de la structure. des adhocraties opérationnelles se forment régulièrement au sein des divisions organisationnelles à l’occasion du lancement d’un nouveau produit. 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. Une structure adhocratique est identifiée par l’existence de relations particulièrement intenses entre organes d’origines variés. Il montre que les entités adhocratiques opérationnelles s’identifient sans liaison formelle avec le reste de la structure. • l’autre d’adhésion. On peut avoir décentralisation horizontale et décentralisation verticale. En raison de leurs propriétés de complexité et d’instabilité. mais concourants à la réalisation de tâches homogènes. La figure 8 montre un exemple de chaîne de télévision. . distance temporelle ou distance culturelle.

C’est pourquoi les formes adhocratiques restent par définition jeunes et transitoires. Elle . 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é .6.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. Elles impliquent chaque individu. Elles mettent en place un mécanisme appelé entreprise virtuelle. électroménager…). les entreprises peuvent monter un projet temporaire. chaque cellule organisationnelle au point que la réussite des uns dépend de celle des autres et réciproquement. I. Une entreprise virtuelle est créée pour répondre à un marché spécifique. Les entreprises virtuelles Pour faire face à la concurrence dans un marché donné (automobile. les sous-unités peuvent être sous gestion séparée ([Rolstadas 95]).2.

98] et [Davilvu et al 99]). ces structures demandent une intensité des communications entre les acteurs et des mécanismes de coopération de coordination parfaitement définis. plusieurs entreprises peuvent s’associer pour répondre à un appel d’offre gouvernemental. le contrat terminé. Dans les meilleurs des cas. 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. 98]). 98]). Les . L’entreprise virtuelle se transforme alors en consortium ou en entreprise étendue (voir la figure 10 et [Park et al. les entreprises constituantes nouant leurs forces pour répondre à une croissance du marché. 99]. [Park et al.3 et [Afsarmanesh et al. Une entreprise virtuelle peut devenir plus permanente. réseau privé virtuel.2. Comme pour les adhocraties. plusieurs structures peuvent apparaître (comme le montre la figure 8). essentiellement. En effet. l’entreprise virtuelle est dissoute. Néanmoins.22 Décision distribuée en gestion du temps et des ressources facilite le partage rapide des ressources et des informations. II. partage de base de données ([Zhang et al. Conclusion Différentes structures d’organisation (intra ou inter entreprises) viennent d’être présentées. Par exemple. en tenant compte de deux critères : l’incertitude et la complexité. les structures hiérarchisées simples et fonctionnelles (comme les bureaucraties) ne résistent pas à l’incertitude à cause de la hiérarchie prédominante. 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. Une fois. on a pu voir apparaître des façons différentes d’aborder la répartition des décisions. Ces structures utilisent toutes les possibilités offertes par les nouvelles technologies de l’information : groupware. Les décideurs mettent en œuvre ces principes organisationnels. Au sein d’une même entreprise. [Favrel 98]. Une entreprise virtuelle a une durée de vie limitée. elle permet de réduire les temps de production. les processus peuvent être formalisés à l’aide de workflow (cf. les coûts de production et d’obtenir une meilleure exploitation des opportunités du marché.7. dynamisme consortium stabilisation du partenariat I. Pour cela.

pose des problèmes d'organisation. 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. La complexité n'est pas intrinsèque à un projet mais à la coordination de différents projets . en génie logiciel). les ouvrages publics. mais aussi. Dans le premier cas. Cette problématique se rencontre dans les ateliers (par exemple usinage). Habituellement. Les structures organisationnelles en gestion du temps et des ressources Afin d'optimiser les délais. . la conception et la réalisation de nouveaux produits (en automobile. etc. la répartition des ressources est au cœur de la problématique. très peu récurrent voire unique. est composé d'un grand nombre de tâches à réaliser.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. le projet. dans les activités de service ou dans les problématiques multi-projets. on distingue deux problématiques : la gestion de projet et la gestion de production. tant au niveau de la demande que des processus de fabrication. Les commandes peuvent être nombreuses et chaque commande joue le rôle d'un nouveau projet. la construction aéronautique et spatiale. La gestion de production se rapporte à la réalisation de produits dont la variabilité. 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. les coûts et la qualité de fabrication des produits. 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. L'ensemble des ressources est mobilisé sur une période de temps assez grande.

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. spécialisés et liés hiérarchiquement (voir un exemple sur la figure 13). Il définit par exemple le séquencement et l’ordonnancement des opérations de fabrication sur les moyens de production. À ce niveau. • Le niveau opérationnel régit en détail la fabrication proprement dite. la gestion de production met en place une structure hiérarchisée fonctionnelle. les décisions se prennent à long terme (2 à 5 ans) par la direction (portefeuille d’activités. La coordination au sein de cette structure s’exerce a priori par un contrôle vertical (hiérarchique). La gestion de production « classique » Classiquement.. l’objectif principal a été la recherche d’une très grande efficacité de l’outil de production. 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). En effet. concurrence faible . Ce genre de structure a besoin d’un environnement relativement stable (demandes régulières. Généralement. En fait. investissement).1. 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. pendant très longtemps. les décisions sont prises à court terme (jour ou semaine) par des services comme l’ordonnancement quotidien. À ce niveau. etc. cette hiérarchie obéit à un modèle de résolution de problème. l’affectation des ouvriers. étant donné un ensemble de produits dont les caractéristiques technico-commerciales évoluaient peu. le réordonnancement temps réel ou le lancement. toute l’organisation de l’entreprise est structurée par fonctions ou services.). .3.. • Le niveau tactique assure la gestion du travail et des moyens de production dans le cadre des décisions stratégiques. durée importante figure 12 : gestion de projet et gestion de production I.

Cependant.2. Il a une autorité fonctionnelle lui permettant d’agir sur les chefs de projet-métier qui eux. 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). Il fait circuler l’information et propose des suggestions aux différents intervenants.3. le chef de projet est responsable des activités. 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. Par contre. on désigne un facilitateur de projet que l’on peut considérer comme le véritable chef de projet. Comme pour la gestion de production « classique ». sont chargés d’assurer l’intervention des acteurs-projet impliqués. . son rôle reste un rôle d’animateur. aucun individu n’a la responsabilité du processus global. il n’a pas d’autorité hiérarchique sur le personnel amené à travailler sur le projet. Dans la forme fonctionnelle (voir figure 14). la gestion de projet est abordée de façon fonctionnelle ou divisionnelle. La gestion de projet « classique » Traditionnellement. 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.

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). les entreprises. Cette diversification permet de compenser une baisse de marché sur un produit par une hausse sur un autre produit. diversifient leurs activités et leurs produits. face à un environnement de plus en plus concurrentiel et fluctuant (voir le paragraphe I.3. 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) . Elle ne peut se mettre en œuvre que si la structure de l’entreprise est rapidement reconfigurable.

I. En outre. En quoi consiste la coopération ? Peut-on envisager une coopération sans communication ? Ces questions font l’objet du chapitre qui suit. 98]) mais nécessite une plus grande coopération et coordination entre les acteurs. se trouver en concurrence pour l’utilisation de ressources partagées . plusieurs projets peuvent coexister et.Conclusion 27 Dans une forme matricielle (voir la figure 16). complexe et fluctuant. on peut avoir conflit entre hiérarchie fonctionnelle et autorité du projet. La mise en place de telles structures donne aux acteurs plus de flexibilité dans la gestion des règles ([Bazet et al. le chef de projet (appelé directeur) planifie et contrôle l’activité du personnel sur le projet. 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. ce qui définit un problème de décision distribuée. Dans cette forme. les entreprises revoient leurs structures organisationnelles classiques (hiérarchiques et fonctionnelles) et mettent en place des structures plus adaptées (matricielles et adhocratiques).4. tandis que les chefs métiers prescrivent la façon dont une tâche est réalisée. ainsi. Dans les formes adhocratiques ou autonomes (voir figure 17). Conclusion Dans un environnement incertain. .

.

même limitée à des échanges formels dans un contexte de coopération dans le travail. II. 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. Celle-ci se caractérise par l’adoption du principe d’une rationalité limitée des acteurs au sein d’une organisation. des conflits apparaissent ce qui engendre parfois des réajustements qui peuvent se faire au travers de négociations. Enfin. et le modèle de coopération entre les entités. de collaboration et de codécision. de coordination. Cette perspective méritait en effet d’être étudiée dans la mesure où la communication en langage naturel. Nous réservons ensuite une place importante aux travaux relatifs aux systèmes multiagents. Dans le but de se donner une définition pratique mais suffisamment consensuelle de la coopération.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é. de coordination. nous consacrons le chapitre qui suit à l’examen de points de vue complémentaires sur la coopération. issus des sciences humaines. . lors de la mise en œuvre de ces processus. de codécision et de négociation. Face à la nécessité d’atteindre des objectifs globaux et de partager des moyens commun. nous présenterons l’approche dans laquelle nous nous inscrivons. 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. 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 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. Définition et aspects de la coopération Le sens commun ne permet pas toujours de bien distinguer les termes de coopération. 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. qui s’intéressent à l’intelligence émergeant d’un système artificiel défini comme une société d’agents coopératifs. Dans un premier temps. l’approche par contraintes. De plus. des sciences cognitives et des sciences de l’ingénieur. à mettre en évidence leur trop grande complexité et/ou leur inefficacité. qui échangent et révisent une partie des contraintes prises en compte dans leurs modèles. les décideurs doivent coopérer. ainsi qu’aux interactions entre ces agents. peut servir dans le même temps.1. La notion de contrainte fonde à la fois les modèles de résolution des outils d’aide à la décision locale. nous précisons la définition que nous associons aux notions de coopération. Ensuite. Nous nous intéressons ensuite au rôle que joue la communication dans la mise en œuvre de ces différentes formes d’interaction. le « workflow ».

Durant un processus de coopération. Le processus de coopération peut être prédéfini (imposé institutionnellement. Elles ont pour objet de prévenir ou de régler des conflits entre plusieurs entités. L’action coopérative ne s’attachera qu’à accomplir le ou les buts communs. à un niveau plus fin de détail. 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). [Agostini et al. mais ces dernières peuvent également initier une nouvelle (re)négociation (par exemple. si l’on s’intéresse à l’action collective en tant que processus. des négociations peuvent survenir. De même. certaines actions élémentaires nécessaires pour atteindre ce but. De même. si la décision tarde à être prise ou s’ils n’arrivent pas à mettre en œuvre la décision).1. il n’est pas nécessaire que toutes les entités aient exactement les mêmes buts. Cette définition est toutefois trop générale. etc. on voit qu’elle nécessite des interactions. 94]. des confrontations ou des négociations entre les entités agissantes.1. 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). II. des échanges. 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. nous renvoyons le lecteur aux travaux sur lesquels nous nous sommes appuyés : [Bazet 96]. [Sadek 94a]. [Bazet et al 98a]. Ainsi. peuvent être perçues comme individuelles ou collectives. 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.) ou libre (les entités déterminent dynamiquement les buts communs et la forme d’interaction à mettre en œuvre pour y parvenir). En effet. En effet.30 Formalisation de la coopération – l’approche par contraintes Pour préciser ces différentes notions. . [Winograd 88]. par la hiérarchie. 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. par des conventions sociales. 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 un dialogue précède la décision. 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. Souvent.

figure 19 une gamme d’assemblage : un exemple de synchronisations d’objets. Par exemple. non seulement. La coordination traite de l’organisation des actions dans le temps.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 collaboration et la codécision. 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). de synchroniser dans le temps. des personnes (une illustration est présentée sur la figure 19). 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).1.2.) contraignent le champ des actions possibles et influent sur les processus de coordination. 99].2. Il est donc apparu des mécanismes de synchronisation des objets matériels. les règles juridiques et sociales (travail de nuit. de rendre cohérent les actions des différents acteurs. II.1. Nous tentons de définir plus précisément trois aspects : la coordination. Dans un processus de coordination des décisions. absolues ou relatives. Elle a pour but de construire et d’exploiter un référentiel temporel commun permettant d’ordonner les actions individuelles. le plan a été identifié comme un outil de coordination qui permet. transport le week-end. .Définition et aspects de la coopération 31 II. d’actions et de personnes Dans [Bazet el al. Ces règles se traduisent donc par des contraintes temporelles. Différents aspects de la coopération Plusieurs aspects de la coopération peuvent être identifiés. mais aussi. des opérations à effectuer. etc. L’activité de planification est de plus soumise à d’autres contraintes temporelles.

1.). Des contraintes de coordination existent.32 Formalisation de la coopération – l’approche par contraintes La prise de décision. pour lesquelles les décideurs ont besoin de se coordonner.. Il y a donc un problème de coordination puisque l’ordonnancement. . dans un souci de cohérence. 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. En effet.). la négociation peuvent être considérées comme de véritables activités. etc. Collaborer signifie travailler ensemble à l’exécution d’une certaine action pour produire un résultat final. entre les fonctions planification (calcul des volumes de production) et ordonnancement (séquencement des opérations. des collaborations apparaissent. s’il veut être cohérent. le terme de collaboration s’utilise à la place de celui de coopération lorsqu’il n’est pas possible. recyclage . En effet. pertinent ou souhaitable de différencier les actions individuelles.. Il se pose donc un problème de coordination toutes les semaines car l’ordonnancement. À l’occasion de la conception de nouveaux produits. attend les décisions provenant de la planification. Ceux-ci collaborent à la définition du produit et au suivi de celui-ci tout au long de son cycle de vie.2 La collaboration et la codécision La collaboration est un autre aspect de la coopération. fabrication. par exemple. Sur la figure 20. 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.2. doit attendre les résultats de la planification. le planning est calculé toutes les semaines et l’ordonnancement tous les jours. en gestion de production. affectation des ouvriers. Ainsi. 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.

les processus de coordination et de négociation dans le domaine de la gestion du temps et des ressources. Dans ce mémoire. Une élection est un exemple typique de codécision (voir la figure 22). on parle plutôt de codécision. C’est le résultat du vote (la décision prise) qui importe le plus. Dans ce cas. Dans son ouvrage sur L’énonciation Jean Cervoni ([Cervoni 87]) . plus les mécanismes de coordination et de régulation devront être détaillés.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.2. plus la description d’une collaboration sera fine. figure 22 : un vote. plusieurs individus prennent une ou plusieurs décisions communes. nous proposerons une aide à la coopération et nous étudierons. La perspective langage-action La perspective langage-action considère que le langage est la première dimension de l’activité coopérative. II. plus particulièrement. Pourtant. 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).

c'est-à-dire. 97]. et référencé dans [Winograd et al 87]. II. à ce que les gens font avec le langage et non à la forme de celui-ci. 87].1. Par exemple. ou un ensemble de buts. la fonction du langage est tout autant d’agir sur la réalité et de permettre à celui qui produit l’énoncé d’accomplir. • La pragmatique s’intéresse à l’utilisation du langage. La perspective langage-action s’attache essentiellement à la pragmatique.P Grice « Le bon fonctionnement de la communication exige que soit respecté un principe de coopération : ainsi les participants d’un échange verbal.1. [schael 97]. doit tenir compte des règles de coopération admises pour la communication en langage naturel. [Ferber 95]). les énoncés ne sont ni vrais ni faux (tiré de [Moeschler et al. 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. Cette section s’appuie sur [Moeschler et al. reconnaissent un but commun. 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. Cadre théorique En linguistique.34 Formalisation de la coopération – l’approche par contraintes résume ainsi les propos de H. ou du moins une direction acceptée par tous ». le simple fait d’énoncer la phrase « je te promets que je t’emmènerais au cinéma demain matin ». mots…) peuvent êtres modifiés et combinés afin de former des structures complexes formellement acceptables. une action. en règle générale. Elle comprend la définition des traits de sens attachés aux éléments individuels (mots) et le sens produit en les combinant (phrases). [Winograd et al. • La sémantique porte sur l’étude des relations entre les structures de langage et un espace de significations potentielles. la sémantique et la pragmatique. • Dans le domaine de la syntaxe. L.2. à travers la mise à disposition d’outils formels.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. [Schael 97].2. Sa fonction première s’attache à définir le rôle du langage dans l’évocation et l’interprétation des actions. on distingue généralement trois grands domaines d’étude de la langue : la syntaxe. II. 97]). [Winograd 88]. • les actes illocutoires que l’on accomplit en disant quelque chose et à cause de la signification de ce que l’on dit. Dans cette optique. Pour J. [Ferber 95]. [Winograd 88]. même en l’absence d’un destinataire suffit à l’accomplissement d’un acte locutoire. Selon la théorie des actes de langage. ce faisant. Nous nous intéressons à cette dimension car la coopération que nous nous proposons de favoriser entre décideurs. Austin (dans son ouvrage de 1962 intitulé « How to do things with words ». au contraire. En énonçant la phrase de l’exemple précédent devant .

conseil. • les actes de dire de qui correspondent grossièrement aux ordres. Par exemple.2. les déclaratifs (déclaration de guerre. 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. • • • • • Searle a identifié 5 catégories d’actes de langage : les représentatifs (assertion.2 Les conversations Les actes de langage entre deux personnes sont des événements liés . baptême.) .) . offre. • 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. la conversation suivante entre le magasinier et le chef projet permet d’identifier les 5 actes de langage. etc. Si la compréhension par le destinataire de la phrase de l’exemple précédent change ses croyances. etc. je promets. [Winograd et al 87] propose 4 types de conversations : • la conversation pour action. l’émetteur accomplit un acte illocutoire de promesse. etc. je dis. à savoir : • les actes de dire que qui correspondent grossièrement aux déclarations. etc. de prédiction ou de menace.). affirmation. aux prédictions. etc. on ne sait pas si la phrase « il pleuvra demain » correspond à un acte de promesse. l’émetteur a accompli un acte perlocutoire. etc. remerciement. les difficultés d’interprétation de certains actes de langage.) . Les auteurs réduisent les classes d’actes de langages à trois classes. II. etc. dans laquelle deux personnes négocient une action qu’une des personnes effectuera pour l’autre. conseils.La perspective langage-action 35 un interlocuteur capable de la comprendre. • 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). le message peut contenir l’intention de l’acte de langage. <le magasinier> : « il manque deux composants » (représentatif ) <le chef projet> : « commandez-en . demande. les messages devront préciser explicitement le performatif (j’ordonne.1. je demande. invitation) . 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. aux promesses. ils constituent des conversations. aux assertions.). les expressifs (félicitation. Sperber et Wilson objectent que cette classification n’est pas toujours possible ni nécessaire (tiré de [Moeschler et al. les promissifs (promesse. il me les faut pour demain » (directif) <le magasinier> : « ok. nomination. . Afin d’optimiser la coopération et de diminuer les risques d’ambiguïté. • les actes de demander si qui correspondent aux phrases interrogatives. les directifs (ordre. Par exemple. l’interlocuteur peut être persuadé de la bienveillance de l’émetteur. 97]). Par exemple. ou au moins de réduire. Afin d’éliminer.

C'est pourquoi nous ne détaillerons que les conversations pour action et pour possibilités.Action) B→A:informer fait(B. Après la première demande (état 2). Ce graphe montre le cas d’une conversation initiée par une demande de A vers B. 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. Chaque cercle représente un état de la conversation.A A→ B→ fair B:r fai A: e(B. A→B:déclarer pas_satisfait(Action) A→B:demander faire(B. ete tio Ac r n) tio n) A→ fair B:ac e(B cep . qui caractérise le futur cours des actions de B. annuler la requête ou émettre une contre-proposition.A poser n tre-pro A→B:co tion) c faire(B.Action) A→B:déclarer satisfait(Action) 1 2 3 4 5 r ete n) rej tio A: . Les conversations portent peu souvent sur un changement du cadre d'interprétation. 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). B peut accepter (et s’engager à satisfaire les conditions).Action’) B→A:retirer faire(B.A c r tir e B→ re(B B:re tion) A→ (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.A ction ) .Action) B→A:promettre faire(B. etire re( rej Ac r B.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.Ac ter tion ’) 7 8 A→B:rejeter faire(B.Ac fai e fair poser n tre-pro B→ A:co tion’) c faire(B.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. La demande est interprétée par chaque parti (A et B) comme ayant certaines conditions de satisfaction. À 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. Cette conversation est constituée de demandes et d’engagements.

Action) 1 2 B→A:contre_proposer faire(B.Action’) B→A:accepter faire(B. Par exemple. Ce logiciel suit les conversations en cours et récapitule les engagements pris par l’utilisateur mais. notamment celles constituées d’échanges portant sur la légitimité de l’action (vous devez faire ça !). un logiciel d’aide à la conversation. Une fois que B s’est engagé (état 3). L’unité de base des communications n’est pas le message mais la conversation. dépassé un certain délai après avoir informé A que le travail est terminé. favorable à l’anticipation des prochaines conversations. il interprète les engagements ou le contenu des messages. 2) Les conversations pour possibilité [Agostini et al 94] détaille les conversations pour possibilité.Ac → (B A ire fa B→A:retirer faire(B. Ensuite. A propose un sujet.La perspective langage-action 37 proposition de B (état 6). est capable de retrouver la conversation d’origine et lui propose différents types de réponses prédéfinies. 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). lorsque celui-ci reçoit un message d’une autre personne. permet également de solliciter des suggestions d’autres personnes en vue de définir un consensus sur le sujet. Certaines conversations peuvent contenir plusieurs actes de langage implicites. Usage de la perspective langage-action Dans « The Coordinator ».Actio Ac n) tio n) r fuser B:re ction’) pte n’) A → B. Ce type de conversation.Action) 3 A→ B→ A fai B:r :re re( et faire(B fuser B. la continuation et la clôture.2. A peut à nouveau proposer un nouveau point de vue. Le . l’état 7 à un état supprimé et l’état 9 à un état non satisfait. Le diagramme de changements d’état de la figure 24 montre une conversation pour possibilité. Les principales étapes d’une conversation pour possibilité sont l’ouverture. A peut à son tour émettre une contre-proposition (et retourner à l’état 2). Le logiciel guide l’utilisateur en lui proposant d’engager différents types de conversations et.Action’) 4 5 6 figure 24 : conversation pour possibilité II. A→B:proposer faire(B. L’état 5 correspond à une fin idéale tandis que l’état 8 correspond à un état refusé. rejeter la contre-proposition ou accepter cette contre-proposition.A ce ( ac tio faire B: .2. D’autres possibilités ne sont pas illustrées sur ce schéma. B peut considérer que A est satisfait (par défaut). Alors. B exécute l’action et signale si l’action est réalisée ou pas. irer .Action) A→B:contre_proposer faire(B. en aucun cas. [Winograd 87] met en application la perspective langage-action. A déclare sa satisfaction. B continue en proposant son point de vue. Celles-ci permettent à deux personnes d’explorer un déroulement possible des actions et créent un contexte favorable à ces dernières.

Les problèmes de coopération et de coordination étant en grande partie résolus à l’avance. Ce logiciel aide un utilisateur à gérer des conversations transitant par différents médiums (messagerie électronique. Ces dates permettent également au logiciel de déclencher une alarme ou de conclure une conversation par message implicite. conversations de groupe. Par contre. il peut exister des interactions sans actes de langage (comme la transmission d’un document). cette approche ne permet pas de modéliser toutes les interactions et surtout leurs effets. le maniement d’information. 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. une date à laquelle le travail doit être fait et une date d’alerte. En effet.3.1.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. Après une présentation des flux de travail. téléphone). les personnes peuvent consacrer plus de temps aux tâches individuelles et suivre les procédures pour les tâches collectives. On a accès à deux dates : la date de la conversation et la date de fin au plus tard. Les applications workflow automatisent la gestion des flux d’information et de matériel suivant les spécifications d’un processus donné. etc. en un temps limité. d’une réunion. De plus. Le logiciel permet également de suivre les minutes d’une conversation. les engagements qui doivent être (pour modifier la distribution des rôles). l’unité de base des communications est la conversation. des tâches articulées autour d’une procédure définie et ayant un objectif global ». II. envisager un support automatisé ou partiellement automatisé pour certaines conversations notamment les conversations pour action et les conversations pour possibilité. nous présenterons deux modélisations de la coopération au sein des flux de travail. Comme pour « The Coordinator ». la fourniture d’information (donnée ou demandée). [Agostini 94] décrit UTUCS (User-To-User Communication Support) un logiciel basé sur la perspective langage-action. conversations face-à-face. 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). 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 tâches de traitement de l’information passent d’une personne à une autre selon un circuit conditionnel bien défini. II. La théorie des actes de langage offre un cadre et un modèle pour les conversations entre individus.3. On peut. 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). Naffa donne cette définition du workflow (lue dans [Nurcan 96]) : « travail coopératif impliquant un nombre limité de personnes devant accomplir. Dans le cas du workflow. Les conversations sont divisées en quatre catégories : les engagements à faire (pour exécuter une action). grâce à cette modélisation.

des délais de production et de la qualité des biens et des services). Une fois le produit livré. au gestionnaire de localiser rapidement les entités actuellement en charge d’une tâche.Les flux de travail ou « workflow » 39 personne « prend » la tâche. La figure 25 montre 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. avant de transmettre une fiche de commande. . Celui-ci fabrique un produit et transmet une fiche de suivi au service financier. Par exemple. Ceci a pour conséquence des performances accrues (amélioration de la productivité. à 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. de la réactivité. le commercial peut s’assurer (et négocier) auprès du service de la faisabilité du produit. il est possible de déterminer facilement l’état d’avancement d’un ensemble de tâches en localisant les objets dans le workflow. La mise en place d’outils workflow coïncide souvent avec une réorganisation de l’entreprise. un maximum d’automatisation. La démarche de re-conception du travail autour d’un ensemble fini et simplifié de processus s’appelle « Business Process Reenginering » (BPR). Celui-ci émet une facture qu’il transmet au client. L’adoption d’une représentation commune du travail et son partage en libre accès permettent par exemple. le service de livraison transmet le bordereau de livraison au service financier. La tâche étant ainsi assimilée à l’objet (en général un document) qui matérialise son effet. Cette représentation montre bien les transmissions de documents mais peut cacher des mécanismes de coopération. le commercial transmet les commandes des clients au service de production. livraison commercial commande production bordereau de livraison fiche de suivi facturation figure 25 : un exemple de workflow. Les outils de workflow répondent technologiquement à cette réorganisation. Cette réorganisation horizontale met l’accent sur les processus correspondant à des équipes de projets. Dans une entreprise. un contrôle du flux de travail.

40 Formalisation de la coopération – l’approche par contraintes II. II. 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. Le modèle issu de la perspective langage-action propose une approche client-fournisseur qui n’existe pas dans l’autre approche. une phase d’engagement (négociation). Le workflow de déclaration (voir figure 27).3.2. 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. qui se termine généralement par une déclaration finale commune. 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. 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 . une phase de performance (exécution) et une phase d’évaluation (acceptation). est moins structuré et peut-être vu comme constitué d’étapes de communication récurrentes entre les participants. Par contre. Les responsabilités et les relations entre intervenants sont clairement identifiées.1 La modélisation issue de la perspective langageaction 1 client demande d’action (phase requête) Pouvez-vous faire cela ? Oui. 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).2. issu des conversations pour possibilités. 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).3.

2. un exemple de représentation de conversation est montré sur la figure 28.Les flux de travail ou « workflow » 41 [Schael 97] modélise ainsi les flux de conversations dans les différentes procédures. Les ICN permettent de représenter les activités. On peut décomposer chaque workflow par d’autres workflows.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. les acteurs et le contrôle des activités. les procédures. réunion et compte-rendu. Il s’agit de la définition d’un workflow de réunion. 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. Il se décompose en quatre parties : définition de l’objet de la réunion. prise de rendez-vous.3. Ainsi.

• les réponses multiples : on peut avoir plusieurs jetons dans le nœud de sortie. Puis. les réseaux de Petri permettent de détecter • les blocages : le jeton n’arrive jamais au nœud de sortie. une facture est adressée au client. La modélisation par réseau de Petri permet de vérifier certaines propriétés du processus modélisé. 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. Il reprend et complète l’exemple présenté sur la figure 25. le produit est livré. • 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.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. Une fois le produit livré et la facture réglée. En même temps (connecteur et). Après avoir pris la commande. . le produit est fabriqué sur un des sites de production (connecteur ou). le processus est fini. • les activités inutiles : leurs sorties ne sont utiles pour personne. En effet. 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). D’ailleurs.

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). toutes les places ont un nombre de jetons borné. L’état du réseau.un réseau de Petri est dit borné si et seulement si pour chaque marquage. Il est vivant car depuis n’importe quel marquage on peut aller dans un autre marquage qui rend n’importe quelle transition franchissable. transition franchissable transitions franchissables figure 31 : tous les états (marquages) d'un réseau de Petri En plus de cette représentation graphique. 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. un ou plusieurs jetons représentés par des ronds noirs. Les transitions sont les composants actifs du réseau : elles changent l’état du réseau en accord avec les règles de tirage. 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. une transition est franchissable si toutes les places avant la transition t contiennent au moins un jeton. À tout instant. . il existe un autre marquage M’ atteignable depuis M qui rend t franchissable. Les nœuds sont connectés par des arcs orientés. Ainsi : . pour chaque marquage que l’on peut atteindre M et pour chaque transition t.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. est constitué par la distribution des jetons à travers les places. quand cette transition est tirée. 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. une place contient zéro.un réseau de Petri est dit vivant si et seulement si. appelé aussi marquage. Les connexions entre deux arcs de même type ne sont pas autorisées. Le réseau de la figure 31 est vivant et borné. . Il est borné car chaque place peut contenir un jeton au plus.

d’information. II. II. La transformation en réseau de Petri de l’exemple donné précédemment (figure 29) donne le réseau de la figure 32. etc. 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. Dans cette discipline. 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. à la mise en place de protocoles de communication et à la construction de plans d’action. 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.4. Les flux de travail montrent rarement les processus de négociation qui sont parfois nécessaires. .).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. 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. 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. Les workflows permettent de représenter et de modéliser les processus de travail et les flux d'information.44 Formalisation de la coopération – l’approche par contraintes La vérification des bonnes propriétés se fait. Par contre. par exemple. 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. L’approche multi-agents s’intéresse notamment à la représentation des connaissances.1. 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é. 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é.

lesquels représentent les entités actives du système. c’est à dire un espace disposant généralement d’une métrique.La coopération dans l’approche multi-agent 45 on peut distinguer la résolution distribuée de problèmes. Voici les définitions que donne [Ferber 95] des agents et des systèmes multi-agents. qui possède des compétences et qui offre des services. à la conception. le système doit effectuer certaines tâches globales et il existe un but. [Ferber 95] signale le cas particulier où A=O et E=∅. Il est aussi capable de percevoir et d’agir sur son environnement. on peut retenir que les agents disposent d’une certaine autonomie. un ensemble A d’agents. En d’autres termes. Pour la résolution distribuée de problèmes. des opérateurs chargés de représenter l’application de ces opérations et la réaction du monde à cette tentative de modification. Les préférences des agents proviennent des différents concepteurs d’agents. voire de survie. c’est à dire qu’ils peuvent être perçus. qui est mue par un ensemble de tendances (sous la forme d’objectifs individuels ou d’une fonction de satisfaction. de but global qui influence les préférences des agents. mais par des tendances. Chaque agent a ses propres buts et s’intéresse à sa propre survie. qui influence les préférences de tous les agents du système. [. en tenant compte des ressources et des compétences dont elle dispose. produire.]. Définition : on appelle agent une entité physique ou virtuelle qui est capable d’agir dans un environnement. ils ne sont pas dirigés par l’utilisateur ou par d’autres agents. Il dispose donc d’une certaine liberté de manœuvre. qui est capable de percevoir (mais de façon limitée) son environnement. créés. à la conception. Il n’existe pas. Dans certains cas. de ces représentations et des communications qu’elle reçoit. dans laquelle le système distribué a été conçu par un seul homme (ou une équipe).. détruits et modifiés par les agents.. des systèmes multi-agents (SMA).. que l’on appellera lois de l’univers. consommer. qui possède des ressources propres. et en fonction de sa perception. dans laquelle le système distribué est composé d’agents conçus indépendamment.. Les systèmes muti-agents visent à représenter une société d’individus ou d’agents. il est même prévu que l’agent change ses buts. qui sont des objets particuliers (A⊆O) . Il ne fait pas que raisonner.] Ces objets sont passifs. les relations R définissent un réseau : chaque agent est directement lié à d’autres agents. qui peut éventuellement se reproduire. un ensemble d’objet O. qu’elle cherche à optimiser). Définition : on appelle système multi-agents un système composé des éléments suivants : un environnement E. transformer et manipuler des objets de O. qui ne dispose que d’une représentation partielle de cet environnement [. ses accointances. un ensemble de relations R qui unissent ces objets entre eux. qui peut communiquer directement avec d’autres agents. un ensemble d’opérations Op permettant aux agents de A de percevoir. Dans ce cas là. De cette définition. . dont le comportement tend à satisfaire ces objectifs. Il est capable d’accepter ou de refuser les requêtes provenant d’autres agents.

les protocoles peuvent être fixés pour toujours (la plupart du temps) ou changés au cours de la vie des agents II. Nous allons plus particulièrement nous intéresser aux protocoles qui régissent les communications entre agents. Les autres agents ne peuvent pas recevoir ce message. on pourra se reporter au chapitre 6 de [Ferber 95]. la construction de mondes hypothétiques. le message est envoyé à tout un ensemble d’agents selon un mode appelé diffusion (broadcasting en anglais).4. par exemple. Ce type de communication est très utilisé dans les systèmes dynamiques où des agents apparaissent et disparaissent. Elles varient suivant la nature du médium ou la nature de la liaison émetteur-destinataire. la robotique distribuée (des robots autonomes).2. du courrier électronique. Les interactions sont essentiellement des communications intentionnelles. Si le destinataire n’est pas connu de l’émetteur ou s’il veut faire une annonce publique. On peut distinguer trois sortes d’acheminement de message. appelée aussi communication selon un mode point à point.) ou selon les capacités de ces agents.2. connexité dans le réseau. Ce type de communication est notamment employé en robotique où les robots peuvent envoyer des signaux par ondes radio. Selon les systèmes. La liste de diffusion est établie selon une relation de voisinage (proximité dans l’environnement. Pour plus de détails sur ce paragraphe.. • 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.4. etc. II.46 Formalisation de la coopération – l’approche par contraintes Ces systèmes sont appelés systèmes multi-agents purement communicants. Lorsque le destinataire est connu de l’émetteur. • L’acheminement par voie d’affiche : un agent qui désire communiquer place son message sur un espace commun appelé tableau d’affichage. Ce mécanisme . la simulation multi-agent. tableau noir et est visible de tous les agents (ou seulement d’une classe particulière). • 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. La nature du canal de communication joue un rôle important dans la communication. l’apprentissage. Les systèmes multi-agents sont utilisés dans de nombreux domaines comme la résolution de problèmes distribués. les interfaces utilisateurs .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. Les domaines d’intérêts de ces domaines d’application peuvent être la conception de protocoles ayant certaines propriétés. ce dernier peut lui adresser des messages en particulier et ainsi instaurer une communication individuelle. la représentation des connaissances et la construction de plans d’actions.. Il s’agit. Les protocoles de communication entre agents Les concepteurs de systèmes multi-agents doivent fixer des protocoles de communication entre agents.

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. Chaque message est aussi appelé performatif. le plus souvent. exécuter. ce langage ne fait pas d’hypothèses sur le contenu des messages. décrites par des automates à états finis ou par des réseaux de Petri. insérer. annoncer. selon un schéma issu de la théorie des actes de langage. Les messages sont construits. informer. le ou les destinataires.4. Enfin. On peut voir. effacer. Les conversations sont issues des schémas de la perspective langageaction. II. Cependant.2. KQML (« Knowledge Query and Manipulation Language ») a été développé par le DARPA aux États-Unis. retirer. performatifs inutiles et incohérents (certains performatifs ne sont pas des actes de langage). 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. Ce langage reste général et n’est pas contraignant. 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. ce langage donne des indications pour construire des conversations : certaines séquences de messages étant autorisées (prévues). la plupart du temps. d’une certaine façon. etc.2 Les messages et les conversations Les agents s’échangent des messages et ceux-ci forment des conversations. il existe un langage de communication entre agents (agent communication language ou ACL en anglais) « standard ». etc. Les conversations sont. 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 . le contenu. De plus. performatifs manquants (comme les promissifs c'est-à-dire que les engagements ne sont pas prévus). les bases de données ou de documents (comme Lotus Notes) comme des systèmes fonctionnant par voie d’affiche. Un grand nombre de performatifs a été défini dans cette norme : demander. 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). 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.

92] pour une bibliographie non commentée. la plupart des concepteurs se basent sur une modélisation de l’agent. Il s’agit d’un système opportuniste d’allocation de tâches fondé sur un protocole d’appel d’offre. Chaque agent est décrit par un sous-réseau de Petri. les états internes des deux agents et leur comportement. 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. La figure 34 montre un réseau de Petri correspondant à une conversation pour action. on pourra voir [Ferber 95] ou [Kraus et al. en particulier ils se basent sur une modélisation du raisonnement des agents. Quelques approches dans les systèmes multi-agents II. Si un agent ne peut pas faire une tâche. [Smith 1980] a développé un modèle de distribution de tâches et des problèmes appelé réseau contractuel (contract net). l’initiateur retient la . Les transitions correspondent soit à des synchronisations dues à la réception de messages soit à des conditions d’application des actions.3. quand communiquer. il émet un appel d’offre sur le réseau. Pour une description plus détaillée ou une bibliographie plus importante.4.48 Formalisation de la coopération – l’approche par contraintes et à la figure 24) ou par des réseaux de Petri. Au bout d’un certain temps (ou quand tous les agents ont répondu). dont les places correspondent aux états internes de l’agent. et selon quelle stratégie. 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.4.3. 95] et même [Bond et al.1 Approches générales Pour savoir quoi. les récepteurs évaluent l’appel et répondent en faisant une offre. L’intérêt des réseaux de Petri est de pouvoir représenter à la fois les échanges entre agents. Nous allons voir très rapidement quelques approches.

Ainsi. pour résoudre des problèmes de transport (des camions doivent livrer des containeurs). qu’il travaille collectivement ou pas. 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. des séquences d’événements peuvent être représentées. [Ferber 1995] signale que. Comme précédemment. Cette approche est appliquée à la coopération entre l’homme et un agent artificiel (qui peut être plongé dans un système multiagent). 1995] ont défini une logique de l’action rationnelle. Une autre tendance vise à modéliser les agents grâce à une logique modale. 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é. U et C. Ils donnent d’ailleurs quelques exemples de stratégies. Il s’agit essentiellement de modéliser un agent. 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). les modalités de base sont la croyance (BELief). Par contre. Il permet aux agents de ne pas connaître toutes leurs accointances et. le but (GOAL). notamment. simplicité. les agents peuvent transformer leur fonction d’utilité en une fonction commune à tous les agents. il fait l’hypothèse que les différents agents sont totalement coopératifs. engagement relatif…) et formalisent un nombre important de propriétés sur l’intention. des intentions ou/et des buts. ils font un certain nombre d’hypothèses : les agents cherchent à maximiser une fonction d’utilité. [Rosenschein et al 94] et [Zlotkin 96] analysent les systèmes multi-agents au travers de la théorie des jeux. on peut avoir des agents hétérogènes sur le réseau. 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 ». Pour cela. etc. [Sadek 94] propose de représenter les attitudes mentales primitives de croyance. distribution (pas d’agent réglant les conflits). Ceci permet d’énoncer des conditions sous lesquelles un agent peut abandonner un but. elle présente quelques lacunes. etc. l’événement qui va arriver ensuite (HAPPENS) et l’événement qui vient de se produire (DONE).La coopération dans l’approche multi-agent 49 meilleure offre. cette approche est très difficilement applicable. Cette approche offre un mécanisme d’allocation de tâches relativement simple à mettre en œuvre. incertitude et choix par trois opérateurs modaux K. [Kraus et al 95] et [Kraus 91] adaptent cette théorie pour éviter que les agents passent trop de temps à négocier. les agents ont les mêmes capacités (ils sont identiques). [Cohen et al 1990] et [Cohen et al. stabilité. Ces approches se basent sur des opérateurs modaux pour représenter des croyances. même si cette théorie est intéressante grâce à sa formalisation des actes rationnels. Ils arrivent à donner des conditions pour que les stratégies de négociations garantissent les propriétés recherchées. 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 »). Des séquences d’événements peuvent être représentées et permettent de construire des « mondes » possibles et de raisonner sur l’action. symétrie. Dans le cas où les agents n’ont pas les mêmes capacités. . Par contre. Cette approche peut facilement être utilisée en robotique (si tous les robots sont identiques). 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). puisque les agents destinataires évaluent l’appel d’offre. Dans cette approche.

La description du comportement de l’agent est souvent couplée à l’utilisation de la logique « classique » ([Moldt et al.3. 99]. 98]). 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). . Le protocole utilisé est très inspiré du protocole par réseau contractuel (voir la section II. De plus. Pour l’instant. Il s’agit des mêmes méthodes utilisées dans les approches objet pour modéliser leur comportement. sa complexité ainsi que la réduction de la réactivité des agents.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]). si un agent me demande une information que je possède alors il faut la lui transmettre. La communication entre agents passe également par le respect de « règles sociales » : par exemple. L’architecture générale est constituée de trois niveaux (comme le montre la figure 35). 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. si un agent a besoin d’aide alors il faut essayer de l’aider . pour l’instant. les communications entre agents (synchrones et asynchrones) et sur l’observation de l’environnement. 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. Ainsi.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. cette étude est.1).3.4. Ils cherchent à minimiser l’impact d’un aléa en évitant de recalculer entièrement l’ordonnancement prévisionnel préalablement établi. elle fait apparaître la possibilité de régulations horizontales (entre agents de même nature) et verticales (en faisant intervenir la hiérarchie). elle n’étudie pas les structures matricielles (où un agent peut avoir plusieurs responsables). II. Cependant. Cependant. [Azema et al. d’utiliser la puissance d’inférence de la logique et la représentation graphique des réseaux de Petri. De plus. 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. 97].4. deux machines peuvent s’échanger des tâches. restreinte au réordonnancement d’atelier. en s’appuyant sur des critères communs comme la performance de la solution (minimisation du retard). l’étude n’a porté que sur une cellule de production. on met plus l’accent sur la dynamique du système (création et destruction d’agents). dans les systèmes multiagents. [Vernadat et al. les réseaux de Petri permettent de détecter des blocages et des comportements anormaux. De plus. Ceci permet d’utiliser un langage de programmation.

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]. 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. [Trentesaux 98] propose d’intégrer l’opérateur humain pour le pilotage réactif et distribué de systèmes de production. une architecture multiagent est proposée (voir la figure 36). pour proposer une aide efficace à l’utilisateur. 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. Les tâches non planifiées (celles qui disposent d’une marge temporelle) sont allouées dynamiquement selon un protocole de communication. Ici. Cette approche met l’accent sur les problèmes de coopération homme-machine. Une fois. on distingue deux types de coopération : l’une verticale entre l’opérateur et l’agent et l’autre horizontale entre agents. Pour la mise en œuvre. Les processus décisionnels sont partagés en trois catégories : processus structurés (comme le choix de la ressource goulot). la ressource goulot identifié le superviseur ordonnance les tâches qui lui sont allouées en fonction des objectifs globaux de production. Si une perturbation trop conséquente intervient. une étude sur ce que pourrait être une interface graphique et sur l’apport de techniques de résolution multicritères est faîte. processus peu structurés (gestion des files d’attente du stock d’entrée pour les ressources non-goulots). 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. . et non structurés (comme le choix de la remise en cause ou non de l’ordonnancement prévisionnel). 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. un agent peut avertir du besoin de réévaluer les charges et mener ainsi un nouvel ordonnancement. Ainsi.

Pour l'instant. cette approche n'a pas été validée sur le terrain. II. Conclusion L’approche multi-agent propose des modèles d’organisation d’une population d’agents.4. relecture. L'agent assiste et représente l'acteur dans le système. L'acteur du système exécute les tâches du processus (rédaction. Les agriculteurs modélisés par des agents gèrent leur exploitation. l'approche permet de simuler des processus de négociation en agronomie. une architecture agent permet de mettre en œuvre un workflow. À chaque acteur est associé un agent logiciel.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].). réutilisabilité. un agent va envoyer des propositions à l'ensemble de ses accointances et attendre des réponses individuelles. 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). Un agent logiciel qui assiste un acteur est composé de différents agents primitifs comme les agents de décision. etc. les agents d'exécution. flexibilité). En effet. L'implémentation de cette approche a été faite avec le langage Java. 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. etc. Du point de vue de l’aide à la décision et à la coopération en gestion du temps et des ressources. Les conversations et négociations sont prises en compte au travers des engagements pris entre plusieurs décideurs.4. Elle permet également de spécifier et de mettre en place des protocoles de communication entre les agents. Cependant. 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é. Ces approches sont appliquées dans un cadre général et ne prennent pas en . les agents de perception. Le protocole de négociation est proche du protocole contract net. on peut distinguer deux approches : • les approches qui mettent l’accent sur l’aspect coopératif. Dans [Aknine et al 99]. Le protocole de négociation employé utilise des concepts du protocole contract net.

5. 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. II. 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. Tout d’abord. 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]). 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. la décision peut porter sur la définition même de ce cadre : en ce sens. distribuée. Les décideurs échangent des opérations à effectuer. Mais. rationalité limitée au paragraphe I. En considérant que les décideurs sont totalement coopératifs. Dans la suite. Introduction Pour prendre des décisions. Un centre de décision correspond à une fonction de décision. La décision recouvre plusieurs aspects. Nous considérons que la prise de décision s’effectue au travers d’un réseau de centres de décision. De plus. • les approches en gestion du temps et des ressources. 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. développée dans un cadre pluridisciplinaire. cette distribution entraîne un besoin de coopération pour que l'organisation survive (un des buts de la coopération). Enfin. La prise de décision est donc déléguée. il existe un supérieur hiérarchique qui contrôle la structure et distribue les tâches à effectuer.2.L’approche par contraintes 53 compte les particularités des problèmes que l’on souhaite étudier. Ceci permet de prendre des décisions en contexte et de réagir plus rapidement aux aléas. 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. Il y a séparation entre les processus de négociation et les processus de prise de décision locale. L’approche par contraintes L’approche par contraintes.5. 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.1. un décideur ne peut pas avoir connaissance de tous les paramètres pouvant l'influencer. Ainsi. De plus. Cependant. s’appuie sur l’analyse du problème de décision en termes de contraintes. le décideur peut également remettre en cause ces décisions. Les décisions prises sont de même nature (concernant les opérations). 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. II. auprès des personnes compétentes au plus près des endroits où peuvent survenir des aléas. nous appellerons. Notons que prendre en compte des décisions ne signifie pas forcément respecter ces décisions . . En particulier.1). et donc. un protocole basé sur le « contract net protocol » de Davis peut être appliqué. elle vise à redéfinir l’espace des actions possibles. 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.

la décision dans un centre est contrainte par les décisions prises par les centres en amont .2. 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 . La figure 38 montre un réseau de centres résultant d’une analyse sur site industriel (présenté dans [Huguet et al. elle contraint elle-même les décisions des centres en aval (figure 37). Ainsi. 96]). 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.54 Formalisation de la coopération – l’approche par contraintes II.

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.2.5. se posent des problèmes de coordination entre centres : en principe. . Elle présente également un caractère distribué.3. II. une décision robuste à un moment donné peut perdre sa qualité au cours du temps. 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.2 page 17). Cela se traduit par la nécessité de respecter les décisions prises en amont ou de les remettre en cause explicitement. . Cette coopération porte sur les paramètres intervenant dans les contraintes qui déterminent le cadre des décisions de chaque centre. de prendre des décisions robustes est liée notamment. Le prochain chapitre présente les techniques employées pour modéliser les problèmes de décision des centres. II. En effet. lié à son impact vis-à-vis des centres de décision situés en amont et en aval. C’est le cas notamment des structures hiérarchisées (voir le paragraphe I. L’absence de circuit implique un ordre partiel ou total entre les centres de décision. Les mécanismes de coordination permettent de synchroniser les décisions. La cohérence est d’autant plus facile à assurer que les décisions en amont sont robustes.Conclusion 55 On peut noter que le graphe associé au réseau peut comporter des circuits. 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). Coopération et coordination au sein d’un réseau La prise de décision dans un centre présente un caractère local. compte tenu du caractère dynamique du système dans lequel elle agit. En particulier. Les techniques issues de l’approche multi-agents permettent de mettre en œuvre les négociations entre décideurs. un centre devrait connaître toutes les contraintes (décisions) susceptibles de peser sur ces décisions avant de les prendre.6. lié au choix qui doit être fait en fonction de critères propres à ce centre. Nous nous attacherons à mettre en valeur les techniques favorisant une aide à la décision locale et négociée. 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. Dans la réalité. des décisions sont prises en l’absence de certains paramètres. pour un centre. La difficulté. 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 même. De plus. • robuste vis-à-vis des décisions prises en aval. 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. L’approche par contraintes offre un cadre rigoureux à l’étude de la coopération dans un réseau de centres de décision. un centre donné peut être à la fois en amont et en aval d’un autre centre. La robustesse vise donc à faciliter la cohérence des décisions en aval. sur la base d ‘estimations. à la représentation approchée qu’il a des centres situés en aval.

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

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). Modèle général associé à chaque centre III. les décisions peuvent être de plusieurs types (quantités de produits à réaliser. On distingue les variables de décision communiquées et négociées avec d'autres centres.. En plus des variables de décision. ensembles conjonctifs ou non conjonctifs de relations .1. Il s’agit de relations formelles (équations linéaires ou non linéaires.) qui limitent les valeurs admissibles des variables. De plus. en considérant certaines variables comme des données). l’outil peut fournir aux décideurs des pistes quant aux décisions et/ou paramètres à remettre en cause. • par des techniques de résolution permettant d'obtenir une solution au problème.. l'analyse sous contraintes (ASC) permettant d’expliciter les degrés de liberté dont dispose le centre pour prendre ses décisions. III. Enfin. Une variable de décision peut prendre ses valeurs dans un domaine discret ou continu. Outre les variables de décision. Variables. Le modèle de fonctionnement d’un centre est exploité : • par un processus déductif. inéquations. dates de début de fabrication. des contraintes relient entre elles ces variables. en évaluant des propositions faites par d’autres centres et en générant des propositions.1. des variables de décision privées. 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. paramètres et contraintes La décision dans un centre est modélisée par des variables de décision. Cet outil d’aide peuvent s’appuyer sur une utilisation élargie d’outils classiques déjà existants (par exemple.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. Il peut également être utile lors des négociations avec d’autres centres. La prise de décision correspond à l’instanciation d’une ou plusieurs variables de décision. • non modifiables. Un outil peut aider le décideur à construire des décisions en faisant participer partiellement ou totalement le décideur. ou une estimation de celles-ci. Ce modèle permet de caractériser le fonctionnement du centre. affectation de ressources…). Ce sont les décisions prises par les centres situés en amont.1. les contraintes du modèle font intervenir des paramètres : • 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 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é. à 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. III.1. éventuellement. Elle consiste à instancier certaines variables de décision en tenant compte de toutes les contraintes pesant sur un centre et. en fonction de l’analyse sous contraintes. Habituellement. Certaines contraintes peuvent néanmoins être activées ou désactivées en fixant une valeur particulière à certains paramètres. 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 . une caractérisation de l’espace des solutions. les renégocie. le décideur prend des décisions sous contraintes ou sur les contraintes (voir la figure 40).2. 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. une contrainte numérique du type X 1 + X 2 ≤ P peut devenir inactive en donnant une valeur très grande à P . seuls les facteurs du modèle (paramètres et variables de décision) étant modifiables. é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. Par exemple. par exemple. • la prise de décision sous contraintes vise à exploiter les degrés de liberté disponibles. 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.

Concrètement. on peut chercher à déterminer les contraintes qu’il suffit de remettre en cause pour retrouver un ensemble consistant.3. Seules les décisions qui seront mises en œuvre dans le court-terme sont fixées .Modèle général associé à chaque centre 59 III. L’ensemble des contraintes étant consistant. 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. • • • • Compte tenu des interactions avec d'autres centres et de l'aspect prévisionnel de certaines données. par exemple. il s’agit de construire une ou plusieurs solutions. Pour cela. Ces paramètres seront considérés comme des variables dans le modèle du centre. Ainsi.1. 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. L’ensemble des contraintes étant non consistant (fonction décision sur les contraintes). • à prendre en compte des paramètres dont la valeur n'est pas connue. interactif). l’espace des solutions est identique . 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. . L’ensemble des contraintes étant non consistant. à instancier une partie seulement des variables de décisions. remise en cause de paramètres provenant d’autres centres. 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. les paramètres qui concernent le long-terme ne sont pas connus précisément. il s’agit de déterminer quelles sont les valeurs acceptables ou souhaitables pour les décisions provenant d’autres centres. pour l'instant. il s’agit à partir d’une analyse de cet ensemble. d’expliciter les conditions d’admissibilité des solutions. caractérisation des paramètres provenant d’autres centres. L’étude des réponses aux deux dernières questions constitue l’essentiel de l’activité d’analyse sous contraintes. On peut par exemple tenter de mettre en évidence les domaines des valeurs inacceptables (décisions qui n’appartiennent à aucune solution). Les deux derniers points permettent aux centres de décision de négocier des décisions avec des centres en aval. 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. Il s’agit d’étudier la consistance d’un ensemble de contraintes. tandis que les décisions qui ne sont. il n’est conditionné que par d’autres contraintes). de domaines de valeurs admissibles pour les décisions internes au centre. L’ensemble des contraintes étant consistant. des degrés de liberté apparaissent sous la forme. remise en cause de décisions. L’ensemble des contraintes étant consistant. génération de solutions admissibles. caractérisation des solutions admissibles. En effet. que prévisionnelles peuvent n'être que partiellement instanciées. On peut envisager différents modes de résolution (automatique. le décideur peut être amené : • • à ajouter ou retirer des contraintes du modèle.

de prendre des décisions ou de remettre en cause certaines décisions. génération. compte tenu de décisions fixées ou souhaitées (les variables de décision sont considérées comme étant des constantes). Ensuite.2. 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. 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. Les modèles en gestion du temps et des ressources Nous introduisons tout d'abord un outil général de modélisation. Les modèles de planification de la production et d'ordonnancement seront approfondis.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. En effet. nous présentons les modèles particuliers rencontrés en planification de la production et en ordonnancement. III. Les variables de décision. les paramètres et les contraintes rencontrés dans ces deux cas seront détaillées. 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. remise en cause) peuvent être employées pour les paramètres. . Ceci nous permettra de présenter des outils permettant d'évaluer les degrés de liberté d'un centre. Les autres sections présenteront les techniques de résolution ainsi que les techniques d'analyse sous contraintes.

Les modèles en gestion du temps et des ressources 61 III. y ) = { 11). (2. On appelle arité de ci la longueur de la séquence v i .. Pour les CSP discrets.1..xn ) de n variables • un ensemble D = (d1. on peut se contenter d’un graphe.1)}). Un problème de satisfaction de contraintes ou CSP P = (X. D = {1 − 7][2 − 6]} 5 x + 7 x 2 ≤ 35 C= 1  4 x1 + 3 x2 ≤ 18  X = {x1. Ces hyper-graphes sont appelés parfois réseau de contraintes.D. de v i (par exemple : ( x. 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.… . Toutefois. machines ou agents (voir la thèse de [Hamadi 99]). c m ) de m contraintes.C) est défini par : • un ensemble X = (x1. x > 0. 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). Ils peuvent être utilisés pour représenter certains problèmes d'ordonnancement (voir le paragraphe III. c2 . les contraintes peuvent être exprimées soit en intention sous la forme d’égalité ou d’inégalité (par exemple : x + y ≤ 3..d 2. Quand toutes les contraintes d’un CSP sont d'arité égale à deux. Le domaine d i est associé à la variable xi .d n ) de n domaines pour les variables de X . 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é.. le terme DCSP est aussi utilisé pour les CSP distribués : le traitement associé au CSP est distribué sur plusieurs processeurs.2). 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. (1. Les problèmes de satisfaction de contraintes temporelles (TCSP) sont caractérisés par des variables continues et des contraintes binaires. par exemple. x 2 } . Dans le cas d’un CSP binaire. dans le cas des problèmes d'ordonnancement.3). Les propriétés de ces réseaux de contraintes permettent d'utiliser des algorithmes spécifiques. 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. Chaque contrainte est définie sur un sous-ensemble v i de variables ( v i ⊆ X ). y > 0 ) soit en extension par une relation qui porte sur un sous-ensemble cartésien des domaines associés aux variables (. on parle de CSP binaire.x2. [ .… .2. • un ensemble C = (c1. 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.2.

2. Parfois. des demandes (fermes et prévisionnelles). les périodes étant plus courtes en début d’horizon . 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. la planification peut aussi inclure des décisions d’allocation. Pour cela. Le champ des décisions s’élargit dans le cas d’une production multi-niveaux ([Hétreux 96]). 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). etc. visant à répartir la production sur différentes unités de production équivalentes.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. des capacités des centres de production. Modélisation de la planification de la production Comme nous l’avons vu au chapitre 1. d'objectifs s’appuyant sur des fonctions de calcul de coûts.2. Le travail à planifier est alors évalué en quantités (produits.1 Horizons temporels En planification. 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.2. des mois…). la durée des périodes n’est pas toujours constante. Dans le cas d’une production multi-sites ([Boronad-Thierry 93]). 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].2. des quinzaines. capacités. le temps est généralement discrétisé en une suite de périodes égales considérées comme indivisibles (exemple : des semaines. coûts).

Cet horizon correspond aux premières périodes de l’horizon de planification. 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. 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. Ceci est nécessaire en raison de l’inertie du système due aux délais de production et d’approvisionnement.Les modèles en gestion du temps et des ressources 63 (cf. Cette technique consiste à élaborer périodiquement des décisions sur un horizon de planification constant. C’est par l’intermédiaire de cet horizon que les l’aspect prévisionnel est introduit. Ceci est intéressant dans un environnement perturbé puisque le système est alors en mesure de réagir aux aléas passés. la prise de décision est souvent mise en œuvre à horizon glissant. [Boronad-Thierry 1993]). afin d’adapter le niveau de détail des décisions à celui des données disponibles. Les décisions correspondantes sont souvent « gelées » c'està-dire qu’elles ne peuvent plus être remises en cause par d’éventuelles replanifications. Compte tenu de l’aspect prévisionnel des décisions prises au niveau tactique. À chaque nouveau cycle. • L’horizon de décision définit le nombre de périodes sur lesquelles les décisions sont effectivement mises en œuvre. l’état réel du système de production est pris en compte. un horizon de planification de 14 périodes et un horizon de décision de 2 périodes. capacités) et les décisions (quantités de produits) s’expriment alors en référence à des périodes. L’exemple de la figure 45 montre des planifications avec une périodicité 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é. L’horizon de planification représente le nombre de périodes sur lesquelles les données sont prises en compte. 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 temporel considéré est souvent défini par deux caractéristiques : l’horizon de planification et l’horizon de décision (voir figure 44). .

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.2. . transport. Chaque produit i est soumis à une demande sur un horizon de temps découpé en T périodes. Ce sont des variables qui n’ont pas à être communiquées à d’autres centres. La fabrication des produits nécessite l’utilisation de R ressources.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. • les niveaux de stocks pour chaque produit i en fin de période t : I it .). etc.2.2 Les variables de décision et les paramètres Un système de production fabrique N produits. Si la réalisation des produits nécessite plusieurs étapes (assemblage. La capacité d’une ressource k peut varier en fonction de la période t . stockage de sous-produits. 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. 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 . Afin de prendre des décisions. les variables de décisions peuvent être des quantités de produit par période et par étape j ( Iijt et X ijt ). Ces variables constituent les variables de décision qui seront transmises à d’autres centres.

T ] (P3 )  it Iit ≥ 0 ∀i ∈ [1. N ] ∀t ∈ [1. N ] ∀t ∈ [1. Les équations ( P3 ) et ( P4 ) traduisent la positivité des flux de matières (en stock et en cours de transformation). R ] ∀t ∈ [1.T ] (P2 )  ik it kt  i =1 X ≥ 0 ∀i ∈ [1. La réalisation d’un produit nécessite plusieurs périodes Li . N ] ∀t ∈ [1. T ] • des délais de fabrication et de transport ([Boronad-Thierry 93]). La contrainte ( P2 ) permet de limiter la production pour chaque période. seuls les paramètres aik et les variables X it ne peuvent pas être considérées en même temps comme des variables.2. Un produit dont la fabrication est lancée durant la période t ne sera disponible que durant la période t + Li . compte tenu de la capacité de chacune des ressources. Suivant les problèmes rencontrés. Nous considérons par la suite que les paramètres aik sont non modifiables et que les contraintes en planification sont linéaires.2.Les modèles en gestion du temps et des ressources 65 III. Les modèles linéaires à variables entières peuvent également utiliser certains de ces algorithmes (voir le paragraphe III. L'équation suivante remplace l'équation P4 . Afin de ne pas perdre les propriétés de linéarité des contraintes P2 . .3).T ] (P1 ) N ∑ a X ≤ b ∀k ∈ [1. En effet. L’équation d’état ( P1 ) du modèle devient : Iit = Ii ( t −1) + X i ( t − Li ) − Dit ∀i ∈ [1.3. 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. Les paramètres Dit . il doit instancier totalement les variables X it . Iit ≥ Iit avec Iit ≥ 0 et X it ≥ 0 • des arriérés de fabrication (voir [Hetreux 96]). N ] ∀t ∈ [1.T ] . Il s’agit d’une équation de conservation de la matière. les contraintes considérées en planification sont des contraintes linéaires. Si le décideur souhaite caractériser les paramètres aik .T ] (P4 )  L’équation d’état ( P1 ) traduit l’évolution des stocks en fin de période. + − + − I it = I it − I it avec I it ≥ 0 et I it ≥ 0 ∀i ∈ [1. les algorithmes de traitement des modèles linéaires à variables réelles sont très efficaces. d'autres contraintes peuvent être considérées afin de modéliser : • une capacité de stockage limitée : I it ≤ I i ∀i ∈ [1. N ] ∀t ∈ [1. N ] ∀t ∈ [1. bkt peuvent être considérés comme des variables. très rapides et répandus.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 . En général. T ] • une production et des stocks minimaux : X it ≥ X it . On tolère que les demandent ne puissent pas être satisfaites à chaque période.t −1 + X it − Dit ∀i ∈ [1.

les décisions à prendre sont des quantités de produits à produire et à stocker par périodes sur un certain horizon. La figure 42 représente l’espace des solutions associé aux variables X11 et X12 . retrouvent leur disponibilité initiale (machines. d’autre part. Les ressources doublement contraintes sont des ressources dont l’utilisation instantanée et la consommation globale sont limitées. espace…) des ressources consommables dont la disponibilité diminue après utilisation (budget. 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 . X ≥ 0. sa capacité Ak .2. après avoir été utilisées par une tâche. de contraintes linéaires. matières premières…).). de contraintes linéaires. III.. On distingue les ressources renouvelables qui. Cette distinction est essentiellement faite pour le cas des ressources renouvelables.3. 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)..2. .3. Modélisation des problèmes d’ordonnancement III. 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 ).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.. 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. éventuellement. Les tâches peuvent être exécutées par morceaux (tâches préemptives) ou sans interruption (tâches non préemptives). disponibilité . On distingue. enchaînement . fours de cuisson…). de contraintes portant sur les ressources (utilisation. Les contraintes sont souvent linéaires. I11 = I10 + X11 − D11  I21 = I20 + X 21 − D21 a11 X11 + a21 X 21 ≤ b11  a12 X11 + a22 X 21 ≤ b21  X ≥ 0.) et. • des modèles linéaires à variables mixtes qui sont constitués de variables entières et réelles.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. 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. 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. Ainsi. I ≥ 0..

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]). • les durées des tâches pi .3. 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é Ak . 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. Dans ce cas.2. 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. bij n’est pas totalement connu.2. pi peut varier en fonction de l’affectation. Il est à noter que tous les paramètres cités ci-dessus peuvent être considérés comme des variables. • bij . • les dates de fin ci des tâches.3 Les contraintes Les contraintes usuellement considérées dans les problèmes d’ordonnancement sont soit : • • des contraintes temporelles. III. 00] par exemple). 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. des contraintes de ressources. III. . Lorsque Ωk n’est pas totalement connu.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 t i des tâches. la tâche consomme aik unité de la ressource. De même. on a affaire à un problème d’ordonnancement couplé à un problème d’affectation (voir [Huguet et al. en cas de problématique à gammes alternatives.

Par exemple. On parle d’ensemble conjonctif c j − t i ≥ 0  d’inégalités de potentiels. on peut avoir l’étape A qui doit précéder B. les contraintes de gamme s’expriment de cette façon. 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. soit i est réalisée avant j soit j est réalisée avant i . Ce sont ces contraintes qui définissent ri la date de disponibilité et d i la date échue. Elles sont issues d’impératifs de gestion et relatives aux dates limites de tâches (délais de livraison. Dans les problèmes d’atelier. On a donc ri ≤ t i ≤ ci ≤ d i ∀i . pour exprimer les contraintes de précédence ou de succession entre deux tâches. si un produit nécessite deux étapes A et B dans sa fabrication. En d’autres termes. Par exemple. on prend bij = pi et on a t i + pi ≤ t j . 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. 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). lorsque la durée est connue. 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. 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. 2) Les contraintes de ressources Les contraintes de limitation de l’utilisation des ressources renouvelables sont décomposées en : • contraintes disjonctives. 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} . . disponibilité des approvisionnements) ou à la durée totale du projet.68 Modélisation des problèmes de gestion du temps et des ressources 1) Les contraintes temporelles D'une part. Si deux tâches i et j sont liées par une contrainte disjonctive ( i ∈ Ω k et j ∈ Ω k ) . Elles interdisent l’utilisation simultanée de la ressource par deux tâches. elles obligent à réaliser toute paire de tâches sur des intervalles disjoints. car elles s’expriment sous la forme générale d’inégalités de potentiels du type : t j − t i ≤ bij . des contraintes absolues portent sur une variable.

le diagramme de Gantt est composé d’une ligne horizontale pour chaque ressource.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.3. 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).2. tâches F E D C B A temps figure 48 : diagramme de Gantt projet . 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. À 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.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. les tâches apparaissent en ordonnée et le temps sur l’axe des abscisses. Ceci permet de visualiser les zones d’occupation des ressources et la durée de l’ordonnancement. 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]). Dans le cas de problèmes d’atelier.

Le Tableau 5 donne les valeurs des durées des opérations en minutes.70 Modélisation des problèmes de gestion du temps et des ressources exemple III-4 : ordonnancement à ressources disjonctives Dans un atelier. Le modèle est linéaire à variables réelles. à l’aide de graphes. Il n’y a donc que des contraintes temporelles. les problèmes d’ordonnancement sans contraintes de ressources et ceux avec contraintes de ressources renouvelables. . 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. III. Un exemple est montré sur la figure 47. nous verrons les moyens de représenter. 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). La figure 49 représente le diagramme de Gantt par ressources et la figure 50 représente le diagramme de Gantt par produits.2. deux produits A et B sont à réaliser (l’exemple est tiré de [Esquirol et al 99]). 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).5 Modélisation à l’aide de graphes Dans ce paragraphe.3. une représentation hybride peut être employée pour représenter une solution.

On peut représenter ces problèmes à l’aide de graphes. Ceci est particulièrement utile lorsque le projet n’est pas en concurrence avec d’autres projets pour l’attribution de ressources. relient les sommets sans prédécesseur/successeur. Il existe trois sortes de graphes permettant de représenter ces problèmes : les graphes potentiels–tâches. 2 tâches fictives de début et de fin. 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. 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). les graphes potentiels-étapes et les graphes potentiels-bornes. 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. 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. début de C et E Étape 3 : fin de A et C . 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. 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. . L’étude du problème central permet d’analyser l’enchaînement des principales tâches du projet au cours du temps. début de A et B Étape 2 : fin de B . La différence entre ces graphes réside dans la sémantique associée aux sommets et aux arcs. de durée nulle. chaque tâche est représentée par (au moins) deux sommets. liés à sa date de début et de fin. les arcs représentent les contraintes de potentiels entre les dates de début des tâches représentées par les sommets. A 1 B 3 C 2 D 4 E F 5 Étape 1 : début projet . début de D Étape 4 : fin de D et E .Les modèles en gestion du temps et des ressources 71 Ce type de problème se rencontre en ordonnancement de projet (à capacité infinie). La figure 53 représente le graphe potentiel-étapes associé à l’exemple III-3 (gestion de projet).

Les tâches ou opérations concernent une étape de la fabrication d’un type de produits ou d’un lot de produits. Les problèmes d’atelier.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 allons voir quelques spécificités des problèmes d’atelier (avec ressources disjonctives). L’atelier est constitué de m machines fabriquant n produits (indice i ). Le respect de sa gamme de fabrication impose des . nous traiterons les problèmes à ressources renouvelables. et plus généralement les problèmes à contraintes disjonctives. L’opération j du produit i est notée (i . de nouvelles contraintes de précédence entre tâches apparaissent : ce sont les contraintes de gamme. a) Les problèmes d’atelier Les problèmes d’atelier sont caractérisés par des contraintes de ressources disjonctives. Chaque produit est constitué de ni opérations. Dans un premier temps. j ) . qu’elles soient cumulatives ou disjonctives. ce type de graphe est la seule représentation capable de tenir compte de cette contrainte. « job-shop » (tous les produits ont un cheminement propre à respecter). « open-shop » (tous les produits ont un cheminement libre dans l’atelier). 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). nous verrons une extension des graphes conjonctifs aux problèmes non conjonctifs. elle utilise la machine mij et sa durée est de pîj . Comme chaque produit ne peut se trouver à plusieurs endroits différents. 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. Ces problèmes sont caractérisés par l’existence de contraintes non conjonctives. Puis. peuvent être décomposés en problèmes à une machine et problèmes à m machines.

{2. La figure 56 montre le graphe potentiel-tâches correspondant à l’exemple III-4 (ordonnancement d’atelier).4}. les non conjonctions ne peuvent pas être représentés selon le même procédé.2) p L p (i .4}. Les différents ensembles critiques sont : 1 avant 4 OU 4 avant 1. 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.2.4. On peut accompagner le symbole de disjonction de deux nombres associés aux durées respectives des tâches. pour {1.Les modèles en gestion du temps et des ressources 73 contraintes de précédence la forme (i .1) p (i . Les autres non conjonctions sont représentées par les lignes entourant certains arcs. 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.2. pour {1. Le donne les quantités de ressources requises par les tâches ainsi que leurs durées.4}. pour {2. exemple III-5 : un exemple de problème cumulatif 4 opérations doivent être séquencées sur une ressource cumulative de capacité 5. 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.1 page 86 pour une définition plus exacte). 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. 1 avant 2 OU 2 avant 1 OU 1 avant 3 OU 3 avant 1 OU 2 avant 3 OU 3 avant 2. Pour les problèmes d’atelier. Les disjonctions sont représentées par . les ensembles critiques sont : {1.3}.2. Pour ce problème. ni ) (où le signe p représente la contrainte de précédence). . 2 avant 4 OU 4 avant 2. {1.3} La figure 57 montre comment représenter ces non conjonctions.

III.3. de transport.1. une solution optimale sera celle qui minimise le critère ou qui le maximise. etc. f ( X it .1. on peut distinguer : • les critères liés au temps : minimisation du temps total d’exécution. correspond un modèle linéaire à variables réelles.3.1. minimisation des retards (maximum.3. • les critères liés aux ressources : minimisation de la quantité de ressources nécessaires pour réaliser un ensemble de tâches. 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). Au problème central. . les coûts de changement de capacité de ressources. • les critères liés aux coûts de lancement. etc. III. Selon les cas. de stockage. i t III. Iit ) est une fonction linéaire de X it et de I it . etc.3.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. minimisation de la charge de chaque ressource. un critère composé d’objectifs économiques (comme les coûts de fabrication. Aux problèmes avec contraintes de ressources renouvelables correspondent des modèles à variables mixtes. Par exemple. somme.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 coûts de changement de taux de production. de production. En général. nombre. sans contraintes de ressources.) par rapport aux dates limites fixées. Les critères d'optimisation III.) mais aussi d’objectifs techniques ou humains (régularité du taux de capacité de certaines ressources (humaines). moyen. 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.2 Les critères en ordonnancement Parmi les critères possibles. régularité de la production) est adopté. la fonction Z = min ∑N=1 ∑T=1 Iit cherche à minimiser les stocks.

si le polyèdre est non borné. c i − d i ) du retard moyen pondéré : Tw = ∑i i ∑i w i avec w le vecteur de III. 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 ).3. 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 convexe est borné (c’est un polytope). Il reste donc un problème avec deux variables ( X 11 et X 21 ). 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). Les modèles linéaires à variables réelles ont quelques propriétés fondamentales : si l’espace des solutions est non vide. La solution optimale est le sommet de coordonnées (1. max(ci − d i )    i   w max(0. Modèles linéaires à variables réelles Pour cette partie. alors celui-ci forme un polyèdre convexe. on pourra se reporter aux ouvrages de [Teghem 96] et de [JacquetLagrèze 98].2.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.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.

alors l’espace des solutions est vide . • la procédure itérative calcule une solution (un sommet) donnant la meilleure valeur du critère. 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 .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. alors le problème contient au moins une solution.2. XPRESS-MP de Dash Ltd. m étant le nombre de contraintes d’inégalités non redondantes du modèle. 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 à 1.5m .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. Si cette procédure échoue. 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. Géométriquement. 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 elle réussit.

nous retiendrons l’algorithme du simplexe avec la technique dynamique dans la première phase. cette technique permet de vérifier rapidement si une contrainte rend le problème inconsistant. on cherche un sommet admissible. En effet. • une technique dynamique. Une question fondamentale dans la résolution concerne la minimisation de la durée totale du projet. Pour la phase d’initialisation. Ceci revient à calculer le chemin le plus long entre le début et la fin du projet sur le graphe potentiels-tâches associé. • d’une analyse de sensibilité.2. permettant de détecter les inconsistances au fur et à mesure que les contraintes sont posées. deux techniques peuvent être mises en œuvre : • une technique statique. ne contient que des inégalités à deux variables avec des coefficients égaux à 1. le décideur peut utiliser les outils d’analyse paramétrique pour caractériser les degrés de liberté dont il dispose. Le problème initial est modifié (par exemple par ajout de contraintes) et il s’agit de réoptimiser le problème. À l’aide de l’algorithme de Bellman-Ford. 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 part. Ceci permet de déterminer quel sera le sommet optimum en fonction du paramètre λ . ainsi que dans différentes extensions du langage Prolog. Ceci est dû à la spécificité du modèle qui. de sensibilité et post-optimales sur les modèles.Les techniques d'optimisation 77 IBM. Pour les problèmes linéaires que nous étudierons (surtout en planification de la production). l’algorithme du simplexe est rarement employé dans ce cas. De plus. Ceci donne de façon complète les domaines de valeurs que peuvent prendre les variables de décision. 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 ).3. tels que CLP(R) ([Imbert et al 93]) ou PrologIV. une solution (non optimale) est quand même donnée. peut être représenté par une graphe. notamment les langages de programmation logique avec contraintes. III. L’algorithme consiste à maintenir un sommet admissible au fur et à mesure que les contraintes sont posées. De plus. • d’une analyse paramétrique quand un paramètre λ apparaît dans le second membre des contraintes d’inégalité. 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]). 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. si l’algorithme de recherche d’une solution optimale est interrompu après la fin de la première phase.2 Le cas particulier du problème central Bien que le modèle employé soit linéaire à variables réelles. Une fois le problème modélisé. Ceci permet à des langages comme Prolog et CLP(R) de réaliser un test de consistance incrémental. Enfin. d’autre part. 0 ou –1 et qui. • d’une analyse de post-optimisation. les outils de programmation linéaire proposent des analyses paramétriques. .

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. on obtient les coordonnées du centre de la sphère.8] C 2 [5. Dans le cas général.4] [2. 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. 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.14 ] B E [0. [0.5] [0.2. nous retiendrons l’algorithme qui permet de trouver les ordonnancements au plus tôt et au plus tard. III.3. Le chemin critique est indiqué en gras.10 ] D 4 F 1 [11. calculer le rayon maximum qu’une sphère peut occuper dans l’espace des solutions du modèle : N a X ≤ b ∀k ∈ [1. Pour les problèmes centraux. m] ∑ ik i k  i =1 Xi ≥ 0 ∀i ∈ [1. 85]). 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).78 Modélisation des problèmes de gestion du temps et des ressources Sur la figure 60.6] figure 60 : domaines des dates de début ( exemple III-3) Parmi les méthodes de résolution des problèmes centraux. m] ∑ aik X i + ∑ aik R ≤ bk sous i =1 i =1 X − R ≥ 0 ∀i ∈ [1. De plus. en optimisant le modèle précédent. . 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).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. car ils permettent de caractériser l’espace des solutions en associant à chaque tâche un domaine pour sa date de début. N ]  i De plus.4] début 0 0 A 2 5 [2. Cet algorithme pouvant être long (en temps d'exécution).15] fin 2 8 [10. Cet ensemble de contraintes peut être interprété comme l’ensemble des contraintes qui « contraint » le plus l’espace des solutions. 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.

3.2. Les coordonnées du centre du cercle sont X11 = 175 et X 21 = 2.Les techniques d'optimisation 79 Lorsque le modèle initial n’a pas de solution.T ] ∀i ∈ [1. N ] ∀t ∈ [1. On obtient un rayon de 3 / 4 = 0. X 21 − R ≥ 0  . on obtient un ensemble de contraintes à relâcher pour avoir une solution ainsi que la distance de relâchement minimum. (2) et (4). Appliqué au modèle de planification présenté au paragraphe III. 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. en maximisant le rayon du modèle modifié (et en tolérant un rayon négatif).75 . N ] ∀t ∈ [1.T ] ∀i ∈ [1. R ] ∀t ∈ [1. Les contraintes qui sont en contact avec la sphère sont les contraintes (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.T ] Application à l’exemple III-2 de planification de la production : Pour obtenir les coordonnées du centre du cercle ainsi que son rayon. 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 .75 .

deux techniques sont utilisées : les méthodes polyédriques et les procédures par séparation et évaluation. 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 . on perd les propriétés énoncées au III. (2.4).3). la solution optimale n’aurait pas été la même : en continu. Si le critère avait été Z1 ≡ max X 11 + X 21 . Pour cela.3. 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. Ceci est utile dans le cas où aucune connaissance ne permet de choisir les contraintes à relâcher en priorité. 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. Il s’agit donc d’un moyen pour évaluer les degrés de liberté d’un centre. 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.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. cette méthode donne un ensemble de contraintes à relâcher en cas de décision sur contraintes. De plus. on introduit de nouvelles contraintes (appelles coupes) dans le système de contraintes.3.2. la solution optimale avec le critère Z1 est (21/13 .2). 50/13) et en discret les solutions optimales sont (1. III. 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. Ceci tient au fait qu’en introduisant des variables discrètes dans le modèle.3. Pour résoudre les problèmes à variables mixtes. 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. Ainsi. Dans ce cas bien précis.

En effet. NP-complet. 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 . cette analyse vise à évaluer la valeur optimale de la fonction économique du sous-problème. en général. plus précisément à déterminer une borne inférieure (supérieure pour un problème de maximisation) de cette valeur.3. on dit que l’arborescence est élaguée. 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. Pour l’essentiel. 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). 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. Ceci favorise le test d’existence d’au moins une solution et si l’algorithme de recherche de solution optimale est interrompu. 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). D’où l’idée d’utiliser des méthodes heuristiques. elles ont pour but l’obtention rapide d’une solution. Reprise de l’exemple III-2 : La figure montre l’arborescence d’une méthode par séparation et évaluation. nous retiendrons les procédures par séparation et évaluation avec une stratégie de type profondeur d’abord. III. • une procédure de cheminement qui indique quels sous-ensembles analyser et dans quel ordre.Les techniques d'optimisation 81 Sur la figure 62. Dans la suite du paragraphe.4. • une procédure d’évaluation qui consiste à analyser un sous-problème. une typologie des méthodes exactes et heuristiques en cinq points est présentée (voir [Gotha 93]). une solution est donnée. 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. . 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. La résolution des problèmes d’ordonnancement avec contraintes de ressources est.

dans ce cas. 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. mais qui fournissent des évaluations par défaut pouvant être intégrées dans d'autres méthodes. 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).. surrogate . 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. • 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).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ù. on résout d’abord le problème temporel puis le problème d’affectation). on effectue en général un retour en arrière (« backtraking »). Les méthodes de résolution permettent de trouver la (les) meilleure(s) solution(s) à un problème. • décompositions temporelles (principalement pour l'ordonnancement dynamique). on complète une solution partielle. Toutefois. le nombre de solutions à explorer est moindre. • méthodes de descente (choix aléatoire d'un voisin meilleur). • recuit simulé (choix d'un voisin quelconque). on trouve les méthodes de relaxation (lagrangienne. • méthodes Tabou (méthode de descente mais on accepte de « remonter » losqu'un minimum local est atteint). La méthode peut donner une solution optimale. Les méthodes par voisinage manipulent des solutions complètes. Le fait de relâcher conduit à des solutions qui ne sont plus réalisables.). Chaque itération a pour objectif de passer d’une solution complète à une solution voisine mais meilleure relativement au critère considéré. à chaque itération. en transformant un flow-shop normal en flow-shop de permutation. Parmi ces méthodes. .. • décomposition de l'ensemble des solutions du problème (ce sont les méthodes par séparation et évaluation). 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. 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. Les méthodes par modification des contraintes changent le modèle des problèmes à résoudre. 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. Par exemple. Les méthodes par décomposition cherchent à décomposer le problème en sousproblèmes de complexité moindre. • décompositions spatiales (décomposition en sous-ateliers).

93] et [Davis 87]).1. par exemple. Caractérisation des solutions admissibles Les techniques présentées dans ce paragraphe permettent en premier lieu de caractériser les solutions admissibles. les résultats intermédiaires sont valides et le processus peut être repris plus tard. sans que cela n'affecte le résultat final. Les CSP dynamiques exploitent particulièrement cette propriété.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. [Davis 87] a mis en avant quelques caractéristiques des systèmes de propagation de contraintes. il faut relancer une nouvelle résolution. . dont les plus intéressantes sont : • l'utilisation possible pour les systèmes incrémentaux. III. Ces méthodes infèrent des restrictions sur les domaines (inférence de labels). 96]. Nous nous intéresserons qu'aux deux les plus généraux. Dans [Davis 87].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. en explicitant de nouvelles contraintes entre les variables. en partie seulement. Pour cette raison. en donnant le domaine que peuvent prendre les variables. • l'implémentation possible en parallèle. Ces méthodes peuvent s’appliquer aussi bien aux CSP discrets qu’aux CSP continus (voir [Sam-Haroud et al. III. III. • l'utilisation possible sous contraintes de temps.1. en particulier les préférences du décideur. L’ajout de plusieurs contraintes peut se faire en plusieurs étapes liées chacune à l'ajout d'une seule contrainte. Nous considérons également l’inférence de labels qui modifie le domaine des variables. l’autonomie d’un centre de décision. On peut noter que l'inférence de label est un cas particulier d'inférence de contraintes. L’inférence de contraintes permet d’inférer de nouvelles contraintes. en prouvant l'inconsistance d'un problème. il peut être intéressant de caractériser les solutions d’un problème. • 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.4. d’évaluer les conséquences d’une décision particulière en temps de terme de modification de l’espace des solutions. l'auteur identifie six types de propagation de contraintes.Caractérisation des solutions admissibles • 83 certaines connaissances. [Lee et al.4.1. C’est l’objectif des techniques de propagation de contraintes. Propagation de contraintes dans les CSP III. [Hamadi 99]).4. sont difficiles à traduire sous forme de contraintes ou de critères. Ce processus est étudié dans les CSP distribués (cf. Si on interrompt le processus de propagation.4. Ceci permet de caractériser.

Ainsi. Illustration de l’arc-consistance Soit le graphe suivant. de nombreux algorithmes de filtrage ont été proposés. 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..15] tD ≥ tA + 5 tA tD Pour rendre ce CSP arc-consistant. L’algorithme AC-1 est le plus simple de ces algorithmes. 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’arc consistance correspond à la 2-consistance. Tant que le domaine d’une des variables est changé. Une contrainte binaire est arc-consistante si et seulement si. pour toute valeur du domaine d'une des deux variables. x1 . il existe une valeur pour tB telle que la contrainte soit vérifiée et inversement.. Un CSP est chemin-consistant si et seulement si pour tout chemin ( x0 . j ) voit le domaine di filtré en fonction de la contrainte cij . Dans le cas. la chemin-consistance est équivalente à la 3consistance. d’un CSP binaire.. Si aucune inconsistance n’est détectée. Un CSP est dit k-consistant si pour toute instanciation consistante de (k-1) variables. on a t D = t A + 5 et t A = t D − 5 . xm ) . tout le réseau de contraintes est reparcouru. nous présentons les notions de consistance et de k-consistance. Un CSP est dit consistant si il existe au moins une solution.10] [5 . Cet algorithme est relativement inefficace car à chaque changement.15] tD ≥ t A + 5 tA tD Afin de rendre un CSP arc-consistant.15] [0 .84 Modélisation des problèmes de gestion du temps et des ressources Avant de présenter les techniques de filtrage. 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 pour toute k-ième variable telle que l’instanciation des k variables soit consistante. [0 . On en déduit le graphe suivant qui correspond à un CSP arc-consistant. [0 . Chaque arc (i. tout couple de valeur des domaines de x0 et xm . Un CSP est arc-consistant si et seulement si toutes ces contraintes binaires sont arc-consistantes. il existe une valeur du domaine de l'autre variable qui satisfasse la contrainte. La consistance de nœud est équivalente à la 1-consistance. le CSP est nœud-consistant et arc-consistant.. . le réseau de contraintes est entièrement parcouru. il faut réduire les domaines des deux variables afin que quelque soit la valeur prise dans le domaine de tA.

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. [0 .14] tfin [11 .2.4] tC ≥ t B + 2 [2 . 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. La figure 64 montre le graphe CSP arc-consistant dérivé de celui de l'exemple III-3. Le second type de règles présenté s’appuie sur le concept d’énergie. Ce raisonnement correspond à une inférence de contraintes.15] tE ≥ tB + 2 tE [2 . les algorithmes de chemin-consistance appliqués aux problèmes d’ordonnancement sans contraintes de partage de ressource donnent un CSP globalement consistant.5] t A ≥ t début tA tD ≥ t A + 5 t D ≥ tC + 2 [5 . on empile toutes les contraintes qui font intervenir la variable sauf ci .4. Donc. Au départ. . C’est le rôle de l’analyse sous contraintes des problèmes d’ordonnancement ([Esquirol et al 99]. 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. toutes les contraintes sont dans la pile . Ce raisonnement. [Hennet 97]. III. Si une variable voit sont domaine changé à cause d’une contrainte ci .10] tD tF ≥ tD + 4 [0 . [Huguet 94]. Les règles présentées ici peuvent s’appliquer aux problèmes d’ordonnancement avec tâches non préemptives et ressources renouvelables. au fur et à mesure des actualisations les contraintes sont dépilées pour filtrer les domaines des variables. [Le Pape 94]). 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. Dans les autres cas.8] tC t fin ≥ t F + 1 tF ≥ tE + 8 tF [10 . intégral. déduit des restrictions sur la localisation temporelle des tâches (inférence de domaine).4] tdébut t B ≥ t début tB [0 .Caractérisation des solutions admissibles 85 L’algorithme AC-3 comble en partie cette inefficacité.

2. {3. puis dans un second temps par l’inférence de séquencements obligatoires ou interdits et enfin par l’actualisation des domaines des variables. Par contre. Le nombre de décisions nécessaires pour résoudre un problème est au plus égal au nombre d’ensembles critiques. {1. les tâches de cet ensemble doivent être totalement ordonnées. {3.2}.6}. On en déduit i précède j . 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. Exemple : . 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}. 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.4. Voici deux exemples de règles : • précédence interdite.2. dans le cas de ressources cumulatives.2.5.6}. {1. {2.86 Modélisation des problèmes de gestion du temps et des ressources III.4. {2.4].3.6} utilisent une seule ressource de capacité Ak = 4 .4.2.6}. 6 tâches {1. {1.4}.3).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. Un ensemble critique de tâches en conflit T est un ensemble minimal de tâches qui utilisent une ressource k .5. {2.4}. qui ne sont pas ordonnées et qui ne peuvent pas être exécutées en parallèle. 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).5. si d j − ri < pi + p j alors i ne peut pas précéder j . {1. Les ensembles disjonctifs maximums sont {1. La recherche des ensembles critique est triviale dans le cas de ressources disjonctives.3}.2. 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. Pour deux taches i et j appartenant à un ensemble critique.4. 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. Exemple III-6 : un problème d'ordonnancement cumulatif Dans cet exemple. Ainsi. Ces contraintes supplémentaires sont ajoutées au CSP. l’énumération systématique peut donner un grand nombre d’ensembles critiques.5}.3}.

2.4. les contraintes déduites intégrées dans le CSP. D est un ensemble disjonctif maximal.Caractérisation des solutions admissibles d j − ri 87 i j pi + p j • ensemble non postérieur. nous ne donnerons que le principe de ce raisonnement. Pour une description exhaustive de ces déductions. Il vise à resserrer certaines fenêtres afin d’interdire un positionnement des tâches menant à une consommation excessive d’énergie. Or. 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 . On en déduit la i. donc j doit précéder i . si max d s − ri < ∑ ps alors ¬(i p S ) . Ici. la tâche i peut être séquencée avant la tâche j ou avant la tâche k . [Hennet 97]. S ⊆ D − {} S ' = S ∪ {}. sur la figure de la règle de précédence interdite. [Huguet 94]. l’ensemble des tâches critiques ne contient que deux tâches. . on a déduit que i ne peut pas précéder j . La tâche i ne peut pas être séquencée avant les tâches j et k . i s∈ S nouvelle contrainte : ∃s ∈ S / s p i . max d S − ri s∈ S ' i j S k s∈S ' ∑p s Une fois. certaines déductions sur les domaines peuvent être inférées. Par contre. À titre d’exemple. on se référera aux articles [Esquirol 99].2 Le raisonnement énergétique Le raisonnement énergétique est basé sur les bilans énergétiques relatifs à une ressource cumulative k . i ∈ D. La figure suivante illustre ce propos. III.

nous revenons sur quelques particularités essentielles de ces techniques. Tout l’art de la résolution consiste à bien doser le nombre de règles à employer dans la propagation de contraintes. Le principal problème de ce type de raisonnement est de déterminer les intervalles de temps à étudier. Dans ce cas. Dans certains cas. Ainsi. L’idée de base est d’étudier les consommations minimales et maximales des tâches sur un intervalle de temps. Une fois. une inconsitance globale peut passer inaperçue.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. Ces techniques couplées à une génération de solution par évaluation et séparation permettent d’élaguer l’arbre des contraintes. l’analyse permet de déduire un ensemble de dates interdites pour une tâche et. Discussion Les techniques de propagation de contraintes permettent d’inférer des informations à partir d’un ensemble de contraintes et de variables. ces informations intégrées dans le CSP. 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. Les raisonnements mis en œuvre ne sont pas complets dans le cas général. l’énergie requise par la tache est ei = ai pi .3. Synthèse Les modèles et les techniques présentés tout au long du chapitre permettent. Les techniques de propagation consomment du temps . Plus généralement. Pour une tâche i d’intensité constante ai et de durée pi . soit requise pour réaliser une tâche. d’actualiser les fenêtres des tâches (dates de début au plus tôt et date de fin au plus tard).5. L’inférence de labels ou inférence de domaine permet d’actualiser les domaines des variables. des séquencements interdits ou obligatoires peuvent être déduits. qui nous paraissent importantes pour la réalisation d'un outil d'aide à la décision. seule la génération d’une solution permet de vérifier la consistance du problème. 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. 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). Dans cette partie. L’inférence de contraintes permet de déduire de nouvelles contraintes. III. Dans le cas de l'ordonnancement. elles peuvent donner lieu à de nouvelles actualisations. soit de générer une solution. soit fournie par une ressource sur un intervalle de temps. Ils s’avèrent performants dans certains cas comme l’ordonnancement sans partage de ressources. soit de caractériser l’espace des solutions. l’élagage de branches permet de gagner du temps.4. Cependant. propager les contraintes à chaque nœud de l’arbre. Par exemple. ainsi. par exemple. on utilise en complément des règles d'analyse sous contraintes ce qui revient à réaliser une certaine forme de k-consistance. On peut. . Cette analyse peut mener à la détection d'une inconsistance globale. III.

En effet. 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. Le retrait de contraintes ne pose aucun problème par contre l’ajout d’une contrainte peut rendre la solution inconsistante. solution) depuis le début. une solution de P’ devrait être trouvée à proximité de S. • maintien d’une solution après chaque modification. le retrait de contraintes peut poser des problèmes (des informations déduites préalablement ne sont plus valides). alors si le problème P’ est proche de P. Ces contraintes sont les contraintes produites par exemple par les mécanismes de propagation de contraintes. En fait. le temps est considéré comme une ressource.5. Les algorithmes classiques peuvent facilement être adaptés pour l’ajout de contraintes. En effet.1. Ici. 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. Inversement. d’un point de vue global. un accident peut survenir. si le calcul de trajectoire prend trop de temps. 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). [Verfaillie et al 95] ont identifié. Temps limité Dans la plupart des cas. dans un contexte réel on est souvent amené à modifier dynamiquement un modèle. dans le cadre des techniques de propagation de contraintes.Synthèse 89 III. Tout d’abord. Lors d’un changement dans le modèle. Plusieurs approches peuvent être envisagées : • maintien d’un certain niveau de consistance locale après chaque modification. 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. il serait souhaitable de développer des techniques réutilisant une partie du travail déjà effectué sur le problème précédent. des interactions avec d’autres centres amènent le décideur à ajouter ou à retirer des contraintes. Dn-AC-6 et AC/DC (voir [Debruye 95]). III. le décideur ne peut pas attendre indéfiniment les résultats des algorithmes. 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). Cette problématique a été beaucoup étudiée en planification de trajectoires (pour les robots). deux types d’approches. la première approche consiste à mémoriser et à réutiliser des solutions de problèmes précédents : si une solution S satisfait P. Par exemple. Le retrait de contraintes pose un problème délicat et fait l’objet d’algorithmes spécifiques comme par exemple Dn-AC4. Par contre. . En contrepartie. Les algorithmes incrémentaux traitent le problème de maintien de consistance d’arc.5. le retrait de contraintes ne pose pas de problème (la solution vérifie n’importe quel sous-ensemble de l’ensemble des contraintes). l’atelier peut être bloqué et entraîner des retards.2. 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é.

puisqu’à tout moment les contraintes déduites sont des conditions nécessaires.40] . Exemples en planification de la production : Pour pouvoir répondre à un client. De même. 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).3.5. Le centre de planification tient compte de cette imprécision en considérant D53 comme une variable avec le domaine indiqué. 00]. les techniques de propagation de contraintes sont des algorithmes anytime. III. l’algorithme peut s’arrêter à une date de fin au plus tard si celle-ci est connue. Le commercial transmet au centre de planification que D53 ∈ [35. quelles sont les valeurs des paramètres qui la rendent admissible ? Pour répondre à cette question. Par exemple. Les algorithmes anytime sont relativement faciles à concevoir. on peut s’appuyer sur le caractère réversible (voir par exemple [Hennet 97]. 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. Le client ne connaît pas précisément la quantité dont il aura besoin. Les algorithmes design-to-time ([Garvey 93]) maximisent la qualité du résultat en fonction du temps alloué . 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é. Un algorithme design-to-time peut être également anytime s’il accepte une interruption. Inversibilité du modèle et paramètres partiellement connus Par défaut. Il se peut qu’on ne connaisse que le domaine des valeurs que prendra un paramètre (paramètres prévisionnels). 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. ce décideur peut se poser la question suivante : compte tenu d’une solution souhaitable. 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. Le décideur peut interrompre le traitement et obtenir un résultat. le décideur du centre de planification considère le paramètre D53 comme une variable et cherche à maximiser le critère max D53 . Ces paramètres peuvent être considérés comme des variables dans le modèle du centre de décision. L’approche des algorithmes anytime est intéressante dans le cadre d’une aide à la décision. [Huguet 94]). Très schématiquement.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 ». Mais. le décideur prend des décisions avec les paramètres fixés (les décisions en amont). il existe donc une fonction qui permet de mesurer la qualité des solutions. Le principe est le suivant : on considère les paramètres comme des variables et les variables de décision comme des paramètres. 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). Pour répondre à cette question. Cette interruption peut être inattendue (crée par l’utilisateur par exemple) ou planifiée.

Si on ne connaît que les domaines (discrets) de certains paramètres. 00]. 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). des techniques de propagation de contraintes sont étudiées pour ce cas. nous avons vu que la linéarité du modèle est conservée quand les stocks initiaux ( I i 0 ). En planification de la production. Dans [Ginestet 98]. en général. les paramètres ou les décisions qui doivent être relâchés. III. Tous les algorithmes employés pour le modèle « classique » restent valides (comme l’algorithme du simplexe ou les techniques de k-consistance). on peut chercher à savoir quels sont les contraintes. la linéarité est conservée. Dans [Huguet et al. le décideur responsable d’un atelier peut donner son avis sur la quantité maximale de produits qu’il peut fabriquer. Exemple en ordonnancement d’atelier : Si la durée des tâches peut varier en fonction de la quantité des produits à fabriquer.Synthèse 91 exemple aik = [35. les capacités des machines ( bkt ) et les demandes ( Dit ) ne sont pas totalement connus. 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. Pour ce faire. En effet. il suffit de choisir une valeur pour les paramètres parmi toutes les valeurs du domaine.40]) . En cas d’inversion (totale) du modèle. Le décideur choisit une gamme de fabrication parmi un certain nombre (plusieurs matrices bij possibles). Cependant. 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. On peut considérer un problème d’ordonnancement avec gammes alternatives. Des affectations interdites sont mises à jour. Dans le cas général. par exemple.5. l’obtention du meilleur optimum et du pire optimum nécessite une énumération. tous les paramètres peuvent être considérés comme des variables .4. Cette étude est. plusieurs modèles pour la gestion de projets avec gammes alternatives et avec contraintes de ressources sont étudiés. 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. Décision sur les contraintes Pour prendre des décisions sur les contraintes. dépendante du problème considéré. il suffit de considérer le paramètre pi comme une variable et maximiser le modèle avec le critère max pi . . les techniques de résolution par évaluation et séparation restent valables. 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.

augmentation de la capacité des ressources. 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. le décideur tiendra compte de ces propres objectifs mais aussi des relations qu’il a avec d’autres centres. Le chapitre suivant s’intéresse à la dynamique des modèles associés aux centres d’un réseau. Dans ce chapitre. dans le paragraphe III. En ce qui concerne la planification. des paramètres. Ici. Dans le cas général. Pour les ordonnancements avec ressources. recherche des contraintes les plus fortes. nous avons abordé les décisions. Pour définir la stratégie. la possibilité de retards ou la possibilité de paramètres non entièrement spécifiés (voir paragraphe précédent). l’ajout progressif des contraintes permet d’identifier un ensemble de contraintes qui posent problème. autorisation d’arriérés de fabrication. Dans [Chinneck 96]. certains outils sont disponibles pour analyser la cause du problème : • en ordonnancement. Conclusion Les modèles présentés dans ce chapitre permettent de représenter le problème de décision d’un centre.3.2. Néanmoins. il faut disposer d’une stratégie de pose de contraintes (a priori de la plus importante à la moins importante). les contraintes et les préférences essentiellement comme des objets mathématiques statiques (variables de décision.92 Modélisation des problèmes de gestion du temps et des ressources En ordonnancement. Des techniques de résolution et de propagation de contraintes permettent d’analyser l’espace des solutions. l’identification de la (ou des) machine(s) goulot(s) peut donner lieu à différentes stratégies de relaxation. de prendre des décisions sous ou sur les contraintes. De plus.3. III. des relations entre variables et paramètres). 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. On le voit ici. Ces mêmes outils peuvent être utilisés pour préciser des valeurs acceptables pour les paramètres. 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. analyse du chemin critique et identification des ressources goulots. dès la modélisation. la stratégie de remise en compte des contraintes dépend énormément du problème et de l’expertise du décideur. grâce à une prose progressive des contraintes liées aux ordres de fabrication classés par ordre croissant d’importance. 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. • en planification. la prise en compte d’arriérés de fabrication permet de prendre en compte.6. essentiellement liée à la coopération entre centres .

il n’existe pas un modèle unique en chaque centre. 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. un premier type d'aide à la décision peut être proposé. 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. elle permet également de remettre en cause des décisions déjà prises afin de réagir à des aléas. les modèles évoluent selon une suite d’états totalement ordonnés . certaines à but prévisionnel. . toutes les informations utiles n'arrivent pas au même moment en un centre.1. en réduisant les possibilités de (re)négociation.5). d’autres pour réagir à des événements imprévus. Elle permet d'anticiper des problèmes dont la résolution demande un temps non négligeable . 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. par exemple entre deux échanges avec des centres différents. la dynamique globale résulte d’une suite de résolutions de problèmes statiques. Nous abordons par la suite le problème de l'aide à la gestion dynamique du processus de résolution en un centre. En chaque centre. 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. Dans ce contexte. les notions d'engagement. D'autre part. un centre peut s’engager dans plusieurs types de négociation. Enfin. II.Chapitre IV Interactions et communication dans un réseau de centres de décisions IV. De ce fait. les négociations qu’elles supportent font référence à des états différents des modèles. Si les interactions entre centres sont toutes synchrones. de remise en cause supposent un certain niveau de formalisation des interactions entre les décideurs. mais plusieurs. Ces modèles partagent certes un grand nombre de caractéristiques. La négociation porte sur la valeur des paramètres intervenant dans les contraintes des modèles des centres. De plus. des contraintes de décision en temps limité peuvent également influer sur la stratégie des décideurs. d'hypothèse. 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. Or dans un environnement perturbé. 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ès lors que les interactions entre centres ne sont pas synchrones.

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

périodicité des décisions. … ? . en fonctionnement normal. Ces contraintes affectent le domaine des variables de décision. liens entre centres). décisions des centres en amont décisions du centre négociées avec les centres en aval centre .).méthode de communication. il convient d’abord d'identifier cet ensemble..nature. De plus. instant de décision/de gel. Elles définissent également son fonctionnement à travers des règles de coordination entre centres (contraintes de workflow. Par exemple. selon une fréquence beaucoup plus faible. réunions. valeurs possibles ? . messagerie… En se posant différentes questions sur les décisions. Elles définissent la structure du réseau (type des décisions prises par chaque centre. 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. les contraintes organisationnelles sont aussi plus rarement . le décideur cherche à connaître les contraintes qui pèsent sur elles. 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.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. Nous supposons que ce problème est formalisable à l'aide d'un modèle de type CSP. précédence). Ainsi. pour améliorer l’efficacité des interactions entre deux centres. le centre responsable et les contraintes temporelles qui pèsent sur le processus de décision (contraintes organisationnelles). les centres négocient les valeurs des paramètres et des variables intervenant dans les contraintes de modèle. Les contraintes procédurales structurent le processus de coopération entre les centres. Enfin. Ces contraintes se traduisent en général par un protocole d'interaction entre les centres : communication à l'aide de notes. les négociations concernant des décisions sont facilitées par le cadre fourni par les contraintes procédurales (voir la figure 66). Parfois. à trouver une solution au problème de décision (sous contraintes) ou à négocier des paramètres (sur contraintes). chapitre précédent) permettent d'aider le décideur à évaluer les marges de manœuvre dont il dispose. les contraintes procédurales sont modifiées. L’essentiel des conversations entre centres porte donc sur l’ajustement des modèles entre centres.valeur fixée. Elles décrivent le type et la sémantique des échanges entre les 2 centres (engagements. 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. comportement attendu .Structure d’un centre 95 IV. 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é.. dates limites de prise de décision.2.

2. Soit X i l'ensemble de variables que considère le centre ci . Les techniques permettant de représenter et de traiter les contraintes de modèle ont été abordées au chapitre précédent. Dans un premier temps..96 Interactions et communication dans un réseau de centres de décisions remises en cause.2. F (u ) est l'ensemble des variables de décision de ci transmise à cj . Pour un arc u = (ci .2. 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).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. 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. • à proposer un protocole de communication entre centres (contraintes procédurales) • à représenter l'état d'un centre. − u ∈ω ( c i ) l'ensemble des variables privées de ci est var_ priv (ci ) = X i − var_ dec (c i ) − param(ci ) . • F une fonction de U vers l'ensemble des variables de décision X ( F : U → X ). 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). • U = (u1. .. uM ) l'ensemble des M arcs.. nous cherchons. F ) avec : • C = (c1. u2 . IV. IV. Nous y reviendrons peu dans ce chapitre.. Dans la suite. c2 .. + 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 ) . l'ensemble des centres en amont du centre ci est amont (ci ) = {c j / ∃u = (c j ..U. Dans la suite du chapitre.2. ce graphe est défini par le triplet S = (C. 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)... c i )} . essentiellement : • à représenter les contraintes organisationnelles. c j ) . cN ) l'ensemble des N centres. 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 ) .

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.

si les plans sont réalistes du point de vue technique. ces dernières s’enchaînent dans un ordre donné (RA. RM. Toutefois. Des réunions métiers périodiques sont organisées.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. ils font certaines hypothèses sur les ressources qui seront affectées au projet. Ce type de décision est prise durant les réunions de production (cf. équipe plan à la journée . RP) avec une fréquence hebdomadaire. division resp. réunions « RM ») afin de recenser les besoins. Lorsque la demande globale dépasse la disponibilité. métiers toutes les semaines résoudre des conflits (RP) plans CT validés resp. Enfin. réunions « RP »). un premier niveau d’arbitrage est possible par le responsable de la division d’assemblage. 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. Les processus prédéfinis de coordination sont de type synchrone. groupe resp. équipe équipe figure 71 : le fonctionnement du réseau en gestion de projet plan réalisé resp. projet corresp. Cependant. cette forme de coordination préalable se traduit par des réunions dont l’objet. et éventuellement pallier des pointes de charge en recourant à l’embauche d’intérimaires. 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. En cas d’échec. La replanification des activités d’assemblage constitue l’objet central des réunions d’avancement projet (cf. des ajustements sont effectués à travers des négociations. les participants. projet resp. des réunions quotidiennes (DM) permettent de suivre le projet et de réagir aux différents aléas ou opportunités. réunions « RA » sur la figure 71) au cours desquelles les plans CT et MT sont réparés. groupe métier corresp. répartir les personnels entre les différents projets. 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. Ici. projet corresp. 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. métier par métier (cf.

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. Durant cette période. Entre la prise de décision et le gel. Elle est rarement instanciée. • La prise de décision. C’est durant cet état que l’application de la décision a lieu. La variable est instanciée et négociée avec les centres en aval. Cette date marque une frontière entre des négociations de type prévisionnel et des négociations de type réactif. À partir de cet instant. réservations…). suite à une mise à jour du modèle. IV. La valeur de la variable ne peut plus être changée (pour des raisons technologiques.3. noté dec x . 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 . la variable est gelée (sa valeur ne peut plus être changée). La variable est détruite. la variable est renégociable. Ainsi. ou renégociations. sauf si le domaine initial ne comporte qu’une valeur. 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. une variable de décision x change d’état.Décision en temps limité 101 Cependant. Par exemple. une certaine forme d’autonomie apparaît à travers le choix de la date de prise de décision à l'intérieur du cadre fixé. lorsque les domaines de valeurs sont ordonnés (quantités. la variable est négociable. approvisionnement. • La destruction de la variable. • Le gel. les dates de décision au plus tard ne peuvent pas y être représentées. Les différents états de la décision Au cours du temps. date_de_décision_au_plus_tard].3. Si la variable apparaît dans une contrainte soit on remplace la variable par sa valeur soit on retire la contrainte. dates) les renégociations se basent sur les instanciations précédentes afin de trouver une valeur proche. Globalement. Généralement. cet intervalle doit couvrir l’ensemble des phases qui peuvent intervenir dans une décision négociée. La variable est créée avec un domaine initial. noté gel x . Enfin. IV. ou états.1. une négociation peut avoir lieu ayant pour objet l’instanciation de la variable. noté des x . Cette prise de décision conclut une phase de négociation. toutes les contraintes de coordination ne peuvent pas apparaître sur les diagrammes tels que celui de la figure 7. Les instants qui caractérisent un changement d’état sont : • La création de la variable. entre le gel et la destruction de la variable. notée crex . Entre la création de la variable et la prise de décision.

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. Pour un centre d’ordonnancement. Le centre négocie un plan dans son ensemble et non décision par décision. Le problème de l’explosion du nombre d’états d’un modèle Dans le cas général.102 Interactions et communication dans un réseau de centres de décisions IV. 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). Ainsi.2. 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. Or. cela consisterait à donner des décisions pour la journée suivante.3. 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. 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. seulement une partie de ces états seront acceptables. 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. un centre de planification préfère donner un plan de production pour tous les produits sur une période. certaines variables sont créées . 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. Par exemple. 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. Leur détermination n’est pas envisageable en l’absence d’hypothèses permettant de limiter ce problème. • ceci réduit le nombre d’interactions entre les centres. 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. En effet. le centre 3.

Si on regarde la figure 39 page 58. de geler ou de détruire certaines variables. • L’horizon prévisionnel représente l’horizon sur lequel les paramètres et les variables de décision sont pris en compte. d’autres variables sont gelées et. on a vu qu’habituellement en planification. Les variables de décision sont donc non gelées mais sur le point de l’être : horizon _ de _ décision = [t0 . x2 et x3 sont créées . horizon _ prévisionnel = [t0 . Cet horizon est inclus dans l’horizon prévisionnel. t h ] avec t 0 la date courante et t h tel que ∀x / crex ≤ t 0 . les variables dont les décisions ont été appliquées sont détruites. certaines décisions sont instanciées. la variable x1 est déjà gelée. Cet horizon prend en compte les variables de décisions existantes qu’elles soient déjà instanciées ou non. seules les variables x1. 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). certaines variables sont décidées. figure 74 : prise de décision synchrone IV. d’instancier. les instants de changements d’état des décisions ne sont pas liés. L’horizon prévisionnel est l’intervalle de temps entre t 0 et l’instant maximum de destruction . 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. le mécanisme de glissement (prise de décision périodique) est l’occasion de créer. Horizons temporels Aux différents états que peuvent prendre les variables de décision. Sur la partie gauche de la figure suivante. t d ] . Le centre responsable de ces décisions prend les décisions individuellement et les transmet une à une. • 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.Décision en temps limité 103 pour prendre en compte un horizon plus long. entre la planification de la période 1 et 3.3. deux groupes de variables ont été ajoutés en fin d’horizon et. on peut faire correspondre plusieurs horizons (voir le chapitre 3 pour les horizons rencontrés en planification). 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). À l’instant t 0 . enfin. Au chapitre 3. La figure 75 montre les instants de changement d’état de quatre variables (de x1 à x 4 ).3. les variables correspondant aux deux premières périodes ont été détruites (car appliquées).

2) heure avant sa date de gel. 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. • les contraintes de synchronisation interne visent à réduire le problème de l’explosion combinatoire du nombre d’états. les deux centres savent qu'elle doit se finir avant t0 . Pour se dégager de ce problème.104 Interactions et communication dans un réseau de centres de décisions des variables x1. Ici. Le méta-modèle permet également de savoir qu'au moins 1 heure de renégociation sur X est prévue. . Y doit être gelée à t 0 . 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. Cet horizon correspond aux prochaines décisions qu’il faudra prendre.4. X doit être gelée avant t 0 dans le cas contraire. Une fois engagés dans une renégociation. x2 . 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 . Exemple : La figure suivante présente un exemple de méta-modèle pour deux centres de planification. X (resp. x3 ( t h correspond à l’instant de destruction de x3 ). 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 ). Y ) doit faire l'objet d'une première négociation au moins 1 (resp. X pourrait être modifiée juste après le gel de Y et entraîner une incohérence) . Ces contraintes permettent aux centres de se coordonner efficacement. 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.3. temps t0 td horizon prévisionnel horizon de décision figure 75 : différents horizons en fonction des états des variables th IV. 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.

Protocole de communication Lors de leurs communications. Dans ce paragraphe. 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 centres respectent des contraintes procédurales.4. 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. Cependant. nous proposons un protocole de communication permettant aux différents agents d'échanger des informations sur les décisions. Ce modèle permet de représenter les marges de manœuvre qu'il possède avant la prise de décision. IV. les outils d'aide peuvent être utiles pour préparer les interactions synchrones (exemple : les réunions). 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]). 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). Les communications par tableau (même lieu) et par courrier électronique (lieu différent) constituent des exemples d’interaction asynchrone. Un outil d'aide à la décision pourra. 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). Enfin. Dans ([Nurcan 96]) une matrice espace/temps est utilisée pour classifier les circonstances de travail coopératif (voir tableau 6). Le protocole de communication et les outils d'aide que nous proposons pour négocier ne seront valables que pour des interactions asynchrones.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. 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) . Il permet de connaître les urgences.

. Nous distinguons ainsi plusieurs types de messages composés de différents champs. Les messages échangés par les agents correspondent à des actes de langage.4. Cet objectif vise la description du fonctionnement dynamique du réseau de centres de décisions . Il s’agit d’un formalisme pour l'envoi de messages entre agents. qui devra « typer » chaque message émis.1. il est complémentaire de la description statique de la structure du réseau. nous proposons l'emploi de messages s'insérant dans deux types de conversations qui ont pour but : • la prise de décision. • la recherche d’informations. les champs supplémentaires que nous proposons sont signalés par le signe ° dans le reste de ce paragraphe. Si la conversation se termine bien. IV. en fonction des conversations type que les deux entités utilisent. • la formalisation permet de rendre explicites les intentions de l’émetteur du message.106 Interactions et communication dans un réseau de centres de décisions Afin de proposer des traitements partiellement automatisés. Les ambiguïtés sont ainsi éliminées. mais de futures conversations portant sur une prise de décision pourront se baser sur cette recherche. Il propose un ensemble prédéfini de champs caractérisant chaque message. 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]). En vue de prendre des décisions.1. Les champs associés à tout message sont les suivants : • contenu : ce sur quoi porte le message. l’émetteur peut compter sur la réception de réponses adaptées à son envoi. un engagement (fort) est pris entre les différentes parties et la base de données est actualisée. 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). Toutefois. En retour.4. Dans notre cas. un engagement faible est pris. Nous proposons d’utiliser un formalisme dédié aux communications asynchrones. Nous avons utilisé cette possibilité . Ce type de conversation permet aux centres d'agir par anticipation. Son domaine d’application concerne la spécification de systèmes artificiels. il autorise l’introduction de champs supplémentaires répondant aux besoins spécifiques d’une application. Les différents centres ne sont pas obligés de le respecter. IV. 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. un centre peut rechercher des informations sur la faisabilité de propositions ou demander que l’on lui en fasse. KQML est un langage universel extensible. le langage KQML (Knowledge Query and Manipulation Language). Si la conversation se termine bien. Communication par envoi de message Les conversations sont constituées de messages. Dans cette conversation.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. un ensemble d’affectations est négocié. Initialement.

contre-proposer et demander-si). pour un centre de planification. • référence à rappeler : si l'agent émetteur attend une réponse. Si une réponse par défaut est spécifiée. IV. qui précède l’envoi ou la réception d’un message. Le contexte (conversationnel) est donc l’ensemble des messages relatifs à une même conversation. • demander-si : le centre émetteur demande aux destinataires s’ils acceptent la valeur du champ contenu. les messages peuvent avoir des champs supplémentaires (cf. l’émetteur considère que la réponse sera la réponse par défaut. alors une date de validité doit l’être également. • 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. • intention° (ou objectif) : pour les messages initiant une nouvelle conversation (et uniquement pour eux). • accepter/refuser : ces deux messages sont utilisés comme réponse directe aux messages précédents (proposer. • en réponse à : quand le message est une réponse. Le champ contenu porte sur des variables dont le centre émetteur du message est responsable. ce champ est rempli avec l'identificateur contenu dans le champ référence à rappeler du message auquel le centre répond. Un centre qui reçoit un message demanderdomaine répond avec ce type de message. il spécifie un identificateur que le destinataire devra rappeler.Protocole de communication • • • • 107 émetteur : le centre qui envoie le message. 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.2 Type de messages Le type d’un message permet d’identifier l’action que l’émetteur veut que le destinataire fasse. • dire : le centre émetteur signale au centre destinataire que les domaines de valeurs consistantes sont ceux du champ contenu. 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. Comme au paragraphe précédent. • contre-proposer° : le centre émetteur fait une contre-proposition à une proposition précédente. • réponse par défaut° : si l’agent destinataire ne répond pas à temps. ce champ explicite le but de la conversation. . destinataire(s) : le ou les centre(s) destinataires du message. En fonction de son type. Par exemple. date d’émission° : la date d’émission du message. Ceci permet de replacer un message dans son contexte. les types de messages non prévus par KQML (mais permis) sont suivis du signe °.4. ce champ pourra prendre la valeur "planification pour la semaine 12". • confirmer° : le centre émetteur confirme que le contenu contenu est considéré comme un engagement entre toutes les parties.1.

• acquitter° : le centre émetteur signale qu’il a bien reçu le message confirmer ou résumer. cependant le champ contenu a de fortes chances de faire l’objet d’un engagement prochain.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. X11 est compris entre 12 et 24 et que X12 est nécessairement égal à 34. 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. Aucun engagement fort n’est encore pris . Le premier message est une demande de toutes les instanciations possibles de X11 et X12 envoyée par centreA pour centreB. le champ contenu (contraintes d'égalité. Le 2 janvier 2000 à 10 heures 54. Cet échange fait parti d'une conversation pour information. pour lui. (ask-all (tell :sender centreA :sender centreB :receiver centreB :receiver centreA :content "X11 X12" :content "X11=[12. Le tableau suivant montre certaines propriétés que les messages doivent respecter. • abandonner° : abandon de la conversation.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. CentreB devra répondre avant le 2 janvier 2000 à 18 heures avec l'identificateur 4321. centreB répond que. 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).

refusent la proposition ou émettent une contre-proposition vers Cres . Cette phase débute par un message confirmer de Cres envoyé à tous les Caval . Cette phase peut être initiée soit par un Cres soit par Caval .1 Les conversations pour engagement Ces conversations ont pour but la prise de décision. Si un engagement portant sur les mêmes variables existait déjà.4. IV. Cres peut imposer sa décision à tous les centres en aval. 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. la décision est imposée aux centres n'ayant pas accepté la proposition. 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. Dans le cas le plus extrême. Cres émet une proposition vers tous les Caval . Caval / ∃u = (Cres . 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.Caval ) et V ∩ F (u ) ≠ ∅ Ces conversations sont constituées de deux phases : • une phase de négociation. Les centres Caval émettent un message d'acquittement en retour. Mais. tous les messages reçus sont lus. celui-ci sera remplacé par le résultat de cette conversation. action}).2. La figure 78 montre le comportement de chaque centre aval. Ceux-ci acceptent. Normalement. Les autres places constituent un état du centre lors du traitement de la conversation. 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.2. Ce type de conversation concerne l’instanciation de variables. 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. La figure 77 montre le comportement d’un centre responsable des variables de décisions faisant l’objet d’une négociation pour engagement. Une transition est franchie dès que la date limite DV est atteinte. • une phase de décision. Dans cette partie. 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 . Cres ne passe à la phase de décision que lorsque tous les centres ont accepté une proposition. .4. Cette phase a pour but la négociation de l'engagement à prendre. Dans ce cas. Nous nous inspirons de ces scénarios pour proposer nos types de conversations.Protocole de communication 109 IV. Ce message signale qu'un engagement a été pris entre tous les centres pour que contenu soit appliqué. Si la conversation est initiée par un Caval alors Cres étend la discussion à tous les Caval . 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. 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). À cette occasion.

• dans les autres cas. début 1 n {type=accepter ou type=refuser ou type=contre-proposer .DV] n {.} {.type=proposer} opinion aval <type> {type=contreproposer. soit il négocie une autre proposition (message contre-proposer).} accord {.type=acquitter} fin figure 78 : comportement d’un centre en aval lors d’une conversation pour engagement . alors une confirmation est lancée et le centre passe dans l’état accord.} 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 . soit il abandonne (message abandonner).type=proposer} opinion aval [DV.} [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=contreproposer} n <type> m (m<n) n boîte de réception de Cres <type> opinion res {. le comportement attendu (et non obligatoire) de Cres est le suivant : • si toutes les réponses des centres avals acceptent.type=confirmer ou type=abandonner} n accord {type=acquitter.} {type=proposer .110 Interactions et communication dans un réseau de centres de décisions Lorsqu’il est dans l’état « opinion res ».

Ce type de conversation est plus libre que les conversations pour engagement puisque tout centre peut intervenir à n’importe quel moment. typer=acquitter} {. Ces conversations permettent de négocier par anticipation. début {typer=demander-si ou demander-domaine.} fin figure 79 : comportement d’un centre lors d’une conversation pour information IV.2 Les conversations pour information Les conversations pour obtenir des informations ne débouchent pas sur un engagement fort.Protocole de communication 111 IV. Le centre d'ordonnancement envoie un message de réception du message de confirmation.typee=résumer ou typee=abandonner} attente {typer=acquitter. le centre de planification envoie le message de confirmation au centre d'ordonnancement (la décision est prise).3. 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. Afin de conclure l’accord. le chapitre 5) montre un exemple de conversation pour engagement entre un centre planification et un centre ordonnancement. Le centre d'ordonnancement répond favorablement.} {. . N’importe qui peut initier ces conversations et n’importe qui peut les terminer. Le centre de planification envoie une nouvelle proposition.} n <typee> n n n boîte d’envoi {typer=résumer ou typer=abandonner.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. Le centre ordonnancement envoie une contre-proposition. Exemple : La figure 80 (il s’agit d’un diagramme de séquence cf.4.2. Le centre de planification envoie un message proposer qui débute la conversation.4.

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. • quand un centre doit répondre à un message. Représentation de l’état d’un centre Nous avons adopté une structure arborescente pour représenter l’état d’un centre. évaluer les effets de plusieurs conversations menées simultanément. Par contre. référence à rappeler et date de validité. IV. quelles sont les contraintes (et les conversations pour engagement) à remettre en cause ? Le prochain paragraphe présente une structure arborescente qui permet. en réponse à. X21=19) contre-proposer (X11=13. l’outil d’aide peut indiquer quelles sont les réponses possibles. ce dernier champ peut être rempli en utilisant le méta-modèle (en effet. • l’outil d’aide peut fournir un historique des conversations afin de ne pas explorer deux fois les mêmes hypothèses. entre autres.5. une fois que la conversation est terminée avec succès. de représenter les effets d’une conversation. Cependant. les champs émetteur. on peut se demander comment représenter. l’outil d’aide peut automatiquement intégrer le champ contenu dans le CSP du centre. le champ intention est laissé à la discrétion de l’utilisateur. Notamment. Quand le CSP devient inconsistant. X21=15) accepter (X11=13. En effet. il faut conclure la (re)négociation avant la date de gel). destinataire (en fonction du champ contenu). . • et surtout. conversation. X21=15) confirmer (X11=13. cette arborescence fournit une aide complémentaire pour la prise de décision locale et les négociations. X21=23) contre-proposer (X11=10. date d’émission.112 Interactions et communication dans un réseau de centres de décisions planification ordonnancement proposer (X11=10. 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.

Ces contraintes sont des contraintes d'affectation ou de domaine. trois types de contraintes : • les engagements sont des contraintes issues de conversations pour engagement. Ainsi. nous proposons une structure arborescente à plusieurs étages allant des décisions les plus figées à celles qui sont le plus hypothétiques : . Ces contraintes sont liées à la notion de cohérence. ces contraintes ont toutes les chances d'être appliquées dans le futur. outre les contraintes de modélisation.5. propositions et engagements. Cependant. Ceci permet de préparer des décisions que l'on communiquera dans la suite.2. L'auteur de ces contraintes peut être soit le centre en amont soit le centre lui-même (dans la boucle proposer/modifier). C'est pour cela que nous distinguons. proposition ou engagement. CSP2 =< X . propositions et engagements Les contraintes de modèle qu'un centre considère peuvent avoir plusieurs origines.Représentation de l’état d’un centre 113 IV. comme il est plus facile de changer des contraintes sur lesquelles le centre ne s’est pas engagé. Cependant. Les contraintes d'engagement sont des contraintes d'affectation. • les engagements ou propositions en relation avec l'aval correspondent à des conversations concernant des décisions prises en aval. proposition ou engagement (contenant les contraintes C3 ). C2 > C2 = C3 ∪ C1 figure 81 : passage d’un nœud à un autre Nous cherchons à représenter le problème local d'un centre. C1 > Ajout d'une hypothèse.5. Structure arborescente La prise en compte d'une hypothèse.1. Hypothèses. les contraintes associées à ce message sont considérées comme une contrainte d'engagement. seules les contraintes de domaine ou d'affectations pourront être négociées. Ces contraintes ont été communiquées mais aucun engagement fort n'est encore intervenu. Au moment où un centre envoie le message confirmer (partie d’une conversation pour engagement). une proposition ou d'un engagement transforme le CSP courant ( CSP1 ). Ces contraintes sont quelconques. Nous cherchons également à évaluer les effets de ces différentes contraintes. Ces contraintes sont associées à la notion de robustesse. la contrainte sera plus ou moins facile à changer. CSP1 =< X . il faut prendre en compte les nouvelles contraintes ( C3 ) de l'hypothèse. Suivant cette origine. • les propositions sont des contraintes issues de conversations pour information ou de conversations pour engagement non encore abouties. D. différentes hypothèses. 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). IV. En effet. 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. D. A priori. • les hypothèses sont des contraintes qu'un centre considère sans quelles soient communiquées à d'autres centres.

viennent les propositions (ce sont des hypothèses communiquées donc susceptibles de devenir des engagements).. L’arborescence peut être notée à l’aide d’un triplet A = (CSP.} est l’ensemble des arcs de l’arborescence. 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 pour lesquelles le centre s'est engagé. La prise en compte de tous les engagements donne le CSP des engagements. Ei est un engagement. CSP2 . 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. Les propositions et les hypothèses portent sur des décisions qui seront amenées à être des engagements. H k est une hypothèse et Sl à la génération d’une solution. H k .. CSPN } est l’ensemble des nœuds de l’arborescence. Ensuite. CON ) où : CSP = {CSP .. Sl . des décisions gelées ou imposées et. surtout.. Pj est une proposition. Il s'agit d'un des modèles abordés au chapitre 3. Pj .114 Interactions et communication dans un réseau de centres de décisions CSP générique paramètres non contrôlables. Les arcs font la transition d'un nœud à un de ses fils.... 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. Le CSP des engagements modélise le problème du centre de décision en tenant compte des paramètres non contrôlables. Ils correspondent à l'ajout d'une ou plusieurs contraintes dans le modèle du CSP parent. hypothèses CSP des engagements engagements P4 CSP4 propositions . 1 BRA = {Ei . BRA. La prise en compte des paramètres non contrôlables et des décisions gelées dans ce modèle donne le CSP racine. Dans les branches les plus basses interviennent les hypothèses (non communiquées) et les solutions générées. 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). décisions gelées.

D.C1> bra2 CSP2=<X. CSPj ). Ceci est une conséquence de la propriété précédente (en composant puis en séparant les branches). les CSP situés entre ces deux CSP diffèrent. alors toute permutation de branches qui sont sur le chemin n’a aucune influence sur les deux CSP .D. Par contre. CSP1=<X. 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. la permutation de bra2 avec bra3. C j = Ci ∪ CON (bra ) .Représentation de l’état d’un centre CON est une fonction qui à tout arc associe un ensemble de contraintes. n’entraîne pas de changements dans CSP1 et CSP3. Sur l’exemple de figure 84. 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 . décomposition de branches Propriété 3 : permutation de branches Lorsque le chemin qui sépare deux CSP ne possède pas d’embranchement.D.D. L’inverse est vrai aussi.C3 > CON (bra3 ) = CON (bra1 ) ∪ CON (bra2 ) figure 83 : composition.C2> bra3 CSP3=<X. par contre. Cette propriété pourra être utile en cas de renégociation d’une partie d’une proposition ou engagement.D.C4> bra2 CSP3=<X. Propriété 2 : composition. on peut décomposer la branche en plusieurs branches contenant chacune un sous-ensemble des contraintes. D.D. les contraintes de CSP2 changent.C1> bra3 CSP4=<X. décomposition de branches Si à une branche correspond plusieurs contraintes.C3 > CSP3 =< X . D.C1 > bra3 CSP3 =< X . Il est donc remplacé par CSP3.C3> figure 84 : effets d'une permutation de deux branches .C2 > bra2 composition décomposition CSP1 =< X . CSP1 =< X . et ceux qui peuvent ou vont être renégociés le plus bas. Cette propriété est intéressante pour reclasser les engagements.C1 > bra1 CSP2 =< X .C3> permutation de bra3 et de bra2 CSP1=<X.D. En particulier. D. D.

CSP1) et CON(E1)={V=I} gel(V)≡ CSP←CSP-{CSPracine} BRA←BRA-{E1} CSPracine=CSP1 bra1←bra1∪{V=I} Nous supposons.3.116 Interactions et communication dans un réseau de centres de décisions L'arborescence présentée ici n'est pas statique. Évolution de l’arborescence en fonction du temps Les changements d'état des variables font évoluer la structure arborescente. une variable est dans l'état renégociable. Les propriétés 2 et 3 permettent d’arriver à ce résultat. engager une conversation (une hypothèse devient une proposition).3. IV. • l'utilisateur. gel de X bra1 CSP générique .5. CSP générique bra1 CSP racine E1 ≡ {X = I } CSP1 CSP racine figure 85 : gel d'une variable Si E1=(CSPracine. Des décisions changent d'état. IV. Au moment du gel. Elle évolue en fonction de trois types d'événements : • le temps. ici. cette branche change d'état et s'intègre dans l'arc des paramètres non contrôlables et des décisions gelées.1 Gel d'une variable Avant d'être gelée. le CSP qui intègre l'engagement devient le CSP racine. que l’engagement qui concerne la variable à geler est placé juste au-dessous du CSPracine. ces actions se limitent à créer des hypothèses. En particulier. Au moment du gel. génèrer des solutions. L'arbre a donc une branche qui est l'engagement portant sur la variable. Elle est donc instanciée par une valeur qui a fait l'objet d'un engagement. • les conversations.5. Mais. disparaître (une conversation échoue…) ou être transformées (une proposition devient un engagement…). des branches peuvent apparaître (des propositions). Lors du déroulement d'une conversation. L'utilisateur peut agir en principe à tous les endroits de l’arborescence. en fait. la création et la destruction de variables. le gel.

il faut réévaluer tous les CSP pour savoir si des changements doivent être faits parmi les engagements.5. le placement de la nouvelle n’est pas simple car il dépend de plusieurs critères. 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. IV. 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. Dans le cas général. . Il faut donc placer une nouvelle branche. tout l’arbre est susceptible d’être modifié. donc.Représentation de l’état d’un centre 117 IV. on peut placer P2 dans les deux configurations. propositions ou hypothèses. Ces modifications interviennent au niveau du modèle générique . Il appartiendra au décideur de fixer la politique de placement.4.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. S’il existe déjà des propositions.3. Évolution de l’arbre en fonction des conversations Dans le cas de changements dus aux conversations. IV. crées ou détruites. on peut choisir la seconde configuration (nouvelle branche en concurrence de P1). 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.5.5. des contraintes sont modifiées. 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é. P1 est susceptible d’être très prochainement transformée en engagement.4. Pour bien montrer l’indépendance de la réponse. Une fois que les variables et les contraintes ont été ajoutées ou enlevées du modèle générique.

4. c’est lui qui décide où mettre la branche. IV. On peut même essayer de mettre P1 à la suite de P2 afin de vérifier que l’hypothèse est toujours valable. le centre peut recréer une structure d’arbre identique à la précédente (partie grisée). La conclusion d’une renégociation peut donc entraîner de nouvelles renégociations. il faut essayer d’adapter l’ancienne structure au changement de branche. il existe déjà une branche (une proposition ou un engagement). 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. Dans ce cas. Pour donner une réponse plus fiable ou pour étudier les répercussions de la nouvelle proposition. la nouvelle proposition est reçue en prévision du remplacement de l’ancienne branche. Ces critères permettent de présenter un premier choix de placement de la branche au décideur. la nouvelle proposition sera placée à la suite de P1 (cas 1). la nouvelle proposition est placée en concurrence de P1 (cas 2). on peut essayer de placer la nouvelle proposition P2 à la suite de P1 (cas 1). Pour répondre au message. Dans ce cas. Mais. 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.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 . Cette adaptation peut éventuellement invalider certains CSP et donc certaines propositions. Si la conversation est conclue avec succès. d’autres critères peuvent faire intervenir la nature des centres impliqués ou des décisions. une causalité temporelle apparaît dans la prise de décision. • si P1 est issu d’une demande d’information et P2 fait partie d’une conversation pour engagement. • si les dates d’instanciation ou de gel des variables de P2 sont supérieures ou égales à celles des variables de P1.2 Début négociation d'une renégociation ou poursuite d'une Dans ce cas. la réponse que l’on donnera à P2 semble plus importante que la demande d’information. il faut évaluer le nouveau CSP créé (CSP4 sur la figure 87).5. En effet.

• peut être gérée partiellement automatiquement. Ici. Conclusion Nous avons proposé un ensemble de concepts pour aider un centre à prendre des décisions et à les négocier avec d'autres centres. IV. le suivi des conversations est facilité. Enfin. Pour cela. Pour un outil d'aide.Conclusion 119 IV. le décideur va transformer une hypothèse en proposition en la négociant avec les centres en aval. Le chapitre suivant s’intéresse à la mise en œuvre.5. Le fonctionnement est abordé au travers d’un schéma de type SADT. le décideur va générer des hypothèses et des solutions. Cette négociation aura pour but de transformer cette proposition en engagement.5. . une structure arborescente permet de représenter l’état d’un centre. 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. Une fois la préparation faite. En considérant les états que peuvent prendre les décisions. 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. une caractérisation des contraintes formalisables pesant sur un centre de décision a été proposée. Lors de la préparation des décisions. à travers la réalisation d’un prototype de logiciel d’aide à la décision distribuée. La structure du réseau est décrite par un graphe. • permet de suivre plusieurs conversations à la fois et d'étudier les répercussions quelles ont entre elles. 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. Ainsi. 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. différentes hypothèses peuvent être considérées. É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. la gestion de l'arbre ne peut pas être entirement automatisée. 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.6. Cependant. En particulier. Nous avons pu ainsi identifier les contraintes organisationnelles qui traduisent la structure et le fonctionnement du réseau de centres de décision. 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é.

.

les paramètres ou les contraintes qu’il peut remettre en cause. V. Il s’agit d’aider le décideur à gérer les conversations qu’il mène avec d’autres centres. Des renégociations peuvent en découler. Le reste du chapitre est consacré à un exemple en gestion multi-projets. Enfin. • à agir sous contraintes. 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. le décideur peut avoir : • à déterminer les degrés de liberté dont il dispose. En cas de manque d’autonomie. • coopérer. nous résumons les besoins que le décideur d’un centre peut exprimer. les domaines des variables de décision ou des paramètres. Le logiciel peut assister le décideur dans la représentation 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. Les besoins Les chapitres précédents nous ont permis d’identifier quelques besoins.1. Il s’agit de structurer les hypothèses faites par le décideur et sur lesquelles il s’est éventuellement engagé. De même.1. nous avons identifié des besoins pour : • modéliser et résoudre des problèmes. • prendre en compte la dynamique du processus de décision. Le décideur peut prendre des décisions qui seront communiquées aux centres en aval. contraintes binaires/n-aires).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. modèle linéaire/non linéaire. Le décideur peut être engagé dans plusieurs processus de coopération à la fois. une analyse de sensibilité. le décideur cherche à connaître les décisions.1. Des centres projets sont en compétition pour l’attribution de ressources gérées par des centres métiers. 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. • à agir sur les contraintes. En particulier. . Afin d’anticiper de futurs problèmes. Nous donnons les spécifications de l’application développée au travers de quelques diagrammes UML. V. les domaines des paramètres peuvent être négociés avec les centres en amont. Aide à la modélisation et à la résolution du problème Compte tenu d’un problème de décision. Tout d’abord. ainsi que dans les traitements associés. le décideur peut aussi négocier les domaines que prendront les variables de décision. • représenter et structurer le processus de décision.

Par exemple : • la date limite de prise de décision de certaines variables. • la date limite de réponse à un message. une proposition ou un engagement apparaissent dans l’arbre. destruction de variables). Cadre choisi Nous présentons ici le contexte de développement de l’application.1.2. De même. Par exemple. le décideur peut visualiser l’état du processus de décision. en phase de prise de décision.2.1. le système doit fournir au décideur une aide pour gérer sa boîte aux lettres (sélection. classement. Le décideur peut être prévenu lorsque certaines limites temporelles sont proches. V. l’ensemble des contraintes et des variables peut changer. gel. il peut voir le contexte d’une prise de décision (les hypothèses et engagements faits pour prendre la décision). 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. V. Le décideur peut chercher à savoir quels sont les centres à qui adresser un message (en fonction des variables contenues dans le message). nous utiliserons ces spécifications pour réaliser une application dans le cadre de la gestion de projets avec ressources partagées.). Prise en compte du temps Le problème de décision n’est pas statique. Afin de pouvoir répondre convenablement à un message. à la réception d’un message. se pose le problème du contexte dans lequel se placer. le décideur génère une hypothèse qu’il cherche à valider en la négociant avec les centres en aval. Le système de décision doit permettre de gérer les mécanismes de prise de décision périodique (création.4. le système peut remplir automatiquement certains champs du message de réponse et proposer à l’utilisateur un choix de réponses possibles. le respect des protocoles de communication.122 Réalisation d’un environnement d’aide à la décision et à la coopération V. Durant le processus de décision. etc. . Par exemple. Dans ces cas.1. Nous avons choisi un exemple de gestion de projets avec ressources partagées. Dans la suite. Aide à la coopération Dans le cas d’interactions asynchrones entre les centres. de nouvelles branches doivent être créées.3. des informations arrivent . V. début d’une conversation pour engagement. Aide à structuration du processus de décision Grâce à l’arborescence des modèles. inspiré d’un problème réel de gestion de projets (voir [DIDOM 2000] et l’exemple du chapitre 4 en gestion de projets). Le système doit permettre le suivi des conversations. 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. Par exemple. Au fur et à mesure.

La figure 88 représente le réseau de centres considéré ici. V. Tout au long de la semaine. Description du réseau de centres V.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). ai personnes sont affectées à un projet pour la réalisation d’une tâche i . Chaque projet et chaque métier sont gérés par un centre de décision. 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. La réalisation d’une tâche nécessite du personnel d’un des métiers. le centre projet donne les dates de début t ipm des tâches devant être réalisées la semaine suivante. Ils doivent définir les dates de début t i pour chaque tâche du projet. le personnel réalise les différentes tâches aux dates indiquées par t ipm .1.1. À partir de ce plan.2. 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). le centre métier définit le personnel à allouer a ipm aux différentes tâches. La durée de la tâche dépend du nombre de personnes allouées.2.2. À partir des dates échues et tous les vendredis.1. .Cadre choisi 123 Dans cet exemple.1 Structure du réseau de centres Deux centres projet ont en charge la réalisation d’un projet chacun. Chaque centre métier gère des personnes.

Les décisions concernant les dates échues dipm sont prises avant que le projet ne débute. Ces décisions sont renégociables jusqu’à une semaine avant d ipm . 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). 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. .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. 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.

∆ 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 . 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). ∆v la durée entre le début de semaine et le vendredi. on peut se demander si c’est tipm qui fixe les dates de décision dect ipm . semaine( 2 Janvier 2000 à 8 h) = 1). Les centres projets ont donc un méta-modèle de la forme : geld ipm ≤ dipm . de gel gelt ipm et de destruction dest ipm des variables ou si c’est l’inverse. 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). ∆ j la durée d’une journée et une fonction semaine qui. tipm est décidée avant le vendredi précédent sa mise en œuvre (5). à une date. Dans ce méta-modèle. si le décideur veut planifier une tâche pour une semaine.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. il faut qu’il le fasse pour le vendredi . Les variables tipm sont détruites une fois la décision mise en œuvre (9). La date de gel de tipm est la même que celle de aipm (3). associe le numéro de semaine (par exemple. En fait. (2) traduit que tipm est décidée avant aipm (et donc avant tipm et d p ).

L’horizon prévisionnel d’un centre métier correspond bien à deux semaines.2. L’équation (3) traduit que les variables aipm ne sont crées que deux semaines avant leurs mises en œuvre.2. 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. V. Chaque centre projet a comme variable de décision : • . Les paramètres d’un centre projet sont : • un ensemble de tâches θ p nécessitant des ressources partagées. 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. Le métier m est sollicité pour la réalisation de la tâche ipm . 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. Ces paramètres sont négociés avec le client. Modélisation du problème de décision de chaque centre V.126 Réalisation d’un environnement d’aide à la décision et à la coopération avant.2. • une gamme de fabrication définie par un ensemble de contraintes de précédence. Ce paramètre est une décision d’un centre métier. • 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. • la quantité aipm de personnel alloué à une tâche de θ p .2. Les tâches doivent s’exécuter dans un certain ordre : une gamme de fabrication existe.1 Les centres projets Chaque centre projet p doit gérer un projet. on retrouve le même type de contraintes que dans les métamodèles des centres projets. les dates de fin au plus tard des tâches d ipm . Ces paramètres sont des données (non négociables).

La consommation de personnel ne doit pas dépasser le nombre de personnes Am dont le centre dispose. Chaque tâche ipm fait partie du projet p (donnée). Le système d’aide doit interagir avec les différents décideurs. la quantité de personnel alloué à la tâche ipm Dans le paragraphe suivant. notamment celles concernant l’état réel du système à piloter. l’aspect statique est étudié au travers d’un diagramme d’objets. Puis. date de validité des messages. V. Ces paramètres sont les décisions des centres projets. • 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 .1. nous donnons les spécifications pour le système à la décision développé pour cet exemple. en anglais Unified Modeling Language (UML) qui permet de spécifier. L’annexe présente les diagrammes UML que nous utiliserons par la suite. Les données. les spécifications du système d’aide à la décision sont données. et documenter les artefacts des systèmes informatiques. conversations à trois. Les centres métiers Les centres métiers allouent une quantité aipm de personnes à une tâche ipm . V. • la quantité de personnel disponible : Am (donnée). Tout d’abord. sont collectées par le personnel et stockées dans une base de données. . Les variables de décision du centre sont : • aipm . visualiser. Les paramètres d’un centre métier sont : • l’ensemble des tâches qui nécessitent du personnel Ωm (donnée). Les dates de début sont négociées avec les centres métiers.3. • la date de fin de chaque tâche du projet : cipm .Spécifications d’un système d’aide à la décision • 127 la date de début de chaque tâche du projet : tipm . 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. Spécifications du réseau de centres de décision Dans ce paragraphe. construire.3. V. 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.3. Les dates de fin des tâches sont des variables privées des centres projet.

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). 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. 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. la décision est prise et la base de donnée est actualisée. 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 . Lorsqu’une décision est prise (et négociée). La figure 93 montre le déroulement d’une conversation pour engagement. Le décideur contrôle l’agent . De plus. Quand celle-ci réussit (le message « confirmer » est envoyé). la base de données est actualisée. celui-ci fournit une aide au décideur (voir la figure 92).

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.3. Par contre.2. l’agent métier 2 ne répond pas à temps au message. Tout d’abord. quelques . Ensuite. 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é. La figure 95 montre une conversation pour engagement où une décision est prise (la base de donnée est actualisée). les réponses des agents métiers ne parviennent pas simultanément. un diagramme de classes présente la structure statique des classes. 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). 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. réponse par défaut = accepter) accepter Dv confirmer proposer ( Dv : durée validité. réponse par défaut = accepter) confirmer écrire acquitter acquitter figure 95 : date de validité dans une conversation pour engagement V. Au cours de cette conversation.

2. Elle permet également d’envoyer un message.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.. engagement. Le gestionnaire de l’arborescence est chargé de gérer l’arborescence : les branches (hypothèses.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 . conversation * 1 * message 0. Le gestionnaire des communications est chargé de gérer les conversations et de faire l’interface avec les autres agents.1 * contrainte branche 0.3..1 Composition d’un agent Chaque agent est composé d’un gestionnaire des communications.1 IHM arborescence 1 * IHM modèle gestionnaire 1 communication IHM communication 1. solution) et les modèles. de gel et de destruction).. d’un gestionnaire de l’arborescence et d’un gestionnaire des variables (voir la figure 96). proposition.. 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. Quatre vues principales seront proposées : • une vue « communication » présente les conversations et leurs contenus.* 1 0. V. • 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. de décision. • une vue « arborescence » présente l’arborescence des branches et des modèles. Chaque agent propose également une Interface Homme-Machine (IHM).

nous ne représentons que les objets gestionnaires. La contrainte est une contrainte d’égalité ou de domaine. certaines variables de décision ont la date limite de décision proche. les interactions avec les autres objets composant un agent ne sont pas montrées (par exemple conversation). agent et base de données.2 et 3 sur le diagramme de collaboration de la figure 97). Ces variables de décision doivent être négociées avec un agent.2 comportement d’un agent Pour plus de clarté. . Lorsque la date limite de décision est proche. la classe modèle CSP représente un nœud de l’arborescence. elle correspond à un message.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. Le gestionnaire demande à l’IHM du modèle de prendre une décision concernant les variables. engagement ou solution). le gestionnaire des variables prévient l’utilisateur et demande au gestionnaire de l’arborescence de décider de variables (interactions 1. 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. on peut faire correspondre une branche (en particulier si le message contient des contraintes). la classe variable représente les variables considérées et permet de connaître les contraintes temporelles qui leur sont associées. Elle ne concerne donc qu’une variable. proposition. 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). À cette branche est associé un certain nombre de contraintes. actualise la base de données et demande au gestionnaire de l’arborescence de transformer la proposition en engagement. dans les diagrammes de collaboration qui suivent. De même. Le message est alors envoyé par le gestionnaire des communications à l’agent en aval concerné. 1) Date limite de décision proche Pour cet exemple. Chaque nœud possède une branche père (sauf le nœud racine).2. Celui-ci indique au gestionnaire des variables que la décision a bien été prise. 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). la classe branche représente une branche (hypothèse. le gestionnaire des communications envoie un message « confirmer » à l’agent en aval. À un message.3. Elle est composée de messages (classe message). Le gestionnaire des communications demande au gestionnaire de l’arborescence de transformer l’hypothèse en proposition. Si la branche est une proposition ou un engagement. IHM. L’agent en aval renvoie un message d’acquittement . la classe contrainte représente une des contraintes d’une branche. les interactions interface-utilisateur ne sont pas reportées sur les diagrammes. Chaque nœud peut avoir plusieurs branches filles. Ainsi. Si l’agent en aval répond par accepter et une fois que l’utilisateur est consulté. la conversation est terminée. V. Une fois que le décideur a pris une décision.

. 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. Une fois le message réceptionné et l’utilisateur prévenu. Si l’évaluation est bonne. un message d’acception est envoyé par le gestionnaire des communications à l’agent en aval.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. Celui-ci informe le gestionnaire des variables que certains paramètres ont été décidés. une proposition est créée dans l’arborescence et le message est évalué avec l’IHM du modèle correspondant. Une fois le contexte choisi au travers de l’IHM de l’arborescence. le gestionnaire des communications demande au gestionnaire de l’arborescence d’évaluer le message. Il s’agit de l’exemple précédent vu de l’autre agent.

.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. Puis. 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. De plus. 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 d’ajouter ou d’enlever des contraintes « dynamiquement » et de gérer plusieurs modèles simultanément (utile pour l’arborescence). on peut spécifier un temps à ne pas dépasser pour les optimisations. Ilog Solver permet de représenter un modèle CSP. nous décrivons quelques vues de l’interface graphique du logiciel. V.1.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.4. 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).

Grâce à un éditeur graphique.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. trois branches-modèles sont représentées. À chaque item. A105 = 2 . le prototypage de l’interface graphique est simple et rapide. Enfin. on a émis le message vers le centre adecico4. Ilog Views permet de créer une interface graphique portable sur plusieurs plateformes. . les bibliothèques que nous avons choisi d’utiliser offrent une interface écrite en C++.2. Nous avons choisi de développer le logiciel en C++ afin de faciliter l’interface avec les bibliothèques Ilog . De plus. proposition ou engagement) et le modèle qui tient compte de cette branche. engagement). par exemple. nous présentons la fenêtre permettant d’envoyer un message à un autre centre. Ici. Ici. Sur la partie gauche de la fenêtre se trouve l’arborescence. proposition. A103 = 2. metier2version2 est un engagement. 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. une deuxième les conversations dans lesquelles le centre est impliqué. il s’agit des contraintes A101 = 2. L’interface graphique Afin d’illustrer les concepts de cette thèse. C++ est un langage de programmation orienté objet. Les renseignements concernant la branche sont : • son état (hypothèse.4. V. 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. • les contraintes associées à la branche.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. • 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). Cette bibliothèque permet également de créer des diagrammes de Gantt interactifs.4. de construire une nouvelle hypothèse. se trouvent des renseignements sur la branchemodèle sélectionnée. 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. Ici. Ces deux bibliothèques permettent en outre de définir nos propres règles de propagation de contraintes ou algorithmes de recherche. on fait correspondre à la fois une branche (hypothèse.2. En effet. Dans l’exemple présenté ici. • une date de validité qui correspond normalement à la date de validité du message associé à la branche. À partir de cette fenêtre. Ce dernier produit permet de définir explicitement des ressources et des tâches tout en bénéficiant d’algorithmes spécialisés.

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

Dans notre cas (création d’une conversation).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). • montrer quelle est la branche de l’arborescence qui correspond à un message.136 • Réalisation d’un environnement d’aide à la décision et à la coopération créer une réponse à un message. Les champs sujet. Dans ce cas. Dans le cas de la figure 101. il faut que la branche correspondante au message soit modifiée. Le décideur ne peut pas modifier le champ émetteur. En cas de création d’une nouvelle conversation. Le décideur peut spécifier des commentaires. il faut qu’une conversation soit sélectionnée et que l’émetteur du dernier message de la conversation ne soit pas ce centre. Ce champ est totalement libre et n’est pas interprété par l’application. la branche peut ne pas exister encore. les seuls choix possibles sont DemanderSi. Le décideur peut choisir le type de message. toutefois le décideur peut modifier cette liste de noms. Pour que ces deux boutons soient actifs.2. . figure 100 : la fenêtre des conversations V. une branche de l’arborescence passe de l’état Proposition à l’état Engagement. DemanderDomaine et Proposer.4. Pour que ce bouton soit actif. Par exemple. Le champ contenu est une liste de contraintes ou de variables (messages DemanderDomaine). Le champ récepteur est rempli en fonction du contenu (des variables qui apparaissent dans contenu) . 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). il faut qu’une conversation et un message soient sélectionnés. une fenêtre présente les différents champs du message que le décideur peut remplir. si le message est de type confirmer. Si le décideur décide d’envoyer le message. le décideur doit indiquer dans quel contexte placer la branche et indiquer le nom de la branche. il s’agit de la création d’une nouvelle conversation.

5.Conclusion 137 figure 101 : la fenêtre de création d'un message V. nous avons présenté l’application que nous avons développée pour tester notre approche. . dans la gestion du processus de décision et dans la prise de décision. le logiciel aide le décideur dans la gestion des coopérations. La nature dynamique du processus de décision est prise en compte. Conclusion Dans ce chapitre. À l’aide de plusieurs fenêtres.

.

le centre destinataire peut participer ou initier des négociations. Ce travail privilégie toutefois l'étude de la dynamique des interactions au sein de tels réseaux. 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. contraintes de workflow). 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 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. Ils sont basés sur le formalisme général des CSP (problèmes de satisfaction de contraintes). afin d'assurer la cohérence des décisions vis à vis d'objectifs globaux définis au niveau du réseau. refus. De plus un mode particulier de coopération a été étudié. 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). Ce travail s'inscrit dans la continuité de travaux antérieurs basés sur une approche par contraintes pour l'aide à la coopération. on suppose donc pré-établis : la structure du réseau de centres de décisions qui modélise une organisation donnée. plus riches mais plus complexes que la simple transmission d'informations. acceptation. les conversations pour engagement assurent la prise de décision effective ou éventuellement la révision de décisions. en particulier pour modéliser la structure des organisations ayant en charge des problèmes de gestion du temps et des ressources. En plus des contraintes procédurales qui régissent les interactions entre plusieurs centres (ex : décision en temps contraint. les modèles génériques des problèmes de décision posés en chaque centre. …) qui sont acheminés par un système de messagerie (communication par boîtes aux lettres).Conclusion Ce travail aborde le problème de la décision distribuée dans le domaine de la gestion du temps et des ressources. de plus lorsqu'une valeur leur est affectée. Cependant. D'une part l'ensemble des variables peut évoluer à certaines dates (création/destruction) . Elle permet une coordination plus dynamique mais suppose de véritables communications entre décideurs. celle-ci peut avoir le statut d'hypothèse (non communiquée ou communiquée) ou d'engagement. 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 mode asynchrone : les conversations sont constituées d'ensembles de messages typés (exemple : demande. . La dynamique apparaît dès lors que l'on associe plusieurs états aux variables de décision. Ainsi la présence d'un arc sur le réseau autorise en fait des échanges bi-directionnels entre les centres. Il en reprend un certain nombre de concepts et d'hypothèses.

En particulier. 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. filtrage. 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 . où leurs décisions sont inter-dépendantes. une aide à la coopération. fusion de nœuds. en chaque centre et à un instant donné. lorsqu’un centre d’ordonnancement cherche à déterminer si une nouvelle opération peut être insérée dans le plan. qui évoluent selon le contenu des conversations qui confirment ou infirment certaines hypothèses. où un centre est à la fois en amont et en aval d’un autre centre et. Dans certains cas. Au problème de décision statique. s’ajoute celui de la gestion dynamique de cette arborescence. 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. Différents prolongements de ces travaux peuvent être envisagés. prise en compte des aléas et opportunités). Les cas. Par exemple. Ainsi. Dans le cas où un modèle s’avérerait inconsistant. qu'en chaque centre il n'existe pas un modèle statique unique mais plusieurs. branchements). Il résulte de cette dynamique. ce qui évite toute ambiguïté d'interprétation et autorise un traitement partiellement automatisé (édition. 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. une aide à la représentation du processus de décision et prendre en compte la dynamique du processus de décision. dans ce cas. 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 . il doit fournir une aide à la décision locale. dans l’application retenue au chapitre V.140 Conclusion La formalisation des conversations se traduit par l'utilisation de types de messages prédéfinis. La notion d'hypothèse se traduit par l'ajout d'une ou de plusieurs contraintes pour un ensemble de variables donné. 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. doivent faire l'objet d'une analyse plus approfondie. 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. 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. 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é. Par exemple. 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. classement …). 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).

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). 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. La validation de cette étude descendante aurait nécessité une expérimentation dans un cadre industriel réel. .Conclusion 141 inverse où elles ont été posées.

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

7th Mini Euro Conference Decision Support System. RIDE-VE. [Ephrati et al. [Esquirol et al. 246-257. Sydney.fipa. In : l’entreprise communicante. Approche par contraintes en planification et ordonnancement de la production. [Favrel 98] Joël Favrel. pp. Rosenschein. [Espinasse et al. Erwan Tranvouez et Alain Ferrarini. Fontan Gérard et Mercé Colette. 1997. In : l'encyclopédie du management. 1999. Montréal. Hermes. no 6. Foundation for Inteligent Physical Agents (specification). mai 1999. 99] Bernard Espinasse. mars 1997. In 3ème congrès international de génie industriel. . and cybernetics. no 6. Revue d’intelligence artificielle. MCPL2000. 93] Erschler Jacques. pp. vol 23. no 3. pp. 1993.fr. InterEditions. vol 27. 14911502. A more realistic [DIDOM 97] DIDOM. [FIPA 99] FIPA. 239-267. groupware multimedia and electronic commerce. 1999. APII. [Dupuy 92] Yves Dupuy. disponible sur demande à espinas@unix05. [DIDOM 00] DIDOM. 1998. 1993] Garvey Alan J. 669-695. 423-429. [Ferber 95] Jacques Ferber. Economica. et Lesser Victor R. France. 1993. [Erschler et al. Les organigrammes de structure organisationnelle. 24-27 March. 1995. Bruges. Vol 9. Les systèmes multi-agents : vers une intelligence collective. [Garvey et al. 1993. man. Les algorithmes d’arc-consistance dans les CSP dynamiques. 93] E. Design-to-time real-time scheduling. [Debruyne 95] Debruyne Romuald. 1992. Australia. IEEE Transactions on systems. pp. L’entreprise virtuelle : un essai sur l’état de l’art. À paraître dans Journal of Decision Systems.Bibliographie 145 workshop on research issues on data engineering: information technology for virtual enterprises. Bruges. The analysis of distributed decision in an industrial context. http://www. In 7th mini EURO conference on decision support systems.org/ 1997-1999. [Espinasse et al. Vuibert. Claude Foulard (Ed). 99] Patrick Esquirol et Lopez Pierre. In IJCAI93. Résolution coopérative et distribuée de problèmes : application multi-agents au réordonnancement d'atelier. Multi-agent planning as a dynamic search for social consensus. 1995. Ordonnancement d'atelier coopératif et réactif : une approche multi-agents.u-3mrs. Planning by repairing and cooperation : approach to multi-project management. 97] Bernard Espinasse et Erwan Tranvouez. Ephrati et JS. L’ordonnancement. pp. 2000.

pp. et Gilad Zlotkin. 1997. Mixed task scheduling and ressource allocation problems. Traitement des problèmes de satisfaction de contraintes distribués. 2nd International Workshop CR-AI-OR’00. 1974. [Kraus et al. Économica. La maîtrise des coûts. [Kim et al. pp. and inventory control.J Johnson et D. pp. Gilbert De Terssac et Nicole Lompré. Negotiations over time in a multi-agent environment : preliminary report. Recherche opérationnelle. 1998. 5. 1994. Coordination technology for collaborative application. Concepts et outils pour les systèmes de production. [Hamadi 99] Hamadi Youssef. [Huguet 94] Marie-José Huguet. 95] Sarit Kraus. In 12th International Joint Conference on Artificial Intelligence (IJCAI-91). . Giard. 75. pp. Wolfran Conen and Gustaf Neumann (eds). 235-253. Allemagne. 91] Sarit Kraus et Jonathan Wilkenfeld. [Gotha 93] Gotha.C. pp. 1995. Practical experiences and requirements on workflow. 145-160. Planification hiérarchisée avec agrégation du temps. scheduling. 1993. Concurrent Engineering. [Kraus et al. Thèse de doctorat. INSA de Toulouse. Journal of Logic Programming. Programmation linéaire : modélisation et mise en œuvre informatique. 74] A. Computer Supported Cooperative Work. [Hennet 97] Jean-Claude Hennet. Thèse de doctorat. no 1. 1993. Multiagent negotiation under time constraints. 1993. 297-345. Processus productifs et programmation lineaire. 1364. 1998. Approche par contraintes pour l’aide à la décision et à la coopération en gestion de production. 93] Jean-Louis Imbert.146 Bibliographie [Giard 88] V. Hermes. Mars 2000. [Huguet et al. 1996. 56-61. Jacques Erschler. 00] Marie-José Huguet et Pierre Lopez. [Jacquet-Lagrèze 98] Eric Jacquet-Lagrèze. Artificial Intelligence. Wiley. [Imbert et al. 96] Marie-José Huguet. Operations research in production planning. 267-284. [Johnson et al. 1991. Les problèmes d’ordonnancement. An algorithm for linear constraint solving : its incorporation in a prolog metainterpreter for CLP. Montgomery. New York. [Hétreux 96] Gilles Hétreux. [Jagou 93] Patrick Jagou. vol 27. 77-150. Springer. Cépadues éditions. 98] Kwand-Hoon Kim et Su-Ki Paik. université de Montpellier 2. 1999. des délais et de la qualité. Jonathan Wilkenfeld. Economica. Negocitions based on contraints in cooperation. 1996. Jacques Cohen et Marie-Dominique Weeger. [Huguet et al. pp. 1988. INSA. Thèse de doctorat. vol 16.

pp. vol 16. Luc Haudot. In Application and Theory of Petri Nets (ICATPN’97). [Le pape 94] Le Pape Claude. 27-42.). Introduction à la linguistique contemporaine.edu/kqml/. pp. Sapina.Desrochers. 1287-1315.cs. 334-339. 2000. 93] J. N°5. OMG Unified Modeling Language Specification. Hermes.edu/ccc/ca/aaai97. A testbed for the evaluation of multi-agent communication and problem-solving strategies. Interval Computation as deduction in CHIP. 97] Jacques Moeschler et Antoine Auchlin. [Maggi el al. Juin 1999. 255-276. Inc. H. 1994. Van Emden. Multi-Agent systems based on coloured Petri Nets. 2ème congrès international francoquébécois : le génie industriel dans un monde sans frontière. Ed. Vol. Monateri et M.-Ch.html.447-452. Morgan Kaufman publishers. Patrick Esquirol et Marc Sicard. [Nurcan 96] Selmin Nurcan.Bibliographie 147 [Labrou et al. Albi. [Lasserre et al. In AAAI-97 Worshop on constraints and agents (American Association for Artificial Intelligence). Production synchrone et relations contractuelles : enjeux organisationnels et économiques. 15(9). 1997. [Mammen et al.cs. [Molet 89] Hugues Molet. Presses Universitaires de France. 1989. . [Monateri 97] J. 96] Pierre Lopez. disponible sur http://www. 00] Bruno Maggi et Roberto Albano. 85] Jean-Bernard Lasserre et François Roubellat. [Lopez et al.com/. http://www. Alan A.M. 1997. IEEE Computer Society Press. [Lamia Friha et al. Springer. 1997. 97] Dorothy L. 1990. 97] Daniel Moldt et Frank Wienberg. Revue d'intelligence artificielle. [Moeschler et al.H.30. Mai 1985 et Modeling and Control of Automated Manufacturing Systems. pp. Technique et science informatiques. pages 82-101. [OMG 99] Object Management Group. DISA : a distributed scheduler using abstractions. 1997. 97] Yannis Labrou et Tim Finin. Lee et M. Scheduling as intelligent control of decision-making and constraint propagation.umbc.unh. grenoble. 1997. IEEE Transactions on Automatic Control. La théorie de l’Action Organisationnelle. Mammen et Victor R. disponible sur http://www. Journal of Logic Programming. Analyse et conception de systèmes d'information coopératifs. 11(1). In intelligent scheduling. [Moldt et al. Measuring decision flexibility in production planning. 1993. A proposal for a new KQML. France. pp. 1997. 1996. 5ème congrès international de génie industriel. Conception d’un système coopératif en ordonnancement de production : une approche pluridisciplinaire.rational. pp. Armand Colin. La nouvelle gestion de production. In : le travail d'organisation (G de Terssac Ed. 1996. [Lee et al. 97] Pauline Berry Lamia Friha et Berthe Choueiry. Lesser.

pp. [Sam-Haroud et al. 5:201-222. 98] Kyung Hye Park et Joël Favrel. no 46. [Schael 97] Thomas Schael. Octares. http://www. France Télécom. Un modèle de gestion de projet appliqué à l'entreprise manufacturière. . Rules of encounter. Lesser. Matthew Anderton. [Sadek 94b] David Sadek. 43-50. 94:99-137. 97] Thomas W. Computer Supported Cooperative Work. Business Week. Interactions utilisateurs-services : de l'ergonomie des interfaces à l'agent intelligent dialoguant. pp. 1995. [Shepard 97] Stephen B. Granado. 1996. [Sadek 96] David Sadek. [Rosenschien et al. pp. Théorie et pratique du workflow : des processus métier renouvelés. [Pitt et al. 1994. Brazil. IEEE Transactions on Computers. octobre 1996. et Jim Cunningham. 94] Jeffrey S. In systèmes coopératifs : de la modélisation à la conception (Bernard Pavard). 1994. 1994. [Schweyer 96] Bettina Schweyer. In AAAI-94 Worshop on Planning for interagent communication. [Smith 80] Reid G. The contract net protocol : high-level communication and control in a distributed problem solver. Technical Report 8. Enterprise modelling for competitive manufacturing. [Straub et al. 96] Pablo A. no 1-2. [Sadek 94a] David Sadek. Coalitions among computationally bounded agents. The Mit Press. 93-117. 85-118. Université de Savoie. vol. 1997. [Sandholm et al. [Rolstadas 95] A. Rosenschien et Gilad Zlotkin. Communication theorie = rationality principles + communicative acts models.htm. Algorithmes de graphes. Attitudes mentales et fondements du comportement coopératif. 96] Sam-Haroud Djamila et Faltings Boi. 1996. Shepard. thèse de doctorat. 1. Control Engng Practice. Straub et Carlos Hurtado L.148 Bibliographie [Park et al. 1998. pp. 1997. 5th IFAC Workshop on Intelligent Manufacturing Systems (IMS98). 1996. 1997. Consistency techniques for continous constraints. 31. Constraints. Sandholm et Victor R. The new economy: what it really means. In Symposium on Discrete Events and Manufacturing Systems CESA’96. Eyrolles. Décembre 1980. Normalized interactions between autonomous agents. Int J. 704-709. Artificial Intelligence. 1996. Springer.com/1997/46/b3553084. 29(12):1104-1113. Rolstadas. Smith. [Prins 94] Christian Prins. Business Process Behavior is (almost) free-choice. Virtual enterprise – organization and information technology infrastructure. 96] Jeremy Pitt.businessweek. 1994.

[Vernadat et al. European Journal of Operation Research. [Winograd et al. no 3. 1996 . Jean-Pierre Treuil et Suzanne Pinson. 1987. 1996. 96] Zilberstein Shlomo et Russel Stuart. vol 82. 86:195-244. 611-619. [Vercouter et al. 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. 99] François Vernadat et Pierre Azéma.J. Mechanism design for automated negotiation. Information modelling for made-to-order virtual enterprise manufacturing systems. 3(1). 9. 1995. octobre 1997. Artificial Intelligence.Bibliographie [Teghem 96] Teghem Jacques. pp. and its application to task oriented domain. Neville Moray et Christian Tahon. [Trentesaux et al. [Verfaillie et al. 99] W. 342-361. Optimal composition of real-time systems. Montreal. 109. 1999 [Zilberstein et al. High level Transition systems for communicating agents. [Zlotkin et al. 98] Damien Trentesaux. 1998. Understanding computers and cognition. vol. Résolution coopérative et distribuée de problèmes : application multi-agents au réordonnancement d' atelier. Bernard Espinasse et Alain Ferrarini. Simulation multi-agent des processus de négociation en ergonomie : un exemple de gestion locale sous contrainte collective. 99] Laurent Vervouter. Addison-Wesley. 96] Gilad Zlotkin et Jeffrey S. pp. Éditions ellipses. Human-Computer Interaction. 1999. pp. Integration of the human operator into responsive discrete production management systems. Nathalie Franchesquin. Artificial Intelligence. 1996. [Trentesaux 97] Damien Trentesaux. 181201. Zhang et Q. A language/action perspective on the design of cooperative work. Maintien de solution dans les problèmes dynamiques de satisfaction de contraintes : bilan de quelques approches. 1987-1988. Computer-Aided Design. 149 [Tranvouez et al. 87] Terry Winograd et Fernando Flores. Rosenschein. pages 181-213. Programmation linéaire. pp. 31. juillet 1999. [Zhang et al. [Winograd 88] Terry Winograd. Rapport LAAS N°98007. Cahiers du LAMSADE no 115. Li. Revue d’intelligence artificielle. 99] Erwan Tranvouez. 3-30. In journées du Groupement de Recherche en Productique. pages 269-309. 3ème congrès international de génie industriel. 95] Gérard Verfaillie et Thomas Schiex. 1999.

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

. Les attributs. agrégat 0... . La composition est un cas particulier d’agrégation. Elle exprime le fait que les éléments d’une classe soient décris dans une autre classe. opérations et associations sont hérités par les sous-classes. 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.* une classe super-classe composition bidirectionnelle 1. personne 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.. Il s’agit de l’association correspondant à la contenance .* passager conducteur 1 conduit moteur > 0.. La tête de la flèche est caractérisée par un triangle vide. une personne ne peut conduire au plus qu’une voiture et n’être passager qu’au plus d’une voiture. 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.* 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.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).1 0. Les breaks.1 agrégation unidirectionnelle 0. Une voiture est conduite par une personne et peut transporter de 0 à plusieurs passagers. De plus. les décapotables et les berlines sont des voitures (spécialisation de voiture)..

Le diagramme possède un axe des temps dirigé du haut vers le bas. les flèches sont alors obliques.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. les relations entre objets sont notées par un trait qui relie les objets. 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. on associe des barres verticales en pointillé appelé « ligne de vie » de l'objet (voir la figure 106). 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 représente ces messages à l’aide de flèches le long des liens. Lorsque le message possède un temps de propagation non négligeable. Les messages sont représentés par des flèches horizontales orientées de l'émetteur vers le destinataire. La figure 107 représente un exemple de diagramme de collaborations qui correspond au diagramme de séquence de la figure 106. L’ordre des messages peut être indiqué en mettant une numérotation devant chaque message. . Chaque objet est représenté par un rectangle avec le nom de l’objet souligné à l’intérieur (voir les diagrammes de classes). les diagrammes de collaborations Les diagrammes de collaboration permettent la représentation spatiale des objets. Les objets communiquent entre eux par envoi de messages. des liens et des interactions.

.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. Ils correspondent à un diagramme de collaboration simplifié. sans représentation des envois de message. les diagrammes d’objets Les diagrammes d’objets sont la représentation des objets et de leurs relations.155 V.

This set evolves as the centers are negotiating and as some new data. production 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. ce qui évite toute ambiguïté d’interprétation et autorise un traitement partiellement automatisé. A test software allow us to give some specifications that a decision and cooperation support system must implement. décision distribuée. 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. proposition. Nous avons étudié le mode asynchrone de la coopération. The hypotheses made in a center allow to elaborate preliminary decisions. propagation de contraintes. gestion de projet). We propose distributed decision and cooperation support tools. . Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes permettent. which confirm or not the hypotheses. several status of the decision (hypothesis. The decisions of one center are parameters of some constraints that others centers must respect. appear. processus de décision. and commitment) must be considered. aide à la coopération. decision process. propositions et engagements) doivent être considérés. On the static decision problem associated to a given model. approche par contraintes. La formalisation des conversations se traduit par l’utilisation de messages prédéfinis. Si. 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 use of predefined conversations and messages avoid some misinterpretation and allow a partially automated treatment. constraint approach. d’évaluer la consistance de ces différents modèles. gestion de projet. Mots clefs : aide à la décision. De ce fait. Notre objectif est de proposer aux décideurs des outils d’aide à la décision et à la coopération distribués. Thus. a priori. Keywords: decision support. project management. Au problème de décision statique associé à un modèle donné. In a center and in a given time. 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. plusieurs statuts de la décision (hypothèses. 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. gestion de production. cooperation support. le processus de prise de décision en un centre est indissociable des processus de coopération entre centres. If the different decision processes are not strictly linked. The decisions are distributed along a network of decision centers. s’ajoute celui de la gestion dynamique d’un ensemble de modèles et d’hypothèses. the decision process in one center is indissociable with the cooperation process with others centers. entre autres. constraint propagation. there is the dynamic management of a set of hypotheses and models. The consistency of the local problems and the obtaining of solutions are provided by analyzing and solving tools based on constraint propagation. de fournir des solutions prévisionnelles. We study the asynchronous mode of the cooperation. Les hypothèses faites en un centre permettent d'élaborer des décisions prévisionnelles mais rendent celles-ci conditionnelles. aucun enchaînement strict n'est supposé entre les différentes prises de décision. 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. En chaque centre et à un instant donné. Decision and cooperation support in time and resource management Abstract: This work is focused on time and resource management (production management and project management). distributed decision.

Sign up to vote on this title
UsefulNot useful