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 .

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

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

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

.

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

Nous avons intégré ces travaux dans la recherche que le groupe DIDOM mène dans la domaine de la gestion multi-projets. Enfin. Nous concluons enfin sur l'émergence d'une forme d'interaction favorisant une plus grande autonomie des décideurs. 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). 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. DIDOM (Distribution des Décisions dans les Organisations Matricielles) est un partenariat entre plusieurs laboratoires (CERT. nous examinons les différences qui existent entre des notions proches telles que la coopération. l’approche par contraintes pour la coopération dans les problèmes de gestion du temps et des ressources. notamment dans le cas de la gestion de projet et de la gestion de production. de plus ces modèles évoluent avec le temps. IRIT et LAAS) et un industriel. d’évaluer la consistance de ces différents modèles. Des outils d’analyse et de résolution des problèmes locaux basés sur des mécanismes de propagation de contraintes permettent. 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. qui s’intéressent à l’intelligence émergent d’un système artificiel défini comme une société d’agents coopératifs. CERTOP. Dans un premier temps.8 Introduction leurs hypothèses et par leur niveau d’instanciation (le nombre et la nature des décisions fixées) . consistance. et la réponse qu'elles tentent d'apporter par une plus grande distribution des décisions. Différents traitements peuvent être envisagés à l'aide de mécanismes de propagation de contraintes. le « workflow ». 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 reste du mémoire est organisé de la façon suivante. Le troisième chapitre présente les modèles et les techniques d’analyse et de résolution des problèmes en un centre. essentiellement la coopération. robustesse. entre autres. Tout d’abord. Pour cela. Au problème de décision statique associé à un modèle donné. différentes structures organisationnelles sont comparées. Le second chapitre s'intéresse donc naturellement à préciser le sens que nous donnons à la coopération pour la prise de décision. 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 coordination et la négociation. Le travail présenté dans ce mémoire tente d'apporter une contribution à ce deuxième type de recherche. . explicitation de marges. 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. s’ajoute celui de la gestion dynamique d’un ensemble de modèles et d’hypothèses. 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. etc. Ensuite. 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. selon le choix des variables et des paramètres instanciés ou laissés libres avant propagation : résolution. nous présentons l’approche dans laquelle nous nous inscrivons. de fournir des solutions prévisionnelles. La coopération a été également abordée dans les travaux relatifs aux systèmes multi-agents.

Enfin. Nous concluons enfin sur le travail ultérieur qui mériterait de compléter notre étude. Différentes hypothèses. Dans un premier temps. 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. nous détaillons les aspects temporels de la prise de décision (décision et négociation en temps limité. nous proposons des protocoles de communication entre centres permettant aux centres de coopérer. propositions et engagements ainsi que les déductions qui peuvent être inférées caractérisent ce processus à un instant donné. ainsi que les techniques et langages employés pour réaliser ce logiciel. 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. prise de décision périodique). . nous nous intéressons au problème de la représentation de l’état du processus de décision en un centre.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. L'exemple choisi concerne la gestion multi-projet. Le cinquième chapitre présente le logiciel que nous avons développé pour tester notre approche. Ensuite. selon une arborescence de modèles.

.

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

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

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

Dans un premier temps. Leur analyse nous permettra de cerner comment la distribution des décisions est abordée. à la fois dans la structure et dans son fonctionnement. nous allons voir quelques définitions sur l’organisation et des structures organisationnelles. mis en relation. les responsables se penchent sur les relations durables entre les individus et certaines composantes. Définitions Le concept d’organisation recouvre de façon indissociable l’action d’organiser et le résultat de cette action. tout en mettant en œuvre le projet d'entreprise (voir figure 4). on s’intéresse désormais à ceux qui peuvent affecter son organisation.1. La structure décrit la manière dont les différents organes et individus de l’entreprise sont agencés. I. la structure (voir le Larousse 97. Les décisions portent sur la définition des responsabilités et sur les règles qui régissent la prise de décision.3) a permis de normaliser les relations donneurs d’ordre/sous-traitants. l’apparition des normes internationales ISO9000 (1. La certification ISO9000 d’une entreprise est un label de qualité basé sur une démarche volontariste. Les structures organisationnelles Afin de limiter l’influence d’un environnement changeant et incertain et de mettre en œuvre le projet d’entreprise.2. Dernièrement. Ils définissent l’organisation. I.2.2.16 Décision distribuée en gestion du temps et des ressources qualité. 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 peut distinguer plusieurs types de relations : • la communication informelle qui permet l’ajustement mutuel et donc l’exercice des pouvoirs réciproques de persuasion. . [Schweyer 96 ] et [Maggi et al 00]).

