La programmation lin´eaire : une introduction

• Qu’est-ce qu’un programme lin´eaire ?
• Exemples :
allocation de ressources
probl`eme de recouvrement
• Hypoth`eses de la programmation lin´eaire
• Int´erˆet pratique de la programmation lin´eaire ?
• Interpr´etation g´eom´etrique et r´esolution graphique
• R´esultat d’une optimisation lin´eaire
ROSO-EPFL Recherche op´erationnelle SC 1
Qu’est-ce qu’un programme lin´eaire ?
Un programme lin´eaire (PL) est un probl`eme d’optimisation consistant `a
maximiser (ou minimiser) une fonction objectif lin´eaire de n variables de
d´ecision soumises `a un ensemble de contraintes exprim´ees sous forme
d’´equations ou d’in´equations lin´eaires.
`
A l’origine, le terme programme a le sens de planification op´erationnelle
mais il est aujourd’hui employ´e comme synonyme de probl`eme
(d’optimisation).
La terminologie est due `a G. B. Dantzig, inventeur de l’algorithme du
simplexe (1947).
ROSO-EPFL Recherche op´erationnelle SC 2
´
Ecriture math´ematique
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}.
L’abr´eviation s.c. signifie «sous les contraintes».
ROSO-EPFL Recherche op´erationnelle SC 3
Terminologie
• Les variables x
1
, . . . , x
n
sont appel´ees variables de d´ecision du
probl`eme.
• La fonction lin´eaire `a optimiser est appel´ee fonction objectif (ou parfois
fonction objet).
• Les contraintes prennent la forme d’´equations et d’in´equations lin´eaires.
• Les contraintes de la forme
l
j
≤ x
j
≤ u
j
l
j
, u
j
∈ R ∪ {±∞}
sont appel´ees des contraintes de bornes. Elles se r´esument souvent
`a des contraintes de non-n´egativit´e x
i
≥ 0. Elles sont g´en´eralement
trait´ees de mani`ere sp´eciale par les algorithmes de r´esolution.
ROSO-EPFL Recherche op´erationnelle SC 4
Exemple : probl`eme d’allocation de ressources
Une entreprise produit des cˆables 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 cˆable de 5 mm
de diam`etre par semaine.
• Un m`etre de cˆable de 10 mm de diam`etre n´ecessite 4 fois plus de cuivre
qu’un m`etre de cˆable de 5 mm de diam`etre.
De plus, ayant une bonne connaissance de la demande, la production
hebdomadaire de cˆable de 5 mm est limit´ee `a 15 000 m`etres et la production
de cˆable de 10 mm ne doit pas d´epasser les 40% de la production totale.
Les cˆables sont vendus respectivement 50 frs et 200 frs le m`etre.
ROSO-EPFL Recherche op´erationnelle SC 5
Que doit produire l’entreprise afin de maximiser
son chiffre d’affaires hebdomadaire ?
D´efinissons deux variables de d´ecision
x
1
: le nombre de milliers de m`etres de cˆable de 5 mm de diam`etre
produits chaque semaine,
x
2
: le nombre de milliers de m`etres de cˆable de 10 mm de diam`etre
produits chaque semaine.
Le chiffre d’affaires associ´e `a une production (x
1
, x
2
) est
z = 50 000x
1
+ 200 000x
2
.
ROSO-EPFL Recherche op´erationnelle SC 6
Il ne faut pas d´epasser les capacit´es 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 quantit´es n´egatives
x
1
≥ 0, x
2
≥ 0.
ROSO-EPFL Recherche op´erationnelle SC 7
Probl`eme d’allocation de ressources : mod`ele
Pour maximiser le chiffre d’affaires de la vente, il faut d´eterminer les valeurs
x
1
et x
2
solution du programme lin´eaire
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 op´erationnelle SC 8
Exemple : probl`eme de recouvrement
Donn´ees : Les demandes journali`eres en chauffeurs dans une entreprise de
transport
Lu Ma Me Je Ve Sa Di
13 18 21 16 12 25 9
Les chauffeurs travaillent cinq jours d’affil´ee (et peuvent donc avoir leurs
deux jours adjacents de cong´e n’importe quand dans la semaine).
Objectifs : D´eterminer les effectifs formant les sept ´equipes possibles de
chauffeurs de mani`ere `a
• couvrir tous les besoins,
• engager un nombre minimum de chauffeurs.
ROSO-EPFL Recherche op´erationnelle SC 9
Probl`eme de recouvrement : mod´elisation
Variables de d´ecision : On associe une variable de d´ecision `a chacune des
sept ´equipes possibles
x
1
: nombre de chauffeurs dans l’´equipe du lundi (repos le samedi et le
dimanche),
x
2
: nombre de chauffeurs dans l’´equipe du mardi,
...
x
7
: nombre de chauffeurs dans l’´equipe du dimanche.
Fonction objectif : On veut minimiser le nombre total de chauffeurs engag´es
z = x
1
+ . . . + x
7
ROSO-EPFL Recherche op´erationnelle SC 10
Contraintes : Le nombre de chauffeurs pr´esents chaque jour doit ˆetre
suffisant
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 chauffeurs dans chaque ´equipe doit
non seulement ˆetre non n´egatif mais ´egalement entier !
x
i
≥ 0 et entier, i = 1, . . . , 7.
ROSO-EPFL Recherche op´erationnelle 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 n’est pas un PL mais un programme lin´eaire en nombres
entiers (PLNE) !
ROSO-EPFL Recherche op´erationnelle SC 12
Les hypoth`eses de la programmation lin´eaire
1. La lin´earit´e des contraintes et de la fonction objectif.
• L’additivit´e des effets.
• La proportionnalit´e des gains/coˆ uts et des consommations de ressources.
2. La divisibilit´e des variables.
3. La d´etermination des donn´ees.
Lors de la mod´elisation d’un probl`eme r´eel, l’impact de ces hypoth`eses sur
la validit´e du mod`ele math´ematique doit ˆetre ´etudi´e. Cette analyse peut
mener `a choisir un mod`ele diff´erent (non lin´eaire, stochastique, ...) et est
essentielle pour la phase d’interpr´etation des r´esultats fournis par le mod`ele.
ROSO-EPFL Recherche op´erationnelle SC 13
Int´erˆet pratique de la programmation lin´eaire
1. Malgr´e les hypoth`eses sous-jacentes assez restrictives, de nombreux
probl`emes peuvent ˆetre mod´elis´es par des programmes lin´eaires. Ces
probl`emes apparaissent dans des domaines aussi vari´es que
• la gestion de production,
• l’´economie,
• la distributique,
• les t´el´ecommunications,
• ...
2. Il existe des algorithmes g´en´eraux (et des codes les mettant en œuvre)
permettant de r´esoudre efficacement des programmes lin´eaires (mˆeme
lorsque le nombre de variables et de contraintes est important).
ROSO-EPFL Recherche op´erationnelle SC 14
Interpr´etation g´eom´etrique
• L’ensemble des solutions d’une in´equation (lin´eaire) correspond `a un
demi-espace dans R
n
(un demi-plan dans R
2
).
• L’ensemble des solutions d’une ´equation (lin´eaire) correspond `a un hy-
perplan dans R
n
(une droite dans R
2
).
• L’ensemble des solutions d’un syst`eme d’´equations et d’in´equations
(lin´eaires) correspond `a l’intersection des demi-espaces et des hyper-
plans associ´es `a chaque ´el´ement du syst`eme.
• Cette intersection, appel´ee domaine admissible, est convexe et d´efinit
un poly`edre dans R
n
(une r´egion polygonale dans R
2
).
ROSO-EPFL Recherche op´erationnelle SC 15
Terminologie
• Une solution est une affectation 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 d’une solution est la valeur de la fonction objectif en cette
solution.
• Le domaine admissible D d’un PL est l’ensemble des solutions admis-
sibles du probl`eme.
• La solution optimale d’un PL (si elle existe) est form´ee des valeurs
optimales des variables du probl`eme et de la valeur associ´ee de la fonction
objectif.
ROSO-EPFL Recherche op´erationnelle SC 16
R´esolution 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 associ´ee
`a cette valeur intersecte le domaine admissible D du probl`eme.
• Pour d´eterminer la valeur maximale atteignable par une solution admis-
sible, il suffit de faire glisser le plus loin possible une ligne de niveau de
la fonction objectif, dans le sens du gradient, jusqu’`a ce qu’elle touche
encore tout juste D.
• Les points de contact ainsi obtenus correspondent aux solutions optimales
du PL.
ROSO-EPFL Recherche op´erationnelle SC 17
R´esultat d’une optimisation lin´eaire
Le domaine admissible d’un PL peut ˆetre
• vide. Dans un tel cas le probl`eme est sans solution admissible (et ne
poss`ede ´evidemment pas de solution optimale).
• born´e (et non vide). Le probl`eme poss`ede toujours au moins une solution
optimale, quelle que soit la fonction objectif.
• non born´e Dans ce cas, selon la fonction objectif choisie,
le probl`eme peut poss´eder des solutions optimales ;
il peut exister des solutions admissibles de valeur arbitrairement grande
(ou petite). Dans un tel cas le PL n’admet pas de solution optimale
finie et est dit non born´e.
ROSO-EPFL Recherche op´erationnelle SC 18
Objectifs
• Connaˆıtre les diff´erents ´el´ements d’un PL : variables de d´ecision, d’´ecart,
fonction objectif, contraintes, contraintes de bornes.

ˆ
Etre capable de mod´eliser de petits probl`emes : identifier les variables
du probl`eme, ´ecrire la fonction objectif et les contraintes, discuter les
hypoth`eses de la PL.

