Vous êtes sur la page 1sur 7

Chapitre 1

Modelisation
1.1 Exemples de Probl`emes
1.1.1 La Cafetaria
Cafetaria ouverte toute la semaine.
Statistique sur le personnel requis :
Jour Lundi Mardi Mercredi Jeudi Vendredi Samedi Dimanche
Nombre 14 13 15 16 19 18 11
Un employe travaille 5 jour dalee puis a deux jours de repos.
Probl`eme : nombre minimal demploye requis.
Quelles inconnues :
x
i
le nombre demployes le jour i. Pas pratique : comment denir le nombre dem-
ployes ?
x
i
le nombre demployes qui commencent le jour i.
Mod`ele :

i=7
i=1
x
i
est le nombre demployes `a minimiser : fonction objectif
Les contraintes :
(i) Le nombre de travailleurs commencant leur service est positif ou nul :
x
i
0 i = 1, . . . , 7
(ii) Les x
i
sont des entiers.
(iii) Pour chaque jour le nombre de travailleur est superieur ou egal `a celui requis. Le jour
i, le nombre de travailleurs est (en comptant modulo 7) :
x
i
+ x
i1
+ . . . + x
i4
1
2 CHAPITRE 1. MODELISATION
Do` u :
x
1
+ x
7
+ x
6
+ x
5
+ x
4
14
x
2
+ x
1
+ x
7
+ x
6
+ x
5
13
x
3
+ x
2
+ x
1
+ x
7
+ x
6
15
x
4
+ x
3
+ x
2
+ x
1
+ x
7
16
x
5
+ x
4
+ x
3
+ x
2
+ x
1
19
x
6
+ x
5
+ x
4
+ x
3
+ x
2
18
x
7
+ x
6
+ x
5
+ x
4
+ x
3
11
Ce probl`eme est un probl`eme de programmation lineaire en nombre entiers
Le probl`eme peut se mettre sous la forme :
Max z = c.x
A.x b
x 0
Resolution avec le logiciel Eclipse.
[eclipse 2]: {X1+X4+X5+X6+X7 >= 14,
X1+X2+X5+X6+X7 >= 13,
X1+X2+X3+X6+X7 >= 15,
X1+X2+X3+X4+X7 >= 16,
X1+X2+X3+X4+X5 >= 19,
X6+X2+X3+X4+X5 >= 18,
X6+X7+X3+X4+X5 >= 11,
X1>=0,
X2>=0,
X3>=0,
X4>=0,
X5>=0,
X6>=0,
X7>=0,
Z=X1+X2+X3+X4+X5+X6+X7},
minimize(Z).
X1 = 4
X2 = X2
X3 = X3
X4 = X4
X5 = X5
X6 = 3
X7 = 0
Z = 22
1.1. EXEMPLES DE PROBL
`
EMES 3
% Linear constraints:
{
X5 = 7 - X4,
X3 = 8 - X2,
X4 =< 7,
X2 =< 7,
X4 - X2 =< 1,
X4 >= 4
}Yes (0.01s cpu)
1.1.2 Probl`eme de jeu
Ciseau/Pierre/Papier
Jeu `a somme nulle : Gain +1 si gagnant, perte -1 si perdu, 0 si egalite.
Tableau des gains/pertes
Question : Trouver la strategie optimale au jeu (en supposant que ladversaire joue
du mieux possible). Si on consid`ere une suite de parties, on cherche une strategie sans
memoire : le coup joue ne depend pas de lhistorique du jeu.
Principe : Joueur 1 joue Ciseau avec la probabilite x
1
, Pierre avec x
2
et Papier avec x
3
.
Contraintes :
0 x
i
1
x
1
+ x
2
+ x
3
= 1
Son esperance de gain est :
Si joueur 2 joue Ciseau : x
2
x
3
Si joueur 2 joue Pierre : x
3
x
1
Si joueur 2 joue Papier : x
1
x
2
Hypoth`ese : Joueur 2 joue du mieux possible donc le gain realise par 1 est minimal i.e.
g = min(x
2
x
3
, x
3
x
1
, x
1
x
2
)
But : Maximiser g.
Apparemment le probl`eme nest pas un probl`eme de programmation lineaire `a cause
du min dans la denition de g.
Mais on peut sy ramener :
Max(g)
g x
2
x
3
g x
3
x
1
g x
2
x
1
g 0
(avec g une variable).
Remarque : la solution est x

1
= x

2
= x

3
= 1/3 avec g

= 0.
4 CHAPITRE 1. MODELISATION
1.1.3 Placement Financier
Placer 1000 euros sur 6 ans de la mani`ere optimale sachant que : la caisse depargne
rapporte 5% par an et immobilise le capital un an, lobligation 1 rapporte 12% `a lecheance
si on le choisit la premie`ere annee sinon elle rapporte 11%, immobilise le capital deux
ans, lobligation 2 rapporte 18% `a lecheance, immobilise le capital trois ans, lobligation
3 rapporte 24% `a lecheance. Lobligation 2 est disponible tous les ans sauf lannee 3,
lobligation 2 nest pas disponible lannee 1, et lobligation 3 nest disponible que lannee
1.
Ecrire le probl`eme de programmation lineaire qui correspond au meilleur placement
possible.
Idee : en debut dannee i on place x
i
`a la caisse depargne, y
i
en obligation i, z
i
en
obligation z et w
i
en obligation w.
A chaque annee on ecrit quelle somme est disponible (tout ce qui arrive `a echeance avec
les interets et on la place dans ce qui est disponible. On maximise la somme obtenue `a la
n dannee 6.
1.2 Denition de la PL
1.2.1 Formes canonique et standard
c = (c
1
, . . . , c
n
), x =

x
1
.
.
.
x
n

, b =

b
1
.
.
.
b
m

, A = (a
i,j
) 1 i m
1 j n
avec c
i
, b
j
, a
i,j
des reels.
Forme canonique
Max z = c.x
A.x b
x 0
Si les variables doivent prendre des valeurs enti`eres, on a un probl`eme de programmation
lineaire en nombres entiers (plus dicile)
Forme standard
Max z = c.x
A.x = b
x 0
IMPORTANT : on peut transformer la forme canonique en forme standard et vice-versa.
On peut aussi transformer un max en min par max{x | . . .}) = min{x | . . .}. De meme
1.2. D

