You are on page 1of 10

La programmation lineaire : une introduction

Quest-ce quun programme lineaire ?


Exemples :
allocation de ressources
probl`eme de recouvrement
Hypoth`eses de la programmation lineaire
Interet pratique de la programmation lineaire ?
Interpretation geometrique et resolution graphique
Resultat dune optimisation lineaire
ROSO-EPFL Recherche operationnelle SC 1
Quest-ce quun programme lineaire ?
Un programme lineaire (PL) est un probl`eme doptimisation consistant `a
maximiser (ou minimiser) une fonction objectif lineaire de n variables de
decision soumises `a un ensemble de contraintes exprimees sous forme
dequations ou dinequations lineaires.
`
A lorigine, le terme programme a le sens de planication operationnelle
mais il est aujourdhui employe comme synonyme de probl`eme
(doptimisation).
La terminologie est due `a G. B. Dantzig, inventeur de lalgorithme du
simplexe (1947).
ROSO-EPFL Recherche operationnelle SC 2

Ecriture mathematique
Max (Min) z =
n

j=1
c
j
x
j
s.c.
n

j=1
a
ij
x
j
b
i
i I {1, . . . , m}
n

j=1
a
kj
x
j
b
k
k K {1, . . . , m}
n

j=1
a
rj
x
j
= b
r
r R {1, . . . , m}
Les ensembles I, K, et R sont disjoints et I K R = {1, . . . , m}.
Labreviation s.c. signie sous les contraintes.
ROSO-EPFL Recherche operationnelle SC 3
Terminologie
Les variables x
1
, . . . , x
n
sont appelees variables de decision du
probl`eme.
La fonction lineaire `a optimiser est appelee fonction objectif (ou parfois
fonction objet).
Les contraintes prennent la forme dequations et dinequations lineaires.
Les contraintes de la forme
l
j
x
j
u
j
l
j
, u
j
R {}
sont appelees des contraintes de bornes. Elles se resument souvent
`a des contraintes de non-negativite x
i
0. Elles sont generalement
traitees de mani`ere speciale par les algorithmes de resolution.
ROSO-EPFL Recherche operationnelle SC 4
Exemple : probl`eme dallocation de ressources
Une entreprise produit des cables de cuivre de 5 et 10 mm de diam`etre sur
une seule ligne de production imposant les contraintes suivantes.
Le cuivre disponible permet de produire 21 000 m`etres de cable de 5 mm
de diam`etre par semaine.
Un m`etre de cable de 10 mm de diam`etre necessite 4 fois plus de cuivre
quun m`etre de cable de 5 mm de diam`etre.
De plus, ayant une bonne connaissance de la demande, la production
hebdomadaire de cable de 5 mm est limitee `a 15 000 m`etres et la production
de cable de 10 mm ne doit pas depasser les 40% de la production totale.
Les cables sont vendus respectivement 50 frs et 200 frs le m`etre.
ROSO-EPFL Recherche operationnelle SC 5
Que doit produire lentreprise an de maximiser
son chire daaires hebdomadaire ?
Denissons deux variables de decision
x
1
: le nombre de milliers de m`etres de cable de 5 mm de diam`etre
produits chaque semaine,
x
2
: le nombre de milliers de m`etres de cable de 10 mm de diam`etre
produits chaque semaine.
Le chire daaires associe `a une production (x
1
, x
2
) est
z = 50 000x
1
+ 200 000x
2
.
ROSO-EPFL Recherche operationnelle SC 6
Il ne faut pas depasser les capacites de production
x
1
+ 4x
2
21
et satisfaire les contraintes de demande
x
2