ˆ
Etre capable de r´esoudre graphiquement un PL `a 2 variables de d´ecision :
d´eterminer le domaine admissible et les lignes de niveau de la fonction
objectif, identifier la solution optimale.
ROSO-EPFL Recherche op´erationnelle SC 19
Les diff´erentes formes d’un programme lin´eaire
• 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 op´erationnelle SC 20
Forme g´en´erale d’un programme lin´eaire
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 op´erationnelle SC 21
Forme canonique d’un programme lin´eaire
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 n´egatives
ROSO-EPFL Recherche op´erationnelle SC 22
Forme standard d’un programme lin´eaire
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 n´egatives
ROSO-EPFL Recherche op´erationnelle SC 23
Forme canonique → forme standard
On passe de la forme canonique `a la forme standard en ajoutant dans
chaque contrainte i une variable d’´ecart 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 op´erationnelle SC 24
Pourquoi des formes particuli`eres ?
• V´erifier les pr´erequis des m´ethodes de r´esolution.
• Simplifier la pr´esentation des algorithmes.
Cependant...
Les d´efinitions des formes canonique et standard varient parfois d’un
auteur `a l’autre !
Dans ce cours, la forme de r´ef´erence sera la forme canonique pr´esent´ee
ci-dessus, dont les variables seront appel´ees les variables de d´ecision du
probl`eme et la forme standard sera toujours obtenue par l’ajout de variables
d’´ecart au probl`eme canonique.
ROSO-EPFL Recherche op´erationnelle 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 op´erationnelle 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 op´erationnelle SC 27
Notation matricielle : exemple
Pour le probl`eme d’allocation 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 op´erationnelle SC 28
Remarques sur les notations
• Les symboles en gras (A, x, 0, . . .) sont r´eserv´es pour les matrices (ma-
juscules) et les vecteurs (minuscules).
• Les vecteurs doivent ˆetre interpr´et´es comme des vecteurs-colonnes ou des
vecteurs-lignes selon le contexte (pas ou peu de signes transpos´es).
Ax : x vecteur-colonne yA : y vecteur-ligne
xy : produit scalaire
• Les in´egalit´es 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 op´erationnelle SC 29
´
Equivalence des formulations canonique et standard
Th´eor`eme 1. Au prix ´eventuel de l’ajout de contraintes et/ou de variables,
tout PL peut ˆetre transform´e en un PL sous forme canonique ´equivalent.
Th´eor`eme 2. Au prix ´eventuel de l’ajout de contraintes et/ou de variables,
tout PL peut ˆetre transform´e 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 ;
• l’issue de l’optimisation des deux probl`emes est la mˆeme (sans solution
admissible, optimum fini, probl`eme non born´e).
ROSO-EPFL Recherche op´erationnelle SC 30
R`egles de transformation
• Minimisation ↔ maximisation : minf(x) = −max (−f(x))
Pour minimiser z = cx, il suffit de maximiser w = −cx = (−c)x et de
multiplier la valeur optimale de w par −1 pour obtenir celle de z.
• In´equation “≥“ ↔ in´equation “≤“ :
ax ≥ b ⇐⇒ (−a)x ≤ −b

´
Equation → in´equation “≤“ :
ax = b ⇐⇒
_
ax ≤ b
ax ≥ b
⇐⇒
_
ax ≤ b
(−a)x ≤ −b
ROSO-EPFL Recherche op´erationnelle SC 31
R`egles de transformation (suite)
• In´equation → ´equation : On ajoute une variable d’´ecart (de surplus)
ax ≤ b ⇐⇒ ax + s = b, s ≥ 0
ax ≥ b ⇐⇒ ax −s = b, s ≥ 0
• Variable libre (r´eelle) → variable non n´egative : Tout nombre r´eel peut
ˆetre ´ecrit comme la diff´erence de deux nombres non n´egatifs.
x ∈ R →
_
x = x
+
−x

x
+
, x

≥ 0
• Variable born´ee inf´erieurement :
x ≥ b ⇐⇒
_
x = x

+ b
x

≥ 0
ROSO-EPFL Recherche op´erationnelle 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
Modifications
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 op´erationnelle 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 op´erationnelle 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 op´erationnelle SC 35
Exemple : approximation de Chebychev
Donn´ees : m mesures
(x
i
, y
i
) ∈ R
n+1
, i = 1, . . . , m
Objectif : D´eterminer une approxi-
mation lin´eaire y = ax + b mi-
nimisant la plus grande erreur
d’estimation.
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 d´ecision de ce probl`eme sont a ∈ R
n
et b ∈ R!
ROSO-EPFL Recherche op´erationnelle SC 36
On peut r´ecrire 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 finalement obtenir une formulation lin´eaire
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 op´erationnelle SC 37
Objectifs
• Connaˆıtre les d´efinitions des formes canonique et standard d’un PL.
• Maˆıtriser les r`egles de transformations permettant de passer d’une formu-
lation `a une autre ´equivalente.
• Pourvoir transformer une formulation non lin´eaire d’un probl`eme d’optimi-
sation en un programme lin´eaire (lorsque c’est possible ´evidemment).
ROSO-EPFL Recherche op´erationnelle SC 38

x2 ≥ 0. x1 + 4x2 −4x1 + 6x2 x1 x1 . • Le cuivre disponible permet de produire 21 000 m`tres de cˆble de 5 mm e a de diam`tre par semaine. Le chiffre d’affaires associ´ ` une production (x1. x2 ≤ 21 ≤ 0 ≤ 15 ≥ 0 Recherche op´rationnelle SC e 8 . ayant une bonne connaissance de la demande. ROSO-EPFL Recherche op´rationnelle SC e 7 ROSO-EPFL Max z = 50 000x1 + 200 000x2 s. e • Un m`tre de cˆble de 10 mm de diam`tre n´cessite 4 fois plus de cuivre e a e e qu’un m`tre de cˆble de 5 mm de diam`tre. la production hebdomadaire de cˆble de 5 mm est limit´e ` 15 000 m`tres et la production a e a e de cˆble de 10 mm ne doit pas d´passer les 40% de la production totale.Exemple : probl`me d’allocation de ressources e Une entreprise produit des cˆbles de cuivre de 5 et 10 mm de diam`tre sur a e une seule ligne de production imposant les contraintes suivantes. x2) est ea z = 50 000x1 + 200 000x2. Recherche op´rationnelle SC e 6 Il ne faut pas d´passer les capacit´s de production e e x1 + 4x2 ≤ 21 Probl`me d’allocation de ressources : mod`le e e Pour maximiser le chiffre d’affaires de la vente. x2 : le nombre de milliers de m`tres de cˆble de 10 mm de diam`tre e a e produits chaque semaine. a e ROSO-EPFL Recherche op´rationnelle SC e 5 ROSO-EPFL Que doit produire l’entreprise afin de maximiser son chiffre d’affaires hebdomadaire ? D´finissons deux variables de d´cision e e x1 : le nombre de milliers de m`tres de cˆble de 5 mm de diam`tre e a e produits chaque semaine.c. e a e De plus. il faut d´terminer les valeurs e x1 et x2 solution du programme lin´aire e et satisfaire les contraintes de demande 4 x2 ≤ (x1 + x2) 10 x1 ≤ 15 Finalement on ne peut pas produire des quantit´s n´gatives e e x1 ≥ 0. a e Les cˆbles sont vendus respectivement 50 frs et 200 frs le m`tre.

x3 . 7. e Objectifs : D´terminer les effectifs formant les sept ´quipes possibles de e e chauffeurs de mani`re ` e a • couvrir tous les besoins. . x2 : nombre de chauffeurs dans l’´quipe du mardi.. x7 : nombre de chauffeurs dans l’´quipe du dimanche. x7 Ce probl`me n’est pas un PL mais un programme lin´aire en nombres e e entiers (PLNE) ! ROSO-EPFL Recherche op´rationnelle SC e 11 ROSO-EPFL Recherche op´rationnelle SC e 12 . ... x4 + x5 + x6 x4 + x5 + x6 + x5 + x6 + x6 x4 x4 + x5 x4 + x5 + x6 x4 + x5 + x6 x4 . . • engager un nombre minimum de chauffeurs. . . e . i = 1. .c. x5 . + x4 + x5 + x6 + x7 ≥ 9 (dimanche) Min z = x1 s. e Fonction objectif : On veut minimiser le nombre total de chauffeurs engag´s e z = x1 + . x1 x1 x1 x1 x1 + x2 + x3 + + + x2 + x2 + x3 + x2 + x3 + + x2 + x3 + x2 + x3 + x3 + .Exemple : probl`me de recouvrement e Donn´es : Les demandes journali`res en chauffeurs dans une entreprise de e e transport Lu Ma Me Je Ve Sa Di 13 18 21 16 12 25 9 Les chauffeurs travaillent cinq jours d’affil´e (et peuvent donc avoir leurs e deux jours adjacents de cong´ n’importe quand dans la semaine). + x7 Recherche op´rationnelle SC e 10 Probl`me de recouvrement : formulation e Contraintes : Le nombre de chauffeurs pr´sents chaque jour doit ˆtre e e suffisant x1 x1 + x2 x3 + x4 + x5 + x6 + x7 ≥ 13 (lundi) + x5 + x6 + x7 ≥ 18 (mardi) .. x2 . x6 + + + + + x7 x7 x7 x7 x7 ≥ ≥ ≥ ≥ ≥ ≥ ≥ ≥ 13 18 21 16 12 25 9 0 entiers Contraintes de bornes : Le nombre de chauffeurs dans chaque ´quipe doit e non seulement ˆtre non n´gatif mais ´galement entier ! e e e xi ≥ 0 et entier. ROSO-EPFL Recherche op´rationnelle SC e 9 ROSO-EPFL Probl`me de recouvrement : mod´lisation e e Variables de d´cision : On associe une variable de d´cision ` chacune des e e a sept ´quipes possibles e x1 : nombre de chauffeurs dans l’´quipe du lundi (repos le samedi et le e dimanche). x1 + x7 .

e a ee e • Cette intersection. e • La valeur d’une solution est la valeur de la fonction objectif en cette solution. 2. e • Une solution est admissible si elle satisfait toutes les contraintes du probl`me (y compris les contraintes de bornes). e • La proportionnalit´ des gains/coˆts et des consommations de ressources. . e e • L’additivit´ des effets. est convexe et d´finit e e n 2 un poly`dre dans R (une r´gion polygonale dans R ). les t´l´communications. • Le domaine admissible D d’un PL est l’ensemble des solutions admissibles du probl`me. La divisibilit´ des variables. Ces e e e e e probl`mes apparaissent dans des domaines aussi vari´s que e e • • • • • la gestion de production. ROSO-EPFL Recherche op´rationnelle SC e 16 ROSO-EPFL Recherche op´rationnelle SC e 15 .. e e Lors de la mod´lisation d’un probl`me r´el. stochastique. l’´conomie. Malgr´ les hypoth`ses sous-jacentes assez restrictives.Les hypoth`ses de la programmation lin´aire e e 1. de nombreux e e probl`mes peuvent ˆtre mod´lis´s par des programmes lin´aires. Cette analyse peut e e e e e e mener ` choisir un mod`le diff´rent (non lin´aire. Il existe des algorithmes g´n´raux (et des codes les mettant en œuvre) e e permettant de r´soudre efficacement des programmes lin´aires (mˆme e e e lorsque le nombre de variables et de contraintes est important). e • La solution optimale d’un PL (si elle existe) est form´e des valeurs e optimales des variables du probl`me et de la valeur associ´e de la fonction e e objectif. e u 2.) et est a e e e essentielle pour la phase d’interpr´tation des r´sultats fournis par le mod`le. ee .. • L’ensemble des solutions d’une ´quation (lin´aire) correspond ` un hye e a perplan dans Rn (une droite dans R2). • L’ensemble des solutions d’un syst`me d’´quations et d’in´quations e e e (lin´aires) correspond ` l’intersection des demi-espaces et des hypere a plans associ´s ` chaque ´l´ment du syst`me. e e e Int´rˆt pratique de la programmation lin´aire ee e 1. e 3. e la distributique.. e e Terminologie • Une solution est une affectation de valeurs aux variables du probl`me. l’impact de ces hypoth`ses sur e e e e la validit´ du mod`le math´matique doit ˆtre ´tudi´. La d´termination des donn´es.. appel´e domaine admissible. La lin´arit´ des contraintes et de la fonction objectif. ROSO-EPFL Recherche op´rationnelle SC e 14 ROSO-EPFL Recherche op´rationnelle SC e 13 Interpr´tation g´om´trique e e e • L’ensemble des solutions d’une in´quation (lin´aire) correspond ` un e e a n 2 demi-espace dans R (un demi-plan dans R ).

