Université Du Québec: Par Arnaud Zinflou
Université Du Québec: Par Arnaud Zinflou
Université Du Québec: Par Arnaud Zinflou
MÉMOIRE PRÉSENTÉ À
L'UNIVERSITÉ DU QUÉBEC À CHICOUTIMI
COMME EXIGENCE PARTIELLE
DE LA MAÎTRISE EN INFORMATIQUE
par
Arnaud Zinflou
29 juin 2004
UIUQAC
bibliothèque
Paul-Emile-Bouletj
Mise en garde/Advice
RESUME
Dans de nombreux secteurs de l'industrie, les décideurs sont confrontés à des problèmes
complexes, de grande dimension et multi-objectifs. Prendre une décision, pour ce genre de
problèmes, nécessite en général l'optimisation simultanée de plusieurs objectifs souvent
contradictoires. Malheureusement, la complexité des problèmes industriels, le nombre sans
cesse croissant d'objectifs à optimiser simultanément et la rapidité des changements de
l'environnement raccourcissent considérablement les délais de prise de décision tout en
rendant cette tâche plus difficile pour les gestionnaires. Des outils informatiques comme les
systèmes interactifs d'aide à la décision (SIAD) s'avèrent donc d'une grande utilité pour le
décideur car ils favorisent une répartition évolutive des compétences entre l'utilisateur et la
machine et offrent une bonne intégration de l'homme et de la machine dans le processus de
décision. Les SIAD permettent donc au décideur d'évaluer la situation, les diverses
alternatives et leurs impacts éventuels.
Bien qu'ayant produit des résultats très encourageants, ce travail de recherche représente
surtout une première exploration des possibilités offertes par la combinaison de trois
domaines de recherche en constante évolution : les SIAD, l'optimisation multi-objectifs et
les algorithmes génétiques. L'union de ces trois champs de recherche laisse entrevoir des
possibilités intéressantes pouvant mener à la conception de nouveaux outils de résolution
permettant l'élaboration de scénarios pour éclairer la prise de décision. Ce travail peut donc
être considéré comme une contribution vers l'élaboration et l'implantation de ce genre
d'outils.
IV
REMERCIEMENTS
Je tiens tout d'abord à remercier Mme Caroline Gagné, ma directrice de recherche pour
sa disponibilité, son support et son implication dans ce travail de recherche. En particulier
pour avoir été attentive à tous mes commentaires ou idées et pour avoir su répondre à mes
nombreuses interrogations. Son optimisme et ses conseils ont été une aide précieuse sans
laquelle ce travail de recherche n'aurait sans doute pas vu le jour.
Je remercie aussi M. Marc Gravel, M. Wilson Price et M. Bernard Lefebvre pour avoir
accepté d'évaluer ce travail ainsi que pour leurs judicieux commentaires.
Je tiens aussi à remercier Mlle Chitra Sewsagur pour sa patience, sa compréhension et son
soutien. Je la remercie également pour avoir contribué à améliorer la qualité du français de
ce document.
J'aimerais aussi remercier sincèrement mes parents, mes deux frères, ma sœur et toute
ma famille pour leur soutien et leur confiance. Je tiens, en particulier, à remercier mes
parents qui m'ont toujours poussé à aller de l'avant et qui ont toujours cru en moi même
quand moi-même je n'y croyais plus. Sans leur soutien et leur amour, ce travail n'aurait
jamais pu être réalisé. Je me dois aussi de dire un merci particulier à ma petite sœur
Corinne qui a, elle aussi, pris la peine de lire ce mémoire afin de m'aider à corriger les
nombreuses fautes d'orthographe qui s'y étaient glissées.
En terminant, j'ai une pensée spéciale pour ma tante Mme Marguerite Gbdamassi et ma
grand-mère Mme Elisabeth Zinflou qui nous ont quitté toutes les deux pendant que je
poursuivais mon séjour au Canada. Ce travail vous est dédié. Que la terre vous soit légère.
VI
RÉSUMÉ. u
REMERCIEMENTS. iv
CHAPITRE 1 : INTRODUCTION 1
3.2.4 Classification 34
3.3 Les algorithmes génétiques 40
3.3.1 Représentation des individus 41
3.3.2 La sélection 42
3.3.3 Le croisement 44
3.3.4 La mutation 48
3.3.5 Les grandes lignes de l'algorithme 49
3.3.6 Le nichage 50
3.3.6 AG et optimisation multi-objectifs 52
3.4 Les approches basées sur la transformation du problème en un problème uni-
objectif. 52
3.5 Les approches non Pareto 53
3.6 Les approches Pareto 54
3.6.2 Les techniques non élitistes 55
3.6.2.1 Multiple Objective Genetic Algorithm (MOGA) 55
3.6.2.2 Niched Pareto Genetic Algorithm (NPGA) 56
3.6.2.3 Non dominated Sorting Genetic Algorithm (NSGA) 56
3.6.3 Les techniques élitistes 58
3.6.3.1 NSGAII 58
3.6.3.2 Strength Pareto Evolutionary Algorithm (SPEA) 61
3.6.3.3 SPEA 2 63
3.7 Objectifs de la recherche 65
3.8 Conclusion 66
BIBLIOGRAPHIE. 139
Tableau 4.2 (a) : Résultats comparatifs entre l'OCF et l'AG u lorsque la perte de capacité
de la machine à coulée est l'objectif principal. Le premier résultat de chacune des colonnes
correspond à la moyenne de dix essais (le second résultat est l'écart type) 80
Tableau 4.2 (b) : Résultats comparatifs entre l'OCF et l'AG u lorsque le retard est l'objectif
principal. Le premier résultat de chacune des colonnes correspond à la moyenne de dix
essais (le second résultat est l'écart type) 80
Tableau 4.2 (c) : Résultats comparatifs entre l'OCF et l'AG u lorsque la perte de capacité
de livraison est l'objectif principal. Le premier résultat de chacune des colonnes correspond
à la moyenne de dix essais (le second résultat est l'écart type) 81
Tableau 4.3 : Résultats obtenus par l'AG u pour un carnet de 140 commandes. Le premier
résultat de chacune des colonnes correspond à la moyenne de dix essais et le second résultat
est l'écart type 82
Tableau 4.4 : Meilleures valeurs connues pour les trois objectifs; * indique une solution
optimale et + solution trouvée par l'AG u 82
Tableau 4.5 : Moyenne des temps de calcul de l'AG u pour les trois objectifs (secondes) .83
Figure 3.1 : Illustration des relations de dominance entre les solutions pour deux objectifs
de minimisation 33
Figure 3.3 : Roulette pour une population de 5 individus avecX*0 = {60,10, 15,10, 5}.
Pour tirer un individu, on lance la roue, et si elle s'arrête sur le segment i, *, est sélectionné
43
Figure 3.15 : Illustration de la méthode de réduction de l'archive utilisé par le SPEA 2 ...64
Figure 4.7 (h) : Comparaison graphique de la performance entre l'AG^ 0 ", le NSGAII et
l'ensemble de référence. Problème de 80 commandes 104
Figure 4.8 (a) : Comparaison de la performance entre FAGCP et l'AG M0PI . Problème de
140 commandes, pondération capacité = 0.2, pondération retard = 0.8 110
Figure 4.8 (b) : Comparaison de la performance entre l'AGCP et l'AG M0PI . Problème de
140 commandes, pondération capacité = 0.3, pondération retard = 0.7 111
Figure 5.6 : Exemple de représentation des solutions sous forme d'histogramme 126
Figure 5.8 : Comparaison visuelle de trois solutions à l'aide d'un axe en 3 dimensions.
Problème de 50 commandes du contexte industriel 128
CHAPITRE 1
INTRODUCTION
Le concept de Systèmes Interactifs d'Aide à la Décision (SIAD) s'est formalisé dans la
littérature dans les années 70 [Little, 1970; Gorry et Scott-Morton, 1971]. Ce sont des
particulièrement utiles pour aider à trouver une solution appropriée à des problèmes
catégorie de problèmes.
déterminer si une solution est meilleure qu'une autre, il est nécessaire que le problème
meilleure solution, appelée aussi solution optimale, est la solution ayant obtenue la
meilleure évaluation par rapport de l'objectif défini. Les problèmes d'optimisation sont
seul objectif est spécifié, par exemple un objectif de minimisation de la distance totale, la
solution optimale est clairement définie, c'est celle qui a la plus petite distance. Cependant,
uni-objectif. Pour ce genre de problèmes, le concept de solution optimale devient alors plus
difficile à définir. Dans ce cas, la solution recherchée n'est plus un point unique mais un
général difficiles à résoudre. Nombre d'entre eux sont dits NP-Difficiles et ne peuvent être
résolus de façon optimale par des algorithmes exacts. La nécessité de trouver rapidement
Parmi les métaheuristiques, les algorithmes génétiques s'avèrent être une approche
Cet intérêt s'explique notamment par la faculté pour ce type d'algorithme à exploiter de
étape d'optimisation.
Les algorithmes génétiques sont des programmes informatiques qui tentent de simuler le
interactif d'aide à la décision basé sur des algorithmes génétiques pour l'optimisation multi-
objectifs afin de mieux comprendre les bénéfices que ce type de systèmes peut apporter
passe par une connaissance adéquate des systèmes interactifs d'aide à la décision, des
Dans le Chapitre 2, une revue de la littérature sur les systèmes interactifs d'aide à la
décision est présentée en détaillant les notions les plus pertinentes pour la réalisation de ce
travail. Ce chapitre présente également les principaux facteurs de succès ou d'échec ayant
freiné l'implantation des systèmes interactifs d'aide à la décision ainsi qu'un bref aperçu de
d'abord, les concepts de bases d'optimisation combinatoire multi-objectifs sont définis. Par
décrits comme une technique récente d'optimisation qui possède des caractéristiques
interactif d'aide à la décision proposé. La mise en œuvre de ces différentes approches sera
une entreprise de production d'aluminium. Ce chapitre est organisé en trois parties. Dans
trois approches de résolution du problème, mais cette fois-ci, d'un point de vue multi-
des solutions.
Il faut également souligner que ce travail fait suite à une série de travaux effectués dans
hommes ont de tout temps désiré qu'il s'agisse de phénomènes naturels, d'administration,
est l'un des plus complexes par sa nature. En théorie, une décision doit être prise en
construire, en éliminant le plus possible les risques d'échec. De plus, une décision,
Dans la vie quotidienne, nos décisions sont souvent prises sur la base d'intuitions et
problèmes familiers. Lorsque nous sommes confrontés à des situations nouvelles, la tâche
De nos jours, l'environnement des organisations est de plus en plus complexe, évolue
des décisions et une plus forte compétition nationale comme internationale causée par la
mondialisation des économies. Par ailleurs, les conséquences financières et humaines d'une
erreur de décision peuvent s'avérer dramatiques à cause des réactions en chaîne qu'elles
pourraient engendrer sur les différentes parties de l'organisation. Il importe donc pour le
décideur de pouvoir prévoir les conséquences éventuelles des décisions qu'il compte
prendre.
Dans un tel contexte, un Système Interactif d'Aide à la Décision (SIAD) permettrait à
concept de SIAD est apparu dans la littérature dans les années 70 [Little, 1970; Gorry et
Scott-Morton, 1971]. Ce sont des outils spécifiquement développés pour supporter la prise
de décision. Les SIAD se caractérisent principalement par leur interactivité, leur flexibilité
Les SIAD sont particulièrement utiles pour aider à résoudre des problèmes complexes de
l'utilisateur.
Le domaine des SIAD est très vaste. Quelques auteurs proposent des états de l'art
relativement complets [Davis et al, 1986; Lévine et Pomerol, 1990]. Ce chapitre introduit
en premier lieu la notion de prise de décision ainsi que quelques définitions liées à celle-ci.
Cette présentation ne se prétend pas exhaustive, mais a uniquement pour but d'introduire un
minimum d'éléments nécessaires à la présentation des SIAD. Par la suite, les différents
concepts liés aux SIAD sont présentés ainsi que les principales barrières ayant freiné leur
Nous allons dans un premier temps donner quelques définitions importantes à propos de
la prise de décision. Pour Holtzman [1989], prendre une décision signifie concevoir et
décision n'inclut pas l'allocation de ces ressources qui est appelée une action. De manière
plus générale, on peut dire que tout individu placé devant plusieurs alternatives
mutuellement exclusives choisit l'une d'entre elles à la suite d'un processus mental appelé
décision.
On peut associer à toute décision un domaine qui correspond à son champ d'application.
Par exemple, distinguer les décisions médicales, des décisions militaires ou industrielles.
décision est par définition générique, c'est-à-dire que plusieurs décisions partagent le même
domaine. Par contre, certains facteurs d'une décision sont uniques et dépendent de la
décision et du décideur. L'ensemble de ces facteurs est appelé la situation d'une décision.
un contexte qui lui est associé et qui affecte fortement l'intérêt et la disponibilité des
différents choix pour le décideur. Ce contexte inclut l'état des informations détenues par le
décideur a des désirs particuliers qui sont exprimés par ses préférences sur les résultats
possibles de sa décision. Par exemple, pour l'achat d'une voiture, le contexte d'un décideur
pourrait inclure le fait d'avoir une famille, d'avoir l'habitude d'effectuer de longs trajets
pour son travail et d'habiter dans une région désertique. Ses préférences peuvent inclure
11
intégrale avec ABS. À toute décision est toujours associée des alternatives parmi lesquelles
le décideur doit choisir. Sans alternatives, il n'y a pas de décision. À chaque alternative est
associée un résultat ou bénéfice espéré (au sens large du terme) qui peut guider le choix
Dans la section suivante, nous allons décrire les différentes phases d'un processus de
décision ainsi que les différents niveaux de structuration d'un problème de décision.
compose de quatre phases : une phase d'information, une phase de conception, une phase
c'est-à-dire de définir le problème à résoudre. Pour cela, il est nécessaire de rechercher les
décision est classée parmi les différentes catégories connues. Pendant cette phase,
certains problèmes, il est parfois difficile de trouver des informations pertinentes. Or, ce
sont elles qui sont à l'origine du processus de décision et leur choix est crucial car elles
influencent fortement les autres phases puisque tous les choix suivants en découlent.
modèles choisis, il faut également déterminer les variables de décision, les variables
incontrôlables, les variables résultats ainsi que les relations mathématiques, symboliques ou
qualitatives [Grassland et Wynne, 1995] entre ces variables et construire les différentes
alternatives.
Lors de la phase de choix, le décideur choisit entre les différentes suites d'actions qu'il a
été capable de construire et d'identifier pendant la phase précédente. Cette phase inclut la
choix du décideur. Cette évaluation permettra éventuellement de corriger les petites erreurs.
Comme le montre la Figure 2.1, ce processus n'est pas obligatoirement séquentiel, il peut y
avoir des retours en arrière. Par exemple, pendant la seconde ou la troisième phase, le
décideur peut être amené à générer une nouvelle alternative ou encore à rechercher de
problème de décision.
13
Étape 1 : ^" i
INFORMATION i
i
i
»> r
ii
Étape 2 :
i
CONCEPTION |
p^ r
ij
Étape 3 :
i
CHOIX
p. r
Étape 4 :
ÉVALUATION
i k
problèmes structurés) des décisions non programmables (correspondant aux problèmes peu
ou mal structurés). En pratique, il n'existe toutefois pas de dichotomie entre les problèmes
Un problème de décision est dit structuré s'il peut être exprimé par un modèle
calculable, stable et s'il est accompagné d'une règle de choix invariante. Cette dernière fait
prise de décision se réduit dans ce cas à l'exécution d'un calcul. Il s'agit alors de pseudo-
leur résolution est fortement dépendante des préférences, des jugements, de l'intuition et de
données. Finalement, ce sont des problèmes qui évoluent rapidement et dont la solution doit
être obtenue dans un temps limité. Un des aspects les plus importants est que, pour cette
classe de problème de décision, l'homme prend l'avantage sur la machine contrairement aux
décideur.
Les SIAD, présentés dans la section suivante, ont été conçus pour résoudre la seconde
recherche : les études sur la prise de décision dans les organisations du Carnegie Institute of
Technology à la fin des années 1950 et les travaux sur les systèmes informatiques
SIAD est devenu un domaine de recherche en soit dans le milieu des années 1970, avant de
prendre plus d'ampleur au cours des années 1980 [Hâttenschwiler, 1999], II apparaît
clairement que les SIAD reposent sur des bases multidisciplinaires, incluant notamment
Le concept de SIAD est extrêmement vaste et sa définition varie selon le point de vue de
l'auteur [Druzdzel et Flynn, 1999]. De nombreuses définitions des SIAD ont été
De son coté, Finlay [1994] définit simplement les SIAD comme «des systèmes
informatiques supportant la prise de décision». De son côté, Probst [1984] pense qu'un
SIAD est :
16
Finalement, Schroff [1998] et Keen [1981] estiment qu'il est impossible de donner une
définition précise qui inclurait toutes les facettes d'un SIAD. S'il n'existe pas une définition
universelle des SIAD, les différents auteurs s'accordent sur les différentes caractéristiques
a. ils doivent apporter principalement une aide pour les problèmes peu ou mal
calculées;
b. ils doivent posséder une interface simple et conviviale afin d'éviter que l'usager
e. ils doivent être adaptatifs dans le temps. Le décideur peut être réactif, être
pour faire face aux nouvelles conditions. Un SIAD doit être suffisamment
réarranger les variables du processus de décision ainsi que les différents calculs
décideur pour que celui-ci puisse remettre en cause à tout moment les
substituer à lui;
h. les SIAD les plus avancés utilisent un système à base de connaissances qui
apporte notamment une aide efficace et effective dans des problèmes nécessitant
une expertise;
j. ils ne doivent pas être des outils de type boite noire. Le fonctionnement d'un
Pour satisfaire tous ces critères, un SIAD se compose d'au moins trois composants : un
modèle) [Sage, 1991]. À ces trois modules peut éventuellement s'ajouter une base de
connaissances [Garlatti, 1996]. Comme l'indique la Figure 2.2, le module de dialogue est
18
interconnecté avec les autres modules. Il constitue l'interface entre l'utilisateur et le reste
du système. Les modules représentés en pointillés constituent les modules optionnels d'un
SIAD.
SIAD
Module de dialogue
r
Usager
d'établir une collaboration entre le décideur et la machine. Pour Courbon et Stabell [1986],
le module de dialogue est au centre du SIAD et sa réalisation est primordiale. En fait, une
étude [Myers, 1995] a montré qu'au moins 50% du code des applications interactives
implantation. C'est par l'intermédiaire des interfaces gérées par ce module que le décideur
accède aux données et aux fonctions de calcul du SIAD. Une fois les manipulations
19
demandées par le décideur effectuées, le système lui renvoie le résultat via les interfaces du
module de dialogue. Les échanges sont d'autant plus favorisés que les représentations des
doit permettre d'afficher les informations sous différentes formes (graphiques 2D ou 3D,
textes, vidéo ou autres). Il doit aussi fournir une aide à l'usager pour que ce dernier mène à
bien sa tâche et il doit le guider à l'aide d'exemples précis tout en étant suffisamment
flexible pour s'adapter aux besoins des différents usagers. Un autre point à souligner est
que l'interface homme-machine doit permettre le choix entre différents modes ou styles de
Courbon [1986] distingue notamment le mode assisté (toutes les possibilités du dialogue
sont disponibles), le mode expert (l'assistance est très limitée, ce mode s'applique dans le
cas d'un décideur expérimenté), le mode automatique (le dialogue se déroule tout seul,
La base d'informations assure la fonction de mémoire, elle stocke non seulement les
données volatiles ainsi que l'effacement de ces mêmes données selon le souhait de
l'utilisateur. Ces données volatiles correspondent aux résultats obtenus lors de traitements
de données. Les données que nous avons qualifiées de permanentes sont les informations
20
statistiques ou autres données qui décrivent les situations courantes et passées. Parmi ces
données, il peut aussi y avoir des estimations concernant l'évolution de certains paramètres
environnementaux.
ceux-ci. Les modèles peuvent être : des outils de recherche opérationnelle, des modèles
statistiques ou autres. Pour avoir davantage de flexibilité, un SIAD doit posséder plusieurs
modèles [Chabbat, 1997]. Dans cette optique, le SIAD organise les liens et le passage de
paramètres entre les différents modèles, de même qu'il gère le module de dialogue [Lévine
etPomerol, 1990].
domaine du problème, sur les modèles et sur les stratégies de constructions des modèles.
Elle permet d'apporter une aide active à la résolution du problème de décision pendant
toutes les phases du processus [Klein, 1988]. Elle introduit la notion d'apprentissage dans
le SIAD. La base de connaissance peut aussi jouer dans certains cas le rôle de base de
Un SIAD peut assister le décideur lors des trois premières étapes du processus
situations exigeant une prise de décision. Dans la phase de conception, le système permet
de préciser la situation avec les diverses hypothèses, de générer les solutions possibles et de
tester leur faisabilité. Finalement, lors de la phase de choix, le SIAD peut suggérer certaines
21
Jusqu'à maintenant, les SIAD ont été présentés pour être utilisés par un seul usager à la
fois. Ils peuvent également être utilisés pour la prise de décision de groupe. En effet, de
nombreuses études comme celle de Keen [1981], Liberatore et Titus [1983] ou, plus
récemment, Totton et Flavin [1991] montrent que la plupart des décisions dans une
organisation sont prises par un groupe d'individus plutôt que par un décideur isolé. Plus
une organisation devient complexe, moins les décisions sont prises par une seule personne
[Gannon, 1979]. Les SIAD de groupe constituent une spécialisation des SIAD qui reflète
Bien que les SIAD aient été le sujet de nombreuses recherches depuis plus d'une
vingtaine d'années, ils n'ont pas nécessairement connu beaucoup de succès, en particulier
du point de vu des utilisateurs [Rudnicka et Madey, 2001]. Le domaine des SIAD est trop
vaste pour tenter de dresser une liste exhaustive des raisons qui font que ce type de
systèmes suscite moins d'intérêt en pratique. Cependant, nous pouvons diviser les
différents facteurs d'échec des SIAD en trois grandes catégories [Gachet, 2001] : les
En ce qui concerne les facteurs humains, Ghasemzadeh et Archer [2000] font remarquer
qu'en général le décideur n'est pas assez impliqué dans le processus de prise de décision
manque d'intérêt des usagers par rapport aux SIAD traditionnels peut être expliqué par
concept fait référence aux personnes qui développent des logiciels pour leur usage
de cette tendance s'explique, d'une part, par le coût du matériel informatique qui est devenu
de plus en plus bas tout en étant de plus en plus performant, et d'autre part, par les
environnements de programmation qui sont de plus en plus intuitifs [Gachet, 2001]. Même
si ce type de systèmes est généralement de qualité inférieure aux SIAD traditionnels [Kreie
et al, 2000], les utilisateurs préfèrent cette manière de travailler qui augmente leur
difficiles à utiliser pour des non-spécialistes de l'informatique [Gachet, 2001]. Or, un bon
SIAD doit être compréhensible et facile d'utilisation pour les décideurs [Sprague et
Watson, 1993], sinon ils auront tendance à garder leurs distances vis-à-vis de tels systèmes.
Les facteurs conceptuels font référence aux problèmes rencontrés par les SIAD à cause
d'un mauvais choix lors de leur design. Les SIAD sont utiles pour rechercher de
l'information, l'évaluation et le choix d'une décision, mais ils sont moins utiles pour des
tâches comme l'exploration d'un problème [Huber, 1982]. Une des tâches principales d'un
SIAD est souvent trop long et sa complexité non négligeable [Gachet, 2001]. Construire un
SIAD requiert de l'expertise dans des domaines aussi variés que le design d'interface, la
programmation et l'analyse de décision ce qui, dans certains cas, peut être compliqué à
réunir. Hâttenschwiler et al. [1998] attribuent le manque d'intérêt pour les SIAD aux
techniques traditionnelles de conception qu'ils jugent trop rigides. Ceci entraîne alors des
souvent des dépassements de budgets avec des coûts de maintenance très élevés [Palanque
et al, 1994]. Certaines évaluations d'applications interactives [Bohm 1976] ont révélé que
maintenance est occasionné principalement par trois types de problèmes [Farenc et al.,
1994]:
existantes de l'application; et
24
• l'amélioration de l'IHM suite aux réticences exprimées par les utilisateurs ou suite
fonctionnalités.
technique sensible [Gachet, 2001]. Un système avec une interface usager surchargée,
inadaptée ou pas assez claire sera généralement inutilisable en pratique [Druzdzel et Flynn,
1999].
Finalement, les SIAD sont des systèmes complexes souvent composés de plusieurs sous-
systèmes hétérogènes (base de données, librairies mathématiques, etc.) qu'il est difficile
Depuis une dizaine d'années, de nombreux SIAD ont été développés pour des secteurs
domaines d'application des SIAD, on pourrait dire que les SIAD peuvent être mis en place
cette section, nous présentons quatre exemples de SIAD fonctionnant au quotidien dans des
entreprises.
marchandises est effectuée, sur le plan national, par un service « central de répartition »
25
reçoivent par téléphone les demandes de wagons vides en provenance des zones. Ils
centralisent alors les informations sur les wagons vides disponibles et assurent la répartition
entre les zones déficitaires et les zones excédentaires. Autrement dit, ils prennent des
wagons dans les zones excédentaires pour les envoyer vers les zones utilisatrices.
Outre les demandes ou les offres téléphoniques, les répartiteurs disposent des données
situation à trois heures du matin, état qui sort sur l'imprimante vers huit heures du matin à
l'arrivée des répartiteurs. Cette situation donne un état des besoins et des wagons présents
dans les zones ainsi que la moyenne des besoins et des ressources des jours précédents.
Le SIAD mis en place dans ce cadre a pour objectif d'aider le répartiteur dans sa tâche.
Il est basé sur l'utilisation d'un système à base de connaissances. La minimisation des coûts
de déplacement à vide, le respect des délais et la satisfaction des clients sont les critères
principaux qui régissent le travail des répartiteurs et qui doivent se retrouver dans le SIAD.
Il s'agit là d'un premier exemple de SIAD qui peut être généralisé à l'ensemble des
problème.
Un autre type de SIAD pouvant être utile dans l'industrie concerne les systèmes de
Institute sous la direction de M.S. Fox [1981]. Dans ce genre d'application, il s'agit
permet de faire un suivi de la production. Il permet aussi d'effectuer des simulations par
Les SIAD peuvent aussi être utiles dans la gestion des risques industriels. La présence
thermique et autres) en milieu urbain représente, comme leur nom l'indique, un risque non
négligeable pour la population [Boukachour et al, 2000]. Une solution serait l'installation
d'un réseau de sirènes qui doit permettre le confinement des populations. Il s'agit pour un
opérateur préposé à la détection des risques majeurs de déclencher ces sirènes au moment
jugé opportun. Pour prendre sa décision, il doit être en mesure d'avoir une vision globale de
différents experts. Pour avoir une évaluation de la situation, on va devoir interroger des
populations, traitement des blessés par les services concernés, traitement des accidents
routiers par les pompiers, et autres). L'ensemble des informations à traiter et à synthétiser
par l'opérateur, qui prendra la décision finale de déclencher ou non les sirènes, est vaste. Le
SIAD devra donc permettre de mettre en évidence l'information pertinente en ayant recours
à cette multi-expertise.
27
production. A cause de la relation complexe entre toutes ces variables, les gestionnaires ont
Las Colina dans l'état du Texas aux États-Unis a décidé de créer un SIAD qui pourrait
En 1995, les cadres de cette entreprise ont commencé à repérer toutes les variables de
gestion et ont tracé des diagrammes de tous les processus de l'entreprise pour créer un
modèle qui pourrait montrer les conséquences du changement d'une ou de plusieurs de ces
variables. L'entreprise a ensuite construit un prototype de SIAD. Les cadres ont d'abord
testé le système en simulant la situation instable de PNR sur la côte du Golfe du Mexique,
dont le temps de production était toujours long. Devant l'efficacité du système, les
responsables de la société estiment que chacune des cinq divisions de la compagnie pourrait
2.6 Conclusion
Dans ce chapitre, les notions qui ont été présentées se réfèrent à la prise de décision et
aux systèmes interactifs d'aide à la décision. En résumé, un SIAD peut être vu comme un
chapitre suivant présentera un domaine où l'utilisation de SIAD peut s'avérer très utile :
l'optimisation multi-objectifs.
CHAPITRE 3
3.1 Introduction
l'environnement, des transports et autres sont concernés par des problèmes complexes, de
grande dimension et souvent de nature combinatoire pour lesquels la résolution par des
problèmes. Elle est apparue au I9 ieme siècle avec les travaux en économie de Edgeworth
[1881] et de Pareto [1896]. Elle a été appliquée initialement en économie et dans les
sciences de la gestion avant d'être graduellement utilisée dans d'autres domaines comme
l'informatique ou l'ingénierie.
solutions dites optimales. Cet ensemble est généralement nommé ensemble des solutions
qu'une première phase possible dans la résolution pratique d'un PMO. La deuxième phase
consiste à choisir une solution à partir de cet ensemble en fonction des préférences
exprimées par le décideur. Le choix d'une solution par rapport à une autre nécessite une
bonne connaissance du problème et des différents facteurs liés au problème. Ainsi, une
31
solution choisie par un décideur peut ne pas être acceptable pour un autre décideur. Le
choix d'une solution peut aussi être remis en cause dans un environnement dynamique. Il
est donc utile d'avoir plusieurs alternatives dans le choix d'une solution PO.
Ce chapitre introduit, dans un premier temps, les concepts de base et les principes de
génétiques sont ensuite décrits comme une technique récente d'optimisation qui possède
génétiques multi-objectifs est présenté en essayant d'apporter un regard critique sur chacun
d'eux. Pour terminer, les objectifs de ce travail de recherche sont décrits en relation avec la
La difficulté principale d'un PMO est qu'il n'existe pas de définition de la solution
optimale. Le décideur peut simplement exprimer le fait qu'une solution soit préférable à une
autre mais il n'existe généralement pas une unique solution meilleure que toutes les autres.
Dès lors, résoudre un PMO ne consiste pas à rechercher la solution optimale mais
l'ensemble des solutions satisfaisantes pour lesquelles on ne pourra pas effectuer une
opération de classement. Les méthodes de résolution de PMO sont donc des méthodes
où k > 2 est le nombre de fonctions objectifs, x = (xj,..., xj est le vecteur représentant les
contraintes d'égalité, d'inégalité et des bornes explicites et F(x) =(fi(x), f2(x),..., fk(x)) est le
Soit une solution x e E (ensemble de solutions), x domine une autre solution x' e E si
Vz e [l..k] fi(x)<fi{xy) et pour au moins un_; tel que fj{x)<fity) • La Figure 3.1 présente
les relations de dominance pour deux objectifs de minimisation. Le rectangle gris clair
contient les solutions dominant la solution représentée par le point B. Le rectangle gris
foncé entoure la région contenant les solutions dominées par B. Toutes les autres solutions
O
indifférent
O O
oE
domine
0
O G O
F1
Figure 3.1 : Illustration des relations de dominance entre les solutions pour deux objectifs
de minimisation [Zitzler, 2001]
suivant : dans un PMO, il existe un équilibre tel que l'on ne peut pas améliorer un objectif
est dit Pareto optimal s'il n'est dominé par aucun autre point appartenant à E. Autrement
dit, un point x* e E est Pareto optimal si et seulement s'il n'existe aucun autre point x e E
tel que fi(x) <f,{x*) pour tout / = 1,..., k et qu'il existe au moins un y tel quejj(x) <fj(x*).
Ces points sont également appelés solutions non inférieures ou non dominées. L'ensemble
À la Figure 3.2, les solutions représentées par des ronds gris foncés représentent les
solutions Pareto optimales. L'ensemble de ces solutions reliées par la ligne en pointillés
constitue la frontière Pareto. Les solutions représentées par des ronds blancs représentent
/n\°
/\ ) O
O
O
Dominées
* • • - . . .
I. • • • • • • •
F1
3.2.4 Classification
Dans les différentes publications, nous rencontrons deux classifications différentes des
décideur est demandée. Le deuxième classement, plus théorique, trie les méthodes en
l'information sur les préférences du décideur est demandée, les méthodes de résolution de
PMO peuvent être regroupées en trois catégories [Hwang et Masud, 1980] : a priori, a
posteriori et interactive.
Dans les méthodes a priori, l'information sur les préférences du décideur est requise
avant la résolution du problème. Dans cette catégorie, les méthodes utilisées pour résoudre
les PMO consistent souvent à combiner les différentes fonctions objectifs en une fonction
d'utilité suivant les préférences du décideur. Dans ce cas, le décideur est supposé connaître
a priori le poids de chaque objectif afin de les combiner dans une fonction unique. Cela
revient à résoudre un problème simple objectif. Cependant, dans la plupart des cas, le
décideur ne peut pas exprimer clairement le poids à attribuer aux différents objectifs, soit
par manque d'expérience ou d'informations, soit parce que les différents objectifs sont non
commensurables. Des objectifs sont non commensurables si leurs valeurs sont exprimées
Dans les méthodes a posteriori, la recherche de solutions est effectuée sans qu'aucune
décideur choisira la solution la plus satisfaisante selon ses préférences. Autrement dit, les
compromis sont faits par le décideur après la génération de l'ensemble des solutions non
dominées. Si cette approche évite certains inconvénients de l'approche a priori, elle exclut
l'espace de recherche. Ce type d'approche n'est donc utilisable que dans le cas où la
système. Les processus de décision et d'optimisation sont alternés. Par moment, le décideur
dernières sont alors prises en compte par le système pour la résolution du problème. Le
décideur modifie ainsi le compromis entre ses préférences et les résultats. Cette technique
permet de faire une exploration guidée de l'ensemble PO. Cependant, il n'est pas garanti
point de vue plus théorique articulé autour des notions d'agrégation et d'optimum Pareto.
Selon cette classification, les approches utilisées pour la résolution de PMO peuvent être
regroupées dans les trois catégories suivantes [Talbi, 1999] : les approches basées sur la
approches Pareto.
L'ensemble des méthodes de la première catégorie repose sur l'axiome suivant : tout
U=U<fhf2,...,fk). (2)
Dans cette catégorie d'approches, les modèles les plus utilisés sont le modèle additif :
_ (3)
et le modèle multiplicatif :
37
(4)
1=1
Cependant, l'utilisation de ces modèles impose généralement que les objectifs soient
commensurables. Il est donc très difficile d'utiliser ces techniques lorsque l'ensemble des
objectifs est composé à la fois d'objectifs qualitatifs et quantitatifs. Parmi les techniques
relative que le décideur attribue à l'objectif. Cela modifie un PMO en un problème uni-
objectif de la forme :
facile à mettre en œuvre, la détermination des poids s'avère être une question délicate qui
Dans la programmation par but, le décideur fixe un but T{ à atteindre pour chaque
objectif/5 [Chaînes et Cooper, 1961]. Ces valeurs sont ensuite ajoutées au problème comme
des contraintes supplémentaires. La nouvelle fonction objectif est alors modifiée de façon à
minimiser la somme des écarts entre les résultats et les buts à atteindre :
/<x)-2î| (6)
1=1
38
Différentes variantes et applications de cette technique ont été proposées [Ignizio, 1981;
Van Veldhuizen, 1999]. Comme pour la somme pondérée, cette méthode est facile à mettre
en œuvre. De plus, elle fournit un résultat même si un mauvais choix initial a conduit le
Les approches non Pareto, de leur côté, ne transforment pas le PMO en un problème uni-
objectif et n'utilisent pas les concepts de dominance ou d'optimum Pareto. En général, cette
classe de méthodes possède un processus de recherche qui traite séparément les différents
objectifs. Dans cette catégorie, une des techniques les plus répandues est la sélection
lexicographique.
La sélection lexicographique a été introduite par Fourman [1985]. Dans cette technique,
les objectifs sont préalablement rangés par ordre d'importance par le décideur. Ensuite,
l'optimum est obtenu en minimisant tout d'abord la fonction objectif la plus importante puis
la deuxième, et ainsi de suite sans jamais détériorer les objectifs précédents. Le risque
essentiel de cette méthode est la grande importance attribuée aux objectifs classés en
premier. La meilleure solution//* trouvée pour l'objectif le plus important risque de faire
converger l'algorithme vers une zone restreinte de l'espace des solutions et enfermer les
Pareto dans leur processus de recherche. Le processus de sélection des solutions générées
est basé sur la notion de non-dominance. Le principal avantage de ces méthodes est qu'elles
peuvent générer des solutions PO dans toutes les régions de la frontière Pareto. Certaines
39
techniques de résolution appartenant à cette catégorie seront présentées plus en détail dans
Classiquement, les PMO sont résolus à l'aide de technique comme la moyenne pondérée
ou la programmation par but car ces techniques permettent souvent d'utiliser des
algorithmes éprouvés pour des problèmes uni-objectif [Francisci, 2002]. Cependant, Deb
[1999] a montré que certaines de ces techniques avaient un champ d'applications limité. De
plus, les méthodes classiques ont toutes en commun qu'elles requièrent généralement
Récemment, les algorithmes génétiques se sont révélés être une alternative intéressante
aux méthodes classiques grâce à leur faculté à exploiter de vastes espaces de recherche et à
générer des compromis multiples en une seule étape d'optimisation [Francisci, 2002]. De
plus, les algorithmes génétiques sont peu sensibles à la forme de la frontière Pareto. Les
algorithmes génétiques font partie des méthodes métaheuristiques. Ce sont des techniques
complexes qui n'ont pu être résolus de façon efficace par les heuristiques et les méthodes
d'optimisation classique [Osman et Laporte, 1996]. Parmi les métaheuristiques les plus
utilisées, citons le recuit simulé [Kirkpatrick et al, 1983], la recherche avec tabous [Glover,
1986], l'optimisation par colonie de fourmis [Dorigo, 1992] et bien entendu les algorithmes
génétiques [Holland, 1975] dont les principes de base sont présentés brièvement à la section
suivante.
40
l'évolution proposées par Charles Darwin. Les AG sont à la base des algorithmes
automatique. Les premiers travaux dans ce domaine ont commencé dans les années
cinquante, lorsque plusieurs biologistes américains ont simulé des structures biologiques
sur ordinateur. Entre 1960 et 1970, John Holland, sur la base des travaux précédents,
n'étaient pas assez puissants pour envisager l'utilisation des algorithmes génétiques sur des
problèmes réels de grande taille. La parution en 1989 de l'ouvrage de référence écrit par
Goldberg qui décrit l'utilisation de ces algorithmes dans le cadre de résolution de problèmes
concrets a permis de mieux faire connaître ces derniers dans la communauté scientifique et
a marqué le début d'un nouvel intérêt pour cette technique d'optimisation, qui reste
cet espace ayant la meilleure adaptation à l'environnement posé. Chaque élément de E est
population P afin de trouver le meilleur individu x*. Dans ce but, à chaque génération t, les
41
individus de la population P(i) sont sélectionnés, croisés et mutés selon des probabilités
Bien que les principes sous-jacents soient simples, ces algorithmes s'avèrent être des
semblent être spécialement utiles en optimisation multi-objectifs car ils sont capables de
déterminer plusieurs solutions en une seule exécution. Certains auteurs suggèrent même
que l'optimisation multi-objectifs peut être un domaine où les AG font mieux que d'autres
Uresti-Charre, 1997].
Dans la nature, les structures géniques sont codées en base 4, dont les « chiffres » sont
les quatre bases azotées : l'adénine (A), la thymine (T), la cytosine (C) et la guanine (G).
Dans le cadre des AG, ce type de codage est bien difficile à utiliser et n'a donc pas été
retenu. Nous présenterons ici deux des représentations utilisées pour le codage des
chemin.
AG. Chaque individu x est représenté sous forme de chaînes de bits, où chaque élément
prend la valeur 0 ou 1 :
42
Où L est la taille du vecteur (nombre de bits). L'espace de recherche est alors {CU}1. Ce
augmente; et
bits dont diffèrent deux nombres binaires) ne codent pas nécessairement deux
La représentation par chemin est une manière naturelle de coder une solution d'un
représenté sous forme de chaînes de symboles a\. Deux symboles successifs d'un individu*
représentent deux numéros de villes adjacentes dans le chemin proposé. Pour être valide, un
individu doit comporter chaque symbole (chaque ville à visiter dans le cas d'un PVC) et ce
3.3.2 La sélection
Comme son nom l'indique, la sélection permet d'identifier les meilleurs individus d'une
utilisé par les AG. Son rôle est de sélectionner les individus relativement performants afin
43
qu'ils se reproduisent. Plusieurs stratégies de sélection ont été mises en place, les
La première sélection mise en place pour les AG est le tirage à la roulette (Roulette
Wheel Selection (RWS)) introduite par Goldberg [1989]. C'est une méthode stochastique
qui exploite la métaphore d'une roulette de casino. Elle consiste à associer à chaque
performance comme l'illustre la Figure 3.3. La roue étant lancée, l'individu sélectionné est
celui sur lequel la roue s'est arrêté. Cette méthode favorise les meilleurs individus, mais
Figure 3.3 : Roulette pour une population de 5 individus avec/fo) = {60,10,15,10, 5}.
Pour tirer un individu, on lance la roue, et si elle s'arrête sur le segment i, xt est sélectionné
De son côté, la sélection par tournoi fait intervenir le concept de comparaison entre les
est ajustée par le nombre de participants q à un tournoi. Un q élevé a une forte pression de
sélection et inversement. L'avantage de cette technique de sélection est qu'elle n'est pas
3.3.3 Le croisement
structure des chromosomes. Classiquement, les croisements sont envisagés avec deux
parents et génèrent deux enfants mais il est tout à fait possible d'imaginer des croisements
avec N parents pour produire K enfants. Un croisement consiste à échanger les gènes des
parents afin de donner des enfants qui comportent des propriétés combinées. Bien qu'il soit
souvent aléatoire, cet échange d'informations offre aux algorithmes génétiques une part de
leur puissance : quelquefois, de « bons » gènes d'un parent viennent remplacer les
« mauvais » gènes d'un autre et créent des enfants mieux adaptés que les parents. Dans les
d'arêtes (ER).
Le croisement à un point est une des premières stratégies de croisement utilisées par les
AG [Holland, 1962]. Son but est d'échanger un fragment de gènes entre deux individus. Il
ensuite à échanger un fragment de gènes entre les deux individus afin de créer deux enfants.
Notons que le croisement s'effectue directement au niveau binaire, et non pas au niveau des
gènes. Un chromosome peut donc être coupé au milieu d'un gène. À la Figure 3.4, le point
2 parents 2 enfants
I
îooioiomoiooi 1O0101O0101101
•
| 01 HOpLOOl01101 j |O111OJO111O1OO1
Le PMX est une technique introduite par Goldberg et Lingle en 1985 pour le problème
deux points de coupure sur chaque parent. Afin de créer un enfant, la sous-chaîne comprise
entre les deux points de coupure du premier parent remplace la sous-chaîne correspondante
dans le deuxième parent. Ensuite, un remplacement inverse est effectué à l'extérieur des
deux points de coupure de manière à éliminer les doublons et restaurer tous les gènes. La
Figure 3.5 illustre la création d'un enfant par cette technique. Dans un premier temps, la
sous-chaîne 236 du parent 2 est remplacée par la sous-chaîne 564 provenant du parent 1
(étape 1). Comme les gènes 4 et 5 sont maintenant dupliqués dans l'enfant, ils seront
remplacés par les gènes compris entre les points de coupure du parent 2 qui ne sont pas
encore présents dans l'enfant. Plus précisément, le gène 2 remplacera le gène 5 et le gène 3
Parent 1 : 12 | 5 6 4 | 3 8 7
Parent 2 : 14 | 2 3 6 | 5 7 8
Enfant(étape 1) 14 | 5 6 4 ( 5 7 8
Enfant(étape 2) 13 | 5 6 4 | 2 7 8
Cette technique de croisement essaie de préserver la position absolue des gènes. Dans les
faits, le nombre de gènes qui ne vont pas conserver la position qu'ils avaient dans l'un des
deux parents sera au plus égal à la longueur de la sous-chaîne comprise entre les deux
points de coupure. Dans l'exemple précédent, seuls les gènes 2 et 3 ne conservent pas leurs
L'opérateur de croisement par recombinaison d'arêtes (ER), introduit par Whitley et al.
[1989], tente de préserver les plus d'arêtes possibles provenant des parents de façon à
minimiser l'introduction d'arêtes additionnelles. Pour cela, une « carte » d'arêtes contenant
toutes les connexions entre les différents gènes est construite pour les deux parents. La
présence d'arêtes indique une connexion entre deux gènes. Pour construire un enfant, un
gène courant est choisi entre les gènes de départ des parents. La carte d'arêtes est alors
utilisée pour choisir le prochain gène courant. Parmi les gènes liés au gène courant dans un
des parents, on choisit celui ayant le moins de liens disponibles dans la carte d'arêtes. En
cas d'égalité entre deux gènes ou plus, on en choisit un aléatoirement. Lorsqu'un gène est
choisi, la carte d'arêtes est mise à jour. La Figure 3.6 illustre la carte d'arêtes initiale pour
Les opérations successives de cet opérateur de croisement sont illustrées à la Figure 3.7
[Potvin, 1996] à partir de la carte d'arêtes initiale de la Figure 3.6. Si on suppose que le
gène 1 est choisi comme point de départ, toutes les arêtes incidentes au gène 1 doivent être
effacées de la carte d'arêtes initiale. À partir du gène 1, on peut choisir les gènes 3, 4, 7 ou
8. Le gène 3 a trois arêtes actives tandis que les gènes 4, 7 et 8 ont en deux comme illustré
par la carte d'arête (a) de la Figure 3.7. Un gène est alors choisi aléatoirement entre les
gènes 4, 7 et 8. Supposons que c'est le gène 8 qui est choisi. À partir du gène 8, on peut
choisir les gènes 2 ou 7. Comme l'indique la carte d'arêtes (b), le gène 2 a deux arêtes
actives alors que le gène 7 en a une seule, donc c'est lui qui sera choisi. À partir du gène 7,
seul le gène 5 peut être choisi. De ce point, la carte d'arête (d) offre le choix entre les gènes
3 et 6 qui ont chacun deux arêtes actives. Si c'est le gène 6 qui est retenu, on peut choisir
entre les gènes 3 et 4 qui ont chacun une arête active. Supposons que c'est le gène 4 qui est
choisi aléatoirement. À partir du gène 4, seul le gène 2 peut être sélectionné et, à partir de
ce point, le gène 3 doit être choisi. L'enfant généré à partir de x\ et xi avec cette technique
001
Gène 7 a des arêtes vers : 5_ Gène 7 a des arêtes vers : 5
Gène 8 a des arêtes vers : 2_7
3.3.4 La mutation
L'opérateur de mutation joue le rôle de bruit et tente d'empêcher une convergence trop
hâtive. Plusieurs opérateurs de mutation ont été mis en place, parmi lesquels l'inversion et
l'échange.
La mutation par inversion est souvent utilisée avec la représentation binaire [Ben
Hamida, 2001]. Elle consiste simplement à inverser de manière aléatoire un gène d'un
individu. À la Figure 3.8, la position 9 est sélectionnée et le gène est inversé, il passe de 1 à
0.
49
1001001liOlOOl
Une mutation \7
îooioonloiooi
La mutation par échange consiste à sélectionner de manière aléatoire deux gènes d'un
individu et d'échanger les positions respectives des deux éléments choisis. À la Figure 3.9,
134|7|92
une mutation X
134I7Î92
l'algorithme passe d'une génération à une autre en appliquant les mécanismes d'évaluation
3.3.6 Le nichage
Une des principales difficultés à surmonter lorsque l'on veut utiliser un algorithme
algorithme génétique simple a, en général, tendance à converger vers une solution unique
en négligeant souvent les autres solutions [Mahfoud, 1995]. Dans un contexte multi-
objectifs, on ne cherche pas une mais un ensemble de solutions. Il est donc essentiel de
préserver une certaine diversité entre les différentes solutions trouvées à chaque itération
par un AG multi-objectifs. Les techniques de nichage ont été développées en ce sens. Ces
[1987]. Dans cette méthode, la performance d'un individu va être dégradée en fonction du
nombre d'individus qui lui sont proches dans la population. Le but principal de cette
méthode est de pénaliser les individus qui sont trop proches les uns des autres en terme de
distance. Ainsi, la performance partagée / ' d'un individu x, est donnée par :
J \xù~
2, j^sh (d(xi,xj))
51
deux solutions. Elle retourne 1 si les deux solutions sont identiques, 0 si la distance entre
les deux dépasse un certain seuil (aSh). La somme des valeurs des fonctions de partage est
appelée compte de niche. Une des fonctions de partage les plus utilisées est celle proposée
a
si
H T~l d(x,y)<crsh
sh(d)=- (9)
0 sinon
distances Euclidiennes.
consiste à remplacer des éléments d'une population par d'autres éléments similaires et
meilleurs qu'eux. Cette méthode est une analogie des systèmes vivants en compétition pour
une ressource. Dans les problèmes d'optimisation, la ressource est l'optimum à atteindre.
Des individus situés dans des zones différentes de l'espace des solutions ne sont pas en
concurrence pour le même optimum, alors que des individus proches sont en compétition.
population. Cependant, Mafhoud [1995] a prouvé que bien qu'une telle méthode permette
d'obtenir une certaine diversité dans la population, elle s'avère peu efficace pour bien
52
approximer la frontière Pareto. Ceci explique, en partie, pourquoi cette technique est moins
C'est dans le milieu des années 80 [Schaffer, 1985] que, pour la première fois, les AG
différentes des AG ont été proposées et appliquées avec succès à divers PMO [Hajela et
Lin, 1992; Fonseca et Fleming, 1993; Horn et al, 1994; Srivinas et Deb, 1994; Ishibuchi et
chercheurs ont étudié quelques aspects des AG pour l'optimisation multi-objectifs comme
1998; Parks et Miller, 1998]. Parallèlement, de nouvelles techniques ont été développées
[Zitzler et Thiele, 1998; Knowles et Corne, 2000; Coello Coello et Pulido, 2001] . Les
sections suivantes présentent un éventail des méthodes de résolution de PMO basées sur les
problème uni-objectif
Les implementations des AG de cette catégorie d'approche sont basées sur les
techniques classiques pour générer des compromis sur l'ensemble PO. Certaines approches
Objective Genetic Local Search (MOGLS) [Ishibuchi et Murata, 1996], par exemple,
combinaison particulière de poids qui est soit choisie aléatoirement, soit encodée dans
l'individu, tous les membres de la population sont évalués par différentes fonctions
En général, les méthodes dites non Pareto possèdent un processus de recherche qui traite
En 1985, Schaffer propose une extension d'un algorithme génétique simple pour la
résolution d'un PMO [Schaffer, 1985]. Cette méthode est appelée Vector Evaluated
Genetic Algorithm. La seule différence avec un algorithme génétique simple est la manière
dont s'effectue la sélection. Comme le montre la Figure 3.11, l'idée est simple. Si nous
avons k objectifs et une population de n individus, une sélection de nlk individus est
effectuée pour chaque objectif. Ainsi, k sous-populations vont être créées, chacune d'entre
elles contenant les nlk meilleurs individus pour un objectif particulier. Les k sous-
populations sont ensuite mélangées afin d'obtenir une nouvelle population de taille n. Le
et de mutation.
54
Sous-populauon 1
Objectif 1
Population Population
Swu-populationk
Croisement
mutation
Le VEGA est l'un des premiers AG multi-objectifs. Cette technique est très facilement
implémentable dans un AG classique et ceci explique sans doute pourquoi elle est encore
très souvent utilisée [Berro, 2001]. Cependant, avec une telle sélection, les points se
« compromis » qui ont une performance générale acceptable mais ne possèdent aucun
1989] pour résoudre les problèmes proposés par Schaffer [1985]. L'utilisation d'une
sélection basée sur la notion de dominance de Pareto va faire converger la population vers
Les paragraphes suivants présentent des techniques inspirées des algorithmes génétiques
et utilisant cette notion. Cette présentation sera divisée en deux parties : dans un premier
temps, nous allons nous intéresser aux techniques non élitistes et, dans un deuxième temps,
Une méthode de résolution est dite non élitiste lorsqu'elle ne comporte aucun
mécanisme explicite permettant la conservation des meilleures solutions tout au long de son
exécution.
Proposé par Fonseca et Fleming [1993], le MOGA est une méthode dans laquelle
Soit un individu x à la génération t, dominé par/?(f) individus. Le rang de cet individu est :
La procédure de sélection utilise ensuite ces rangs pour sélectionner ou éliminer des blocs
d'individus.
de la grande pression exercée par la sélection. Pour éviter ce problème, les auteurs ont
introduit une fonction de partage de performance afin de mieux répartir les solutions le long
Cette méthode proposée par Horn et Napfliotis [1994] utilise une sélection par tournoi
basée sur la notion de dominance de Pareto. Elle compare deux individus pris au hasard
avec une sous-population de taille tdom également choisie au hasard. Si un de ces deux
individus est non dominé par le sous-groupe et l'autre non, il est alors sélectionné. Lorsque
les deux individus sont soit non dominés soit dominés par le sous-groupe, une fonction de
partage de performance est appliquée pour déterminer celui qui sera sélectionné. Le
paramètre tdom permet d'exercer une pression variable sur la population et ainsi
valeur de tdom.
Cette méthode a été proposée par Srinivas et Deb [1994]. Comme le MOGA, l'approche
NSGA est basée sur le classement non dominé. Elle affecte à chaque individu une
groupe d'individus ayant le même degré de dominance au sens Pareto. Les individus du
Front 1 auront une meilleure performance que ceux du Front 2 qui eux auront une meilleure
performance que ceux du Front 3 et ainsi de suite. Pour la sélection, elle applique ensuite le
3.12 montre la classification d'une population par front dans un contexte de minimisation.
L'ensemble des solutions non dominées est représenté par les solutions du front 1.
Figure 3.12 : Illustration du classement par front dans le NSGA [Zitzler et ai, 1999]
Cette méthode paraît moins efficace en temps de calcul que la méthode MOGA car le
L'utilisation d'une fonction de partage sur l'espace des solutions et le tri des solutions en
différentes frontières semblent toutefois plus appropriés pour maintenir une grande
diversité de la population et pour répartir plus efficacement les solutions sur la frontière de
À l'opposé des méthodes non élitistes, une technique élitiste comporte une ou plusieurs
de l'algorithme.
3.6.3.1 NSGAII
Dans cette deuxième version du NSGA [Deb, 2000], l'auteur tente de résoudre toutes les
différents fronts. Pour diminuer la complexité de calcul du NSGA, Deb propose une
qui exige le réglage d'un ou plusieurs paramètre(s) et qui est également forte
performance par une fonction de remplacement. Pour cela, il attribue deux caractéristiques
à chaque individu :
auront un irank de 0 car ils sont non dominés les individus du front 2 un irank de 1 car
ils ne sont dominés que par des individus du premier front et ainsi de suite;
59
Comme illustré dans la Figure 3.13, pour estimer la densité au voisinage d'une solution i,
on calcule la distance moyenne sur chaque objectif, entre les deux points les plus proche
situés de part et d'autre de la solution. Cette quantité appelée idistance sert d'estimateur de
taille du plus large hyper-cube incluant le point i sans inclure un autre point de la
CM
k
O
O
o
i-1 *
4
I*,
F1
Pour répondre à la critique de non-élitisme, l'auteur utilise dans cette version une
sélection par tournoi et modifie la procédure de passage entre deux générations. Si deux
solutions sont sélectionnées pour participer au tournoi, la solution de plus bas rang irang sera
60
retenue. Mais si les deux rangs sont identiques, il est préférable de choisir la solution située
dans une région dépeuplée, c'est-à-dire avec une valeur instance importante.
l'algorithme, une population d'enfant Qt de taille N est générée à partir d'une population Pt
de parents de taille identique. Les deux populations sont alors combinées dans une
population Rt de taille 2N. La nouvelle population est ensuite triée en plusieurs fronts selon
population Pt+i de taille N est créée à partir des solutions des différents fronts de Rt. On
commence avec les solutions du premier front et ainsi de suite. Comme la taille de Rt est de
2N et que la taille de la nouvelle population est juste de N, tous les fronts ne pourront pas
être contenus dans P,+j. Les fronts qui n'entreront pas dans la nouvelle population seront
tout simplement supprimés. Cependant, il se peut qu'il y ait dans un front plus de solutions
que de places disponibles. Dans ce cas, les individus du front situés dans les régions les
plus isolées (instance importante) sont choisis et les autres sont éliminés.
61
Fronts.
Fronts
Fronts
> Rejette
R*
O(kN2), de créer une méthode plus élitiste et de supprimer les paramètres de la fonction de
Proposé par Zitler et al. [1999], le SPEA est basé simultanément sur les concepts de
une population externe, appelée archive, de taille M pour maintenir les solutions PO. Dans
cette méthode, le passage d'une génération à une autre commence par la mise à jour de
l'archive. Tous les individus non dominés sont copiés dans l'archive et les individus
62
dominés déjà présents sont supprimés. Si le nombre d'individus dans l'archive excède un
l'archive. La performance de chaque individu est ensuite mise à jour avant d'effectuer la
sélection en utilisant les deux ensembles. Pour terminer, on applique les opérateurs
calcule pour chaque individu i de l'archive une force, Si, correspondant au nombre de
solutions de la population qu'il domine, »,, divisé par la taille de la population plus un.
additionnant les Si de tous les membres de l'archive qui dominent ou qui sont égales àj, et
en ajoutant un à la fin.
/*=1+J> (12)
entraîne la formation de niches où la performance des individus dépend de leur position par
rapport aux individus Pareto optimaux [Zitzler et al, 1999]. Cependant, le calcul de la
individu, tous les membres de la population auraient la même performance. Dans ce cas, le
63
3.6.3.3 SPEA 2
Une version révisée du SPEA a été récemment proposée pour corriger les lacunes de
Pour éviter que les individus dominés par les mêmes membres de l'archive aient des
SPEA 2 tient compte à la fois du nombre d'individus dominés par une solution et du
nombre d'individus qui domine la solution. Autrement dit, pour chaque individu i de
représentant le nombre de solutions qu'il domine. La performance brute R(i) d'un individu i
Bien que la performance brute soit une technique de nichage basée sur la notion de
dominance, elle se révèle inefficace lorsque la plupart des individus sont des solutions non
dominées [Zitzler et al, 2001]. C'est pourquoi les auteurs ont introduit une technique
d'estimation de la densité basée sur le concept du kième plus proche voisin [Silverman,
1986]. Pour cela, la distance entre un individu i et tous les individus j de l'archive et de la
population est calculée et stockée dans une liste. Après avoir trié la liste en ordre croissant,
64
(13)
Au dénominateur, on ajoute deux pour s'assurer que celui-ci sera supérieur à zéro et que
D(i) <1 . Finalement, en ajoutant D(i) à la performance brute R(i) on obtient la performance
F(i) de l'individu i.
Pour réduire les pertes de solutions dues à l'ancienne méthode de regroupement, les
auteurs ont introduit une nouvelle technique de réduction de l'archive. La Figure 3.15
ensemble de solutions non dominées est présenté. Sur la droite, on montre quelles solutions
seront enlevées de l'archive est dans quel ordre par la fonction de réduction. Si la taille de
LU
"~~~°^s 3
V 2
^ \ . procédure de réduction
N , 1
\
F1 F1
taille de l'archive.
Les Chapitres 2 et 3 ont permis d'introduire différentes notions sur les SIAD,
comprendre les bénéfices que ce type de systèmes peut apporter dans la résolution de PMO.
La mise en œuvre du SIAD sera illustrée à partir d'un contexte réel d'ordonnancement
seule exécution;
Cet algorithme a été choisi car il ne nécessite pas le réglage de nombreux paramètres et il
66
semble bien se comporter sur différents PMO [Deb, 2000; Zitzler et al, 2001]. Par la suite,
multi-objectifs pour le contexte étudié. Pour en vérifier la performance, les résultats de cet
algorithme seront évalués en relation avec les ensembles de références et les résultats
obtenus par le NSGAII. Finalement, les différents éléments de l'interface graphique seront
développés et intégrés avec les autres modules afin d'obtenir un ensemble cohérent.
a. Une interface graphique facile d'utilisation et conviviale afin de permettre une prise
temps :
décideur et
décideur.
3.8 Conclusion
Dans les chapitres 2 et 3, les notions fondamentales sur les SIAD et l'optimisation multi-
objectifs ainsi qu'un état de l'art des méthodes de résolution de PMO ont été présentés. Les
objectifs de recherche de ce travail ont également été définis. La suite de ce travail sera
67
consacrée à la conception d'un système interactif d'aide à la décision basé sur des
4.1 Introduction
Les problèmes d'ordonnancement sont des problèmes d'optimisation combinatoire
dont la complexité est maintenant établie. Pour la majorité de ce ceux-ci, il n'existe pas
d'algorithmes connus pour les résoudre de façon optimale dans un temps polynomial ce qui
en fait des problèmes définis NP-difficiles [Garey et Johnson, 1979; Chapman, 1987]. Ces
opérationnelle. Une des principales raisons justifiant cet effort s'explique par le fait que de
lesquels il serait intéressant d'appliquer les méthodes de résolution découlant des divers
travaux sur le sujet. Cependant, plusieurs auteurs ont noté [Allahverdi et al, 1999; Yang et
Liao, 1999], en recensant la littérature, que les chercheurs s'attardaient principalement à des
ces problèmes sur la base de l'optimisation d'un objectif unique. Cependant, les situations
pratiques sont souvent plus complexes que les problèmes théoriques classiques et
correspondent rarement à l'optimisation d'un seul objectif. Pour de tels contextes, des
utilité.
performantes autant pour les problèmes d'optimisation combinatoire en général que pour
les problèmes d'ordonnancement théoriques et pratiques. Par exemple, dans Gravel et al.
[2002], les auteurs présentent une méthode basée sur la métaheuristique d'Optimisation par
Colonies de Fourmis (OCF) pour la résolution d'un problème réel d'ordonnancement multi-
70
leur efficacité a été démontrée dans Gagné et al. [2002a] à l'aide de problèmes théoriques
de nature similaire au problème industriel. Ces ajouts ont par la suite été adaptés à l'OCF
afin de résoudre le problème industriel [Gagné et al, 2002b]. Certaines de ces approches
ont été implantées dans un logiciel utilisé dans plusieurs usines de l'entreprise.
Toutefois, même si cet algorithme s'est avéré une solution efficace au problème,
désavantage de diriger la recherche dans une direction extrême et de considérer les autres
objectifs seulement en cas d'égalité. Pour éviter cet inconvénient, les auteurs ont proposé
procédure a été présenté à l'aide de la recherche avec tabous hybride avec la recherche par
voisinage variable pour traiter un problème d'ordonnancement bi-objectifs sur une machine
unique avec réglages dépendant de la séquence [Gagné et al, 2004a]. Cette procédure
industriel [Gagné et al, 2004b]. Cependant, cette approche nécessite plusieurs étapes
vastes espaces de recherche et à générer des compromis multiples en une seule étape
71
etal.[2002].
résolution présentées dans cette partie sont des composantes importantes du SIAD, car elles
résolution du problème d'un point de vue multi-objectifs basées sur les algorithmes
rencontré dans une aluminerie. Pour une période de production donnée, un carnet de
commandes de lingots possédant différentes caractéristiques doit être produit en usine sur
une machine à coulée horizontale qui est illustrée à la Figure 4.1. Lors de la production
d'une commande, la machine à coulée est alimentée par les fours de préparation. Ceux-ci
sont utilisés pour établir le mélange désiré en ajoutant différents ingrédients d'alliage à de
utilisé permet de donner la dimension voulue au lingot et ce dernier est découpé, à l'aide
72
Métal
chaud
Creuset de
___
Bassin " " " "
Moule
Lingot
continu
\J
Scie
Lingots
transfert
Fours de
préparation
cas, entraîner des procédures de drainage et de nettoyage des fours de préparation. De plus,
appelées réglages, représentent des pertes de capacité de production et doivent être autant
que possible évitées. De plus, ces deux types de réglages sont dépendants de la séquence de
production.
Le processus de production des commandes doit être planifié de façon à réduire le plus
possible les pertes de capacité du système de production qui correspond aux temps de
réglages et aux temps morts, mais aussi le retard des commandes. Chaque commande doit
être livrée à son client respectif à une certaine date fixée préalablement. Un troisième
73
objectif est également visé et cherche à maximiser la capacité de livraison en regroupant les
commandes d'une même destination tout en respectant une capacité cible du moyen de
transport utilisé.
déterminer l'ordre dans lequel les commandes vont être traitées sur la machine à couler, de
façon à minimiser les trois objectifs que sont la perte de capacité de la machine à couler
(/i), le retard total de l'ensemble des commandes ifi) et la perte de capacité de livraison {fi).
retard total sont mesurés en jours tandis que la perte de capacité de livraison est mesurée en
dépendants de la séquence. Du et Leung [1990] ont démontré que ce problème classique est
NP-difficile [Garey et Johnson, 1979] lorsque les temps de réglages sont dépendants de la
séquence. Le problème industriel s'avère donc davantage complexe en raison des deux
types de réglages et des différentes contraintes technologiques qui lui sont spécifiques.
Plusieurs travaux [Gagné, 2001; Gravel et al, 2002; Gagné et al, 2002b], incluant une
thèse de doctorat, ont mené à l'élaboration d'une méthode de résolution performante pour
comme base de comparaison pour la version uni-objectif de l'AG présenté dans la section
suivante.
74
problème d'ordonnancement industriel. Cette section présente l'AG proposé ainsi que les
résultats obtenus. Il sera ainsi démontré que cet algorithme permet de résoudre
de résolution.
Comme il a été expliqué au chapitre précédent, les algorithmes génétiques suivent tous,
en général, un principe commun et la présente implantation n'y fait pas défaut : une phase
performant que les précédents. Plus le nombre de générations évolue, plus les solutions
chaque génération, les populations Parent et Enfant sont combinées, triées et seuls les N
Figure 4.2 présente un résumé des différentes étapes de l'algorithme génétique uni-objectif
75
suite de ce travail. Les définitions et la notation utilisée sont précisées au Tableau 4.1.
classique sous forme de chaîne de bits s'avère donc mal adaptée. Une manière naturelle de
représenter les solutions d'un problème d'ordonnancement est la représentation par chemin
présentée à la Section 3.3.1. C'est cette représentation qui a été utilisée dans l'AG u .
population initiale est générée de manière aléatoire en veillant à ce que les individus
76
produits soient des solutions valides. C'est-à-dire que le nombre de gènes de chaque
individu est égal au nombre de commandes et chaque commande n'est répétée qu'une et
étape effectuée par l'AG u consiste à sélectionner des individus pour le croisement. La
procédure de sélection que nous avons utilisée est une sélection par tournoi, car cette
exécuter. Cette procédure est décrite plus en détail à la section 3.3.2 du chapitre précédent.
Une fois sélectionnés, les individus sont croisés selon une certaine probabilité (pc). Deux
opérateurs de croisement ont été retenus dans PAGU : le PMX et l'ER. La combinaison de
ces deux opérateurs permet d'introduire une certaine diversité dans la population. Le
premier exploite les similarités au niveau de la position relative des gènes alors que le
deuxième tente de préserver le plus d'arcs possible des deux parents de façon à minimiser
est décrit plus en détail à la Section 3.3.3 du chapitre précédent. Chaque méthode a une
chance sur deux d'être utilisée par l'algorithme. Comme l'opérateur ER ne produit qu'un
enfant et le PMX en produit deux, lorsque que c'est le PMX qui est choisi, nous ne
Après avoir été généré par croisement, les enfants subissent une mutation selon une
certaine probabilité (pm). Dans l'AG u , l'opérateur de mutation retenu est la mutation par
échange. Cette technique de mutation est décrite plus en détail à la Section 3.3.4. Il est
77
important de préciser que dans notre implementation le nombre de gènes à échanger est
de ses lacunes consiste souvent à la combiner avec une autre métaheuristique [Talbi, 2000].
Ce principe général appelé hybridation a été utilisé dans l'AG u . Dans ce cas, l'AG a été
combiné avec des procédures de recherche locale. Les procédures de recherche locale sont
des méthodes qui résolvent les problèmes d'optimisation de manière itérative. Elles font
évoluer la configuration courante en la remplaçant par une autre issue de son voisinage, ce
remarque que tous les individus de la population initiale ainsi que chaque enfant produit
sont améliorés à l'aide d'une procédure de recherche locale. De plus, la solution finale a
est, elle aussi, améliorée avant d'être envoyée à l'utilisateur. Deux méthodes de recherche
locale ont été utilisées dans l'AG u : la méthode d'échanges d'arcs successifs 3-Opt restreint
[Johnson et McGeoch, 1997] et le Or-Opt [Or, 1976]. Il est toutefois à noter que chacune
de ces méthodes est limitée à un nombre maximum de 30 modifications d'une solution par
utiliser pour améliorer un enfant est fait aléatoirement, chacune des deux méthodes ayant
se doit de reproduire la suite des événements de préparation et de coulée des fours en tenant
individus dans l'AG u est réalisée à l'aide d'une fonction d'évaluation simplifiée qui traite
la séquence de commandes sans tenir compte de tous les détails ce qui permet d'obtenir une
l'usager, la solution finale trouvée par l'algorithme est évaluée de manière complète.
D'un point de vue informatique, l'algorithme a été implémenté en C++ selon une
approche objet.
représentatifs du contexte industriel de taille variant entre 10 et 140 commandes ont été
testés. Dans Gagné et al. [2002b], les huit premiers problèmes ont été résolus à partir d'un
algorithme d'OCF. Pour tous les problèmes les paramètres N, pc, pm , NbGen, Kmax qui
générations sans amélioration, sont fixés à (100, 0.8, 0.3, 100, 30). L'algorithme s'arrête
après 100 générations ou après 30 générations successives sans amélioration. Pour tous les
Le Tableau 4.2 (a, b, c) présente les résultats obtenus pour les huit premiers problèmes
lorsque les objectifs sont, tour à tour, désignés comme objectif principal. Dans ce tableau,
perte de capacité comme objectif principal, on retrouve dans la première partie du Tableau
4.2 (a) les résultats obtenus par l'OCF [Gagné et al, 2002b] et dans la seconde partie les
résultats obtenus avec l'AG u . Chaque problème a été résolu à dix reprises par les deux
algorithmes et nous présentons le résultat moyen et l'écart type obtenu. On peut constater
que la performance de l'AG u sur l'objectif prioritaire est comparable à celle de l'OCF sur
les quatre premiers problèmes. Pour les autres problèmes, l'OCF produit de meilleurs
résultats et est moins variable que l'AG u . Toutefois, pour cet objectif, les différences de
Au Tableau 4.2 (b), en considérant le retard comme l'objectif principal, on observe cette
fois-ci une meilleure performance de l'AG u pour tous les problèmes. Dans ce cas, les
améliorations sur l'objectif principal sont plus substantielles sur certains problèmes et
capacité de transport est un objectif facile à optimiser pour les deux algorithmes qui
capacité de la machine à couler, on constate que l'OCF produit de meilleurs résultats et est
moins variables que l'AG u . Toutefois, les différences de performances entre les deux
L'OCF proposé par Gagné et al. [2002b] n'a pas été testé pour des problèmes
performance de l'AG u pour des problèmes de plus grande taille. Le Tableau 4.3 présente
les résultats obtenus par l'AG u pour un carnet de 140 commandes en conservant les
paramètres de l'algorithme lorsque les objectifs sont, tour à tour, désignés comme objectif
principal. Comme pour les huit problèmes précédents, le problème de 140 commandes a été
résolu à dix reprises par l'AG u et nous présentons le résultat moyen et l'écart type obtenu.
Le Tableau 4.4 présente les meilleurs résultats connus sur chaque objectif. Pour les trois
premiers problèmes, il a été possible de connaître les valeurs optimales à l'aide d'une
*. Pour ces trois problèmes, l'AG u permet d'obtenir la valeur optimale sur chacun des
objectifs f\,fz et fi. Notons que sur les cinq derniers problèmes, l'AG u a réussi à abaisser
les meilleurs résultats connus pour l'objectiffi (indiqué par +) et obtenus par l'OCF [Gagné
et al, 2002b] tout en obtenant un résultat identique au minimum connu sur les deux autres
objectifs.
Le Tableau 4.5 donne le temps de calcul moyen obtenu par l'AG^7 pour chacun des neuf
problèmes. Ne disposant pas d'une base de comparaison équitable, ces résultats ne seront
De façon générale, les résultats présentés dans les paragraphes précédents montrent que
l'AG u proposé obtient des performances intéressantes en fournissant des résultats au moins
minimisation du retard total. On peut alors convenir que cette technique d'optimisation
industriel.
Maintenant que la performance de l'AG u a été démontrée pour optimiser les objectifs
selon un ordre lexicographique, nous allons nous intéresser à la résolution simultanée des
différents objectifs du problème. Pour cela, l'algorithme du NSGAII est adapté afin de
problème industriel est proposé. Cet algorithme, noté AGM0PI dans le reste du travail, sera
utilisé comme méthode d'approximation de l'ensemble Pareto par le SIAD. UAGMOPI est
un algorithme basé sur l'AG u qui combine des éléments empruntés au NSGAII et au
SPEA2 deux algorithmes présentés au chapitre précédent. Finalement, l'AG u sera intégré à
Afin de vérifier la qualité des solutions produites par les différents algorithmes
génétiques multi-objectifs implémentés, des ensembles de référence ont été créés pour
chacun des neuf problèmes tests évalués précédemment par l'AG u pour permettre une
Pareto.
La première étape pour résoudre le problème d'un point de vue multi-objectifs consiste à
Cet algorithme a été choisi parce qu'il nécessite peu de réglage de paramètres. De plus, de
récentes études [Deb, 2000; Zitzler et al, 2001] montrent qu'il obtient de bonnes
L'algorithme du NSGAII utilisé est en définitive le même que celui décrit à la Section
3.6.3.1 mis à part l'ajout d'une procédure d'amélioration locale lors de la création de la
population d'enfants et l'utilisation d'une archive permettant de conserver les solutions non
d'intensifier la recherche. De son côté, l'archive est utilisée comme un outil de stockage
pour nous assurer que les solutions non dominées trouvées par l'algorithme ne seront pas
perdues durant la recherche. Ces deux ajouts ont pour but de permettre une comparaison
présenté au chapitre précédent, est rappelé à la Figure 4.3. Les définitions et la notation
mutation utilisées sont les mêmes que celles de l'AG u . Au niveau de l'amélioration locale,
nous utilisons aussi, comme pour l'AG u , les méthodes d'échange d'arcs successifs 3-Opt
restreint et Or-Opt.
Initialiser aléatoirement la population initiale P o de taille N
Initialiser A = 0
Calculer les différents fronts F; de la population P o
Mettre à jour A avec les individus du premier front
Sélectionner dans P o et création de Qopar application des opérateurs de croisement et de mutation
Tant que critère d'arrêt non rencontré faire
Créer R, = P t u Q t
Calculer les différents fronts Fj de la population R,
Mettre à jour A avec les individus du premier front
Mettre Pt+i = 0 et i = 0,
Tant que |P,+1| + |Fj |< N faire
Inclure dans Pt+1 les individus de F;
FinTantQue
Inclure dans P,+i les (N - |Pt+i|) individus de Fj les mieux répartis au sens de la instance
Sélectionner dans P,+) et création de Q,+1 par application des opérateurs de croisement et de mutation
Pour chaque individu x e Q,+1 faire
Effectuer une amélioration locale sur x
Finpour
FinTantQue
Pour l'archive, nous avons choisi d'utiliser une structure de données arborescente
appelée quad-tree [Sun et Steuer, 1996]. Cette structure de données sert à la gestion de
solutions non dominées en ne conservant dans les nœuds constituant l'arborescence que les
L'expérimentation a été faite à partir des neuf problèmes évalués par l'AG u à la section
4.4.3. Dans un premier temps, seulement deux des trois objectifs sont considérés pour
permettre la représentation visuelle des résultats obtenus pour les neuf problèmes tests à
objectifs. Les paramètres N,pc,pm, NbGen de l'algorithme sont fixés à (100,100, 0.3, 100).
Notons que, pour cet algorithme, le seul critère d'arrêt utilisé est le nombre de générations.
Les deux objectifs considérés pour l'illustration des résultats sont la minimisation de la
perte de capacité en usine (/!) et le retard total (fi). Une comparaison visuelle entre les
solutions proposées par le NSGAII et les points de l'ensemble de référence est présentée à
87
la Figure 4.4 (a à i). Pour les problèmes de 10 à 30 commandes, les solutions de l'ensemble
de référence constituent la frontière Pareto. Pour ces trois problèmes, il a été possible
optimal. Les solutions présentées à l'aide d'un triangle sont les solutions de l'ensemble de
référence et les solutions représentées par un cercle sont celles trouvées par le NSGAII. La
Figure 4.4 (a à i) montre que, de manière générale, l'algorithme du NSGAII fournit des
commandes, la courbe proposée par le NSGAII est même identique à celle de l'ensemble
problèmes, on remarque soit un écart appréciable entre certaines portions des deux courbes
(Figure 4.4 (c, e, g et h)), soit qu'il y a des régions entières de l'ensemble de référence que
le NSGAII n'est pas capable d'aller chercher (Figure 4.4 (d et i)). Ceci est peut-être dû au
fait que l'algorithme du NSGAII éprouve, dans certains cas, des difficultés à répartir les
solutions sur la frontière Pareto. On peut penser que pour ces problèmes, la répartition en
Problème 10
/.UU
•
6.95
6.90
A Référence
8 6.85 -- - -
cc • NSGAII
6.80
6.75 — —
m.
R 7fi
O. l\J i
1.!50 1.70 1.90 2.10 2.30 2.!50
Capacité
Problème 20
en r\r\ _,
OU.UU
40.00
X • • —
retard
30.00 A Référence
20.00 - : ; : : : • NSGAII
10.00 — — —
n. c\c\ i i i
Problème 30
A Référence
• NSGAII
Problème 40
1 Ad nn -,
I HVJ.UU
^ 100.00 - - ••
s fin nn - A Référence
Œ • NSGAII
60.00
40.00 -
Problème 50
200.00
150.00
•o
A Référence
| 100.00 • NSGAII
oc
50.00 -{
0.00
4.70 5.70 6.70 7.70 8.70
Capacité
Problème 60
300.00
250.00
V 200.00
150.00
100.00 -
50.00 -
0.00
4.70 6.70 8.70 10.70
Capacité
Problème 70
400.00
:
350.00
300.00
A Référence
"§250.00
• NSGAII
§200.00
150.00
100.00
50.00
4.70 6.70 8.70 10.70
Capacité
Problème 80
600
k •
500
•
"S 400 AA
A Référence
i A
At • NSGAII
£300
AAt--.
200
100 4.7 6.7 8.7 10.7
Capacité
Problème 140
3000
2500
A Référence
S 2000 • NSGAII
O l
t .,
OC
1500 -\ •»*•*•
1000
4.9 6.9 8.9 10.9
Capacité
Le problème industriel de 80 commandes est maintenant repris avec les trois objectifs
analogue à ce qui a été fait pour deux objectifs. Un ensemble de 46 solutions non dominées
a ainsi été obtenu. Le problème de 80 commandes a été résolu par l'algorithme du NSGAII
sur le même ordinateur que celui utilisé pour l'AG u en 450 secondes. Le Tableau 4.7
présente une comparaison entre les solutions de l'ensemble de référence et les solutions
obtenues par le NSGAII. Dans la première partie du tableau, on retrouve les solutions de
constate une fois de plus que l'ensemble de solutions proposées par le NSGAII ne couvre
Dans l'ensemble, les résultats expérimentaux ont montré les bonnes performances du
certains problèmes, les résultats du NSGAII rivalisent même avec ceux des ensembles de
référence. Cependant, sur d'autres instances, il existe un écart appréciable entre les
diversité de solutions. On peut alors convenir que cette technique de résolution, bien
qu'étant efficace, semble avoir de la difficulté à bien couvrir l'ensemble des solutions.
du problème d'ordonnancement industriel. Cet algorithme est basé sur l'AG u et utilise les
concepts de niche et de dominance Pareto. L'AG^ 0 ^ 7 permet, dans une première phase
avec des procédures de recherche locale. Le pseudo-code de YAGM0PI est donné à la Figure
4.5. Comme l'indique cette dernière, YAGM0PI gère l'élitisme de deux façons. Tout
d'abord, YAGM0PI utilise le principe d'archivé pour conserver les solutions non dominées
YAGM0PI n'utilise pas une mais deux archives : une archive primaire, notée A et une
archive secondaire, notée A'. L'archive primaire consiste en une population annexe de
nombre de solutions non dominées dans l'archive primaire dépasse N, une procédure de
réduction de l'archive est appliquée afin de ne conserver que les individus situés dans les
régions les plus isolées. Les autres individus sont, quant à eux, transférés dans l'archive
niveau d'archivage garantit qu'aucune solution non dominée ne sera perdue lors du
chaque nouvelle génération les meilleurs individus rencontrés sont conservés dans la
population courante.
Initialiser Ao et Ao' à 0
Initialiser aléatoirement la population initiale Po de taille N
Evaluer chaque individu x e Po
Calculer la performance de chaque individu x e Po
Mettre à jour Ao
Trier Po
Tant que critère d'arrêt non rencontré faire
Sélectionner des individus dans Pt et créer Q, par croisement et mutation
Évaluer chaque individu JC G Qt
Effectuer une amélioration locale sur chaque individu xe Qt
Mettre à jour A, avec chaque individu non dominé e Qt
Combiner les deux populations Qt et Pt
Calculer la performance de chaque individu dans Q, u Pt et dans At
Si | A, |> iV alors
Réduire At et mettre à jour At'
FinSi
Trier Q, u Pt
Copier les N premières solutions de Qt u P, dans Pt+i
FinTantQue
Mettre à jour A,' avec les solutions de A,
Retourner A'
retrouve les étapes classiques de sélection, croisement, mutation. Pour ces trois étapes,
YAGMOPI utilise les mêmes opérateurs que l'AG u et le NSGAH à savoir une sélection par
tournoi, l'ER et le PMX comme méthode de croisement et une mutation par inversion. A
chaque itération de l'algorithme, chaque nouvel individu non dominé vient s'ajouter à
l'archive primaire et les individus de l'archive primaire dominés par le nouvel arrivant sont
tient en compte à la fois du nombre d'individus dominés par une solution / et du nombre
d'individus qui domine la solution i. Pour cela, la première étape consiste à assigner à
5(0= J (15)
dominance de i par rapport kj. À partir de la valeur de S(i), la performance brute d'un
individu i, notée R '(i), est déterminée dans YAGMOPI à l'aide de l'équation suivante :
si
1+2*5X0
(16)
sinon
97
Cette approche diffère de celle du SPEA2 dans le sens où les individus non dominés pour
lesquels ^ S(J)= 0 n'auront pas tous une performance brute identique et égale à 0
mais une performance brute comprise entre 0 et 0.5. Pour les solutions non dominées, cette
Section 3.6) à partir du concept du &ieme plus proche voisin [Silverman, 1986] et à
globale de l'individu.
Une fois la population d'enfant Q créée, celle-ci est combinée avec la population
courante. Les individus de la nouvelle population ainsi créée sont ensuite triés en fonction
de leurs performances globales et seuls les N premiers sont conservés pour former la
l'archive primaire vont mettre à jour l'archive secondaire. Cet ensemble de solutions non
Comme pour les deux algorithmes précédents, YAGM0PI a été implanté en C**.
données sont partagées par les deux algorithmes. Ce qui nous permet d'obtenir une base
solide pour une comparaison la plus équitable possible entre les deux algorithmes.
98
Nous comparons ici les résultats de VAGMOPI avec ceux du NSGAÏÏ et des ensembles de
référence. Comme pour le NSGAH, l'expérimentation a été faite à partir des neuf
problèmes évalués par l'AG u à la Section 4.4.3. Dans un premier temps, seulement deux
des trois objectifs sont considérés pour permettre la représentation visuelle des résultats
obtenus pour les neuf problèmes tests à l'aide de graphiques en deux dimensions. Dans un
deuxième temps, le problème de 80 commandes est repris dans sa globalité pour démontrer
la généralisation à plusieurs objectifs. Pour tous les problèmes, les paramètres N, pc, pm,
la taille de l'archive primaire, sont fixés à (100, 0.8, 0.3, 100,100). Comme pour le
NSGAII, le seul critère d'arrêt utilisé par YKGMOPI est le nombre maximum de générations.
Comme pour le NSGAII, les deux objectifs considérés pour l'illustration des résultats
sont la minimisation de la perte de capacité en usine (/i) et le retard total {fi). Le Tableau
4.8 donne, pour chaque instance de problème, les temps de calcul obtenu par 1:'AGMOPI et le
NSGAII. Notons que YAGM0PI demande généralement plus de temps de calcul que le
NSGAÏÏ. Cet écart s'explique cependant par l'utilisation de deux archives dans
l'algorithme. On note toutefois que les temps de calculs seraient acceptables dans un
contexte réel en étant inférieurs ou égaux à 3 minutes pour les deux algorithmes sur les sept
premiers problèmes. Cependant, pour les deux problèmes de plus grande taille, ces temps
problème de 140 commandes avec le NSGAII. En ce qui concerne YAGMOPI, les temps
Une comparaison visuelle entre les solutions proposées par YAGMOPI, le NSGAH et les
ensembles de référence est présentée à la Figure 4.7 (a à i). Les solutions présentées à l'aide
d'un triangle sont les solutions de l'ensemble de référence, les solutions représentées par un
cercle sont celles trouvées par le NSGAII et les solutions représentées à l'aide d'un losange
sont celles de YAGMOPf. De manière générale, on observe à l'aide de la Figure 4.7 que les
courbes proposées par YAGM0PI sont comparables à celles des ensembles de référence sur
tous les problèmes. Les courbes proposées par YAGM0PI étant même identiques à celles de
YAGMOPI au NSGAII, on remarque que VAGM0PI couvre mieux l'espace des solutions et
réussit à abaisser les courbes proposées par le NSGAH pour 6 des 9 instances (problèmes
20,30 40, 50, 70 et 80) et obtient des résultats similaires sur trois instances (problèmes 10,
100
Problème 10
7.00
6.95 -
6.90--- A Référence
S 6.85 H • NSGAII
a
6.80 - • AG MOPi
6.75 -
6.70
1.50 2.00 2.50
Capacité
Problème 20
:
40 00 -
•o on nrï - A Référence
Retar
• NSGAII
20.00 . _ MOP;
• « • AG
10.00 -
n nn -
u.uu
3.80 3.90 4.00 4. 10
3.60 3.70
Capacité
MOPI
Figure 4.7 (b) : Comparaison graphique de la performance entre l'AG , le NSGAII et
l'ensemble de référence. Problème de 20 commandes.
Problème 30
80.00
70.00
A Référence
•g 60.00
• NSGAII
| 50.00
01
• A G MOPt
40.00
30.00 -\
20.00 * t 1
3.60 4.10 4.60 5.10 5.60
Capacité
Problème 40
140.00
120.00
100.00 - Référence
î 80.00 NSGAII
IT 60.00 - AG
40.00 - AA
20.00
3.60 5.60 7.60 9.60
Capacité
Problème 50
200.00
150.00
100.00 A Référence
• NSGAII
50.00 • AG
'**•
0.00
4.70 5.70 6.70 7.70 8.70
Capacité
-.M0P1
Figure 4.7 (e) : Comparaison graphique de la performance entre PAG , le NSGAII et
l'ensemble de référence. Problème de 50 commandes.
103
Problème 60
300.00
•a 200.00 -
J A Référence
i • NSGAII
• AG
MOPI
Œ 100.00
0.00
4.70 6.70 8.70 10.70
Capacité
Problème 70
Ann nn
4-UU.UU
300.00 -
•o A Référence
"S 200.00 - 1t . • NSGAII
ce • A G MOPI
100.00 - *TÂ
u.uu
6.70 8.70 10.70
4.70
Capacité
Figure 4.7 (g) : Comparaison graphique de la performance entre 1' AG M0P/ , le NSGAII et
l'ensemble de référence. Problème de 70 commandes.
104
Problème 80
ar\r\
i •
500
•
V Ann
etai
<
-
t A Référence
D
0
AM
poo -
V:, • NSGAII
• AfiMOP;
1 UU T—
4.7 6.7 8.7 10 .7
Capacité
Problème 140
3000 i
1
2500
A Référence
2 2000 - « i • NSGAII
M0PI
• AG
1500 -
1000
49 6.9 8.9 10.9
Capacité
Figure 4.7 (i) : Comparaison graphique de la performance entre 1'AGM PI, le NSGAII et
l'ensemble de référence. Problème de 140 commandes.
105
commandes est maintenant repris dans son ensemble. Le Tableau 4.9 présente une
comparaison entre les solutions de l'ensemble de référence, les solutions obtenues par le
NSGAII et les solutions de YAGM0PI. Une fois de plus, on constate que 1'AGMOP/ obtient de
meilleures performances que le NSGAJI avec une surface couvrant mieux l'ensemble des
Pour nous en convaincre, nous avons aussi comptabilisé pour chacun des deux
représenté par l'ensemble de référence. On constate que 34 des 35 solutions trouvées par
YAGM0PI, soit 97.17%, sont des solutions de l'ensemble de référence alors que ce taux est
Les performances de l'AGMOPI ont été démontrées sur un ensemble de neuf problèmes du
ensembles de référence. Les résultats expérimentaux montrent que l'AG^07*7 parvient à bien
supérieurs à ceux du NSGAII pour les 9 instances testées. Cependant, il est bon de noter
L'AGMO/V est donc l'algorithme qui sera utilisé par le SIAD dans une première phase
de façon à permettre, dans une deuxième phase, d'orienter plus précisément la recherche en
(AGCP)
La frontière Pareto approximée à l'aide de YAGMOPI permet au décideur d'avoir une idée
de l'ensemble des solutions réalisables pour un problème donné. Le décideur peut alors
préciser ses préférences pour les différents objectifs afin d'explorer des régions spécifiques
de l'ensemble des solutions proposé par l'AG^07*7. C'est dans cette optique que I'AGU a été
est une procédure agrégative qui fait partie de la catégorie des approches basées sur la
normalisée et pondérée au point idéal F*= {F*, F2\ ..., F^*} où Fi*, dans un contexte de
minimisation, représente les valeurs minimales pour chacun des objectifs / dans l'ensemble
l'étendue du domaine. Pour cela, à l'opposé du point idéal, cette approche utilise aussi la
notion de point nadir qui représente les valeurs maximales pour chacun des objectifs dans
phase de recherche des points idéal et nadir, une phase de recherche de solutions de
phase dans notre contexte est réalisée par YKGM0PI pour rechercher les points pseudo-idéal
processus itératif de l'AG reste sensiblement le même que celui de l'AG u mis à part
qu'après l'évaluation d'un individu sur chacun des objectifs, la distance normalisée et
pondérée de la solution par rapport au point idéal est calculée et cette distance devient la
mesure de performance de cet individu. Pour chaque solution générée, les relations de
dominance sont vérifiées afin de ne conserver que les solutions non dominées. À cet effet,
comme pour le NSGAII et YAGMOPI, une structure de données arborescente appelée quad-
tree [Sun et Steuer, 1996] est utilisée afin de limiter le nombre de comparaisons à effectuer.
Une fois le processus itératif de l'AG achevé, une légère perturbation est appliquée sur la
décideur. Pour cela, les solutions dont la distance normalisée et pondérée par rapport au
point idéal est trop grande peuvent être négligées lors de la présentation des résultats.
Le lecteur peut consulter Gagné et al. [2004a; 2004b] pour une description plus détaillée
métaheuristiques.
Afin d'illustrer et de démontrer la pertinence de FAGCP, des essais numériques ont été
effectués sur le problème de 140 commandes qui est la plus grande instance de problème
dont nous disposons. Ce carnet de commandes a été choisi car, sur les plus petites
instances, l'apport de cette deuxième phase de recherche ne pourrait pas être aussi bien mis
en évidence compte tenu du fait de la proximité entre les ensembles de références et les
procédure se fera seulement sur deux des trois objectifs à savoir la perte de capacité en
usine et le retard total. Le problème ayant été résolu par YAGM0PI, on peut considérer la
phase 1 du processus générique comme étant réalisée. Le point pseudo-idéal obtenu est
alors {F*, F2*}= {5.01, 1253.55} et le point pseudo-nadir est {F"ad, F2nad}=
même ordinateur que celui utilisé pour les autres algorithmes. Une comparaison visuelle
entre les solutions proposées par l'AGCP et l'AG M0P/ est disponible à la Figure 4.8 (a et b)
sur les objectifs. Les points encadrés à l'aide d'un carré et d'un cercle représentent
et pondérée minimale au point idéal en fonction des préférences exprimées. La Figure 4.8
fait, pour les pondérations choisies, les solutions suggérées par TAG ont une distance
3000
2800 f
2600
2400
"2
m 2200 • MOPI
• AG
| 2000 CP
• •
• AG
1800 -*-
1600
1400 -
• • •
1200
7 8 9 10
Capacité
3000
2800 J >-
2600 -
2400
"S 2200
2000 ^• •
1800 AG CP
1600 -
1400 • ••
1200
7 8 10
Capacité
dans l'optique d'une deuxième phase visant à approfondir la recherche en fonction des
4.5 Conclusion
Dans ce chapitre, les différents algorithmes qui vont constituer la base de modèle du
SIAD ont été présentés. En particulier, rAG MOP/ , un algorithme génétique multi-objectifs
performant qui combine les concepts de niche, de dominance Pareto et d'élitîsme. Les
performances l'AGA/0P/ ont été démontrées sur un ensemble de neuf carnets de commandes
expérimentaux ont montré que l'AG^ 0 ^ obtenait des solutions représentatives des
112
deux objectifs, mis à part une instance, YAGMOPI obtient des résultats au moins identiques
ou supérieurs au NSGAH sur les huit autres instances. Cependant, on note que l'utilisation
ainsi d'approfondir la recherche dans une région plus spécifique de l'ensemble pseudo
5.1 Introduction
De nos jours, l'environnement des entreprises se transforme. La concurrence mondiale,
les développements technologiques font que l'accent est de plus en plus mis sur la
est devenu vital de prendre rapidement de bonnes décisions. Cependant, la complexité des
délais de prise de décision tout en rendant cette tâche plus difficile pour les gestionnaires.
Dans un tel contexte, des outils informatiques comme les systèmes interactifs d'aide à la
décision s'avèrent d'une grande utilité pour le décideur car ils lui permettent d'évaluer la
situation, les diverses alternatives et leurs impacts éventuels. Cependant, les SIAD
classiques traitent généralement les problèmes sur la base de l'optimisation d'un seul
d'aluminium décrit au Chapitre 4. Le fait d'avoir choisi un contexte réel, qui incorpore
mieux exploiter le SIAD proposé et ainsi de mieux mesurer les apports que ce type d'outils
Dans un premier temps, nous présentons les différentes technologies retenues pour le
présentée. Finalement, les trois dernières sections décrivent de manière plus détaillée les
que croît la complexité d'un système, nous avons choisi d'adopter une approche objet pour
Language) développée par Booch, Rumbaugh et Jacobson. UML unifie les concepts
provenant de OMT de Booch et al. [1995], les use case de Jacobson et al. [1992], le CRC
et al. [1987] et plusieurs autres. C'est un langage de modélisation qui contient les éléments
mots clefs dans des contextes définis. Un des points forts de l'approche objet est qu'elle
manque de réutilisabilité est une des causes principales d'échec des SIAD.
Borland C1"1" Builder 6. L'interface graphique, quant à elle, a été réalisée en Delphi 5 en
utilisant la librairie Glscene pour l'affichage Opengl. Le choix de ces deux langages de
116
programmation s'explique par le fait que ceux-ci sont des langages orientés objet offrant
des possibilités intéressantes et utiles pour le développement d'un SIAD. Le C*4" offre un
de lingots d'aluminium en minimisant les trois objectifs que sont la perte de capacité de la
machine à couler (/!), le retard total de l'ensemble des commandes (£) et la perte de
Pour cela, le SIAD développé est constitué des trois modules essentiels décrits au
Chapitre 2 : une base d'informations, une base de modèles et une interface personne-
machine. Ces différents composants sont illustrés à la Figure 5.1 qui présente l'architecture
générale du SIAD proposé et font l'objet des prochaines sections. L'usager de son côté
représente simplement les différents utilisateurs qui interagissent avec le système afin de
résoudre un problème.
117
STAD
V
AGU
1
kGMOPl |
AG C? \ NSGAII
H y
\
Interface Homme-Machine
\ Usage
d'alliages, les numéros de moules et autres. Elle contient aussi certains résultats sur
l'exécution des modèles. Il est important de noter cependant que la plupart de ces données
ont été reprises telles quel de l'ancien logiciel sous forme de système de fichiers et, de ce
charnières de tous SIAD et doit en général comporter plusieurs modèles. Dans l'outil
grâce à des approches heuristiques basées sur les algorithmes génétiques. Elle est constituée
de quatre algorithmes génétiques : l'AG u , le NSGAH, l'AG M0P/ et l'AGCP. Ces différents
dialogue représente un des éléments les plus importants. C'est à travers elle que va s'établir
efficace s'établisse, il faut tenir en compte des niveaux de connaissance sur les approches
de résolution pour les différentes catégories d'utilisateurs qui peuvent interagir avec le
SIAD. Différents modes d'interaction doivent donc être mis en place afin de favoriser une
prototype de SIAD proposé, par souci de simplification, les différents types d'utilisateurs
ont été regroupés en deux catégories distinctes à savoir les utilisateurs novices qui ont
besoin d'être guidés lors de l'utilisation du SIAD et les utilisateurs avancés pour lesquels le
119
niveau d'assistance doit être réduit au strict minimum. Afin de répondre aux besoins
spécifiques de ces deux catégories d'usagers, le SIAD proposé offre au démarrage le choix
entre deux modes d'interaction comme l'illustre la Figure 5.2. Ces deux modes sont le
Le mode semi-assisté s'adresse aux usagers non expérimentés ou non familiers avec le
système. Ce mode guide l'utilisateur tout au long de son processus de décision à l'aide
d'une approche par questions-réponses. Dans la première série de questions, l'usager sera
120
amené à définir le type d'actions qu'il envisage d'effectuer. L'utilisateur a le choix entre
visualiser les résultats alors obtenus ou encore d'effectuer une nouvelle optimisation.
l'utilisateur désire effectuer une optimisation des objectifs selon un ordre lexicographique.
Lorsque l'usager choisit cette option, le système l'invite à choisir le carnet de commandes à
optimiser et à assigner une priorité aux différents objectifs en les numérotant de 1 à 3. Une
optimisation multi-objectifs en utilisant l'AG^0^7. Une fois cette option choisie, l'usager
doit indiquer au SIAD le camet de commandes sur lequel il veut travailler ainsi que le
nombre d'objectifs à optimiser. Notons que si dans notre contexte d'illustration l'usager
cependant être généralisée pour plus de 3 objectifs. Par la suite, le SIAD demandera à
système s'il désire arrêter le processus de recherche à la fin de cette étape d'optimisation ou
aura été présenté par le SIAD. Une fois toutes ces informations recueillies, l'optimisation
d'optimisation, le SIAD met à jour les informations relatives au point idéal et au point nadir
pour le problème concerné dans la base d'informations. Si l'usager n'a pas choisi
«clique» sur une solution de l'ensemble des solutions présenté, le SIAD calcule
par le décideur. Pour effectuer ce calcul, le SIAD va rechercher dans la base d'informations
les données sur le point idéal et le point nadir du problème traité afin de déterminer la
pondération qui minimisera la distance normalisée au point idéal. Une fois cette
S32 5.09 507 5.06 1S2 4,81 4.54 *J28 4.02 3 9* 377
important de noter ici qu'il faut, pour que cette option soit disponible, que le SIAD dispose
au préalable des données relatives au point idéal et nadir du problème. Comme pour
commandes ainsi que le nombre d'objectifs qu'il souhaite optimiser. Par la suite, le SIAD
demande à l'usager de définir l'importance relative de chacun des objectifs. Pour cela, une
jauge graduée de Pas important à Très important est présentée à l'utilisateur, comme
l'indique la Figure 5.4. Lorsque l'usager fait varier cette jauge, le SIAD inscrit
123
en s'assurant que la somme des poids de tous les objectifs est égale à un.
Indifférent Indifférent
Cancel
Une fois cette étape achevée, le SIAD lance le processus de recherche de solutions de
est important de noter que le passage d'un mode à l'autre peut être effectué à tout moment.
Une fois la résolution terminée, il est maintenant temps de visualiser les résultats
obtenus. Afin de mieux synthétiser les résultats des différentes phases d'optimisation et
informations obtenues sous différentes formes. On retrouve, par exemple, des graphiques à
deux et à trois dimensions, des diagrammes de Gantt, des nuages de points. Dans cette
section, nous nous intéresserons plus particulièrement à la représentation des solutions d'un
point de vue multi-objectifs. La Figure 5.5 illustre une représentation de l'ensemble des
Le haut de la fenêtre (partie 1) affiche l'ensemble des solutions trouvées par le système
sous forme de grille, chaque colonne correspondant à un objectif donné. Les différents
objectifs sont identifiés à l'aide d'une couleur, rouge pour le retard, vert pour la perte de
cliquant» sur une solution de la grille, l'utilisateur peut voir en détail, à l'aide d'un
diagramme de Gantt, l'ordre de planification des commandes dans le temps proposé par le
Dans la partie 2 de la fenêtre, le même ensemble de solutions est représenté cette fois-ci
à l'aide de courbes en deux dimensions qui tiennent en compte les objectifs deux à deux.
125
«1397.S7
114547.71
II 1$ 79 7.44
• 20.257.20
I 22JM 6.93
• 26.39 6.67
• 3I.13&S0
• 32.84 6.41
7.9T 7.71 7.^4 7J» 6.93 E.67 6.60 6.41
\dubuc\D9912 H1403\M0«1B_SIJ. wb
Mis à part les courbes en deux dimensions, l'utilisateur peut aussi visualiser l'ensemble
des solutions sous forme d'une série d'histogrammes en «cliquant» sur l'onglet
histogramme de la partie inférieure de la Figure 5.5. La Figure 5.6 illustre cette forme de
l'ensemble trouvé par le système est représentée à l'aide d'un histogramme où chaque barre
iiliérs Pareto
QÎ1B
R/T OT
Valeurs par objectifs problème 0
| Retard
• Capacté
D Transport
| Drainage
représentation est très utile pour représenter des problèmes bi-objectifs. Cependant, au-delà
de passé deux objectifs, ce genre de diagramme devient très rapidement inadapté et il faut
avoir recours à d'autres types de graphiques pour représenter les différentes solutions
nécessitant la minimisation de trois objectifs. Lorsque l'optimisation est effectuée sur les
trois objectifs, l'ensemble des solutions peut, comme précédemment, être visualisé sous
forme d'une grille telle qu'illustrée dans la partie 1 de la Figure 5.5. Le système permet
aussi de représenter les solutions dans leur ensemble à l'aide de différents graphiques en
trois dimensions. À la Figure 5.7, l'ensemble des solutions est représenté sous forme de
nuage de points en trois dimensions, chaque point étant relié à l'autre à l'aide d'un
algorithme de triangulation complète. Pour connaître la valeur d'une solution pour chaque
127
Dans le cas où l'usager s'intéresse à un groupe de solutions en particulier qu'il veut mettre
Z, chacun des axes indiquant la valeur d'un des trois objectifs de la solution. De cette
manière, le décideur peut comparer les différentes solutions du groupe une par rapport à
l'autre et ce, objectif par objectif La Figure 5.8 illustre la représentation d'un groupe de
trois solutions à l'aide d'un axe en trois dimensions. Les valeurs de chaque solution pour
les différents objectifs sont indiquées dans le cadre en haut à droite de la figure. Notons que
128
dans le prototype proposé, le nombre maximum de solutions qui peuvent être mises en
Focus X\
Camera
Figure 5.8 ; Comparaison visuelle de trois solutions à l'aide d'un axe en 3 dimensions.
Problème de 50 commandes du contexte industriel.
proposé permet l'affichage de solutions pour des problèmes comportant jusqu'à quatre
objectifs. En effet, des graphiques comportant un axe en quatre dimensions ont été intégrés
au SIAD et permettent, le cas échéant, d'afficher les solutions d'un tel problème.
129
5.7 Conclusion
Dans le présent chapitre, un système interactif d'aide à la décision permettant la
problème de différentes façons selon ses besoins. Le SIAD proposé assiste l'utilisateur tout
réel, qui incorpore des contraintes additionnelles par rapport aux problèmes théoriques, a
permis de mieux montrer l'apport que ce type de système peut avoir dans le milieu
industriel.
De manière à éviter le manque de réutilisabilité qui est une des principales causes
d'échec des SIAD, le prototype proposé a été développé selon une approche objet. Le choix
de cette approche permet de rendre le système adaptatif dans le temps en facilitant les
deux groupes;
130
se substituer à lui;
- il possède une interface simple d'utilisation ce qui permet une prise en main plus
rapide.
La combinaison de tous ces facteurs nous permet de penser que le SIAD proposé
CONCLUSION
132
Les SIAD ont pour principal objectif d'apporter un support à la prise de décision pour des
problèmes complexes. Les SIAD sont des systèmes coopératifs permettant une répartition
évolutive des compétences entre l'utilisateur et la machine et offrant une bonne intégration
des deux entités (homme et machine) dans le processus de décision. Dans de nombreux
secteurs de l'industrie, les décideurs sont confrontés à des problèmes complexes pour
objectifs sont des problèmes complexes. Les méthodes de résolution de problèmes multi-
objectifs ne sont pas un sujet récent, toutefois ce domaine vit un renouveau depuis quelques
années. En particulier, les algorithmes génétiques suscitent de plus en plus d'intérêt auprès
générer plusieurs solutions de compromis en une seule étape d'optimisation. Il est donc
l'aide d'une approche basée sur des algorithmes génétiques. Cependant, la combinaison de
ces différents domaines de recherche est encore à ses premiers balbutiements. Le travail
Plus précisément, ce mémoire a permis d'apporter une certaine contribution dans les
domaines des SIAD et de l'optimisation multi-objectifs par la réalisation des objectifs fixés
une seule exécution. Cet objectif a été atteint grâce à l'élaboration et au développement de
UAGM0PI combine une procédure génétique basée sur les concepts d'élitisme, de niche et
de dominance Pareto avec des opérateurs de recherche locale. Même si cette approche se
base sur des techniques établies, elle se distingue des autres algorithmes génétiques multi-
Tout d'abord, YAGMOPf utilise un double niveau d'archivage afin d'assurer la conservation
des individus Pareto optimaux tout au long du processus de recherche. De plus, une
YAGM0PI utilise une sélection par tournoi favorisant les individus non dominés et situés
dans des régions dépeuplées. Finalement, afin d'obtenir un bon compromis entre
exploitation et exploration, deux procédures de recherche locales sont combinées dans cette
illustrées à l'aide d'un problème d'ordonnancement industriel rencontré dans une entreprise
de production d'aluminium décrit par Gravel et al. [2002]. Dans les expérimentations
résultats expérimentaux ont montré que YAGMOPI parvenait à bien couvrir l'espace des
solutions et obtenait des résultats au moins identiques ou supérieurs à ceux du NSGAH sur
tous les problèmes testés pour l'optimisation de deux ou de trois objectifs. De plus, les
travaux ayant mené à l'élaboration de l'AG M0P/ ont permis d'abaisser les minimums connus
134
pour cinq des neufs problèmes testés sur l'objectif du retard tout en obtenant un résultat
identique au minimum connu sur les deux autres objectifs. Cependant, les résultats
de 1'KGMOPI se dégrade plus rapidement que celui du NSGAH lorsque la taille du problème
l'approche proposée et les limites identifiées suscitent un intérêt certain pour de futurs
prise de décision. Pour cela, un prototype de SIAD a été proposé au Chapitre 5 pour la
à répondre aux principales caractéristiques communément recherchées dans les SIAD qui
deux groupes;
se substituer à lui;
135
il possède une interface simple d'utilisation ce qui permet une prise en main plus
rapide.
Pour satisfaire à ces différentes caractéristiques, le SIAD proposé est constitué des trois
composants fondamentaux à tous SIAD : une base de modèles, une base d'informations et
différents modes d'interaction ce qui permet de fournir une aide adaptée à différentes
anticiper les effets d'éventuels changements dans l'environnement qui influent sur le cycle
machine à couler et autres. Cependant, il est important de noter que l'outil développé ne
constitue qu'un support à la décision et que la décision finale ainsi que le contrôle du
Ce travail de recherche a donc non seulement atteint ses objectifs, mais a également
multi-objectifs que dans celui des SIAD en raison des nombreuses observations et
génétiques sont réputés pour effectuer naturellement des phases de diversification. C'est
cette qualité qui les rend très utiles dans la résolution de PMO en leur permettant
d'algorithmes s'avère cependant moins efficace. Pour palier à cet inconvénient, nous avons
combiné, dans YAGM0PI, un algorithme génétique avec des phases de recherche locale.
Cependant, nous nous sommes limités à des méthodes d'amélioration locales simples.
Même si l'approche proposée a apporté des résultats significatifs dans la résolution des
problèmes tests, tout laisse à croire que sa performance pourrait être améliorée en y
incorporant des stratégies d'intensification plus évoluées comme l'optimisation par colonie
de fourmis ou la recherche avec tabous pour ne citer que ces deux approches. Il serait donc
De plus, les expérimentations ont montré que même en gardant identiques les différents
comportant deux ou trois objectifs. Pour traiter des problèmes de plus grandes tailles et
comportant plus de trois objectifs, une solution envisageable à court terme serait de
peuvent donc être exécutés de manière indépendante. Une manière plus évoluée de
populations réparties sur différents processeurs qui explorent simultanément l'espace des
solutions. Les deux archives seraient alors partagées entre les différentes populations à
Lors de l'élaboration du prototype de SIAD, nous avons aussi pu constater qu'il était
difficile de représenter graphiquement les solutions pour les présenter au décideur lorsque
le nombre d'objectifs du problème dépassait deux. Il est donc important d'approfondir les
Dans ce travail, les composants optionnels des SIAD, comme la base de connaissances,
ont été mis de côté et les efforts se sont concentrés sur les composants standards que sont
138
toutefois être étendu par l'ajout d'une base de connaissance utilisant des techniques
détecter des régularités dans le comportement des utilisateurs et ainsi, d'une part, de mieux
adapter la coopération entre l'homme et la machine et, d'autre part, de détecter les stratégies
Finalement, des travaux supplémentaires dans le but d'améliorer les temps d'exécution
encore plus performant. Même si l'outil proposé a été testé à partir d'un contexte réel, il
serait intéressant de l'implanter dans une entreprise afin de recueillir la réaction des
gestionnaires face à ce type d'outils et ainsi de mieux l'adapter à leurs besoins. De cette
Chapman, D. (1987). "Planning for Conjunctive Goals." Artificial Intelligence 32: p.333-
377.
Courbon, J.-C. et C. B. Stabell (1986). Artificial intelligence and the design of decision
support systems, tutorial of the conference on economics and artificial intelligence, Aix-en-
Provence.
Glover, F. (1986). "Future paths for integer programming and links to artificial
intelligence." Computers and Operations Research 5: p. 533-549.
Hajela, P. et C.-Y. Lin (1992). "Genetic search strategies in multicriterion optimal design."
Structural Optimization 4: p.99-107.
Harel, D., A. Pnueli, J. P. Schmidt et R. Sherman (1987). On the Formal Semantics of State
Charts. Proc. 2nd Symp. on Logic in Computer Science (LICS 87), IEEE Computer Society
Press,pp. 54-64.
Hâttenschwiler, P. (1993). Computer Assisted Top Down Modeling, Modeling Tools for
Decision Support, University of Fribourg: p. 101-131.
Holland, J. (1962). "Outline for a logical theory of adaptive systems." Journal of the
association of computing machinery 3.
Horn, J., N. Nafpliotis et D. E. Goldberg (1994). A niched pareto genetic algorithm for
multiobiective optimization. In Proceeding of the first IEEE Conference on Evolutionary
Computation, IEEE World Congress on Computational Computation, Volume 1,
Piscataway, NJ, p. 82-87.
Huber, G. P. (1982). Group Decision Support Systems as Aids in the Use of Structured
Group Management Techniques. DSS-82, Conference Proceedings.
Klein, M. et V. Tixier (1971). SCARABEE: a data and model bank for financial
engineering and research. IFTP congress, North Holland.
Obayashi, S., S. Takahashi et Y. Takeguchi (1998). Niching and elitist models for mogas.
Fifth International Conference on Parallel Problem Solving from Nature (PPSN-V), Berlin,
Germany, p. 241-249, Springer.
Or, I. (1976). Traveling Salesman-Type Combinatorial Problems and their Relation to the
Logistics of Regional Blood Banking, Ph.D. thesis, Northwestern University, Evanston,
Illinois.
Potvin, J.-Y. (1996). "Genetic Algorithms for the Traveling Salesman Problem." Annals of
Operations Research 63: p. 339-370.
Power, D. J. (1999). A Brief History of Decision Support Systems., DSS Resources, World
Wide Web.
146
Probst, A. R. (1984). "Les systèmes d'aide à la décision: rôle, structure et évolution." Revue
Gestion: p. 13-19.
Reix, R. (2000). Systèmes d'information et management des organisations. 3ième éd., Paris,
Vuibert.
Rudnicka, A. et G. R. Madey (2001). A Framework for effective user interface design for
web-based electronic commerce applications. Conference Proceedings, 2001 Informing
Science Conference, June 19-22 Krakôw, Poland.
Silverman, B., W. (1986). Density estimation for statistics and data analysis. Chapman and
Hall, London.
Sprague, R. et H. Watson (1993). Decision Support Systems - Putting Theory into Practice,
3 rd Edition, Englewood Cliffs: Prentice Hall.
Turban, E. (1993). Decision Support and Expert Systems. New York, Macmillan.
147
Yang, W.-H. et C.-J. Liao (1999). "Survey of scheduling research involving setup times."
International Journal of Systems Science 30(2): p. 143-155.
Zitzler, E., M. Laumanns et L. Thiele (2001). SPEA2 : Improving the Strength Pareto
Evolutionary Algorithm, Technical Report 103, Computer Engineering and Networks
Laboratory (TIK), Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35,
CH-8092 Zurich, Switzerland.
«include»
«indude»
«indude»
«include»
«include»