ni les moyens.Les structures organisationnelles • 17 les relations hiérarchiques qui supportent l’intervention directe de certains organes dans le travail des autres. 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). La structure organisationnelle est donc un puissant support d’unification. Plutôt que de chercher à maximiser son utilité. • la répartition des compétences qui définit un réseau de pouvoirs expertaux et détermine la standardisation des tâches. de répartition et de contrôle des tâches à réaliser pour atteindre les finalités de l’organisation. Les structures hiérarchiques simples La hiérarchisation organisationnelle exprime. Le mécanisme de hiérarchisation se développe dès que la complexité organisationnelle atteint un niveau suffisant. cité dans [Dupuy 1992]). il cherche des solutions suffisamment bonnes ou satisfaisantes. de coordination et donc de survie de l’organisation en fonctionnement (de Mintzberg.2. Cette rationalité est intentionnelle et limitée. Les différentes composantes restent relativement indifférenciées.2. examinons quelques structures organisationnelles caractéristiques. 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. le décideur n'a pas la connaissance complète et il ne choisit jamais la meilleure alternative. 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. et souvent formalise. On a donc la mise en acte d’un ordre. I. c’est-à-dire des normes qui en régissent l’exécution. En effet. c'est-à-dire une forme d’agir rationnel » (tiré de [Maggi et al 00]). L’action organisationnelle est « un agir qui met en relation […] les moyens par rapport aux fins. les décisions ne sont jamais prises dans des conditions de certitude. Selon ce schéma. . Le Tableau 3 (emprunté à [Maggi et al. orienté vers un but. 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. La commande est ici entendue au sens large de conception. ni les fins ne peuvent être considérés comme absolument rationnels .

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

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

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

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

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

Cette problématique se rencontre dans les ateliers (par exemple usinage). la construction aéronautique et spatiale. est composé d'un grand nombre de tâches à réaliser. La complexité n'est pas intrinsèque à un projet mais à la coordination de différents projets . tant au niveau de la demande que des processus de fabrication. dans les activités de service ou dans les problématiques multi-projets. la répartition des ressources est au cœur de la problématique. le projet. La gestion de production se rapporte à la réalisation de produits dont la variabilité. Les commandes peuvent être nombreuses et chaque commande joue le rôle d'un nouveau projet. Habituellement. 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. on distingue deux problématiques : la gestion de projet et la gestion de production.3. en génie logiciel). mais aussi. 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. L'ensemble des ressources est mobilisé sur une période de temps assez grande. très peu récurrent voire unique. Dans le premier cas. . etc. pose des problèmes d'organisation. 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 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. les ouvrages publics. la conception et la réalisation de nouveaux produits (en automobile. 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écisions se prennent à long terme (2 à 5 ans) par la direction (portefeuille d’activités. À ce niveau. cette hiérarchie obéit à un modèle de résolution de problème. la gestion de production met en place une structure hiérarchisée fonctionnelle.).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. étant donné un ensemble de produits dont les caractéristiques technico-commerciales évoluaient peu. En effet.1. pendant très longtemps. spécialisés et liés hiérarchiquement (voir un exemple sur la figure 13). l’affectation des ouvriers. durée importante figure 12 : gestion de projet et gestion de production I.. toute l’organisation de l’entreprise est structurée par fonctions ou services. etc. La gestion de production « classique » Classiquement. investissement). 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). . concurrence faible . En fait.3. • Le niveau opérationnel régit en détail la fabrication proprement dite. • Le niveau tactique assure la gestion du travail et des moyens de production dans le cadre des décisions stratégiques. l’objectif principal a été la recherche d’une très grande efficacité de l’outil de production. Il définit par exemple le séquencement et l’ordonnancement des opérations de fabrication sur les moyens de production. La coordination au sein de cette structure s’exerce a priori par un contrôle vertical (hiérarchique). 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 genre de structure a besoin d’un environnement relativement stable (demandes régulières. À ce niveau. le réordonnancement temps réel ou le lancement. les décisions sont prises à court terme (jour ou semaine) par des services comme l’ordonnancement quotidien. Généralement.

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

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. Elle ne peut se mettre en œuvre que si la structure de l’entreprise est rapidement reconfigurable. diversifient leurs activités et leurs produits. Les tendances actuelles DG figure 16 : chef de projet en tant que directeur (forme matricielle) Ces dernières années. 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) .1).3. les entreprises. face à un environnement de plus en plus concurrentiel et fluctuant (voir le paragraphe I.3. Cette diversification permet de compenser une baisse de marché sur un produit par une hausse sur un autre produit.

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

.

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

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

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

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

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

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

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

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

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

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

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

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

réunion et compte-rendu.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. Les ICN permettent de représenter les activités.3.2. prise de rendez-vous. les procédures. 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. Ainsi. un exemple de représentation de conversation est montré sur la figure 28. les acteurs et le contrôle des activités. 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.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. .

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

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

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

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

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

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

la plupart des concepteurs se basent sur une modélisation de l’agent. et selon quelle stratégie. Quelques approches dans les systèmes multi-agents II. Au bout d’un certain temps (ou quand tous les agents ont répondu). 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. Les transitions correspondent soit à des synchronisations dues à la réception de messages soit à des conditions d’application des actions. l’initiateur retient la .4. dont les places correspondent aux états internes de l’agent.3. 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). 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. en particulier ils se basent sur une modélisation du raisonnement des agents. quand communiquer. les états internes des deux agents et leur comportement. il émet un appel d’offre sur le réseau.1 Approches générales Pour savoir quoi. Pour une description plus détaillée ou une bibliographie plus importante.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. 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. Nous allons voir très rapidement quelques approches. on pourra voir [Ferber 95] ou [Kraus et al. L’intérêt des réseaux de Petri est de pouvoir représenter à la fois les échanges entre agents. les récepteurs évaluent l’appel et répondent en faisant une offre. 95] et même [Bond et al.3. Chaque agent est décrit par un sous-réseau de Petri.4.

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

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

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

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

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

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.54 Formalisation de la coopération – l’approche par contraintes II. 96]). Ainsi. 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 .5.2. La figure 38 montre un réseau de centres résultant d’une analyse sur site industriel (présenté dans [Huguet et al. 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).

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

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

La prise de décision correspond à l’instanciation d’une ou plusieurs variables de décision.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. Ce sont les décisions prises par les centres situés en amont.) qui limitent les valeurs admissibles des variables. les décisions peuvent être de plusieurs types (quantités de produits à réaliser. • non modifiables. inéquations. Un outil peut aider le décideur à construire des décisions en faisant participer partiellement ou totalement le décideur. Ce modèle permet de caractériser le fonctionnement du centre. On distingue les variables de décision communiquées et négociées avec d'autres centres. 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). Cet outil d’aide peuvent s’appuyer sur une utilisation élargie d’outils classiques déjà existants (par exemple. affectation de ressources…). En plus des variables de décision. Le modèle de fonctionnement d’un centre est exploité : • par un processus déductif. ..1. en considérant certaines variables comme des données). 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. • par des techniques de résolution permettant d'obtenir une solution au problème.1. 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. ou une estimation de celles-ci. ensembles conjonctifs ou non conjonctifs de relations . Il peut également être utile lors des négociations avec d’autres centres. Enfin. des variables de décision privées.. Modèle général associé à chaque centre III. l’outil peut fournir aux décideurs des pistes quant aux décisions et/ou paramètres à remettre en cause. des contraintes relient entre elles ces variables. les contraintes du modèle font intervenir des paramètres : • modifiables. Variables. dates de début de fabrication. Outre les variables de décision. en évaluant des propositions faites par d’autres centres et en générant des propositions.1. De plus. III. Il s’agit de relations formelles (équations linéaires ou non linéaires. 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. l'analyse sous contraintes (ASC) permettant d’expliciter les degrés de liberté dont dispose le centre pour prendre ses décisions.

une contrainte numérique du type X 1 + X 2 ≤ P peut devenir inactive en donnant une valeur très grande à P . • la prise de décision sur les contraintes remet en cause des décisions externes et. 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.2. en fonction de l’analyse sous contraintes. 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 . seuls les facteurs du modèle (paramètres et variables de décision) étant modifiables. les renégocie. Cette structure est considérée par la suite comme figée.1. é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. le décideur prend des décisions sous contraintes ou sur les contraintes (voir la figure 40). Par exemple.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é. éventuellement. par exemple. à négocier ces décisions avec d'autres centres. Habituellement. III. liée au choix des variables de décision et à celui des contraintes prises en compte. une caractérisation de l’espace des solutions. Certaines contraintes peuvent néanmoins être activées ou désactivées en fixant une valeur particulière à certains paramètres. • 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.

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

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

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

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 mois…).2. qui implique l’utilisation de produits semi-finis dont il faut également planifier la production : il faut alors définir les quantités de produits intermédiaires à transporter entre les sites. des capacités des centres de production. la planification peut aussi inclure des décisions d’allocation. 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). Parfois.2. la durée des périodes n’est pas toujours constante. capacités. des demandes (fermes et prévisionnelles). le temps est généralement discrétisé en une suite de périodes égales considérées comme indivisibles (exemple : des semaines. Le champ des décisions s’élargit dans le cas d’une production multi-niveaux ([Hétreux 96]). la fonction de planification s’appuie sur l’état de stocks et de la production. Pour cela. objectifs quantité de produit par période état des stocks et de planification par site ([Boronad-Thierry 93]) la production par étape ([Hétreux 96]) demandes capacités des ressources figure 43 : décisions et paramètres d'un centre de planification III. des quinzaines. etc. La notation retenue dans la suite du chapitre est celle utilisée dans [Johnson et al 74]. visant à répartir la production sur différentes unités de production équivalentes.2.2. les périodes étant plus courtes en début d’horizon . Dans le cas d’une production multi-sites ([Boronad-Thierry 93]).1 Horizons temporels En planification. coûts). d'objectifs s’appuyant sur des fonctions de calcul de coûts. Le travail à planifier est alors évalué en quantités (produits. Modélisation de la planification de la production Comme nous l’avons vu au chapitre 1.

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

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

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

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

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

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

2. les tâches apparaissent en ordonnée et le temps sur l’axe des abscisses.3. 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]). une représentation par produits permet de visualiser les temps d’attente des produits. le diagramme de Gantt est composé d’une ligne horizontale pour chaque ressource. tâches F E D C B A temps figure 48 : diagramme de Gantt projet . Ceci permet de visualiser les zones d’occupation des ressources et la durée de l’ordonnancement.Les modèles en gestion du temps et des ressources aik i ∈Ω k (t ) 69 ∑ 40 30 20 10 0 Ak=40 temps figure 47 : exemple de courbe de charge III. Tâ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). Dans le cas de problèmes d’atelier.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. Les lignes en pointillées peuvent servir pour signaler des contraintes de succession. En ordonnancement de projet sans contraintes de ressources.

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). 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. III. nous verrons les moyens de représenter.3. Un exemple est montré sur la figure 47. Le modèle est linéaire à variables réelles. La figure 49 représente le diagramme de Gantt par ressources et la figure 50 représente le diagramme de Gantt par produits. à l’aide de graphes. . 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).70 Modélisation des problèmes de gestion du temps et des ressources exemple III-4 : ordonnancement à ressources disjonctives Dans un atelier. 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. Le Tableau 5 donne les valeurs des durées des opérations en minutes.2. une représentation hybride peut être employée pour représenter une solution.5 Modélisation à l’aide de graphes Dans ce paragraphe.

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

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

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

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