• Il existe des solutions admissibles de valeur z si la ligne de niveau associ´e e ` cette valeur intersecte le domaine admissible D du probl`me. quelle que soit la fonction objectif. Dans un tel cas le PL n’admet pas de solution optimale finie et est dit non born´. Dans un tel cas le probl`me est sans solution admissible (et ne e poss`de ´videmment pas de solution optimale). jusqu’` ce qu’elle touche a encore tout juste D. ıtre e ee e e fonction objectif. • non born´ Dans ce cas. contraintes. dans le sens du gradient. ´crire la fonction objectif et les contraintes. Le probl`me poss`de toujours au moins une solution e e e optimale. ROSO-EPFL Recherche op´rationnelle SC e 17 R´sultat d’une optimisation lin´aire e e Le domaine admissible d’un PL peut ˆtre e • vide. ˆ e e • Etre capable de mod´liser de petits probl`mes : identifier les variables du probl`me.R´solution graphique dans le plan e • Les lignes de niveau de la fonction objectif sont des droites parall`les e 2 dans R . e e il peut exister des solutions admissibles de valeur arbitrairement grande (ou petite). d’´cart. il suffit de faire glisser le plus loin possible une ligne de niveau de la fonction objectif. identifier la solution optimale. e le probl`me peut poss´der des solutions optimales . • Les points de contact ainsi obtenus correspondent aux solutions optimales du PL. discuter les e e hypoth`ses de la PL. e ROSO-EPFL Recherche op´rationnelle SC e 18 Objectifs • Connaˆ les diff´rents ´l´ments d’un PL : variables de d´cision. e ˆ • Etre capable de r´soudre graphiquement un PL ` 2 variables de d´cision : e a e d´terminer le domaine admissible et les lignes de niveau de la fonction e objectif. Les diff´rentes formes d’un programme lin´aire e e • Formes canonique et standard • Notations matricielles • Pourquoi des formes particuli`res ? e ´ • Equivalence des formulations canonique et standard • R`gles de transformation particuli`res e e • Exemple : approximation de Chebychev ROSO-EPFL Recherche op´rationnelle SC e 19 ROSO-EPFL Recherche op´rationnelle SC e 20 . e e • born´ (et non vide). contraintes de bornes. a e • Pour d´terminer la valeur maximale atteignable par une solution admise sible. selon la fonction objectif choisie.