4
10
(x
1
+ x
2
)
x
1
15
Finalement on ne peut pas produire des quantites negatives
x
1
0, x
2
0.
ROSO-EPFL Recherche operationnelle SC 7
Probl`eme dallocation de ressources : mod`ele
Pour maximiser le chire daaires de la vente, il faut determiner les valeurs
x
1
et x
2
solution du programme lineaire
Max z = 50 000x
1
+ 200 000x
2
s.c. x
1
+ 4x
2
21
4x
1
+ 6x
2
0
x
1
15
x
1
, x
2
0
ROSO-EPFL Recherche operationnelle SC 8
Exemple : probl`eme de recouvrement
Donnees : Les demandes journali`eres en chaueurs dans une entreprise de
transport
Lu Ma Me Je Ve Sa Di
13 18 21 16 12 25 9
Les chaueurs travaillent cinq jours dalee (et peuvent donc avoir leurs
deux jours adjacents de conge nimporte quand dans la semaine).
Objectifs : Determiner les eectifs formant les sept equipes possibles de
chaueurs de mani`ere `a
couvrir tous les besoins,
engager un nombre minimum de chaueurs.
ROSO-EPFL Recherche operationnelle SC 9
Probl`eme de recouvrement : modelisation
Variables de decision : On associe une variable de decision `a chacune des
sept equipes possibles
x
1
: nombre de chaueurs dans lequipe du lundi (repos le samedi et le
dimanche),
x
2
: nombre de chaueurs dans lequipe du mardi,
...
x
7
: nombre de chaueurs dans lequipe du dimanche.
Fonction objectif : On veut minimiser le nombre total de chaueurs engages
z = x
1
+ . . . + x
7
ROSO-EPFL Recherche operationnelle SC 10
Contraintes : Le nombre de chaueurs presents chaque jour doit etre
susant
x
1
+ x
4
+ x
5
+ x
6
+ x
7
13 (lundi)
x
1
+ x
2
+ x
5
+ x
6
+ x
7
18 (mardi)
...
x
3
+ x
4
+ x
5
+ x
6
+ x
7
9 (dimanche)
Contraintes de bornes : Le nombre de chaueurs dans chaque equipe doit
non seulement etre non negatif mais egalement entier !
x
i
0 et entier, i = 1, . . . , 7.
ROSO-EPFL Recherche operationnelle SC 11
Probl`eme de recouvrement : formulation
Min z = x
1
+ x
2
+ x
3
+ x
4
+ x
5
+ x
6
+ x
7
s.c. x
1
+ x
4
+ x
5
+ x
6
+ x
7
13
x
1
+ x
2
+ x
5
+ x
6
+ x
7
18
x
1
+ x
2
+ x
3
+ x
6
+ x
7
21
x
1
+ x
2
+ x
3
+ x
4
+ x
7
16
x
1
+ x
2
+ x
3
+ x
4
+ x
5
12
x
2
+ x
3
+ x
4
+ x
5
+ x
6
25
x
3
+ x
4
+ x
5
+ x
6
+ x
7
9
x
1
, x
2
, x
3
, x
4
, x
5
, x
6
, x
7
0 entiers
Ce probl`eme nest pas un PL mais un programme lineaire en nombres
entiers (PLNE) !
ROSO-EPFL Recherche operationnelle SC 12
Les hypoth`eses de la programmation lineaire
1. La linearite des contraintes et de la fonction objectif.
Ladditivite des eets.
La proportionnalite des gains/co uts et des consommations de ressources.
2. La divisibilite des variables.
3. La determination des donnees.
Lors de la modelisation dun probl`eme reel, limpact de ces hypoth`eses sur
la validite du mod`ele mathematique doit etre etudie. Cette analyse peut
mener `a choisir un mod`ele dierent (non lineaire, stochastique, ...) et est
essentielle pour la phase dinterpretation des resultats fournis par le mod`ele.
ROSO-EPFL Recherche operationnelle SC 13
Interet pratique de la programmation lineaire
1. Malgre les hypoth`eses sous-jacentes assez restrictives, de nombreux
probl`emes peuvent etre modelises par des programmes lineaires. Ces
probl`emes apparaissent dans des domaines aussi varies que
la gestion de production,
leconomie,
la distributique,
les telecommunications,
...
2. Il existe des algorithmes generaux (et des codes les mettant en uvre)
permettant de resoudre ecacement des programmes lineaires (meme
lorsque le nombre de variables et de contraintes est important).
ROSO-EPFL Recherche operationnelle SC 14
Interpretation geometrique
Lensemble des solutions dune inequation (lineaire) correspond `a un
demi-espace dans R
n
(un demi-plan dans R
2
).
Lensemble des solutions dune equation (lineaire) correspond `a un hy-
perplan dans R
n
(une droite dans R
2
).
Lensemble des solutions dun syst`eme dequations et dinequations
(lineaires) correspond `a lintersection des demi-espaces et des hyper-
plans associes `a chaque element du syst`eme.
Cette intersection, appelee domaine admissible, est convexe et denit
un poly`edre dans R
n
(une region polygonale dans R
2
).
ROSO-EPFL Recherche operationnelle SC 15
Terminologie
Une solution est une aectation de valeurs aux variables du probl`eme.
Une solution est admissible si elle satisfait toutes les contraintes du
probl`eme (y compris les contraintes de bornes).
La valeur dune solution est la valeur de la fonction objectif en cette
solution.
Le domaine admissible D dun PL est lensemble des solutions admis-
sibles du probl`eme.
La solution optimale dun PL (si elle existe) est formee des valeurs
optimales des variables du probl`eme et de la valeur associee de la fonction
objectif.
ROSO-EPFL Recherche operationnelle SC 16
Resolution graphique dans le plan
Les lignes de niveau de la fonction objectif sont des droites parall`eles
dans R
2
.
Il existe des solutions admissibles de valeur z si la ligne de niveau associee
`a cette valeur intersecte le domaine admissible D du probl`eme.
Pour determiner la valeur maximale atteignable par une solution admis-
sible, il sut de faire glisser le plus loin possible une ligne de niveau de
la fonction objectif, dans le sens du gradient, jusqu`a ce quelle touche
encore tout juste D.
Les points de contact ainsi obtenus correspondent aux solutions optimales
du PL.
ROSO-EPFL Recherche operationnelle SC 17
Resultat dune optimisation lineaire
Le domaine admissible dun PL peut etre
vide. Dans un tel cas le probl`eme est sans solution admissible (et ne
poss`ede evidemment pas de solution optimale).
borne (et non vide). Le probl`eme poss`ede toujours au moins une solution
optimale, quelle que soit la fonction objectif.
non borne Dans ce cas, selon la fonction objectif choisie,
le probl`eme peut posseder des solutions optimales ;
il peut exister des solutions admissibles de valeur arbitrairement grande
(ou petite). Dans un tel cas le PL nadmet pas de solution optimale
nie et est dit non borne.
ROSO-EPFL Recherche operationnelle SC 18
Objectifs
Connatre les dierents elements dun PL : variables de decision, decart,
fonction objectif, contraintes, contraintes de bornes.


Etre capable de modeliser de petits probl`emes : identier les variables
du probl`eme, ecrire la fonction objectif et les contraintes, discuter les
hypoth`eses de la PL.


Etre capable de resoudre graphiquement un PL `a 2 variables de decision :
determiner le domaine admissible et les lignes de niveau de la fonction
objectif, identier la solution optimale.
ROSO-EPFL Recherche operationnelle SC 19
Les dierentes formes dun programme lineaire
Formes canonique et standard
Notations matricielles
Pourquoi des formes particuli`eres ?


Equivalence des formulations canonique et standard
R`egles de transformation particuli`eres
Exemple : approximation de Chebychev
ROSO-EPFL Recherche operationnelle SC 20
Forme generale dun programme lineaire
Opt z =

n
j=1
c
j
x
j
s.c.

n
j=1
a
ij
x
j
b
i
i I {1, . . . , m}

n
j=1
a
kj
x
j
b
k
k K {1, . . . , m}

n
j=1
a
rj
x
j
= b
r
r R {1, . . . , m}
l
j
x
j
u
j
j = 1, . . . , n
Opt = Max ou Min,
I, K et R disjoints et I K R = {1, . . . , m},
l
j
= et u
j
= + possibles.
ROSO-EPFL Recherche operationnelle SC 21
Forme canonique dun programme lineaire
Max z =
n

j=1
c
j
x
j
s.c.
n

j=1
a
ij
x
j
b
i
i = 1, . . . , m
x
j
0 j = 1, . . . , n
Probl`eme de maximisation
Toutes les contraintes sont du type
Toutes les variables sont non negatives
ROSO-EPFL Recherche operationnelle SC 22
Forme standard dun programme lineaire
Max z =
n

j=1
c
j
x
j
s.c.
n

j=1
a
ij
x
j
= b
i
i = 1, . . . , m
x
j
0 j = 1, . . . , n
Probl`eme de maximisation
Toutes les contraintes sont des equations
Toutes les variables sont non negatives
ROSO-EPFL Recherche operationnelle SC 23
Forme canonique forme standard
On passe de la forme canonique `a la forme standard en ajoutant dans
chaque contrainte i une variable decart x
n+i
.
n

j=1
a
ij
x
j
b
j

n

j=1
a
ij
+ x
n+i
= b
i
Max z =
n

j=1
c
j
x
j
+
m

i=1
0x
n+i
s.c.
n

j=1
a
ij
x
j
+ x
n+i
= b
i
i = 1, . . . , m
x
j
0 j = 1, . . . , n + m
ROSO-EPFL Recherche operationnelle SC 24
Pourquoi des formes particuli`eres ?
Verier les prerequis des methodes de resolution.
Simplier la presentation des algorithmes.
Cependant...
Les denitions des formes canonique et standard varient parfois dun
auteur `a lautre !
Dans ce cours, la forme de reference sera la forme canonique presentee
ci-dessus, dont les variables seront appelees les variables de decision du
probl`eme et la forme standard sera toujours obtenue par lajout de variables
decart au probl`eme canonique.
ROSO-EPFL Recherche operationnelle SC 25
Notation matricielle : forme canonique
Max z = cx
s.c. Ax b
x 0
_

_
Max z = c
D
x
D
s.c. Ax
D
b
x
D
0
_

_
o` u
c = c
D
= (c
1
. . . c
n
) , x = x
D
=
_
_
_
x
1
.
.
.
x
n
_
_
_,
A =
_
_
_
a
11
. . . a
1n
.
.
.
.
.
.
a
m1
. . . a
mn
_
_
_ et b =
_
_
_
b
1
.
.
.
b
m
_
_
_.
ROSO-EPFL Recherche operationnelle SC 26
Notation matricielle : forme standard
Max z = cx
s.c. [A | I] x = b
x 0
_

_
Max z = c
D
x
D
+ 0x
E
s.c. Ax
D
+ Ix
E
= b
x
D
, x
E
0
_

_
o` u
c = (c
D
| c
E
) = (c
D
| 0) = (c
1
. . . c
n
| 0 . . . 0)
x =
_
_
_
x
D

x
E
_
_
_ =
_
_
_
_
_
_
_
_
_
_
x
1
.
.
.
x
n

x
n+1
.
.
.
x
n+m
_
_
_
_
_
_
_
_
_
_
A =
_
_
_
a
11
. . . a
1n
.
.
.
.
.
.
a
m1
. . . a
mn
_
_
_ b =
_
_
_
b
1
.
.
.
b
m
_
_
_
ROSO-EPFL Recherche operationnelle SC 27
Notation matricielle : exemple
Pour le probl`eme dallocation de ressources
Max z = 50 000x
1
+ 200 000x
2
s.c. x
1
+ 4x
2
21
4x
1
+ 6x
2
0
x
1
15
x
1
, x
2
0
on a
c =
_
50 000 200 000
_
, x =
_
x
1
x
2
_
,
A =
_
_
_
1 4
4 6
1 0
_
_
_ et b =
_
_
_
21
0
15
_
_
_.
ROSO-EPFL Recherche operationnelle SC 28
Remarques sur les notations
Les symboles en gras (A, x, 0, . . .) sont reserves pour les matrices (ma-
juscules) et les vecteurs (minuscules).
Les vecteurs doivent etre interpretes comme des vecteurs-colonnes ou des
vecteurs-lignes selon le contexte (pas ou peu de signes transposes).
Ax : x vecteur-colonne yA : y vecteur-ligne
xy : produit scalaire
Les inegalites entre vecteurs (matrices) doivent etre comprises composantes
par composantes :
x 0 x
1
0, . . . , x
n
0
Mais x 0 i t.q. x
i
< 0.
ROSO-EPFL Recherche operationnelle SC 29

Equivalence des formulations canonique et standard


Theor`eme 1. Au prix eventuel de lajout de contraintes et/ou de variables,
tout PL peut etre transforme en un PL sous forme canonique equivalent.
Theor`eme 2. Au prix eventuel de lajout de contraintes et/ou de variables,
tout PL peut etre transforme en un PL sous forme standard equivalent.
Par programme equivalent, on entend :
toute solution admissible (optimale) du probl`eme equivalent correspond `a
une solution admissible (optimale) du probl`eme initial ;
toute solution admissible (optimale) du probl`eme initial correspond `a au
moins une solution admissible (optimale) du probl`eme equivalent ;
lissue de loptimisation des deux probl`emes est la meme (sans solution
admissible, optimum ni, probl`eme non borne).
ROSO-EPFL Recherche operationnelle SC 30
R`egles de transformation
Minimisation maximisation : minf(x) = max (f(x))
Pour minimiser z = cx, il sut de maximiser w = cx = (c)x et de
multiplier la valeur optimale de w par 1 pour obtenir celle de z.
Inequation inequation :
ax b (a)x b


Equation inequation :
ax = b
_
ax b
ax b

_
ax b
(a)x b
ROSO-EPFL Recherche operationnelle SC 31
R`egles de transformation (suite)
Inequation equation : On ajoute une variable decart (de surplus)
ax b ax + s = b, s 0
ax b ax s = b, s 0
Variable libre (reelle) variable non negative : Tout nombre reel peut
etre ecrit comme la dierence de deux nombres non negatifs.
x R
_
x = x
+
x

x
+
, x

0
Variable bornee inferieurement :
x b
_
x = x

+ b
x

0
ROSO-EPFL Recherche operationnelle SC 32
Exemple de mise sous forme canonique
Min z = 3x
1
+ 4x
2
s.c. x
1
+ x
2
= 6
x
1
2x
2
4
x
1
R
x
2
0
PL initial
Modications
Min z = 3x
1
+ 4x
2
Max w = 3x
1
4x
2
x
1
+ x
2
= 6
_
x
1
+ x
2
6
x
1
x
2
6
x
1
2x
2
4 x
1
+ 2x
2
4
x
1
R
_
x
1
= x
+
1
x

1
x
+
1
, x

1
0
ROSO-EPFL Recherche operationnelle SC 33
PL initial
Min z = 3x
1
+ 4x
2
s.c. x
1
+ x
2
= 6
x
1
2x
2
4
x
1
R
x
2
0
PL canonique equivalent
Max w = 3x
+
1
3x

1
4x
2
s.c. x
+
1
x

1
+ x
2
6
x
+
1
+ x

1
x
2
6
x
+
1
+ x

1
+ 2x
2
4
x
+
1
, x

1
, x
2
0
Ne pas oublier que z
opt
= w
opt
! !
ROSO-EPFL Recherche operationnelle SC 34
R`egles de transformation particuli`eres
Probl`eme Min-Max ou Max-Min :
Min z = max{c
1
x, . . . , c
k
x}
Min z = t
s.c. t c
1
x
. . .
t c
k
x
t R
Valeurs absolues : |x| b
_
x b
x b
|x| b
Non convexe Convexe
|x| b
N
o
n
l
i
n
e
a
i
r
e
ROSO-EPFL Recherche operationnelle SC 35
Exemple : approximation de Chebychev
Donnees : m mesures
(x
i
, y
i
) R
n+1
, i = 1, . . . , m
Objectif : Determiner une approxi-
mation lineaire y = ax + b mi-
nimisant la plus grande erreur
destimation.
y
x
yi
xi
y = ax + b
|yi axi b|
Formulation :
Min z = max
i=1,...,m
_
|y
i
ax
i
b|
_
Les variables de decision de ce probl`eme sont a R
n
et b R!
ROSO-EPFL Recherche operationnelle SC 36
On peut recrire le probl`eme comme
Min z = max
i=1,...,m
_

i
_
s.c.
i
= |y
i
ax
i
b| i = 1, . . . , m
puis
Min z = t
s.c. t |y
i
ax
i
b| i = 1, . . . , m
pour nalement obtenir une formulation lineaire
Min z = t
s.c. t y
i
ax
i
b i = 1, . . . , m
t y
i
+ax
i
+ b i = 1, . . . , m
avec a R
n
, b R et t 0.
ROSO-EPFL Recherche operationnelle SC 37
Objectifs
Connatre les denitions des formes canonique et standard dun PL.
Matriser les r`egles de transformations permettant de passer dune formu-
lation `a une autre equivalente.
Pourvoir transformer une formulation non lineaire dun probl`eme doptimi-
sation en un programme lineaire (lorsque cest possible evidemment).
ROSO-EPFL Recherche operationnelle SC 38

You might also like