IME DT 88 103

publicité
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.
Téléchargement