. • I. . . m} j = 1. . . . ROSO-EPFL Recherche op´rationnelle SC e 21 • Toutes les contraintes sont du type “≤” • Toutes les variables sont non n´gatives e ROSO-EPFL Recherche op´rationnelle SC e 22 Forme standard d’un programme lin´aire e n Forme canonique → forme standard On passe de la forme canonique ` la forme standard en ajoutant dans a chaque contrainte i une variable d’´cart xn+i.c. . . n j=1 cj xj n j=1 aij xj n j=1 akj xj n j=1 arj xj Forme canonique d’un programme lin´aire e n Max z = ≤ bi ≥ bk = br i ∈ I ⊆ {1. e n n Max z = j=1 n cj xj aij xj = bi j=1 s. m} k ∈ K ⊆ {1. . . . . . . j=1 aij xj + xn+i xj ROSO-EPFL Recherche op´rationnelle SC e . . . . m j = 1. . . . m} r ∈ R ⊆ {1. . . . . . . n + m 24 s. .c. . . . j=1 j=1 n cj xj aij xj ≤ bi xj ≥ 0 i = 1. n lj ≤ xj ≤ uj • Opt = Max ou Min. . . .c. . . . i = 1. K et R disjoints et I ∪ K ∪ R = {1. . n j=1 aij xj ≤ bj n → m aij + xn+i = bi j=1 xj ≥ 0 • Probl`me de maximisation e • Toutes les contraintes sont des ´quations e • Toutes les variables sont non n´gatives e ROSO-EPFL Recherche op´rationnelle SC e 23 Max z = j=1 n cj xj + i=1 0xn+i = bi ≥ 0 i = 1.Forme g´n´rale d’un programme lin´aire e e e Opt z = s. . m}. . . . . . m j = 1. • lj = −∞ et uj = +∞ possibles.c. . m j = 1. n • Probl`me de maximisation e s.

amn    Max z = cD xD   AxD ≤ b   s.   . 0)    xD    x= − =   xE     ROSO-EPFL x1 . cn) . a1n  .  b=  A= . Ax ≤ b x ≥ 0 o` u c = cD = (c1 . xn+m ≤ 21 ≤ 0 ≤ 15 ≥ 0       a11 . . . . .  am1 . .  a11 . .c.. . . . xD ≥ 0 x = xD  x1   =  . xn − xn+1 . dont les variables seront appel´es les variables de d´cision du e e probl`me et la forme standard sera toujours obtenue par l’ajout de variables e d’´cart au probl`me canonique. [A | I] x = b x ≥ 0 o` u     Max z = cD xD + 0xE   AxD + IxE = b   s.c. xD . . x  2 21   b =  0 . . . . bm 26 Recherche op´rationnelle SC e Notation matricielle : forme standard Max z = cx s.  . . . Les d´finitions des formes canonique et standard varient parfois d’un e auteur ` l’autre ! a Dans ce cours. .  4  et 6  0 Recherche op´rationnelle SC e c = (cD | cE ) = (cD | 0) = (c1 . xE ≥ 0 Notation matricielle : exemple Pour le probl`me d’allocation de ressources e Max z = 50 000x1 + 200 000x2 s. la forme de r´f´rence sera la forme canonique pr´sent´e ee e e ci-dessus.Pourquoi des formes particuli`res ? e • V´rifier les pr´requis des m´thodes de r´solution.  A= .  bm 27 ROSO-EPFL  x1 x= . . . amn   Recherche op´rationnelle SC e b1 .c. e e e e • Simplifier la pr´sentation des algorithmes. 15 28 . a1n  . . x1 + 4x2 −4x1 + 6x2 x1 x1 .c. . xn   et  b1   b =  ..c. cn | 0 . e e ROSO-EPFL Recherche op´rationnelle SC e 25 ROSO-EPFL Notation matricielle : forme canonique Max z = cx s. x2 on a c= 50 000  1  A =  −4 1 200 000 . e Cependant.    am1 . . . .

• Les vecteurs doivent ˆtre interpr´t´s comme des vecteurs-colonnes ou des e ee vecteurs-lignes selon le contexte (pas ou peu de signes transpos´s). x− ≥ 0 x=x +b x ≥0 32 ax ≤ b ax ≥ b ⇐⇒ ax ≤ b (−a)x ≤ −b 31 ROSO-EPFL x ≥ b ⇐⇒ Recherche op´rationnelle SC e Recherche op´rationnelle SC e . e e e Par programme ´quivalent. e e e e x∈R→ • Variable born´e inf´rieurement : e e x = x+ − x− x+. . Au prix ´ventuel de l’ajout de contraintes et/ou de variables.q. Au prix ´ventuel de l’ajout de contraintes et/ou de variables. • In´quation “≥“ ↔ in´quation “≤“ : e e ax ≥ b ⇐⇒ (−a)x ≤ −b ´ • Equation → in´quation “≤“ : e ax = b ⇐⇒ ROSO-EPFL R`gles de transformation (suite) e • In´quation → ´quation : On ajoute une variable d’´cart (de surplus) e e e ax ≤ b ⇐⇒ ax + s = b. s ≥ 0 ax ≥ b ⇐⇒ ax − s = b. ROSO-EPFL Recherche op´rationnelle SC e R`gles de transformation e • Minimisation ↔ maximisation : min f (x) = − max (−f (x)) Pour minimiser z = cx. x. e • toute solution admissible (optimale) du probl`me initial correspond ` au e a moins une solution admissible (optimale) du probl`me ´quivalent . . . e Ax : x vecteur-colonne yA : y vecteur-ligne ´ Equivalence des formulations canonique et standard Th´or`me 1. s ≥ 0 • Variable libre (r´elle) → variable non n´gative : Tout nombre r´el peut e e e ˆtre ´crit comme la diff´rence de deux nombres non n´gatifs. probl`me non born´).Remarques sur les notations • Les symboles en gras (A. 0. e e 29 ROSO-EPFL Recherche op´rationnelle SC e 30 xy : produit scalaire • Les in´galit´s entre vecteurs (matrices) doivent ˆtre comprises composantes e e e par composantes : x ≥ 0 ⇐⇒ x1 ≥ 0. e e e tout PL peut ˆtre transform´ en un PL sous forme canonique ´quivalent. e e • l’issue de l’optimisation des deux probl`mes est la mˆme (sans solution e e admissible. il suffit de maximiser w = −cx = (−c)x et de multiplier la valeur optimale de w par −1 pour obtenir celle de z. . . optimum fini. on entend : e • toute solution admissible (optimale) du probl`me ´quivalent correspond ` e e a une solution admissible (optimale) du probl`me initial . xi < 0. . xn ≥ 0 Mais x ≥ 0 ⇐⇒ ∃ i t. .) sont r´serv´s pour les matrices (mae e juscules) et les vecteurs (minuscules). e e e tout PL peut ˆtre transform´ en un PL sous forme standard ´quivalent. e e e Th´or`me 2.

Formulation : Min z = max yi • Valeurs absolues : |x| ≤ b ⇐⇒ |x| ≤ b Convexe ROSO-EPFL x ≤ b x ≥ −b |x| ≥ b xi x Non convexe No Recherche op´rationnelle SC e n r eai in´ l e i=1. yi) ∈ Rn+1. x1 + x2 x1 − 2x2 x1 x2 = 6 ≥ 4 ∈ R ≥ 0 PL canonique ´quivalent e → → → → Max w = 3x1 − 4x2 x1 + x2 ≤ 6 −x1 − x2 ≤ −6 Max w = s.. . . ckx} Exemple : approximation de Chebychev Donn´es : m mesures e y y = ax + b |yi − axi − b| ⇐⇒ Min z = t s. . m Objectif : D´terminer une approxie mation lin´aire y = ax + b mie nimisant la plus grande erreur d’estimation. t ≥ c1 x ...c. x2 ≤ 6 ≤ −6 ≤ −4 ≥ 0 Min z = −3x1 + 4x2 x1 + x2 = 6 Modifications x1 − 2x2 ≥ 4 x1 ∈ R ROSO-EPFL Recherche op´rationnelle SC e −x1 + 2x2 ≤ −4 x1 = x+ − x− 1 1 x+. . x1 + x2 x1 − 2x2 x1 x2 = 6 ≥ 4 ∈ R ≥ 0 PL initial PL initial Min z = −3x1 + 4x2 s. i = 1. . x− 1 − 4x2 + x2 − x2 + 2x2 . t ≥ ck x t ∈ R (xi.Exemple de mise sous forme canonique Min z = −3x1 + 4x2 s.c.m |yi − axi − b| Les variables de d´cision de ce probl`me sont a ∈ Rn et b ∈ R ! e e 35 ROSO-EPFL Recherche op´rationnelle SC e 36 .c. 3x+ 1 x+ 1 −x+ 1 −x+ 1 x+ 1 − 3x− 1 − x− 1 + x− 1 + x− 1 . . x− ≥ 0 1 1 33 Ne pas oublier que zopt = −wopt ! ! ROSO-EPFL Recherche op´rationnelle SC e 34 R`gles de transformation particuli`res e e • Probl`me Min-Max ou Max-Min : e Min z = max{c1x.c. .... .

b ∈ R et t ≥ 0.On peut r´crire le probl`me comme e e Min z = s.c. . m pour finalement obtenir une formulation lin´aire e Min z = t s.c. . . m Min z = t s. t ≥ |yi − axi − b| i = 1. . . . . ROSO-EPFL Recherche op´rationnelle SC e 37 ROSO-EPFL Recherche op´rationnelle SC e 38 . . m avec a ∈ Rn.m Objectifs • Connaˆ les d´finitions des formes canonique et standard d’un PL.c.. e e max ∆i ∆i = |yi − axi − b| i = 1. . .. a e • Pourvoir transformer une formulation non lin´aire d’un probl`me d’optimie e sation en un programme lin´aire (lorsque c’est possible ´videmment). ıtre e • Maˆ ıtriser les r`gles de transformations permettant de passer d’une formue lation ` une autre ´quivalente. puis i=1.. t ≥ yi − axi − b i = 1. m t ≥ −yi + axi + b i = 1.. . . . . . .