EQUIPE DE RECHERCHE ASSOCIEE AU C.N.R.S. DOCUMENT DE TRAVAIL INSTITUT DE MATHEMATIQUES ECONOMIQUES UNIVERSITE DE DIJON FACULTE 4, DE SCIENCE BOULEVARD ECON OMIQUE GABRIEL - ET 21000 DE GESTION DIJON n°103 PRDGRAMIATION LINEAIRE MULTIOBJECTIF UN RESUME Michel PREVOT Février 1988 Le but de ce document de travail est de présenter les différents concepts utilisés en programmation linéaire multiobjectif en précisant les types de décision qu'il est possible de prendre, les choix des partenaires et les methodes qu'il convient de choisir pour résoudre de tels problèmes. Par la suite le problème général est posé et différentes méthodes de résolution sont proposées. Nous insisterons principalement sur les méthodes interactives en déterminant leurs assises théoriques et en essayant de préciser les méthodes de résolution et en donnant des comparaisons entre celles-ci, pour terminer par l'introduction de la programmation dynamique. - 1 - PROGRAMMATION LINEAIRE MJLTIOBJECTIF La programmation linéaire multiobjectif est un instrument d'aide à la décision. Aussi pour commencer notre étude essayons de préciser ce concept de décision. I Décision 1-1) Définition : On peut dire qu'une décision est l'aboutissement ou la conclusion d'une réflexion. Cependant cette définition ne nous paraît pas satisfaisante, car le point final d'une réflexion peut être le point de départ d'une autre, comme dans le cas de la programmation dynamique. Cela nous fait penser à une image qui se répéterait à l’ infini ccmme dans une galerie de glaces. Aussi plutôt que de chercher une définition précise ou de donner le terme décision comme un concept primitif essayons de répondre à la question : "pourquoi doit-on décider" ? Cette question répond au besoin de réduire l'écart entre une situation actuelle caractérisée par des faits ayant leurs causes et leurs conséquences et une situation plus ou moins confusément souhaitée. Cependant il est difficile de tenir compte de tous les éléments qui entrent en jeu et de définir exactement la situation souhaitée ; aussi pour tourner cette difficulté on détermine une représentation simplifiée de la réalité qui constitue ce que l'on appelle un modèle. 1-2) Modèle : Un modèle est une activité du processus de décision reposant sur des flux d'informations apparaissant comme des éléments de base d'une construction plus ou moins explicite. Celle-ci constituant le lien entre des phénomènes concrets et un modèle abstrait représente le modèle. Ainsi on désigne par modèle toute représentation de la réalité. Celui-ci doit avoir un caractère de ressemblance avec la réalité représentée, il doit en constituer une simplification et par définition il en est une idéalisation. De plus pour pouvoir être utilisable il doit être résoluble mathématiquement. Il apparaît donc que le modèle est constitué par un ensemble de relations entre divers facteurs ; ces relations sont sélectionnées de façon à fournir une simplification de la réalité en ne retenant que les aspects essentiels - 2 - pour sa compréhension, tout en gardant avec celle-ci une ressemblance suffisante. L'appel à des modèles permet d'envisager les différents aspects de l'environnement en préparant la décision de celui qui en dernier ressort devra choisir. D'où le nom de modèles d'aide à la décision qui leur sont donnés. Comme ceux-ci sont des simplifications de la réalité il est nécessaire de les tester. Nous avons donc préciser le moyen de parvenir à une définition de la décision, il s'agit de déterminer quel type de décision il faut prendre. 1-3) Types de décisions : Il est possible de classer les décisions suivant le niveau de responsabilité des décideurs: a) exécutants : à ce niveau les tâches sont répétitives et les décisions se traduisent par des traductions d'ordres qui deviennent rapidement exécutoires et dont les conséquences sont facilement prévisibles. b) encadrements, dans ce cas on opère par sélection et choix. c) au niveau direction,dans ce cas l'avenir est incertain et on procède par stratégie et intuition. Beaucoup d'auteurs se sont penchés sur ce problème. Par exemple SIMON distingue un continum de décision depuis celles programmées jusqu'aux non programmées. Les premières se prennent par habitude ; les secondes font appel à l'intuition au jugement créatif résolu par des régies empiriques, la recherche opérationnelle, les modèles stochastiques, la simulation et l'analyse des données. ZELENY opère de même mais précise les distinctions en quatre groupes. a) décision clairement définie avec une alternative bien définie, évaluée avec un critère unique, dont le mode de résolution est l'estima­ tion à l'aide de 1 'économètrie ou le calcul numérique et l'analyse des données. b) décision faiblement définie il existe un seul critère de choix, mais relativement mal défini, on procède par jugement ou recherche empirique. c) décisions clairement définies mais il existe plusieurs critères de choix ; dans ce cas on cherche un compromis entre les différents objectifs. - 3 - d) décisions faiblement définies il existe plusieurs critères de choix et on procède par inspiration. . Ayant d6flni les dlf«rents types d'objectifs passons aux différentes étapes de la prise de décision. 1*4) D ifférentes étapes : a) Identification du problème, il s'agit de répondre i la question : "pourquoi doit-on prendre une décision" ? Il faut établir un bilan de toutes les actions possibles puis déterminer des critères de jugement sous différentes contraintes obtenu en faisant une étude de l'environnement. b) Solution du problème ayant établi le modèle, la méthode mathématique doit fournir, en général, l'ensemble des solutions du problème. c) Parmi cet ensemble de solutions il faut choisir la meilleure. laouelle est d) Passage à la mise en oeuvre et contrôle de la solution obtenue. Il faut ranarquer que l'usage de l'ordinateur facilite beaucoup le travail de résolution. Cette présentation est théorique, mais il peut arriver que la prise de décision echoue soit parce que l'étude de 1 'environnaient est incor­ rect, soit parce que le choi* du modèle mathématique est mauvais ou trop simplicateur. Nous avons précisé les questions reste à déterminer qui va décider. pourquoi et comment décider il 1-5) Ç h o ^ d e ^ a r t e r i a i r e s : Lé décideur peut être difficile n cerner ; pour pallier à cette difficulté B. ROY introduit le "demandeur" qui assiste l'analyste et est effectivement 1 .'utilisateur du modèle ; I . r ™ 1;. les informations et donne le moyen de percevoir les relations an cans le modèle. L'analyste construit le modèle, l'exploite e oriente l'action du décideur. Le décideur est c e l u i qui on dernier ressort prend la décision. Donc nous avons retenu pour des raisons do rialisrcela pluralité des multiobjectif !'1 n0US all°"S ™ ^ ^ dU Pr08ra™ - 4 - II Programme linéaire multiobjectif 2-1) Généralités : Comme l'introduction du multiobjectif est relativement récentedonnons un bref aperçu historique 2 - 1- 1) Historique Les premiers VON NETJMANN et MQRGENSTERN ont présenté la première étude dans "Several conflicting maximum problems" et l'oit résolu utilisant la théorie des jeux. en Par la suite KOOPMANS a introduit la notion de vecteur efficient, puis KUHN et TUCKER ont présenté le premier essai de maximisation vectorielle. Dans les annees 60, ZELENY a établi la relation entre le programme multiobjectif et le programme multiparamètrique et a effectivement donné une méthode permettant de résoudre un tel problème. CHARNES et COOPER ont introduit le goal programming. A partir des années 70 nous assistons à une explosion de cette théorie avec l'introduction de méthodes nouvelles de résolution et de nombreuses applications. Par exemple dans les colloques de recherche opérationnelle l'aide à la décision multicritère représente plus de 25 % des conférences. Comme d'habitude dans une théorie nouvelle il existe de nombreux concepts et des définitions diverses aussi commençons par préciser celles-ci 2-1-2) Définitions Attributs : Caractéristiques, qualités, paramètres de perfor­ mance du monde extérieur. Objectifs : Ils traduisent les besoins ou les désirs du décideur et sont choisis par celui-ci parmi les attributs. Il peut arriver que les objectifs soient limités soit par les influences extérieures, soit par les niveaux d'aspiration du décideur. Buts : Ils traduisent les besoins ou les désirs du décideur et sont donnés a priori ; ce sont des cibles particulières de réalisation. Critères : Ce sont des mesures qui règlent la prise de décision. 2-2) Position du problème : Soit le système linéaire Cx il s'agit de maximer celui sous les contraintes C est une matrice de dimensions (L, N) A est une matrice de dimensions (M, N) b est un vecteur colonne b « (bi) i €M x est un vecteur colonne inconnu à n éléments w e M l £m Vi€H-M, j en a ü xj ‘ !bi je» aijXj-bi v. e N 1 - N Xj > 0 Yj € N - Xj de signe quelconque L’ application z définie par z = Cx est l'application critère La i : composante définie par « N ------ ÌÌ-----T. zi (x) = ■~ N CL j Xj est le i critere Par des transformations bien connues analogues à celles que l ’ on utilise dans le cas d'un programme linéaire ordinaire, tout programme multiobjectif peut se mettre sous la forme max Cx sous les contraintes Ax < b x > 0 - 6 - Comme il existe plusieurs objectifs il faut trouver un compromis ce qui nous conduit à la definition des critères d'optimisation. ^ M $ est une solution si et seulement si les contraintes Ax < b sont satisfaites ; soit D l'ensemble des solutions 2-3) Critères d'optimisations : x D = jxi; x G d* G Ax < bj x G d^ est une solution réalisable si et seulement si Ax < b et x > o, soit X l'ensemble des solutions réalisables X = jxi; x G d* Ax<betx>oJ \ G d" est un résultat si et seulement si z = Cx l'ensemble des résultats Z = J^zi; z 6 3 x G X/ x G X soit Z z = Cx 1 > Etant donne deux résultats z^ et z2 on dit que z^ domine (respectivement strictement) z 2 1 ? si et seulement si z i ^ z i avec au moins une inégalité stricte ( resp z^ > z.2) Vi G L Un résultat est efficient ou est un optimum de PARETO si et seulement si il n'est lominé par aucun autre. z efficient ** ] z' G Z / z' > z avec au moins une inégalité stricte fausse. On dit aussi que z est un résultat non dominé. Soit P l'ensemble des optima de PARETO. P = ^xi x G d* stricte => y £ \ l Vy zi (y) > zi (x) avec au moins une inégalité ) Comme on a défini une relation de dominance faible il est possible de définir les optima de PARETO faible. Un état x G X est un optimum de PARETO si. et seulement si z(x) n'est strictement dominé par aucun autre élément de X, soit Pf l'ensemble des optima de PARETO faible - 7 - Pf = ^xi ; x e On a Vy é zi (y) > zi (x) Vi G L =* y f- X ^ P - Pf Ajoutons deux autres concepts a) Une solution préférée est le choix du décideur parmi les solutions non dominées b) IJne solution satisfaisante est une solution qui satisfait les niveaux d'aspiration du décideur. Pour déterminer les optima de PARETO il est possible d'utiliser un programme linéaire ordinaire ce qui nous conduit à la notion de programme multiparamètrique. 2-4) Programme multiparamètrique : On appelle programme multiparamctrique, le programme linéaire défini comme suit max tCx sous les contraintes Ax < b x > 0 t est un vecteur colonne à L composantes On démontre les théorèmes suivants Théorème 1 : x est un optimum de PARETO faible si et seulement si J t G if - jol / tCx = sup tCy y £ x Donc il y a équivalence entre les optima de PARETO faible et les solutions d'un programme multiparamètrique. Théorème 2 : Si X est borné P n'est pas vide et Vx G X il existe un optimum de PARETO x dominant x. Ce théorème assure la non vacuité de P et montre que quelque soit le point de départ de l'algorithme on est sur d'aboutir 3 un optimum de PARETO. Théorème 3 : Dans le cas linéaire si X est borné, x est un optimum de PARETO si et seulement si il existe des multiplicateurs strictement positifs t € (f tels que tCx = sup tCy y ^ x - 8 - Ce théorème est la clé de la résolution des programmes linéaires multiobjectifs ; cependant le choix des t n'est pas neutre. En effet si l'on augmente le poids d'un critère, on favorise ce critère. Soit (t.j + S) z^(x') +... + ^ 2 i G L zl 0 0 comparé à t. z. (x) alors si ^,> o 1 1 z1 (x) < z 1 (x') 1 1 Néanmoins la plupart des méthodes utilisées pour résoudre un programme multiobjectif utilise cette équivalence ; tout dépend de la manière dont sont déterminées Tes valeurs de t. Nous obtenons trois types de méthodes suivant que les t sont donnés a priori, a postériori ou progressivement. III Résolution effective d'un programme linéaire multiobjectif 3-1) Méthodes d'information a priori 3-1-1) Utilisation d'une fonction d'utilité Dans tous les cas le programme multiobjectif est transformé en U (C(x)) où II est la fonction d'utilité associée aux différents objectifs. Ces méthodes demandent que la fonction d'utilité soit connue a priori. Mais même pour un problème simple, la détermination de IJ est délicate car il faut la construire avec une information incomplète. Le principal avantage est que si IJ(C(x)) est correctement construite et utilisée, la solution est la plus satisfaisante pour le décideur et qu'en général la résolution est ramenée à un problème unidimensionnel. 3-1-2) Méthode des objectifs bornés : Dans ces méthodes il est nécessaire que le décideur donne au moins le niveau minimum acceptable pour chaque objectif. Le problème multiobjectif est transformé en max Cr x sous les contraintes Ax < b Cjx > Lj Vj € L j f r x > o Une autre possibilité est que le décideur précise à la fois le niveau - 9 - inférieur et le maximum acceptable pour chaque objectif. Le programme devient max Crx sous les contraintes Ax < b Vj G L x >o C.x > L . 3 3 C.x < H . 3 ' 3 j f r La principale difficulté de ces méthodes est d'obtenir les valeurs Lj et éventuellement Hj que le décideur doit fournir a priori. Or puisque le décideur doit donner ces informations il peut arriver que le problème n'admette plus de solutions réalisables. De plus même le décideur est bien informé et si le problème a encore des solutions celles fournies en résolvant le programme linéaire précédent peuvent ne pas toujours donner satisfaction au décideur. 3-1-3) Méthode lexicographique : Cette méthode suppose que les objectifs sont rangés par ordre d ’ importance décroissante par le décideur , la solution retenue est celle qui maximise les objectifs qui ont la plus grande importance et on itère le procédé suivant l'ordre d'importance des objectifs. Le premier problème à résoudre est max C^x x Soit g X = C^x une solution de ce problème. Si le programme donne une solution unique, elle est considérée comme la meilleure possible, sinon on résoud le problème max Z2 = CyX Sous les contraintes x e X C^x = z* , puis on itère le procédé Cette méthode est très simple mais présente une grande sensibilité. WALTZ a proposé une variante qui réduit ce défaut. Après avoir maximisé le premier objectif, le second objectif est maximisé à condition de - 10 - conserver au premier objectif un certain pourcentage de cet optimum. ! m s la ¡irocodure est itérée. Finalement chaque lois on a à résoudre le programme linéaire. max C-x x ex J j 6L c^x = z£ - sk ke [ 1, j - 1] où Sk est le seuil de tolérance défini par le décideur. 3-1-4) Goal programming : le problème peut être présenté de la manière suivante : le decideur définit un but à atteindre sur 1 'ensemble des objectifs ; puis on cherche la solution qui permet de se rapprocher le plus possible de ce but à atteindre. Si g est le but fixé, le programme revient à min d (Cx, g) x ex Puisque nous sommes dans le cas linéaire, le programme prend la forme min f (y+ , y") = . | L (y* + yTï sous les contraintes Ç)x + y7 - y* = Ax<b x>o y+ > o g. y. çz l y~ > o Il est possible pondérer le coût de surachèvement du but de manière di flérente de son sous achèvement. On obtient ainsi f (y* , y-) - j ï L »j + jiLwJyJ Remarquons que les contraintes peuvent être aussi traitées de la même manière que les buts à atteindre. La méthode conduit parfois à uni- solution contestable ; en effet si le point idéal choisi par le décideur n'est pas assez audacieux, on aboutit à une solution non efficiente. L'inconvénient de ces méthodes est leur rigidité, en effet dès - 11 - que le décideur a fourni ses informations, il n'intervient dans la construction cas plus de la solution. Aussi nous allons passer au de la détermination apcstériori des objectifs. 3-2) Pondération a posteriori des objectifs. Toutes ces méthodes utilisent l'algorithme du simplex modifié pour la circonstance. Dans tous les cas les méthodes comprennent quatre phases. 3-2-1) Trouver une solution de base réalisable. Ceoroblème est un problème classique de la programmation linéaire et ne nous attardons pas. 3-2-2) Trouver une solution extrême efficiente à partir d'une base réalisable,il faut trouver une base efficiente s'il en existe une sinon le problème est non borné. Pour ce faire il faut disposer d'un test. Les tests proposés par les différents auteurs sont nombreux et variés. Il apparaît que seules des expériences pratiques permettront de savoir lesquels conviennent le mieux au calcul. Or celles-ci font cruellement défaut. 3-2-3) Générer l'ensemble des solutions extrêmes efficientes. On sait que l'ensemble des points extrêmes efficient? est bien enchaîné, c'est-à-dire qu'il est possible de passer d'un point efficient à un autre en faisant des transformations pivot. Pour leur détermination il n'existe pas de méthode analogue à la programmation linéaire ordin­ aire car ce programme de changement de base est choisi de telle sorte que l'objectif croisse. Il n'en est pas de même pour la programmation multiobjectif par définition même d'un optimum de PARETO. Aussi deux stratégies sont possibles soit à partir d'un premier point efficient calculer un point voisin et tester s'il est efficient soit à partir d'un point efficient, chercher un point voisin efficient et calculer ses coordonnées. 3-2-4) Générer l'ensemble des solutions non dominées : cette recherche se décompose en deux phases d'abord déterminer si une face est non dominée et ensuite générer cette face. Ce problème se ramène au test d'un point d'une face, car si un point d'une face est non dominé toute la face est dominée. Donc l'ensemble des solutions se présente sous la forme II F^ une face non dominée. F^ étant i G A La plupart des auteurs ont négligés cette dernière étape, seul ZELENY a donné un algorithme complet de résolution que nous présentons à la suite. - 12 A l g o r i t h m e do /ll l NY Début l I|(U<V1>* une» solution ré«i limita le J f — non^^. oui non ^Toui , . . . ,. . ., xCs index 00 d s s c corresponoantij qui conduisent à une base non explorée. {ot. ookcr Y a-t-il une base inexplorFt5^ ^ —■ — ^ ___déjà stockée [non Tous les sommets non dominés ont été calculés - 13 A l g o r i t h m e <k* grtnérutiori d e s faces fion dominóes (ZtLf.NY) Toutes les méthodes de pondération a posteriori des objectifs sont extrêmement coûteuses du point de vue calcul. De plus le décideur n'inter­ vient absolument pas et a à disposition tout un ensemble de solutions entre lesquelles par définition d'un optimum de PARETO il ne peut choisir. Il faut donc introduire un critère supplémentaire pour aboutir à une solution efficace. Pour augmenter l'influence du décideur il faut passer à la détermination progressive des poids. 3-3) Détermination progressive des poids 3-3-1) Généralités Le décideur ne pouvant pas expliciter sa fonction d'utilité on cherche une méthode qui incite celui-ci à définir ses préférences de manière ponctuelle au cours du processus d'exploitation des décisions. A partir d'une solution trouvée on interroge le décideur pour savoir si une ou plusieurs valeurs des critères sont insuffisantes. Si oui on lui propose une autre solution qui accroit la valeur de ces critères mais, qui par définition d'un optimum de PARETO en dégrade d'autres. On voit que le processus est itératif et ne s ’ arrête que lorsque le décideur est satisfait ou quand aucune autre solution n'est possible. Ces méthodes ont un avantage certain c'est le décideur et non plus seulement l'analyste qui participe à l'élaboration de la décision et leur emploi est relativement facile. Elles ont en revanche un inconvénient : rien ne garantit une convergence rapide c'est-à-dire conduit en un nombre fini de cycles à la solution péférée. Le principe de ces méthodes est simple. B. ROY a fourni une procédure dégagée de tout concept mathématique que nous allons présenter. Soit A l'ensemble des actions possibles g = (?!••• gn) la valeur des critères g*= (g*... g^) la valeur correspondant au maximum de chaque critère c'est le point de mire. g = (g-j •• gn) un point réal isable qui représente la meilleure solution après g* La procédure itérative peut être visualisée dans l'organigramme suivant - 15 Procédure du point de vue évolutif O ébut Recherche du point de mire. Délimitation de A . et détermination du point de mire associé à A 9 * = < 9 *,. - oui > — ».... Compromis a* Réinitialisation avec le nouveau point de mire ïcceptez-vous ^des compromis moir oui J>OQJ non Réaction en vue de recueillir les informations relatives à un possible élargissement de l'ensemble A Réaction en vue de recueillir des informations suffisantes pour localiser un meilleur 9 < g* OUI Recherche d'un projet de com­ promis a, action dominante la plus proche dé g compte tenu de la direction de préférence -------- — ............................................ ......... .......................................................................... Réinitialisation avec le nou­ veau projet de compromis, S est candidat avec les performances § Réaction en vue de reçueillir les informations suffisantes pour sélectionner la performan» i à améliorer en priorité 16 - 3-3-2) Méthodes ne demandant aucun information 3-3-2-1) Méthode STEM , dans un premier temps un tableau du gain est construit en calculant 1 'optimum de chaque fonction objectif donc en résolvant max z^ (x) = c^x Ax < b i €L x ^ o On obtient le tableau Z>^ • z. ★ :1 Z1 1 i ZL L Z1 Z^ Z1 T zi •y★ Z• 1 L 1 L ★ ZL ,1 L La ligne i correspond à la solution qui maximise zi, i : fonction critère, z. est la valeur prise par le ne critère quand z. atteint son ★ 1 maximum en z.. L' algorithme se décompose en 2 phases i) Phase de calcul : A chaque itération on cherche la solution du problème min X X > [ z* - zi (x) ] 7T i x € if1 i e L X > o 7ri mesure l'importance relative du critère i. Il faut noter que cette pondération est locale et varie à chaque itération. D 01 est le domaine de l'itération if c X et comprend des contraintes qui seront précisées par la suite. u) Phase de décision : On présente la solution trouvée au décideur qui comparé à la valeur du point idéal. Si certaines composantes sont satisfaisantes, d'autres ne le sont pas, le décideur doit accepter un - 17 - certain montant D . de relaxation des contraintes. Le domaine réalisable zi devient : (x) > if1 * |zk 00 (xm ) - D zi (xm) V^ G L La procédure s'arrête dès que la solution trouvée est jugée satisfaisante par le décideur. - 18 - Algorithme STEM Début f C o n s t r u c t i o n de la table de d é p a r t z*. 1 P o s e r D.j = X C a l c u l e r les p o i d s II. R é s o u d r e le p r o g r a m m e l i n é a i r e m i n X, XG X m x > [2^ - ^ (x )] nx V I E L X >0 non Pas de s o l u ­ tion F I N i meu< x m estL le leur c o m p r o ­ mis C h o i s i r les c o m p o s a n t e s z_j' à r e l a x e r -------- Nf C h o i s i r le nlontant D z ^ de la rel a x a t i o n ni = xm •X m+1 = Z l (x) > z 1 (xm ) - D ( z r ) X N z. (x) k 0 V k G L k i 1 - 19 - S-3-2-2) Goal programming interactif. Le problème que l'on se propose de résoudre est de maximiser une fonction d'utilité du décideur non connue de celui-ci. La procédure revient îî max IJ(CX ) = max lî(x) Soit x k la solution obtenue à la k : itération (x 1 étant arbitraire) la meilleure direction de déplacement basée sur une approximation linéaire de la fonction d'utilité en x le • • est déterminée par y. y*= X maximisant grad U (Cx) . or la fonction U n'est pas connue explicitement il est donc impossible de déterminer directement son gradient. Comme y n'est pas affecté par une pondération positive des objectifs, en utilisant les propriétés des fonctions composées il est possible de mettre l'expression précédente sous la forme max ■| L wj C. (xk) y "tîju avec — J au point x 3 X1 k Wj est le taux de substitution entre l ’ objectif 1 et l'objectif j, il doit être demandé au décideur en procédant par question. Il reste alors k • à déterminer dans la direction d = y - x le point optimal. Cela revient à trouver la valeur t e fo ,11 qui maximise U !c(xk + tkdk) Mais comme c(x v 1 e [°>11 k k + t d ) détermine cette valeur en utilisant une représentation graphique car la valeur de C ne dépend que de t. Le calcul s'arrête lorsque xk = - 20 - 3-3-3) Méthodes nécessitant des informations : 3-3-3-1) Méthode de Zionts et Wallenius : La première étape de cette méthode consiste à choisir un ensemble arbitraire de multiplicateurs positifs et à générer une fonction d'utilité à partir de ces multiplica­ teurs. La fonction d'utilité optimisée fournit une solution non dominée à partir de l'équivalence entre le programme multiobjectif et le programme multiparamétrique. De l'espace des variables hors bases sont sorties des variables efficientes c'est-à-dire des variables qui introduites dans la base peuvent augmenter un objectif sans en diminuer un autre. Pour chaque variable efficiente un ensemble de gains est défini par l'augmentation et la diminution de chaque objectif, line série de tels gains est présentée au décideur à qui il est demandé quel gain est accepté^refusé ou indifférent. D'après ses réponses un nouvel espace de multiplicateurs est construit et la solution non dominée correspondante est trouvée. Le procédé est itéré et poursuivi jusqu'à la convergence de l'algorithme. Initialement il faut résoudre le programme max Ai dix i G L x G X 2 Xi = 1 i G L Xi>o Ce programme fournit une solution non dominée. L ’ étape suivante consiste à construire l'ensemble des variables hors bases efficientes. Pour ce faire il faut construire le tableau des wij qui fournit la variation de l'objectif j par l'introduction de la variable hors base i, Il faut résoudre le programme linéaire Vj G J (ensemble des indices des variables hors bases) max xj X G X Si z' est la valeur de la fonction objectif on a w.. xj Si tous les wij sont positifs, xj n'est pas efficient, sinon il faut tester si la solution obtenue est efficiente. Pour ce faire, il faut résoudre le programme linéaire sous les contraintes . 2 i G L w,, 1J \) > o v V, G J J j f 1 T. i F L .• _ 1 Xl ' 1 D'après la théorie dtj programme linéaire on a les tests suivants si t <0 Xj est efficient, si, t ?» o Xj n'est pas efficient. Par la"suite on aborde la phase de décision. On s'adresse au décideur pour savoir s'il accepte ufte variation oui, non ou indifférent. des objectifs, la réponse est Si la réponse est non pour toutes les variables efficientes, le calcul - 22 - I Début >r q- 1 Résoudre max Z A. Cx i = 1 1 Ax < b x > 0 C o n s t r u i r e V L . p ar max x Ax < C W.j = z b , j 6 J j - C ' z x. n on e f f i c i e n t , éli- j miner cette valeur résoudre min t = min N Z ■N Z W., X. i = 1 11 1 N W. . X. > 0, j € J, j * 1, i = 1 ij i Z X = 1 i = 1 x^ n on e f f i c i e n t , éli. miner c e t t e v a l e u r oui Xe* four laV* 1 U U 1 n 1 Ii X t w A solution t\ g : g + 1 T r o u v e r une s o l u t i o n ' é f f i c i e n t e . R é s o u d r e N Z W.. X. < -c p o u r oui, Z W., X. > e po u r n o n i = i 11 1 i = 1 11 1 N Z X .= 1 i = 1 1 N - s'arrête .23 - et les valeurs des X fournissent les poids. Sinon pour chaque réponse oui on construit les inégalités D i G N w . . H < - fi fi est un nombre positif suffisamment petit, car 1J v la plus grande valeur de i G N w . . X • est toujours plus petite que 1J 1 zéro dans le cas d'une attraction. Pour toute réponse non on a S i e S n w iî J ^ et Pour l'indifférence i G N w . . X- = o, 13 1 A partir de ces relations on construit un nouvel espace des X vérifiants y ' X . = 1 et on itère le procédé, i G N 1 3-3-3-2) Méthode de VINCKE. Le début de la méthode est analogue n la méthode de STEM. On détermine le point idéal, c'est-à-dire on résoud M, = max K x G X C, x K k G L Puis on cherche à minimiser la distance entre ce point et le point idéal ; on résoud le programme min > y = C x - Ckx) Ax < h x > 0 ^ > o 7r^ est à calculer comme dans le cas de la méthode STEM. La solution optimale de ce programme fournit le point admissible dont l'image dans l'espace des fonctions économiques est le plus proche au sens minimax du point idéal. L'introduction des variables d'ocart et des variables artificielles conduit au programme suivant min ( X + ' ? Mv, ) k G I, K y-cx = 0 n k V - + X " h + vk = Ax + s = b Mk k <EL - 24 - t^, sont les variables d'écart, v^ les variables artificielles et M une quantité arbitrairement grande. Le tableau initial du simplex est y^. •• yL ***^n’ t-|•• • XLL -C 0 0LL °LL ^ 1 -ILL °ML A 0 °1L 0 1 s r ..sm , 0LL 0 0 0LM 0 ILL °LM *M 0 1^ b M 0 0 La résolution du programme conduit à un tableau du type suivant y^... y^ yij x.j... xn, X, t-j... tL, v ^ ... v^, s.|... xij -1j tij vij sij Bi ligne des indicateurs égale à zéro. Les variables Vi sont supposées hors bases dans le tableau final, car on suppose évidemment que le programme admet une solution. La variable X a été indiquée en base. S'il n'en est pas ainsi sa valeur optimale est nulle. Cela signifie que l'on peut atteindre le point idéal dans le domaine admissible et que la solution trouvée est la meilleure possible. Le vecteur Bj fournit les composantes de la solution optimale du programme, ainsi que les valeurs des fonctions économiques en ce point. Celui-ci est le premier compromis propose au décideur. De plus il résulte des critères d'optimalité du simplex que Bi > o et que les indicateurs sont négatifs ou nuls. Supposons que le décideur ne soit pas satisfait mais qu'il accepte de relâcher la par cette solution contrainte, c'es-à-dire d'augmenter b^. Il résulte de l'algorithme du simplex que si est remplacé par b^ + X^ et si l ’ on applique les mêmes changements de base qu'au programme initial alors le vecteur B^ devient B^ + X^ s ^ > le reste du tableau étant inchangé. Si d'autre part B^ + X^. s ^ > o Y. e f 1 , 2.1, + M] alors ce nouveau vecteur représente la solution optimale du programme perturbé. Dans ce cas ce vecteur fournit un nouveau compromis compte tenu de la perturbation X^ apportée par le décideur. - 25 - Il en est de meme si le dccideur modifie une des composantes du point idéal. Si par exemple ^ second membre devient B. + V.^ est remplacé par + Xj. le qui, tant que scs composantes sont non négatives fournit la solution optimale du programme perturbé. Par conséquent, l'influence sur le compromis initial d'une modification d'une contrainte ou d'une composante du point idéal se lit. immédiatement sur le tableau final. Le programme s'arrête quand le décideur s'estime satisfait. - 26 - - 27 - 3-3-3-3) Résolution dans le cas d'objectifs Ordonnés. Supposons que les objectifs soient rangés par ordre d'importance décroissante. Le classement peut être fourni par h' décideur lui même on être obtenu dans le cas de plusieurs décideurs par une méthode de classement type Electre. Dans un premier temps on résoud le programme max c^x x G X Soit x 1 les valeurs des variables et z les valeurs correspondantes des objectifs. Si le décideur n'accepte pas la solution, on cherche comme dans la méthode de VINCKE quelles contraintes il faut relâcher de façon à fournir une solution acceptable pour le décideur. Dès qu'un compromis est trouvé on passe au 2e objectif et on résoud le programme max Ax <^b x >0 C^x > z 1 Deux cas peuvent se présenter i) la solution trouvée est x \ Si le décideur accepte la solution on passe au 3 e objectif sinon on procède comme dans la 1e étape en lisant directement dans le tableau simplex les gains obtenus par relaxation des contraintes. u) la solution obtenue est différente de . Dans ce cas on résoud le programme. max C ?x x e x Soit x 2 les valeurs des variables et z 2 les valeurs correspondantes des obje^ti fSu. A p a r tir de ces résultats on construit le point ^x 1 + (1 9 ) x ^ e f 0,1 ] ; On et on résoud le programme demande un compromis au décideur - 28 - max C^x sous les contraintes Ax < b par le décideur. x > o > <\ (compromis retenus On présente les résultats au décideur. S'il refuse, on propose une re­ laxation des contraintes jusqu'à ce qu'un compromis acceptable soit trouvé sinon on itère le procédé jusqu'à épuisement des objectifs. - 29 - - 30 - Rien souvent les décisions se prennent au cours de périodes succes­ sives, ce qui nous conduit à la programmation dynamique. Que devient un programme linéaire multiobjectif dans le cas de la programmation dynamique. IV - Programmation dynamique. 4-1) Présentation du problème.Considérons le programme max Jji = max N "S 1 k=o = max N_1 S k=o zJi (x (k), 11(k) ) • i j G L i (cJ (k). x(k) + d 3 (k) u (k) + 2P(k)) L'équation de comportement du système est x(k + 1) - x (k) = A (k) x(k) + B (k) u (k) + a (k) k e fo,N-11 L'état initial est connu x (o) = e x(k) vecteur colonne à n dimensions pour la période k u(k) vecteur colonne à m dimensions pour la période k x(k) est le vecteur d'état, u(k) le vecteur de commande c3 (k) est un vecteur ligne à N dimensions pour la période K d 3 (k) est un vecteur ligne n m dimensions pour le période K )P (k) scalaire représentant les paramètres exogènes pour la pér iode k j G L A(k) matrice (n,n) pour la période k B(k) matrice (n,m) pour la période k a (k) vecteur à n dimensions pour la période k représentant les paramètres exogènes influançant le système. Nous allons procéder à la résolution de ce programme d'une part par le principe du maximum de Pontriagin et d'autre part par le principe de BliLLMANN. 4-2) Principe du maximum : Celui-ci consiste en l'introduction de variables duales permettant de construire la fonction hamiltonienne qui sera optimisée à chaque étape. Ainsi le principe du maximum permet de décomposer le problème de commande optimale en une suite d'optimisations - 31 - statiques tout en réduisant ic nombre des variables. Pour résoudre ce problème associons aux équations de comportement des multiplicateurs 'P' (k) j £ I, qui dépendent du critère considéré, nous obtenons de cette manière un problème d'optimisation libre N"1 , N-1 max 2 H* (x(k), u(k), v J (k) ,k) = max ? zJ (x(k), u 00,1c) k=o k=o * J (k) tx(k+ 1) - x(k) - A(k), x(k) - B(k) u(k) -<*(k)l H étant décomposable pour réduire ce récurrence. problème on procède par Pour k e f o,N-1 J la condition nécessaire et suffisante d'optimation pour chaque objectif est 3 -}1 3'i0s.(k)> U(k), k) . l j (k)à [Afk) x n o + Bfk) x_ fkJ_-jvm]_ ^x(d) ^x(k) ^rx(k) * + - v? J çk-l) = 0 lîl ^ufk) (k) u (k), k) jpî (k) $ ÇA(k) x (k) + B (k) x fk) +jy_î1Q = o ^u (k ) yu(])~ k ^ ro,N-l] y_HJ j e t, j f= L = x(k + 1 - X (k) - A(k) X(k) - B(k) u (k) - cv (k) = o J J (k) Pour k = N comme notre système dynamique a pour horizon temporel k = N-1 on suppose que la condition finale est V * (N- 1) = o vj G y, On obtient le système canomique des conditions du premier ordre <p’ (k) -spj(k-l) = cJ (k) - y ^(k)A(k) k G f o,N-1 ] * j (N-1)=o j<= L x(k + î- - x(k) = A(k) x(k) + B(k) u(k) + « (k) xfo) = e - 32 - I.a condition du premier ordre d -1 fk) + j (k) B(k) = o des variables de commande est j€ L k G [ o,N-1] Les variables de commande sont optimales donc elles vérifient max (d^Ck) + j (k) B(k)) u(k) k G [o,N-1] j G L On retrouve un programme linéaire multiobjectif classique. Pour résoudre ce programme on doit d'abord calculer les valeurs duales (k) de k = N-1 à o, calculer dJ (k) + ^ (k) B(k) pour trouver la valeur optimale de la commande u(k) enfin déterminer la trajectoire du système et la valeur optimale des critères de jugement. La simplicité de cette technique en fait un outil de décision très puissant pour les problèmes dynamiques mis sous la forme de commande. Tille permet non seulement de décomposer le problème dynamique à objectifs multiples en une suite de problèmes d'optimisation statique multiobjectif mais encore elle réduit le nombre de variables de ces programmes aux seules variables de commande, les autres calculs ne sont que du calcul matériel. Remarque Bien évidemment il est possible d'introduire des contraintes sur les variables de commande cela ne modifie en rien le principe de résolution de ce programme. 4-3) Principe d'optimalité. Notre problème se présente comme suit max N-1 2 k=o . 7? (x (k), u (k) , j (k) j G L x(k + 1 ) - x(k) = A (k) x(k) + B(lc) u(k) + j (k) kG[o,N-1l Nous supposons en outre que les variables de commande et d'états vérifient les contraintes suivantes u(k) = [ u(k)G <R m b(k)u(k) < Ç(k) u(k) > o k G [o,N-1]} X(k) = \ x(k)F a(k)x(k) ^fl*(k) x(k) > o k G fo,N-1^ m b(k) matrice (j),m) pour la période k a(k) matrice (q,n) pour la période k p(k) vecteur colonne n p dimensions pour la période k C(k) vecteur colonne à q dimensions pour la période k Le principe d'optimalité signifie que toute politique optimale est - 33 - composée de sous politique optimale ; nous pouvons dire qu'à chaque période 1 'optimisation doit respecter la solution ontimale de la période précédente pour l'algorithme en avant ou de la période ultérieur pour l'algorithme en arrière. Pour exploiter ce principe présentons ces deux algorithmes. 4-3-1) Algorithmes en arrière : Dans ce cas nous procédons par étapes de la dernière période k = N-1 et de proche en proche jusqu'à l'étape d'origine k = o. On suppose que la variable d'état à l'étape N est connue x (N) = e' et que l'état initial est contraint x(o) G X(o) Pour k = N-1 l'état final étant connu x(N) = c', le problème à résoudre est le suivant rN-l = max u (N-1) g zj|Cx(N-1), u(N-1, j (N-1) 1 u (N-1) j x (N-1) GX(N-1) x(N-1) + A (N-1) x (N-1) + B (N-1) u (N-1) -r« (N-1) = x(N) hn résolvant le problème précédant qui n'est autre qu'un programme linéaire multiobjectif nous obtenons la valeur optimale au sens de PARbTO des variables de commande et des objectifs 1*° N-1 u °(n -1) des variables d'état x°(N-1) Pour k = N-2 le problème à résoudre est le suivant, en respectant la valeur optimale de la période précédente l3_ 1 = max u(N-2) G x(N-2) zj (x(N-2), u(N-2), j (N-2)) + 1 ^ (x(N-2) +...) a (N-2) X(N-2) j gL oui est également un programme linéaire multiobjectif qui nous donne u CN—2), x°(N-2) , ce qui nous donne Pour k = o on a ^ procède de même jusqu'à la période k = o - 34 - ro = max z^fxfo), u(o), j(o)) + 1^ (x(o) + A(o) x(o) + B(o) u(o) + afo) ufo) e u(o) x(o) e x(o) Algorithme en avant : Il suffit de procéder de la même manière en partant de l'état k = o pour aboutir à k = N-1 Ainsi le principe d'optimalité nous permet de résoudre le problème de commande optimale en une suite d'optimisations statiques. Mais contrairement au principe de PONTRIAGIN qui ne considère que les variables de commande, le principe de BELLMAN utilise à la fois les variables de commande et les variables d'état. - 35 - BIBLIOGRAPHIE Ouvrages FISHBURN P.C. (1970) Utility Theory for Decision Making, Wiley, New-York. HOLINS S. (1981) L foptimisation multiobjectif thèse de mathématique appliquée à 1*économie (Dijon). HWANG C.L. and A.S.M. MASUD (1979) Multiple Objective Decision Making, Methods and Applications. A State of the Art Survey, Springer Verlag, New-York. HWANG C.L. and K. YOON (1981) Multiple Attribute Decision Making. Methods and Applications» A State of the Art Survey. Springer Verlag, New-York. IGNIZIO J.P. (1976) Goal Programming and Extensions. Lexington Books Massachussets. KQOPMANS J.C. (1970) Trois essais sur la science économique contempo­ raine. Dunod (Paris)« KUHN and TUCKER. Linear Programming and the Theory of Games Activity Analysis. VON NEUMANN J. and 0. MORGENSTERN (1947) Theory of Games and Economic Behavior, Princeton University Press, Princeton N.J. PARETO W. (1904) Economie mathématique dans l ’ encyclopédie des sciences mathématiques sous la direction de J. MOLK. PREVOT M. et S. HOLIN (1986) Programmation linéaire multiobjectif, Collection de l'I.M.Ë. Dijon. ZELENY M. (1974) Linear Multiobjective Programming, Springer Verlag, New-York. ZELENY M. (1975) Multiple Criteria Decision Making (KIOTO) Springer Verlag, New-York. ZIONTS S. (1978) Multiple Criteria Problem Solving, proceeding Buffalo, Springer Verlag, New-York. - 36 - Articles BENAYOUN ]{. et J. TERNY (1969) Critères multiples en programmation mathématique. Une solution dans le cas linéaire. Revue française de recherche opérationnelle, vol 2, p. 31-36. CHARNES A and W.W. COOPER (1977) Goal Programming and Multiple Objective Optimization, part I. : European Journal of Operational Research, vol 1, n° 1, p. 39-45. CHOUAF M. and M* PREVOT (1985) Programmation multiobjectif et programmation dynamique, symposium de R.O., Munich (à paraître). CHYUNG 0.1 I. (1967) Optimal System With Multiple Costs Functionals S.I.A.M. Journal of Control, vol 5, n° 3, P. 345-351. DESPONTIN M. et P. VINCKE (1977) Multiple Criteria Economic Policy in ROUBENS. Advances in Operation Research, North Holland Amsterdam, p. 119-128. DYER J.S. (1973) A Time Sharing Computer Program for the Solution of the Multiple Criteria Problem, Management Science, vol. 19, n° 12 (août). FARQUHAR 1/.H. (1977) A Survey of Multiattribute Utility Theory and Applications in Strass and Zeleny, Multicriteria Decision Making, North Holland, New-York. FEINBERG , (1972) An Experimental Investigation of an Interactive approach for Multicriterion Optimization With an Applica­ tion to Academic Resource Allocation, Ph. D. Dissertation, University of California, Los Angeles. FISHBURN ).C. (1974) Lexicographic Orders, Utilities and Decisions Rules : A Survey* Management Science, vol. 22, n° 11, p. 1442 1471. GEOFFRION A.M., J.S. DYER and A. FEINBERG (1972) An Interactive Approach for Multicriterion Optimization With an Application to the Operations of an Academic Department. Management S cience, vol. 29, n° 4 (part I), p. 357-368. . (1974) Multiattribute Utility Models a Review of Field and HUBERT G. ’ Fieldlike Studies, Management Science, vol. 20, n° 10, p. 1393-1402. - 37 - KEENEY R. (1972) Utility Functions for Multiattribute Consequences, Management Science, vol. J8, n° 5 (part 1), p. 276-287. PREVOT M. (1984) Programmation linéaire multiobjective avec objectifs ordonnés, 16 ème colloque structures économiques et économétriques, Aix-en-Provence Revue [»ëograohique du sud est. ROY B. (1975) Vers une méthodologie générale d'aide à la décision, M e t r a , vol. 14, n° 3, p. 459-497. SEINFELD J.H. and W.Z. Mac Bridge (1970) Optimization With Multiple Performance Criteria, I. and E.C. Process Design and Development, vol. 9, n° 1, p. 53-58. VINCKE P. (1976) Une méthode interactive en programmation linéaire à plusieurs fonctions économiques, R.A.I.R.O., vol. 10, n° 6, série verte, p. 5-20. WALTZ F.M. (1967) An Engineering Approach : Hierachical Optimization Criteria, I.E.E.E. Trans on Automatic Control, vol. AC 12, n° 2, p. 179-Î80. ~ WINTERFELDT D.V. and G.W. FISHER (1977) Multiattribute Utility Theory, Models and Assessment Procedures in WENDT and C. VLEK, Utility Probability and Human Decision Making, D. Reidel pub. Co, Boston, p. 47-85* YU L. and M. ZELENY (1975) The Set of All non Dominated Solutions in Linear Case and a Multicriteria Simplex Method. Journal of Mathematical Analysis and Applications, vol. 49, n°“2, p7TT6~m: ------ ---------------- ;— YU L, and M. ZELENY (1974) The Technic of Linear Multiobjective Program­ ming, R.A*I.R.O., vol. 3, p. 51-71. ZELENY M. (1973) Compromise Programming in COCHRANE and ZELENY, Multiple Criteria Decision Making, University of South Carolina Press, Columbia, South Carolina, p. 262-302. ZIONTS S. and J. WALLENIUS (1975) On Finding the Subset of Efficient Vectors for an Arbitrary Set of Actors, Working Papers, p. 54-64.