EFINITION DE LA PL 5
si on a un probl`eme ou il ny a pas de contraintes x 0 mais x peut etre quelconque, on
peut se ramener `a un probl`eme avec des variables 0 en posant x = x
1
x
2
avec x
1
, x
2
0.
Une solution admissible dun probl`eme de PL (en forme standard ou canonique) est un
vecteur x qui satisfait les contraintes.
1.2.2 Resolution Graphique
Fabriquant dordinateurs : portable ou PC. le portable rapporte 750 euros, le PC 1000
euros. Le PC comme le portable utilise un microprocesseur. Le PC a deux unites de memoire
de 256Mb et le portable en a une. Il faut 4 minutes dassemblage pour un portable et 3
minutes pour un PC. On dispose de 25 milliers minutes dassemblage de 15 milliers de
memoires et de 10 milliers de processeurs.
x
1
, x
2
nombre de millier de portables, PC, d`ou le probl`eme de PL :
Max z = 750x
1
+ 1000x
2
x
1
+ x
2
10
x
1
+ 2x
2
15
4x
1
+ 3x
2
25
x
1
, x
2
0
Les contraintes sont delimites par les droites x
1
+x
2
= 10, x
1
+ 2x
2
= 15, 4x
1
+ 3x
2
= 25,
x
i
= 0 et denissent un polytope. Le maximum peut se calculer en faisant glisser la droite
dequation 0, 75x
1
+ x
2
= K en augmentant la valeur de K (qui correspond au prot
obtenu). On trouve que le maximum est atteint par le sommet P(1,7) qui donne un prot
maximum de 7750.
Resolution avec Eclipse
[eclipse 3]: {
Z=750*X1+1000*X2,
X1+X2=<10,
X1+2*X2=<15,
4*X1+3*X2=<25,
X1>=0,
X2>=0
},
maximize(Z).
X1 = 1
X2 = 7
Z = 7750
Yes (0.00s cpu)
6 CHAPITRE 1. MODELISATION
1.3 Geometrie de la PL
1.3.1 Espaces Anes et Vectoriels
Un vecteur de R
n
est un n-uplet de reels. Un sous-espace vectoriel est un sous-ensemble
stable par addition et multiplication par un scalaire. Une base dun sous-espace vectoriel
V est un ensemble nis de vecteur e
1
, . . . , e
p
tel que
(i) tout vecteur v V est combinaison lineaire des e
i
(ii) une combinaison lineaire des e
i
est nulle ssi les coecients sont nuls.
Un espace ane est lensemble des points M=N+S avec N un point particulier (un
element de R
n
et S un sous-espace vectoriel. La dimension de lespace ane est celle de
lespace vectoriel S.
1.3.2 Polyhedres et Polytopes
Un hyperplan H est un espace ane de dimension n 1 et se decrit par une equation
a
1
x
1
+ . . . + a
n
x
n
= K
Un demi-espace ferme delimite par H est deni par
a
1
x
1
+ . . . + a
n
x
n
K
ou
a
1
x
1
+ . . . + a
n
x
n
K
Denition 1 Un polyh`edre est une intersection de demi-espaces fermes.
Denition 2 Un polytope est un polyh`edre borne.
Etant donnes un polyh`edre P, un hyperplan H et HS un demi-espace ferme correspon-
dant `a H, si HS P H, alors P HS est une face de P.
Une face de dimension 0 (donc un point) est appele un sommet de P
Une face de dimension 1 est appelee une arete de P
Une face de dimension n 1 est appelee une facette de P
On admettra la proposition suivante :
Proposition 1 Un polytope P na quun nombre ni de sommets et tout point M de P
peut secrire comme combinaison lineaire convexe des sommets M =
S
i
sommets

i
S
i
(avec

i
= 1 et
i
0 pour tout i.
1.4. OPTIMISATION DE FONCTION CONVEXES SUR UN POLYTOPE 7
1.4 Optimisation de fonction convexes sur un poly-
tope
Unconvexe C est un sous-ensemble de points tels que pour tout couple de points M, M

de C, le segment MM

est inclus dans C. (le segment est lensemble des points de la forme
M + (1 )M

avec 1 0.)
Exercice : montrer que lintersection de deux convexes est un convexe puis quun po-
lyh`edre est un convexe.
Une fonction de f : R
n
R est convexe ssi pour tous points M, M

on a
f(M + (1 )M

) f(M) + (1 )f(M

)
Une fonction est concave si -f est convexe. Une fonction lineaire est convexe et concave, la
parabole x x
2
est convexe. On sinteresse `a calculer le minimum dune fonction convexe
sur un ensemble convexe, plus particuli`erement sur un polytope, ce qui est identique `a
calculer le maximum de -f sur sur le meme ensemble.
Proposition 2 Une fonction convexe f sur un polytope P a un maximum et celui-ci est
obtenu sur un sommet.
Preuve : On utilise le fait que tout point du polytope est combinaison lineaire convexe
de ses sommets. Soit (S
i
)
iI
lensemble des sommets de P. Alors pour tout M P
M =
iI

i
S
i
avec
iI

i
= 1 et 1
i
0 pour tout i. Do` u
f(M) = f(
iI

i
S
i
)
iI

i
f(S
i
)
et donc
f(M) (
iI

i
)Max{f(S
i
) | i I}
do` u
f(M) Max{f(S
i
) | i I} = f(S
i
0
)
Comme f(S
i
0
) est une valeur particuli`ere de f sur P, on a bien que f atteint son maximum
sur P.
ATTENTION : le maximum peut etre atteint aussi sur des points qui ne sont pas des
sommets.
Exemple : prendre un carre decrit par x
1
, x
2
0, x
1
1, x
2
1 et la fonction z = x
2
.
Le maximum est obtenu sur tout un segment de droite (delimite par deux sommets).
Un algorithme de calcul du max serait donc denumerer les sommets et de garder la
plus grande valeur de f obtenue : malheureusement, les polytopes qui interviennent dans
les applications ont des dizaines ou centaines de milliers de sommets...
Si on consid`ere un polyh`edre et non un polytope, une fonction (convexe ou concave)
na pas forcement de maximum.

Vous aimerez peut-être aussi