Post on 17-Jun-2022
HAL Id: hal-01544116https://hal.archives-ouvertes.fr/hal-01544116
Submitted on 21 Jun 2017
HAL is a multi-disciplinary open accessarchive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come fromteaching and research institutions in France orabroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, estdestinée au dépôt et à la diffusion de documentsscientifiques de niveau recherche, publiés ou non,émanant des établissements d’enseignement et derecherche français ou étrangers, des laboratoirespublics ou privés.
Programmation linéaire multiobjectif : un résuméMichel Prévot
To cite this version:Michel Prévot. Programmation linéaire multiobjectif : un résumé. [Rapport de recherche] Institut demathématiques économiques (IME). 1988, 37 p., figures, bibliographie. �hal-01544116�
EQUIPE DE RECHERCHE ASSOCIEE AU C.N.R.S.
DOCUMENT DE TRAVAIL
INSTITUT DE MATHEMATIQUES ECONOMIQUES
UNIVERSITE DE DIJON
FACULTE DE SCIENCE ECONOMIQUE ET DE GESTION
4, BOULEVARD GABRIEL - 21000 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 multi-
objectif 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) Diffé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 laouelle est la meilleure.
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 pourquoi et comment décider il
reste à déterminer qui va décider.
1-5) Çho^de^arteriaires : 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 celui 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 en
utilisant la théorie des jeux.
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 j e n aü xj ‘!bi
V i€H - M , j e » a i j X j - b i
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.
^ M2-3) Critères d'optimisations : x G $ est une solution si et seulement
si les contraintes Ax < b sont satisfaites ; soit D l'ensemble des
solutions
D = jxi; x G d* 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* A x < b e t x > o J
\ G d" est un résultat si et seulement si z = Cx x G X soit Z
l'ensemble des résultats
Z = J zi; z 6 3 x G X/ z = Cx 1>
Etant donne deux résultats z et z2 on dit que z domine (respective-2 1 ?
ment strictement) z 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* Vy zi (y) > zi (x) avec au moins une inégalité
stricte => y £ \ l )
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 é Vy zi (y) > zi (x) Vi G L =* y f- X ^
On a 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 multipara-
mctrique, 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 tCyy £ 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 tCyy ^ 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') +... + ^ zl 00 comparé à
2 t. z. (x) alors si ^,> o z1 (x) < z1(x') i G L 1 1 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 x > o C.x >L . C.x <H.3 3 3 ' 3
Vj G L 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 g X
Soit = 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 j 6 L J
x ex 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* = g. y. çz l
A x < b x > o y+ > o 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 + j i L w J y J
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
- 1 1 -
que le décideur a fourni ses informations, il n'intervient plus
dans la construction de la solution. Aussi nous allons passer au
cas 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^ F^ étant
une face non dominée. 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 -
Algorithme do /ll l NY
Début
l I|(U<V1>* une» solution ré«i limita le
J —
f oui non^^.
non^Toui
{. , . . . , . . . ,ot ookcr xCs index 00 d s s c corresponoantij qui conduisent à une base non explorée.
Y a-t-il une base inexplorFt5 ^ ___déjà stockée ^ —■—
[nonTous les sommets non dominés ont été calculés
- 13 -
Algorithme <k* grtnérutiori des 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
Procédure du point de vue évolutif
- 15 -
Oébut
Recherche du point de mire. Délimitation de A .
et détermination du point de mire associé à A
-9 * = < 9 * ,.
Réinitialisation avec le nouveau point de mire
oui Compromis>— ».... a*
ïcceptez-vous ^des compromis moir
J>OQJnon
oui
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 compromis a, action dominante la plus proche dé g compte tenu de la direction de préférence
-------- — ............................................ ......... ..........................................................................Réinitialisation avec le nouveau 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 i € L
Ax < b x ^ o
On obtient le tableau
Z> • z.1 ZL
★ i L:1 Z1 Z1 Z^
Z 1 ★•y LT zi1
Z •1
,1 ★L L ZL
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 i e L
x € if1 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.
D01 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 :
i f 1 *
La procédure s'arrête dès que la solution trouvée est jugée satisfaisante
par le décideur.
(x) > (xm) - Dzi
|zk 00 (xm) V^ G L
- 18 -
Algorithme STEM
Début
f
Construction de la table dedépart z*.
1
Poser D.j = X
Calculer les poids II.
Résoudre le programme linéaire min X , X G X m
x > [2^ - ^ (x )] nx VIE L
X > 0
Choisir les composantes
z_j' à relaxer
-------- Nf
Choisir le n
de la rel
lontant Dz^
axation
non Pas de solu
tion
F I N
m L ix est le m e u <
leur compromis
n i =0
xm
•X m+1 = Z l (x) > z 1 (xm ) - D(zr )
z. (x) k
XN
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)
k 1 Soit x la solution obtenue à la k : itération (x étant arbitraire)
la meilleure direction de déplacement basée sur une approximation linéairele • •
de la fonction d'utilité en x 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îjuavec — au point x
J3 X 1
kWj 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 alorsk •
à déterminer dans la direction d = y - x le point optimal. Cela revient
à trouver la valeur t e f o , 11 qui maximise
U !c(xk + tkdk) 1 e [°>11
v k kMais comme c(x + 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 X i > oi G L
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
max xj Vj G J (ensemble des indices des variables hors bases)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 w,, \) > o V, G J j f 1 T. . • _ 1i G L 1J v J i F L 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 des objectifs, la réponse est
oui, non ou indifférent.
Si la réponse est non pour toutes les variables efficientes, le calcul
- 22 -
g : g + 1
Début I
>r
q - 1
Résoudre max Z A. Cx
i = 1 1
Ax < b x > 0
Construire V L . par max x , j 6 J
Ax < b j
W.j =
C - C ' z z
x. non efficient, éli-j
miner cette valeur
■ N
résoudre min t = min Z W., X.i = 1 11 1
N N
Z W. . X. > 0, j € J, j * 1, Z X = 1
i = 1 ij i i = 1
x^ non efficient, éli-
. miner cette valeur
oui Xe* fournit lat \ 1 U U 1 1 I X w A V*
solution
Trouver une solution'éfficiente. RésoudreN N
Z W.. X. < -c i = i 1 1 1
pour oui, Z W., X. > e pour non
i = 1 11 1
N
Z X.= 1i = 1 1
- .23 -
s'arrête et les valeurs des X fournissent les poids.
Sinon pour chaque réponse oui on construit les inégalités
D w.. H < - fi fi est un nombre positif suffisamment petit, car i G N 1J
vla plus grande valeur de w.. X • est toujours plus petite que
i G N 1J 1
zéro dans le cas d'une attraction. Pour toute réponse non on a S S
i e n wiî ^ et Pour l'indifférence w.. X- = o,J i G N 13 1
A partir de ces relations on construit un nouvel espace des Xy
vérifiants ' 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 C, x k G LK x G X K
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 = Mk k <EL
Ax + s = b
- 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-|• • • sr ..sm ,
XLL -C 0 0LL 0LL 0LM 0
°LL ^ 1 -ILL ILL °LM *M°ML A 0 0 0 1 ^ b
°1L 0 1 0 M 0 0
La résolution du programme conduit à un tableau du type suivant
y^... y^ x.j... xn, X, t-j... tL, v^... v^, s.|...
yij 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 par cette solution
mais qu'il accepte de relâcher la 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 ^ est remplacé par + Xj. le
second membre devient B. + V . 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
1Ax <^b x > 0 C^x > z
Deux cas peuvent se présenter
i) la solution trouvée est x \ Si le décideur accepte la solution on
passe au 3e 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
2 2Soit x les valeurs des variables et z les valeurs correspondantes
des obje^ti fSu. A p a rtir de ces résultats on construit le point1 9
^ x + (1 ) x ^ e f 0,1 ] ; On demande un compromis au décideur
et on résoud le programme
- 28 -
max C^x
sous les contraintes Ax < b x > o > <\ (compromis retenus
par le décideur.
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
i N"1 imax Jj = max S zJ (x (k), 11 (k) ) j G Lk=o
N_1 • i i = max S (cJ (k). x(k) + d3 (k) u (k) + 2P(k))
k=o
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
d3 (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-1max 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 problème on procède par
récurrence.
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 no + Bfk) x_ fkJ_-jvm]_
^x(d) ^x(k) ^rx(k) *
+ - v? J çk-l) = 0 j e t,
l î l (k) u (k), k) jpî (k) $ ÇA(k) x (k) + B (k) x fk) +jy_î1Q = o
^ufk) ^u(k) yu(])~
k ro,N-l] j f= L
y_HJ = 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 des variables de commande est
d-1 fk) + j (k) B(k) = o 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
N-1 .max 2 7? (x (k), u (k) , j (k) j G L
k=o
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 m a(k)x(k) ^fl*(k) x(k) > o k G fo,N-1^
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 zj|Cx(N-1), u(N-1, j (N-1 ) 1
u (N-1 ) g 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 u °(n -1) des variables d'état x°(N-1)
et des objectifs 1*°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 z j ( x ( N - 2 ) , u(N-2), j (N-2)) + 1 ^ (x(N-2) +...)
u(N-2) G a (N-2)
x(N-2) X(N-2) j g L
oui est également un programme linéaire multiobjectif qui nous donne
u CN—2), x°(N-2) , ^ procède de même jusqu'à la période k = o
ce qui nous donne
Pour k = o on a
- 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.
K Q O P M A N S J.C. (1970) Trois essais sur la science économique contemporaine. 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 -
BENAYOUN ]
CHARNES A
CHOUAF M.
CHYUNG 0.1
DESPONTIN
DYER J.S.
FARQUHAR 1
FEINBERG ,
FISHBURN
GEOFFRION
HUBERT G.
Articles
{. 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.
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.
and M* PREVOT (1985) Programmation multiobjectif et programmation dynamique, symposium de R.O., Munich (à paraître).
I. (1967) Optimal System With Multiple Costs Functionals S.I.A.M. Journal of Control, vol 5, n° 3, P. 345-351.
M. et P. VINCKE (1977) Multiple Criteria Economic Policy in ROUBENS. Advances in Operation Research, North Holland Amsterdam, p. 119-128.
(1973) A Time Sharing Computer Program for the Solution ofthe Multiple Criteria Problem, Management Science, vol. 19, n° 12 (août).
/.H. (1977) A Survey of Multiattribute Utility Theory andApplications in Strass and Zeleny, Multicriteria Decision Making, North Holland, New-York.
(1972) An Experimental Investigation of an Interactiveapproach for Multicriterion Optimization With an Application to Academic Resource Allocation, Ph. D. Dissertation, University of California, Los Angeles.
).C. (1974) Lexicographic Orders, Utilities and Decisions Rules :A Survey* Management Science, vol. 22, n° 11, p. 1442 - 1471.
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 Science, vol. 29, n° 4 (part I), p. 357-368.
’. (1974) Multiattribute Utility Models a Review of Field and 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,Metra, 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 OptimizationCriteria, 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 Programming, 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.