on pourra se reporter aux ouvrages de [Teghem 96] et de [JacquetLagrèze 98]. La solution optimale est le sommet de coordonnées (1. si le polyèdre est non borné. Modèles linéaires à variables réelles Pour cette partie. il est possible que le problème n’ait pas de solution optimale à distance finie. soit la solution optimale est située sur un sommet du polytope et est unique. c i − d i ) du retard moyen pondéré : Tw = ∑i i ∑i w i avec w le vecteur de III. Il reste donc un problème avec deux variables ( X 11 et X 21 ). soit tous les points d’une des faces du polytope sont optimaux.3. si le polyèdre convexe est borné (c’est un polytope). max(ci − d i )    i   w max(0. . Le critère choisi revient à minimiser la production ( Z ≡ min X 11 + X 21 ).2) (marqué avec un rond noir sur la figure 59). alors celui-ci forme un polyèdre convexe. L’espace des solutions est un polytope (donc un polyèdre convexe).2. Les modèles linéaires à variables réelles ont quelques propriétés fondamentales : si l’espace des solutions est non vide.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. 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).

• la procédure itérative calcule une solution (un sommet) donnant la meilleure valeur du critère.3.5m . alors le problème contient au moins une solution. une itération consiste à passer d’un sommet à l’autre le long d’une arête de l’espace des solutions.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. 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. si elle réussit. Si cette procédure échoue.2. OSL de . 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. L’algorithme du simplexe est en théorie de complexité exponentielle mais en pratique (statistiquement) il est de complexité égale à 1. Cet algorithme contient deux phases : • la procédure d’initialisation détermine les coordonnées du premier sommet admissible (solution mais pas forcement optimum). alors l’espace des solutions est vide . Géométriquement. XPRESS-MP de Dash Ltd. m étant le nombre de contraintes d’inégalités non redondantes du modèle.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.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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

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

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

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

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 réunions (même lieu) et les téléconférences (lieu différent) sont deux exemples typiques d’interaction synchrone.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. 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. Ces caractéristiques peuvent faire partie des spécifications d’un outil d’aide à la décision distribuée en temps limité (cf. les outils d'aide peuvent être utiles pour préparer les interactions synchrones (exemple : les réunions). Le protocole de communication et les outils d'aide que nous proposons pour négocier ne seront valables que pour des interactions asynchrones. Dans ([Nurcan 96]) une matrice espace/temps est utilisée pour classifier les circonstances de travail coopératif (voir tableau 6). 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]). chapitre V).4. Dans ce paragraphe. ainsi rappeler au décideur de prendre des décisions. les centres respectent des contraintes procédurales. 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. cela permet d'évaluer le temps maximum que le centre peut consacrer à une négociation. IV. Protocole de communication Lors de leurs communications. 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). 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) . Les communications par tableau (même lieu) et par courrier électronique (lieu différent) constituent des exemples d’interaction asynchrone. nous proposons un protocole de communication permettant aux différents agents d'échanger des informations sur les décisions. Un outil d'aide à la décision pourra. Cependant.

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

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

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

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

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

} {. Afin de conclure l’accord. le chapitre 5) montre un exemple de conversation pour engagement entre un centre planification et un centre ordonnancement.} évaluation {typee=demander-si ou typee=accepter ou typee=refuser ou typee=dire. Le centre d'ordonnancement répond favorablement.Protocole de communication 111 IV. Le centre ordonnancement envoie une contre-proposition.} 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.4. La conversation se conclut soit par une réussite de la conversation (un résumé est alors fait) soit par un échec. Le centre de planification envoie un message proposer qui débute la conversation. Le centre de planification envoie une nouvelle proposition. Le centre d'ordonnancement envoie un message de réception du message de confirmation. Ces conversations permettent de négocier par anticipation. typer=acquitter} {.typee=résumer ou typee=abandonner} attente {typer=acquitter. . Ce type de conversation est plus libre que les conversations pour engagement puisque tout centre peut intervenir à n’importe quel moment.2. début {typer=demander-si ou demander-domaine.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 de planification envoie le message de confirmation au centre d'ordonnancement (la décision est prise). N’importe qui peut initier ces conversations et n’importe qui peut les terminer.} n <typee> n n n boîte d’envoi {typer=résumer ou typer=abandonner.3.4. Exemple : La figure 80 (il s’agit d’un diagramme de séquence cf.

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

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

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

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

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

2 Création/destruction de variables Lorsqu'une variable est crée ou détruite. S’il existe déjà des propositions. Une fois que les variables et les contraintes ont été ajoutées ou enlevées du modèle générique.5.3. on peut placer P2 dans les deux configurations. Il appartiendra au décideur de fixer la politique de placement. Voici quelques critères qui aideront à placer la nouvelle proposition : • si P1 est issu d’une conversation pour engagement et P2 d’une conversation pour information. Il faut donc placer une nouvelle branche. Évolution de l’arbre en fonction des conversations Dans le cas de changements dus aux conversations. 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. Ces modifications interviennent au niveau du modèle générique . La destruction d’une variable se fait en prenant en compte l’état du système.4.4.1 Début d'une négociation Il n’existe pas de branche qui concerne les variables de décision.5. Dans le cas général. il faut réévaluer tous les CSP pour savoir si des changements doivent être faits parmi les engagements. . P1 est susceptible d’être très prochainement transformée en engagement. le placement de la nouvelle n’est pas simple car il dépend de plusieurs critères. 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. Pour bien montrer l’indépendance de la réponse.Représentation de l’état d’un centre 117 IV.5. IV. on peut choisir la seconde configuration (nouvelle branche en concurrence de P1). tout l’arbre est susceptible d’être modifié. 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é. propositions ou hypothèses. crées ou détruites. donc. IV.

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

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

.

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

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

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

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. Ces décisions sont renégociables jusqu’à une semaine avant d ipm . Les décisions concernant les dates échues dipm sont prises avant que le projet ne débute. 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. Nous introduisons par la suite les contraintes de fonctionnement qui apparaîtront dans les méta-modèles des centres. 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.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. .

En fait.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. 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). (2) traduit que tipm est décidée avant aipm (et donc avant tipm et d p ). Dans ce méta-modèle. de gel gelt ipm et de destruction dest ipm des variables ou si c’est l’inverse. si le décideur veut planifier une tâche pour une semaine. ∆ j la durée d’une journée et une fonction semaine qui. ∆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 . Les variables tipm sont détruites une fois la décision mise en œuvre (9).∆ s (1) dect ipm ≤ deca pmi ≤ tipm ≤ dipm gelt ipm = gela ipm cret ipm = 0 gelt ipm = t0 + k * ∆ j / 2 gelt ipm ≤ tipm gelt ipm ≥ tipm − ∆ j / 2 des t ipm ≥ tipm (2) (3) (4) (6) (7 ) (8) (9) dect ipm ≤ ∆ s * ( semaine(tipm ) − 1) + ∆ v (5) L’équation (1) traduit le fait que d ipm est gelée au moins une semaine avant la date dipm . il faut qu’il le fasse pour le vendredi . associe le numéro de semaine (par exemple. à une date. La date de gel de tipm est la même que celle de aipm (3). Les variables tipm sont gelées en début de demi-journée (6) et elles sont gelées au dernier moment (7) et (8). tipm est décidée avant le vendredi précédent sa mise en œuvre (5). Les centres projets ont donc un méta-modèle de la forme : geld ipm ≤ dipm . semaine( 2 Janvier 2000 à 8 h) = 1).

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

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

La figure 93 montre le déroulement d’une conversation pour engagement. la base de données est actualisée. les agents ont accès à une base de donnée pour pouvoir consulter les données les concernant et pour pouvoir y écrire les valeurs des décisions prises. la décision est prise et la base de donnée est actualisée. 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). De plus. Quand celle-ci réussit (le message « confirmer » est envoyé). 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. celui-ci fournit une aide au décideur (voir la figure 92).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 .

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

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

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

