Chapitre 2.pdf
-
Upload
cook-messekher -
Category
Documents
-
view
175 -
download
1
Transcript of Chapitre 2.pdf
CHAPITRE 2
LA PROGRAMMATION FRACTIONNAIRE
LINEAIRE UNICRITERE
2.1 INTRODUCTION
Les programmes fractionnaires consistent à optimiser un objectif mis sous la forme d’un
rapport de deux fonctions linéaires ou non, soumis à un ensemble de contraintes. Différentes
versions de ce modèle, linéaires ou non linéaires, en nombres entiers, en mixtes ou en continu,
ont une multitude d’applications. Une bibliographie plus étendue est donnée dans ce sens dans
[60,110,114,115,119] où plusieurs applications des programmes fractionnaires ont déjà été
décrites. Les sections (2.4.1.3), (2.4.1.4) et (2.4.1.5) en rappellent quelques-unes en variables
continues. Les applications les plus récentes et proches de l’optimisation combinatoire sont
détaillées en sections (2.4.1.1) et (2.4.1.2). Trois grandes stratégies de résolution d’un
programme fractionnaire émergent dans la littérature : la résolution directe, la résolution par
paramétrisation et la résolution d’un problème équivalent à objectif simplifié.
Notons que la programmation fractionnaire linéaire peut être aussi étendue au problème de la
programmation fractionnaire linéaire bi-critère [169] et aux problèmes de programmation
multicritère fractionnaire linéaire [180] qui représente le thème essentiel de cette thèse.
Dans la section qui suit , nous présenterons les concepts fondamentaux de la programmation
fractionnaire linéaire unicritère (PFL).
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 23
NOTATIONS ET DEFINITIONS
: partie entière d’un nombre réel
E : cardinal d’un ensemble E.
Etant donné A une matrice de format nm :
j
ia : élément de la ligne i et la colonne j de A mi 1 et nj 1
jA : colonne j de A, nj 1
iA : ligne i de A, mi 1 .
Étant donné un problème d’optimisation (P) :
)(Pv : valeur optimale de (P)
)(PS : ensemble des solutions réalisables de (P)
Fonction concave
Une fonction RR nf : est dite concave si et seulement si pour tout couple nyx R),( on a :
)()1()())1(( yfxfyxf
Fonction convexe
Une fonction RR nf : est dite convexe si et seulement si pour tout couple nyx R),( on a :
)()1()())1(( yfxfyxf
Fonction quasi-concave
Une fonction RR nf : est dite concave si et seulement si pour tout couple nyx R),( tel que
)()( yfxf on a :
))1(()( yxfxf
Fonction quasi-convexe
Une fonction RR nf : est dite concave si et seulement si pour tout couple nyx R),( tel que
)()( yfxf on a :
))1(()( yxfxf
Fonction pseudo-concave
Une fonction RR nf : est une fonction différentiable sur nR . Alors, f est dite pseudo-
concave si et seulement si pour tout couple nyx R),( tel que 0)( )( xyxf , on a :
)()( xfyf .
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 24
Fonction pseudo-convexe
Une fonction RR nf : est une fonction différentiable sur nR . Alors, f est dite pseudo-
convexe si et seulement si pour tout couple nyx R),( tel que 0)( )( xyxf , on a :
)()( xfyf .
2.2 PRESENTATION D’UN PROGRAMME FRACTIONNAIRE
Étant donné f , h et mig i ,,1 , , des fonctions réelles définies sur Rn . Désignons par X
l’ensemble ,,1 ,0)( : mixgx i
n R et supposons que h ne s’annule pas sur X . Le
problème de programmation fractionnaire consiste à déterminer un élément *x de X
maximisant la fonction hf / . Il a donc la forme suivante :
Xx
xh
xf
P
s.c.
)(
)( maximiser
)(
avec comme hypothèses classiques :
,)P(S
les fonctions hf , et mig i ,,1 , sont continues sur Rn
,0)(: xhXx
0 )x(f:)P(Sx
Lorsque la fonction f est concave et les fonctions h et mig i ,,1 , sont convexes, )(P est
désigné par programme fractionnaire concave-convexe. )(P est dit fractionnaire linéaire, ou
encore hyperbolique, lorsque hf , et mig i ,,1 , sont des fonctions linéaires ou affines de la
variable nx R . Il se modélise alors comme suit :
0
s.c.
maximiser
x
bAx
qx
px
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 25
où et sont des réels, p et q sont des vecteurs de Rn, A est une matrice réelle de format
nm et b est un vecteur de Rm .
Lemme 2.2.1 [174]
Si hf est une fonction fractionnaire linéaire sur un ensemble X de Rn telle que
0)(: xhXx , alors :
a) pour chaque couple Xyx ),( , on a :
i) )()()()( yhyfxhxf si et seulement si 0)( )()( xyxhxf
ii) )()()()( yhyfxhxf si et seulement si 0)( )()( xyxhxf
b) hf est simultanément pseudo-concave et pseudo-convexe.
2.3 GEOMETRIE DE LA PROGRAMMATION FRACTIONNAIRE LINEAIRE
Comme l'a noté Steuer[32], les programmes linéaires fractionnaires présentent un intérêt
particulier mis en évidence par la linéarité des courbes niveaux de leurs fonctions critères. En
effet, pour illustrer cet aspect, considérons une Z - courbe niveau quelconque de la fonction
critère :
xq
xpt
t
Z
après simplification, nous obtenons :
xpxq tt )(Z
ce qui entraîne
xqp t)( ZZ
qui est une expression linéaire de la Z - courbe niveau de la fonction critère. Puisque Z est
quelconque, on voit que chaque courbe niveau du critère fractionnaire linéaire est linéaire sur S,
à condition que le dénominateur ne soit pas nul sur S. Donc, si un programme fractionnaire
linéaire unicritère possède une solution optimale, alors au moins un point extrême de S est
optimal.
En dépit de la linéarité de la courbe niveau de la fonction objectif, les courbes niveaux ne sont
pas parallèles ( lorsque 0,0 qp et qp pour tout R ) comme ils le sont en
programmation linéaire. L'ensemble rotation est l'ensemble de tous les points d'intersection entre
la 0-courbe niveau du numérateur et la 0-courbe niveau du dénominateur.
L'ensemble rotation est appelé point de rotation dans R2 et axe de rotation dans R
3. Les
points de cet ensemble sont déterminés par la résolution du système suivant :
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 26
xq
xp
t
t
Exemple illustratif 2.2.2
Considérons le programme fractionnaire linéaire suivant :
0
3
3
625
15
1
21
2
1
21
21
21
, x x
x
x
xx s.c.
xx
xxZMaximiser
dont le graphe est donné par la figure 2.2.1
Donc la courbe de niveau Z est l’ensemble des points ),( 21 xxx satisfaisant l’équation :
2x
r
0Z
1Z
0Z
0Z
1x
1x
2x
q
p
4x
3x
S (0,1)r
1) Z(x)3,0(
17/5) Z(x)3,3(
7/1) Z(x)0,3(
9/1) Z(x)0,2(
44
33
22
11
x
x
x
x
Figure 2.2.1 Graphe de l’exemple 2.2.2
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 27
)1()1()51( 21 ZZZ xx
donc pour :
10 21 xxZ : courbe de niveau 0
01 1 xZ : courbe de niveau 1
Le problème a quatre points extrêmes 4321 et ,, xxxx dont les valeurs du critère sont indiquées sur
la figure 2.2.1. Les lignes discontinues représentent les 0-courbes niveaux du numérateur et du
dénominateur dont l'intersection est le point de rotation )1,0(r . La flèche circulaire dénote le
gradient de la fonction fractionnaire linéaire critère et indique le sens et l’angle avec lesquels se
déplacent les courbes de niveaux. Donc, en faisant déplacer la courbe de niveau 0 autour du
point de rotation suivant le sens de rotation trigonométrique, nous pouvons voir que le point
optimal 4x de valeur optimale 1* Z est l’intersection du domaine S avec la courbe de niveau
Z = 1.
2.4 STRATEGIES DE RESOLUTION D’UN PROGRAMME FRACTIONNAIRE
La forme particulière des programmes fractionnaires a fait que de nombreux auteurs ont
élaboré des méthodes de résolution spécifiques qui se sont avérées plus efficaces que
l’application directe de méthodes générales de la programmation non linéaire.
Dans la littérature émergent trois grandes stratégies de résolution d’un programme
fractionnaire.
– La résolution directe (Sect. 2.4.2) : le programme est traité sous sa forme originale. Elle a été
utilisée pour les programmes hyperboliques en variables continues et entières.
– La résolution par paramétrisation (Sect. 2.4.3) : à l’inverse de la résolution directe, on
construit un problème à objectif simplifié, combinaison linéaire du numérateur et du
dénominateur par l’intermédiaire d’un paramètre, tout en gardant inchangé l’ensemble des
contraintes. Une séquence de résolutions de ce type de problème fournit une solution du
programme fractionnaire. Cette méthode a été utilisée pour les différents programmes
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 28
fractionnaires linéaires et non linéaires, en variables continues comme en variables discrètes, sur
des domaines bornés.
– La résolution d’un programme équivalent (Sect. 2.4.5) : un changement de variables permet lui
aussi de simplifier l’objectif, mais en transportant la difficulté sur l’ensemble des contraintes. Par
exemple, un programme fractionnaire concave-convexe est transformé en un programme
concave, et un programme hyperbolique en un programme à objectif linéaire, avec des
contraintes additionnelles.
Pour terminer, la section 6 présente les différentes approches permettant de définir un dual
d’un programme fractionnaire.
2.4.1 APPLICATIONS
Les programmes fractionnaires linéaires ou non linéaires, en continu, en nombres entiers ou en
variables 0–1 se rencontrent dans plusieurs domaines tels que les bases de données,
l’optimisation combinatoire, la programmation stochastique et l’économie.
2.4.1.1 BASES DE DONNEES
L’optimisation de requêtes en recherche documentaire (Hansen et al. [77]) est une application
informatique qui débouche sur un programme hyperbolique en variables 0–1.
Etant donné un ensemble de documents avec attributs (mots-clés, mots d’un titre, noms
d’auteurs,… etc.), le problème envisagé a trait à un système automatique de récupération de
documents en réponse à une requête. Heine [79] a montré que l’efficacité d’un tel système
dépend de la forme de la requête et que l’écriture « optimale » de cette requête par un utilisateur
est loin d’être évidente. Le but est donc d’établir une interface qui aide l’utilisateur à trouver une
forme satisfaisante de requête. Le critère d’optimalité choisi est celui de Van Rijsbergen [120]
qui, grâce à une étude mathématique basée sur la théorie de la mesure, a élaboré un critère
d’évaluation de l’efficacité d’un système de recherche documentaire comme suit :
pour une requête donnée, en notant aD l’ensemble des documents adéquats et rD l’ensemble
des documents récupérés, l’efficacité du système est fonction de deux paramètres fondamentaux
:
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 29
la précision, c’est-à-dire la probabilité pour que le document récupéré soit adéquat :
,Dr
DrDaPa
la récupération, c’est-à-dire la probabilité pour que le document adéquat soit récupéré :
,Da
DrDaPr
Le critère à minimiser de Van Rijsbergen s’écrit :
Da)(Dr
DrDaDa)(Dr
,
PrPa
)(VR
1
1
1
11
où 10, est un paramètre caractérisant la préférence pour la précision ( proche de un) ou la
récupération ( proche de zéro).
Par la suite on suppose que toute requête est mise sous forme normale disjonctive. En désignant
par (clé)j, n,,j 1 , toutes les conjonctions logiques élémentaires possibles, en notant par jNr
le nombre de documents récupérés correspondants et par Naj celui des documents adéquats
parmi les jNr récupérés, et en définissant enfin les variables bivalentes n,,j,x j 1 , comme
suit :
sinon, 0
requête, la à appartient (clé) si 1 j
jx
on obtient :
,xNaDrDa,xNrDr,NaDan
jjjj
n
j j
1j
n
1j1
Avec ces notations, le critère à minimiser VR( ) s’écrit :
n
j jj
n
j j
n
j jjj
n
j j
xNrNa)(
x)NaNr(Na)()(VR
11
11
1
1
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 30
et ainsi le problème d’optimisation de requêtes a la forme générale d’un programme
hyperbolique sans contraintes en variables 0–1 :
njx
xq
xp
j
n
j jj
n
j jj
,,1 , 1,0 s.c.
min
1
1
Une limitation Nr sur le nombre global de documents à récupérer nécessiterait l’introduction
d’une contrainte de type sac à dos :
.NrxNrn
j jj
1
2.4.1.2 GENERATION DE COLONNES
Dans le but d’étendre la programmation linéaire généralisée au cas des programmes mixtes de
grandes tailles, Hansen et al. [76] ont proposé des procédures arborescentes utilisant l’algorithme
dual du Simplexe, et dans lesquelles la génération de colonnes est réalisée par résolution de
programmes fractionnaires en nombres entiers avec contraintes.
Soit donc la forme standard d’un programme linéaire mixte à m contraintes dont le nombre n de
variables est démesurément grand (par exemple la matrice de contraintes ne peut être connue
explicitement) :
EEj
j
n
j j
j
n
j jj
J;JJjx
n,,Jj,x
bxA
xc
entier,
1 0
s.c.
min
1
1
Dans une méthode classique de Branch -and- Bound, considérons la solution optimale x du
programme linéaire associé au problème courant, la matrice B de base, JB l’ensemble des indices
des variables en base et infsupN JJJ celui des indices des variables hors-base ( Jsup (resp.
Jinf ) est l’ensemble des indices des variables hors-base à leur borne supérieure (resp. inférieure)).
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 31
S’il existe EB JJi tel que ix N, ce problème courant est séparé en deux sous-
problèmes par ajout de la contrainte ii xx d’une part, et de la contrainte 1 ii xx d’autre
part.
Pour le sous-problème incluant par exemple la contrainte 1 ii xx , la détermination de la
variable kx entrant dans la base, consiste à déterminer une colonne kA telle que :
supinf ,0 /min ; ,0 /min min JjuAuA
cAJjuA
uA
cA
uA
cA j
j
j
j
j
j
j
j
k
k
k
où est le multiplicateur du simplexe (c’est-à-dire 1BcB ) et u est la ligne i de 1B (itération
courante de l’algorithme dual du simplexe).
Par exemple, considérons le problème de découpe unidimensionnelle qui consiste à minimiser
la chute. On suppose que les pièces à découper ont une longueur commune L, que les demandes
des clients correspondent à ib pièces de longueur m,,i,li 1 . Les colonnes de la matrice des
contraintes A représentent les n possibilités de découpes satisfaisantes. Plus précisément, pour
tout n,,j 1 et tout m,,i 1 , ija représente le nombre de découpes de longueur li. La
variable de décision jx représente le nombre d’utilisations du type de découpe représenté par
ija , et tous les coûts jc valent 1, n,,j 1 . Pour ce problème de découpe, il faut donc résoudre
deux programmes hyperboliques en variables entières dont le premier est du type :
)interdites (solutions / ,
0
s.c.
1 min
sup
m
1
1
1
1
JjAyy
yu
Lyl
yu
y
j
m
i ii
m
i ii
m
i ii
m
i ii
N
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 32
et dont la solution optimale *y permet de spécifier la colonne kA .
2.4.1.3 PARAMETRISATION D’UN PROGRAMME LINEAIRE
Considérons un programme linéaire mis sous forme standard :
n,,j,x
bxA
xc
)P(
j
n
j j
j
n
j jj
1 0
s.c.
min
1
1
Lorsqu’un seul coefficient pc de l’objectif, n,,p 1 , varie (les autres étant tous constants) la
valeur optimale de la fonction objectif de (P) est une fonction de pc concave linéaire par
morceaux. Etudier l’effet d’une variation du coefficient pc sur la valeur optimale )P(v de (P)
peut se ramener à un programme fractionnaire (cf.[60, 125]).
Par exemple, en supposant que )P(v est finie, une forme d’analyse de sensibilité peut être la
suivante :
quelle est la valeur maximale de pc telle que la valeur associée du problème ne dépasse pas
)P(v , avec 10, donné ?
En posant pp xcy et en supposant la valeur optimale de px non nulle (donc strictement
positive), la question se formule comme suit :
quelle est la valeur optimale de la fonction objectif du programme hyperbolique en variables
continues suivant ?
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 33
njxy
Pvyxc
bxA
x
y
P
j
pj jj
n
j j
j
p
,,1 ,0 ,0
)(
s.c.
max
)( 1
2.4.1.4 PROGRAMMATION STOCHASTIQUE
Considérons le programme linéaire :
,0
s.c.
max
x
bAx
cx
et supposons que les coefficients de la fonction objectif c sont non constants, indépendants et
varient suivant une loi de probabilité donnée. La programmation stochastique )(PS se propose de
maximiser la probabilité pour que la valeur de la fonction objectif soit supérieure à une valeur
donnée k, c’est-à-dire :
kxcbAxxPS k
)(,),0(: max )(
P
où la notation )(c signifie que c est une variable aléatoire définie sur un espace de probabilité
de mesure P.
Lorsque les coefficients jc , considérés comme des variables aléatoires, suivent une loi de Gauss
ayant m comme moyenne et V comme covariance, Bereanu [51] a montré que le programme
)PS( k est équivalent au programme déterministe suivant :
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 34
,0
s.c.
max
x
bAx
Vxx
kxm
t
t
qui est un programme fractionnaire linéaire-convexe en variables continues.
2.4.1.5 ECONOMIE
Le domaine de l’économie offre un large éventail d’applications. En effet, la mesure de
l’efficacité des systèmes étudiés s’exprime sous forme de rapports entre les critères techniques
et/ou économiques. Par exemple :
rendement/risque : Ziemba [127], Kallberg-Ziemba [86] (modèle concave) ;
– rendement/investissement : Heinen [80], Mjelde [96, 97] (modèle concave quadratique
avec contraintes linéaires) ;
coût/temps : Derman [61], Klein [87] (modèle linéaire) ;
productivité : Gutenberg [74] (modèle linéaire).
2.4.2 RESOLUTION DIRECTE
Cette section traite des méthodes qui résolvent le programme fractionnaire sous sa forme
originale, c’est-à-dire sans modifier ni l’objectif ni l’ensemble des contraintes. Cette approche
est utilisée pour résoudre les programmes hyperboliques tant qu’en variables continues qu’en
variables entières (en particulier en 0–1).
Le premier paragraphe est consacré au programme hyperbolique continu et le programme
hyperbolique discret est présenté dans le second paragraphe.
2.4.2.1 PROGRAMME HYPERBOLIQUE CONTINU
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 35
Plusieurs approches furent élaborées [53,59,62,66,71] pour la recherche d’une solution
optimale d’un programme hyperbolique en variables continues. Parmi les plus récentes, celle de
A. Cambini et al. [56] qui permet aussi d’optimiser le problème hyperbolique sur un domaine de
solutions réalisables S non borné. Les grandes lignes de cette méthode sont présentées ci-
dessous :
On considère donc le programme hyperbolique continu (P) :
0
s.c.
. maximiser
)(
x
bAx
qx
xp
P
où et sont des réels, p et q sont des vecteurs de Rn , A est une matrice réelle de format
nm et b est un vecteur de Rm . Désignons par S l’ensemble 0 , : xbAxx n
R .
Théorème 2.4.2.1 [90]
Le point 0x de S est une solution optimale du problème (P) si et seulement si le vecteur gradient
réduit qp est tel que 0j
pour tout indice hors base kNj .
Preuve : voir [90] .
L’algorithme génère une séquence finie l,,i,xi 1 de solutions niveau optimales dont la
première est trouvée de la façon suivante :
Résoudre le problème linéaire1 )(m i n:0
qxP
Sx et considérant ox comme une solution
optimale. Si ox est unique, alors elle est aussi une solution niveau2 optimale, sinon résoudre le
problème linéaire (P1) :
Sx
qxqx
px
P
s.c.
)(maximiser
)( 0
1
1 Notons que 0P possède une solution optimale puisque sa fonction objectif est bornée
2 Voir [56]
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 36
Si 1P n’a pas de solutions, alors la valeur de la fonction objectif est infinie; sinon une solution
optimale 1x de 1P est aussi une solution niveau optimale.
Algorithme
Etape 1 : Trouver la solution optimale niveau 1x .
Si une telle solution n'existe pas, alors
)(sup xZSx
. Terminer.
Sinon, poser 1k et aller à l'étape 2.
Etape 2 : Si 0/j
qjJ , terminer. ix est une solution optimale du problème (P).
Sinon, soit k tel que )/(maxjj
Jjk
k qpq
p
si 0k
, aller à l'étape 3
si 0k , terminer. ix est une solution optimale de (P).
Etape 3 : La variable hors base kNx entre dans la base en moyennant une opération pivot. Si
une telle opération est possible, Poser 1 : ii et aller à l'étape 2.
Si une telle opération n'est pas possible. Terminer : k
k
q
pxZ
Sx
)(sup .
2.4.2.2 PROBLEME HYPERBOLIQUE EN VARIABLES ENTIERES
De nombreux auteurs ont résolu le problème de la programmation fractionnaire linéaire en
nombres entiers par la méthode directe en utilisant différents algorithmes tels par exemple les
techniques de séparation et évaluation progressive [42,45,57,100] et les variantes des coupes de
Gomory, comme celle de D. Granot et al. [70] que nous présenterons dans ce qui suit :
Considérons le problème de la programmation fractionnaire linéaire en nombres entiers
suivant (P) :
entier
,0
s.c.
. maximiser
)(
x
x
bAx
qx
xp
P
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 37
Dans la méthode de Granot, on rajoute aux m premières lignes de la matrice des contraintes
A, les trois lignes (m+1), (m+2) et (m+3) relatives respectivement aux vecteurs numérateur p,
dénominateur q et aux valeurs du gradient réduit j
de la fonction objectif où
njqp jjj,,1 ,
A chaque itération de l’algorithme, les (m+2) lignes sont modifiées à travers les opérations
ordinaires de pivot, par contre la dernière ligne est modifiée selon la formule du gradient réduit
citée ci-dessus.
Une fois les valeurs du gradient réduit pour les variables hors base calculées, on teste :
Si ,0j
pour tout indice hors base j , alors la solution )0,( 0 NB x ax est une solution
optimale du problème (P) où B est l’ensemble des indices de base et N est celui des indices
hors base.
Sinon, il existe un indice NIkk , , pour lequel 0k
. Soit 0 ;/min 0 ikikik aaa .
Alors toute ligne v, pour laquelle kvkv aa /0 , peut servir comme une ligne source pour
générer une coupe de Gomory de la forme :
0 , / / 0
saaxaas vkv
Ij
jvkvj
N
.
Cette coupe peut être rajoutée au problème initial et servir comme ligne pivot, avec la kième
colonne comme une colonne pivot. Puisque la valeur du pivot dans ce cas est 1
vk
vk
a
a, les
nouveaux coefficients obtenus après l'opération de pivot usuelle sont tous entiers.
2.4.3 RESOLUTION PAR PARAMETRISATION
Afin de simplifier l’objectif du programme mathématique, un paramètre est introduit
permettant par exemple de ramener un programme hyperbolique en un programme (paramétré)
linéaire, ou bien un programme fractionnaire quadratique en un programme (paramétré)
quadratique, tout en gardant l’ensemble des contraintes inchangé. Ainsi le programme obtenu
peut être résolu « paramétriquement » : une séquence de résolutions de tels programmes à
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 38
objectif simplifié engendre une suite de solutions convergeant vers une solution optimale du
programme fractionnaire initial.
Proposée initialement en 1956 par Isbell et Marlow [83] pour des programmes hyperboliques,
ce n’est qu’à partir de 1967 que cette approche a connu un grand élan avec Dinkelbach [62] qui
l’a généralisée aux programmes fractionnaires non linéaires.
Un rappel du programme paramétré et de ses principales propriétés est suivi des différents
algorithmes construits autour de cette approche.
Afin d’assurer la convergence de la procédure, l’hypothèse de compacité du domaine défini
par les contraintes est adoptée tout au long de cette section.
Soit le programme fractionnaire
0
0)( s.c.
)(
)( maximiser
)(
x
xg
xh
xf
P
Le programme paramétré associé consiste à simplifier l’objectif en combinant linéairement le
numérateur et le dénominateur par l’intermédiaire d’un paramètre R. Il est donc défini
comme suit
0
0)( s.c.
)()( maximiser
))((
x
xg
xhxf
Q
pour tout R.
Dans le cas d’un programme hyperbolique :
0
s.c.
maximiser
x
bAx
qx
px
le programme paramétré est un programme linéaire dont l’objectif est fonction de R :
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 39
0
s.c.
)()( maximiser
x
bAx
xqp
En notant * la valeur optimale de (P), le résultat fondamental liant le programme fractionnaire
au programme paramétré associé est donné par :
Proposition 2.4.3.1 : (Dinkelbach [62])
Toute solution optimale de )( *Q est une solution optimale de (P).
En tant que fonction de la variable , la valeur optimale )(v du programme paramétré vérifie
quelques propriétés [62] que nous résumons ci-après :
Proposition 2.4.3.2 :
La fonction )( v est continue, strictement décroissante, convexe.
0)0( v et )(v tend vers quand tend vers . Si de plus f et h sont affines, alors v
est linéaire par morceaux.
En particulier, l’équation 0)( v admet une solution unique * , plus précisément :
Proposition 2.4.3.3 :
(a) *0)( v
(b) *0)( v
(c) *0)( v
Ainsi la résolution de (P) revient à trouver la racine de l’équation non linéaire à une seule
variable : 0)( v .
Un catalogue des algorithmes est donné dans la littérature. Il inclut des algorithmes de résolution
itératifs (Newton [62,83], interpolation linéaire [113]) et dichotomiques (recherche
dichotomique, recherche dichotomique modifiée et interpolation convexe dans [81]) ainsi qu’un
algorithme approchant [93].
Méthode de type primal
En notant que la connaissance d’une solution réalisable x de )(Q vérifiant
0)()( xhxf suffit à conclure que * , plusieurs auteurs ont privilégié l’utilisation
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 40
d’heuristiques constructives. Ce principe peut être illustré comme suit : tout algorithme itératif
engendrant une suite de solutions peut être interrompu dès qu’une solution x vérifie
0)()( xhxf , sinon la résolution de )(Q doit être exacte. En notant dans cette dernière
alternative x une solution optimale de )(Q , le processus est itéré en donnant à la valeur
)()( xhxf dans le premier cas ou la valeur )()( xhxf dans le second cas.
Dans le cas d’un programme linéaire, Martos [90,91] exploite cette propriété en combinant la
méthode de Newton et l’algorithme primal du Simplexe.
Cette approche a été étendue au cas des programmes fractionnaires en nombres entiers par
Granot et al. [70], Ishii et al. [84] et Seshan et al. [117] dont une présentation brève de la
méthode est donnée ci-après.
.
Algorithme [117]
Etape 1
Soit 0x une solution réalisable de )(P . Poser 0i .
Etape 2
Poser β)(qx
α)(pxλ
i
i
i
1 . Résoudre le problème linéaire en nombres entiers )( 1iQ .
Si ix est une solution optimale de )( 1iQ , alors ix est une solution optimale de )(P .
Sinon, soit 1ix une solution optimale de )( 1iQ . Poser 1 : ii et répéter l'étape 2.
2.4.4 RESOLUTION D’UN PROBLEME EQUIVALENT A OBJECTIF NON
FRACTIONNAIRE
La transformation du programme fractionnaire en un programme équivalent à objectif non
fractionnaire est obtenu par un changement de variables. A l’inverse de l’approche paramétrée,
ce changement de variables induit l’ajout d’une contrainte et d’une variable. Plus précisément,
cette transformation, proposée par Charnes et Cooper [59] pour le programme hyperbolique en
variables continues
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 41
0
s.c.
maximiser
)(
x
bAx
qx
px
P
s’effectue en introduisant deux nouvelles variables
xqx
y
1 et
qxt
1
pour aboutir à un programme linéaire équivalent :
0,
1
0 s.c.
max
)(
ty
tqy
btAy
tpy
PE
Cette notion d’équivalence est précisée ci-dessous :
Proposition 2.4.4.1 (Charnes-Copper [59]) :
Si ),( ** ty est une solution optimale de (PE), alors 0* t et *
**
t
yx est une solution optimale
de (P).
En fait, s’il existe une solution réalisable x telle que 0
qx
px, la contrainte d’égalité
1 tqy peut être remplacée par la contrainte d’inégalité 1 tqy , plus simple à traiter
(Schaible [113]).
Cette transformation en un programme linéaire équivalent a pour but d’appliquer les algorithmes
standards tels que la méthode du Simplexe (Arsham et Khan [47] et Charnes et Cooper [59]).
Pour les programmes fractionnaires en variables entières, Granot et Granot [70] proposent une
méthode de génération de coupes (de type Gomory) appliquée au programme linéaire (PE).
D’autre part, dans le cas d’un programme hyperbolique à n variables bivalentes, Williams [125]
propose une transformation spécifique en un programme linéaire équivalent en variables mixtes
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 42
dont la taille croit de n+1 variables continues et de 3n contraintes. Ce nouveau programme est
résolu par un algorithme de type Branch -and- Bound.
Remarque 2.4.4.2 (Craven [60], Schaible et Ibaraki [115])
Cette transformation peut être plus généralement effectuée sur un programme fractionnaire
concave-convexe
0
0)( s.c.
)(
)(max
)(
x
xg
xh
xf
P
pour aboutir à un programme concave équivalent :
0,
1
0 s.c.
max
)(
ty
t
yht
t
yg
t
yft
PE
obtenu en posant
xxh
y
)(
1 et
)(
1
xht .
Remarque 2.4.4.3 : Dans le cas d’un programme hyperbolique en variables 0–1, cette
transformation induit des contraintes de type quadratique. Plus précisément, en notant que
1,0jx est équivalent à 0)1( jj xx , la contrainte 1,01
jyt
s’écrit sous la forme
équivalente 0)( tyy jj , soit 02 tyy jj qui est de type quadratique.
Exemple 2.4.4.4 Considérons le programme fractionnaire linéaire suivant :
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 43
0
2
2034
1052
9
5
21
21
21
21
21
2
, x x
xx
x x
xx s.c.
xx
x ZMaximiser
dont le graphe est représenté par la figure 2.4.4.1. Le changement de variable donne la
formulation suivante:
0
19
02
02034
01052
5
21
21
21
21
21
2
,t, y y
t yy
t yy
tyy
tyy s.c.
tyMaximiser
En utilisant la méthode du simplexe, on obtient 34
232
1 , yy et 31t . Cela donnera )4,2(1 x
comme solution optimale du programme fractionnaire linéaire.
p
3
1-Z
r
0Z
q
1x
2x
3x
2xX
2
1x
S
)0,5(
)2,0(
)4,2(
3
2
1
x
x
x
Figure 2.4.4.1 Graphe de l'exemple 2.4.4.4
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 44
2.4.5
2.4.6 PROBLEMES DUALS
On considère le programme fractionnaire
0
0)( s.c.
)(
)( maximiser
)(
x
xg
xh
xf
P
avec comme hypothèses classiques :
,)P(S
les fonctions hf , et g sont continues sur Rn
,0)(:0 xhx
0 )x(f:)P(Sx
La dualisation directe des contraintes de (P) peut engendrer un saut de dualité démesuré et même
une valeur infinie pour le dual comme le montre l’exemple de Schaible [113] :
11 ,0 1
max
xxx
alors que
)1(1
sup ,00
xux
ux
.
Afin de remédier à cet inconvénient, plusieurs approches sont suggérées [44, 50, 52, 60, 68, 113,
115, 124], celles basées sur le programme équivalent, ou sur le programme paramétré, ou bien
celles utilisant directement le programme d’origine après une réécriture fractionnaire des
contraintes.
2.4.5.1 DUAL UTILISANT LE PROBLEME EQUIVALENT
Schaible [113] propose une approche basée sur le programme équivalent (voir Sect. 2.4.4). On
sait que le programme fractionnaire concave-convexe (P) peut être transformé par un
changement de variables, en un programme concave équivalent (PE). Ainsi, le programme
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 45
fractionnaire équivalent au dual de ce dernier permet de définir un dual de (P). Afin d’illustrer
cette dernière notion, considérons le programme hyperbolique :
0
s.c.
maximiser
)(
x
bAx
qx
px
P
dont le programme équivalent
0,
1
0 s.c.
maximiser
)(
ty
tqy
btAy
tpy
PE
admet pour dual
0.
s.c.
minimiser
)(
r
rbs
prqsA
r
DETt
Ainsi, le programme fractionnaire équivalent à (DE) permet de définir un dual de (P) :
0,0
)()( s.c.
1 minimiser
)(
ry
prpqypbA
rby
r
D
2.4.5.2 DUAL UTILISANT LE PROBLEME PARAMETRE
La notion de programme paramétré (voir Sect. 4), permet également de définir une notion de
dualité. Bitran et Magnanti [52] l’ont utilisée pour étendre quelques résultats de la dualité
classique au cas des fonctions fractionnaires non-différentiables. Bector [50] retrouve ces
théorèmes par l’approche suivante.
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 46
2.4.5.3 DUALS LAGRANGIENS
Une réécriture fractionnaire des contraintes, proposée initialement par Gold’stein [68] et
étudiée ensuite par Bector [50] et Weir et Mond [124], permet d’envisager un modèle homogène
équivalent au modèle initial (invariance à la fois du domaine et de la valeur).
Relaxation Lagrangienne
Le dénominateur de l’objectif étant supposé strictement positif sur l’ensemble des variables x
non négatives, on peut envisager le programme équivalent suivant :
0
0)()(
1 s.c.
)(
)( maximiser
)1(
x
xgxh
xh
xf
P
dont le dual lagrangien est défini par :
)(
)()( max min
0mu xh
xugxf
xR
.
En supposant que toutes les fonctions sont différentiables et en considérant le cas où f est
concave, h linéaire et g convexe, Bector [50] prouve différents théorèmes de dualité qui restent
encore valides si h est convexe [113].
En somme, de nombreuses notions de dualités ont été proposées. La plupart de ces études sont
restées à un niveau théorique et n’ont pas connu de développements algorithmiques.
En utilisant la même transformation, Anass NAGIH propose dans [103] un schéma de
décomposition lagrangienne pour les programmes hyperboliques en variables 0–1 et des résultats
de dominance de cette dernière sur la relaxation lagrangienne. Il étends ainsi aux programmes
hyperboliques en variables 0–1, des résultats classiques obtenus dans le cas linéaire par Guignard
et Kim [73] et dans le cas quadratique convexe par Michelon et Maculan [95].
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 47
Considérons le problème hyperbolique en variables 0–1 suivant :
.1,0
s.c.
maximiser
)(
nx
bAx
qx
px
P
Le problème dual obtenu en dualisant les contraintes bAx sous forme fractionnaire est donné
par :
qx
xuApubDR
nx
)()( max min )(
1,0mu R
Décomposition lagrangienne
L’introduction d’une variable de copie permet de découpler l’objectif fractionnaire des
contraintes. Plus précisément, on considère le problème (P) dans lequel est introduite une
contrainte de copie xy :
. ,0
s.c.
max
)'(
nYyx
bAx
xy
qx
px
P
R
équivalent au problème (P) d’origine. Y peut par exemple être égal à )( n
oC R , enveloppe
convexe de n
R , ou tout simplement n
R .
La contrainte xy est dualisée sous la forme fractionnaire
qx
x
qx
y.
Le problème dual associé est du type :
, , )(
max min )(,n
nxYybAyqx
wyxwpDD
yxwR
R
.
Chapitre 2 La Programmation Fractionnaire Linéaire Unicritère
Optimisation Multicritère Fractionnaire Linéaire en Nombres Entiers 48
En nommant )( wK le programme linéaire
.
s.c
ymax
Yy
bAy
w
on obtient une réécriture du problème dual sous la forme
)()(
max min )(0n
qx
KwvxwpDD
xw R
.
Il faut noter que, contrairement à la décomposition lagrangienne classique, pour nw R donné,
le calcul de la valeur de la fonction duale nécessite la résolution successive de deux programmes
non indépendants : d’abord un programme linéaire à contraintes d’inégalité qui fournit un
ajustement de la constante du numérateur de l’objectif fractionnaire, puis un programme
hyperbolique sans contraintes en variables 0–1.
De plus rappelons que la résolution d’un programme hyperbolique sans contraintes en
variables 0–1 est de complexité temporelle linéaire [77, 107].
Naturellement, les valeurs )(DRv et )(DDv des deux duals fournissent des majorants de la
valeur )(Pv du problème primal, et on rappelle que )(DDv a été prouvée de qualité meilleure
que )(DRv [52].
2.5 CONCLUSION
Ce tour d’horizon montre toute la richesse et la variété des travaux consacrés aux programmes
fractionnaires, en particulier ceux de Anass NAGIH [101, 102, 104] qu’ils soient linéaires, non
linéaires, en variables continues ou en nombres entiers.
De nombreuses applications, économiques ou algorithmiques dont certaines sont décrites ici, ont
été à la source des motivations de nombreuses recherches.
Ce catalogue nous a incité à apporter notre contribution à la résolution des programmes
fractionnaires linéaires en présence de variables entières et variables mixtes [42, 43] qui sera
exposée en détails dans le chapitre suivant.