Chapitre 2.pdf

27
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).

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.