le gestionnaire des communications demande au gestionnaire de l’arborescence d’évaluer le message. Si l’évaluation est bonne. le gestionnaire des communications envoie le message d’acquittement et demande au gestionnaire de l’arborescence de transformer la proposition en engagement.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. Quand celui-ci émet un message de confirmation et que l’utilisateur a lu le message. Celui-ci informe le gestionnaire des variables que certains paramètres ont été décidés. . Une fois le contexte choisi au travers de l’IHM de l’arborescence. un message d’acception est envoyé par le gestionnaire des communications à l’agent en aval. 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. une proposition est créée dans l’arborescence et le message est évalué avec l’IHM du modèle correspondant.

on peut spécifier un temps à ne pas dépasser pour les optimisations. V. 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. 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). Puis.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. Ilog Solver permet de représenter un modèle CSP.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. nous décrivons quelques vues de l’interface graphique du logiciel. 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. .1.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. Sur la partie droite de la fenêtre. les bibliothèques que nous avons choisi d’utiliser offrent une interface écrite en C++. Sur la partie gauche de la fenêtre se trouve l’arborescence. Ici. il s’agit des contraintes A101 = 2. engagement). 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. nous présentons la fenêtre permettant d’envoyer un message à un autre centre. • 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). V. Ici. En effet. Nous avons choisi de développer le logiciel en C++ afin de faciliter l’interface avec les bibliothèques Ilog . proposition. De plus.2. A105 = 2 . trois branches-modèles sont représentées. le prototypage de l’interface graphique est simple et rapide. À chaque item. se trouvent des renseignements sur la branchemodèle sélectionnée. Dans la partie inférieure droite de la fenêtre se trouvent des renseignements concernant la consistance du modèle associé à la branche. Ilog Views permet de créer une interface graphique portable sur plusieurs plateformes. par exemple. de construire une nouvelle hypothèse. . • une date de validité qui correspond normalement à la date de validité du message associé à la branche. on a émis le message vers le centre adecico4. le décideur peut voir le message correspondant à la branche (le bouton apparaît grisé si la branche est une hypothèse) et peut travailler sur le modèle afin. on fait correspondre à la fois une branche (hypothèse. À partir de cette fenêtre. C++ est un langage de programmation orienté objet. • les contraintes associées à la branche. Dans l’exemple présenté ici. A103 = 2.4. Les renseignements concernant la branche sont : • son état (hypothèse. metier2version2 est un engagement. L’interface graphique Afin d’illustrer les concepts de cette thèse. V. Cette bibliothèque permet également de créer des diagrammes de Gantt interactifs. proposition ou engagement) et le modèle qui tient compte de cette 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.2. Enfin.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. 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é. Ici.4.

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

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

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

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

pour valider la pertinence des spécifications générales de l'outil d'aide à la décision distribuée mais aussi celle des interfaces utilisateurs. En fait une analyse plus poussée du problème de décision pourrait éventuellement permettre d’identifier et de délimiter plus finement l'ensemble responsable minimal des contraintes à relâcher. . Il semble toutefois que cette analyse dépende fortement des propriétés du modèle utilisé en un centre (linéarité notamment). 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

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

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

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

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

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

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

. Une voiture est conduite par une personne et peut transporter de 0 à plusieurs passagers. agrégat 0. 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).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. une personne ne peut conduire au plus qu’une voiture et n’être passager qu’au plus d’une voiture. Les attributs. La composition est un cas particulier d’agrégation.1 0. Une voiture est composée d’un moteur et de quatre roues (agrégation et composition).* une classe super-classe composition bidirectionnelle 1. La tête de la flèche est caractérisée par un triangle vide.1 agrégation unidirectionnelle 0. opérations et associations sont hérités par les sous-classes.. les décapotables et les berlines sont des voitures (spécialisation de voiture). personne 0. . une action d’une classe impliquant une action dans une autre classe…).. 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 composante sous-classe1 sous-classe2 figure 104 : notation des agrégations et des spécialisations La figure 105 présente un exemple de diagramme de classes. De plus. Elle exprime le fait que les éléments d’une classe soient décris dans une autre classe.* passager conducteur 1 conduit moteur > 0. L’agrégation se représente par un petit losange blanc du côté de l’agrégat.1 voiture roue 1 1 1 4 décapotable break berline figure 105 : un exemple de diagramme de classes 2.. Les breaks..

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

. les diagrammes d’objets Les diagrammes d’objets sont la représentation des objets et de leurs relations.155 V. sans représentation des envois de message.5 Conclusion 3 : opération (liste de paramètres) 1 : événement objet 1 : classe 1 2 : opération objet 2 nom de l’acteur : classe de l’acteur 4 : opération (liste de paramètres) objet 3 figure 107 : un exemple de diagramme de collaborations 4. Ils correspondent à un diagramme de collaboration simplifié.

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

Sign up to vote on this title
UsefulNot useful