Professional Documents
Culture Documents
Alain Billionnet
Notes de cours
20102011
Avertissement
Ce document ne prtend pas lexhaustivit dun cours.
Il se peut que des erreurs ou des fautes de frappe sy soient galement
glisses par mgarde, auquel cas je vous invite envoyer vos corrections
ladresse marc.vanderwal@ensiie.fr.
Jespre que ces notes vous seront nanmoins utiles pour vos rvisions.
Marc x0r van der Wal
Ce document est distribu sous la licence CreativeCommons Paternit Pas dUtilisation Commerciale Partage des Conditions Initiales lIdentique version 2.0. Pour plus dinformations :
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
9
9
10
10
10
10
1 Programmation dynamique
1.1 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Exemple : Trac optimal dune autoroute . . . . . . . . .
1.3 Formalisation . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Formules doptimisation squentielle . . . . . . . .
1.4 Deuxime exemple dapplication . . . . . . . . . . . . . . .
1.4.1 Reprsentation du problme en tant que graphe
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
12
13
13
15
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
17
17
18
19
19
20
20
21
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
23
23
25
25
27
27
27
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
31
32
32
33
33
35
35
.
.
.
.
.
.
.
.
.
.
.
.
37
37
38
40
41
6 Programmation linaire
6.1 Problmes de production . . . . . . . . . . . . . . . . . . . . . .
6.1.1 Optimisation fractionnaire . . . . . . . . . . . . . . . . .
6.1.2 Interprtation gomtrique dun programme linaire .
6.1.3 Forme gnrale dun programme linaire . . . . . . . .
6.1.4 Base et solution de base . . . . . . . . . . . . . . . . . .
6.2 Algorithme du simplexe . . . . . . . . . . . . . . . . . . . . . . .
6.2.1 Caractrisation des solutions optimales . . . . . . . . .
6.2.2 Algorithme du simplexe pour la minimisation . . . . .
6.2.3 Mthode des tableaux . . . . . . . . . . . . . . . . . . . .
6.3 Initialisation de lalgorithme du simplexe . . . . . . . . . . . .
6.3.1 Problme auxiliaire : Mthode des 2 phases . . . . . .
6.3.2 Exemples dapplication . . . . . . . . . . . . . . . . . . .
6.3.3 Mthode des pnalits . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
43
43
44
45
45
46
48
48
52
52
54
55
56
59
.
.
.
.
.
.
.
.
61
61
61
63
65
68
68
69
70
.
.
.
.
.
.
.
.
7 Processus alatoires
7.1 Processus de Markov (sans mmoire) . . .
7.1.1 Processus de Poisson . . . . . . . .
7.1.2 Processus de naissance . . . . . . .
7.1.3 Processus de naissance et de mort
7.2 Chanes de Markov . . . . . . . . . . . . . .
7.2.1 Matrice associe . . . . . . . . . . .
7.2.2 Graphe associ une chane . . . .
7.2.3 Classification des tats . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
75
75
76
77
77
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
79
79
80
80
81
81
81
82
83
84
84
85
A Transforme de Laplace
.
.
.
.
87
Introduction
Gnralits
Bibliograhie
Faure, Lemaire, Picouleau, Prcis de Recherche Oprationnelle, Dunod.
Roseaux, Exercices et problmes rsolus de RO (3 tomes), Dunod.
But du cours
Savoir prendre les meilleures dcisions (critre doptimalit dfinir)
Dmarche scientifique
Aperu des grands domaines de la RO
Historique
Pascal, Fermat, Bernoulli
Monge : problme des dblais et des remblais
Fourier : systmes dquations linaires ( programmation linaire)
Borel, Von Neumann : thorie des jeux
Sainte-Lague, Konig : thorie des graphes
1956 : Recherche oprationnelle civile (les militaires sen taient appropris en premier), sorte daide la dcision
Domaines
1. Combinatoire
2. Alatoire
3. Concurrentiel
Exemple 1. Problme daffectation : on a n personnes et n postes. Chaque
personne inscrit sa prfrence pour un certain poste dans une grille. Comment
trouver laffectation qui maximise la somme des prfrences ?
Il y a n! solutions ; pour n = 4 cela en fait 24 ; pour n = 20, on atteint
8 1010 solutions.
9
INTRODUCTION
10
n
X
min
cj x j
j=1
min c x
n
X
Ax = b
ai j x j = bi i 1, m
x 0
j=1
x i 0 i 1, m
Alatoire/Stochastique
Problmes de files dattente, de fiabilit et de gestion des stocks. Par exemple, on souhaite tudier le temps moyen dattente une file dattente, et savoir
combien de guichets supplmentaires on doit ouvrir pour ramener ce temps
moyen une certaine valeur.
Chapitre 1
Programmation dynamique
1.1 Gnralits
Principe doptimalit de Bellman : Toute sous-politique dune politique optimale est optimale.
Par exemple, lorsquon a trouv un chemin optimal dun sommet A vers un
sommet B, et que les sommets C et D sont sur ce mme chemin, le chemin
optimal de C vers D est le sous-chemin qui emprunte une partie de celui de A
vers B.
Algorithme possible :
1. Chemin optimal depuis A jusqu chaque ville de la phase 2 :
x2
E
F
G
H
chemin optimal
AC E, ADE
AC F
ADG
AC H
cot
10
9
9
9
12
3
B
4
5
I
5
4
A
K
3
6
7
7
2
G
2
4
H
chemin optimal
A G I
A GJ
cot
12
11
chemin optimal
A I K
cot
17
1.3 Formalisation
Soit F une fonction de N + 1 variables optimiser :
F (x 0 , x 1 , . . . , x N ) = v1 (x 0 , x 1 ) + v2 (x 1 , x 2 ) + + vN (x N 1 , x N )
Pour tout n 0, N 1, x n dpend de x 0 et de x n+1 .
Dans notre exemple prcdent, nous avions :
F (x 0 , x 1 , . . . , x n ) =
4
X
i=1
vi (x i1 , x i )
13
1.3.1
(1.1)
f2 (x 0 , E) =
f3 (A, I)
f4 (A, K)
min
x 3 {I,J}
14
le rendement maximal que lon peut obtenir en investissant x 2 units au total dans les deux premires rgions. Il faut faire les calculs pour tous les cas
possibles pour x 2 :
x 2 f2 (x 2 ) x 1
0
0
0
1
0,28
1
0,53
1
2
3
0,70
2
4
0,90
3
5
1,06
3
Au rang 3, on a :
do
(I, II)
III
x 3 f3 (x 3 ) x 2
0
0
0
0
0
1 0,28 0,15
1
0,28
1
0,53
2
2 0,53 0,25
2
3 0,70 0,40
3
0,70
3
4 0,90 0,50
4
0,90
4
5 1,06 0,62
5
1,06
5
Loptimum est atteint lorsque x 3 = 0 ; cette rgion nest pas suffisamment
intressante pour investir dedans. Passons ensuite au rang 4 :
x 4 f4 (x 4 ) x 3
5
1,10
4
Loptimum est atteint lorsque x 4 = 4.
La solution est donc la suivante :
Investissement cumul
Investissement
Rendement
1.4.1
I
3
3
0,65
II
4
1
0,25
15
III
4
0
0
IV
5
1
0,20
Total
5
5
1,10
F
Chaque arc a pour valeur le rendement de linvestissement envisag.
FIGURE 1.2 Graphe des investissements
Ici, il faut trouver le chemin de valeur maximale de E F .
16
Chapitre 2
Chemins optimaux dans les
graphes
2.1 Position du problme
Soit G = (X , U) un graphe. Pour tout u U, on note v(u) la valeur de larc
u. Cette valeur peut reprsenter une distance, un temps, ou de faon gnrale
un cot.
Soient (A, B) X 2 . La valeur du chemin est simplement :
X
v(u)
max
pi, j
(i, j)
ou encore
min
log(pi, j )
(i, j)
17
18
x2
19
6
x4
x1
6
3
x6
x3
4
3
x5
2.2.1
Init.
2.2.2
Exemple dapplication
x1
0
0
0
0
0
0
x2
3
3
3
3
3
3
x3
6
6
5
5
5
5
x4
9
9
6
6
6
x5
3
3
3
3
3
3
x6
8
8
7
7
Preuve de lalgorithme
20
2.3.1
Exemple dapplication
x1 x2 x3
x4
x5
x6
(x) 0
3
6 + 3 +
2 (x) 0
3
0
7
3
8
3
(x) 0
3
0
1
3
8
4 (x) 0
3
0
1
3
2
5
(x) 0
3
0
1
3
2
On peut sarrter ds quil y a deux lignes identiques.
1
x2
21
6
x4
3
x1
6
3
x6
x3
2
x5
(m)
(m1)
(m1)
(m1)
i j = min i j
; i,m + m, j
fin pour
fin pour
(n)
(m)
22
Chapitre 3
Flots dans les graphes
3.1 Gnralits
Il ne sagit plus de trouver un chemin, mais de savoir quelle quantit de
matire on peut faire circuler entre deux sommets.
Soit G = (X , U). Soit (s, t) X 2 un couple particulier de sommets ; on
appelle s la source, et t le puits. Pour tout (i, j) U, on note ci j la capacit de
larc, tel que ci j 0.
Flot Pour chaque arc (i, j) U, il faut associer une valeur x i j appelle flux
sur larc (i, j), tel que 0 x i j ci j .
La loi de conservation des flux stipule que
i X \ {s, t},
X
j (i)
x ji =
xi j
j+ (i)
23
24
xi j =
(i, j) (A)
x ji
j+ (t)
xs j +
xt j =
j(t)
do
v=
X
j(x)
X
j (s)
xs j
x js +
x jt
jin 1(t)
x js
j (s)
On ajoute alors un arc fictif de retour de flux v afin que la loi de conservation soit valable en tous les sommets. La valeur v est appele valeur du flot (de
s t).
Exemple 5. Sur la figure 3.3, la valeur du flot est 6. Mais peut-on faire mieux ?
25
4 (10)
4
3 (3)
3 (4)
1 (2)
1 (1)
s
2 (5)
1 (2)
2 (2)
1 (6)
4 (6)
0 (4)
0 (4)
1 (5)
max v =
X
xi j =
j+ (i)
0
3.2.1
Flot maximal
x ji Loi de conservation
x i j ci j
Dfinitions
Dfinition 1. Un flot admissible est un flux qui vrifie les contraintes (mais
non ncessairement optimal).
Dfinition 2. Un flot complet est un flot admissible tel que tous les chemins de
s t comportent au moins un arc satur.
Dfinition 3. Un arc (i, j) est satur ssi x i j = ci j .
Dfinition 4. Soient (i, j) X 2 . Une chane entre i et j est dite augmentante
si tous les arcs orients de i vers j sont non saturs et si tous les arcs orients
de j vers i ont un flux strictement positif (i.e. non nul).
Autrement dit : Soit une chane entre s et t ; on note + les arcs orients
de s vers t, ceux orients de t vers s. Alors :
x i j < ci j (i, j) +
x i j > 0 (i, j)
26
+
FIGURE 3.4 Augmentation de la valeur du flot de
Exemple 6. Laugmentation du flot consiste :
Ajouter sur tous les arcs de +
Retrancher sur tous les arcs de .
Ceci permet daugmenter la valeur du flot de .
La valeur de maximale est
= min min+ (ci j x i j ); min x i j
(i, j)
(i, j)
Dfinition 5. Une coupe note (S, T ) est une partition de X en deux, tel que
s S et t T .
Dfinition 6. On appelle capacit de (S, T ) la grandeur
X
c(S, T ) =
ci j
iS, jT
(i, j)U
(i, j)+ (T )
X
(i, j) (T )
ci j
27
ci j
(i, j) (T )
3.2.2
do
(i, j)+ (T )
ci j = v
(i, j) (T )
Le flot x est donc bien maximal, et (S, T ) est une coupe de capacit minimale.
Thorme 4 (de FordFulkerson). La valeur maximale dun flot est gale la
capacit minimale dune coupe.
Ce thorme illustre bien la notion de goulet dtranglement.
Lalgorithme
28
3.3.2
29
Exemple dapplication
On part dun rseau et dun flot initial. Une premire application de lalgorithme est donne dans la figure 3.5.
s
5 [20]
A
D
10 [10]
15 [35]
20 [20]
15 [15]
35 [35] D
20 [25]
C 30 [30]
F
t
0 [5]
30 [40]
30 [60]
10 [20]
s C
20 [20]
F B
80
FIGURE 3.5 Premire application de lalgorithme
On constate que t est marqu. Cela signifie quon a une chane augmentante ; celle-ci est explicite dans la figure 3.6.
Larc (B, F ) est celui qui va nous limiter. Ainsi, on a le flot donn en figure
3.7.
En reprenant lalgorithme, on ne peut plus marquer F , et donc on ne peut
plus trouver t. Le flot maximal a donc pour valeur v = 85.
La coupe de capacit minimale est
S = {sommets marqus} et T = {sommets non marqus}
donc ici, S = {s, A, B, C, D, E} et T = {F, t}.
30
15 [35] +5
5 [20] +5
15 [15] 5
s
30 [60] +5
0 [5] +5
F
FIGURE 3.6 Chane augmentante trouve par lalgorithme
10 [20] A
10 [10]
20 [35]
10 [15]
35 [35] D
20 [25]
20 [20]
C 30 [30]
5 [5]
30 [40]
35 [60]
10 [20]
s C
20 [20]
85
FIGURE 3.7 Flot obtenu lissue de lalgorithme
Chapitre 4
Ordonnancement
4.1 Gnralits
On se donne un projet avec de multiples tches, et on souhaite organiser
le mieux possible lexcution de ces tches.
Cette application de la recherche oprationnelle a vu le jour dans les annes 1960, avec la mthode PERT (Program Evaluation and Review Technique)
et la mthode des potentiels.
Les critres doptimisation sont les suivantes :
la date dachvement du projet : on va essayer de terminer le plus tt
possible ;
lutilisation des ressources : on va essayer de lisser lutilisation des ressources (personnels, matriels, financiers. . . ) afin de ne pas provoquer
trop d-coups.
On a alors les types de contraintes suivants :
1. Contraintes potentielles :
Contrainte dantriorit : la tche i ne peut commencer que quand j
est acheve) ;
Localisation temporelle : la tche i ne peut commencer avant une date
d ou doit tre termine avant la date d .
2. Contraintes cumulatives (sur les moyens) : respect les moyens disponibles ;
3. Contraintes disjonctives : les tches i et j ne peuvent tre ralises simultanment (pour des raisons de scurit, par exemple).
Le but est donc de dterminer un ordre et un calendrier dexcution des
tches, qui minimise la dure totale de ralisation du projet.
31
CHAPITRE 4. ORDONNANCEMENT
32
i
j
l
E
m
n
4.2.1
Exemple de diagramme
Tche
a
b
c
d
e
f
g
h
i
j
k
l
Dure
1
2
1
1
2
1
2
2
1
2
1
2
Dpendances
(aucune)
a
b
c
a
e
f
f
g
h, i
d, j
k
33
h
2
Dbut
a
1
1
e
2
2
f
g
j
i
l
k
4
7
9
5
6
2
2
2
1
1
1
c
8
1
Fin
d
1
4.2.2
Dpendances
(aucune)
(aucune)
a
b
d
c, d
e, f
a
Dbut
dure 0
b
2
Fin
4.2.3
Dfinitions
t j (i)
CHAPITRE 4. ORDONNANCEMENT
34
0
Dbut
1
a
1
1
h
2
4
7
9
10
f
g
j
i
l
k
4
7
9
5
6
2
2
2
1
1
1
6
b
2
4
3
d
c
1
3
8
1
e
2
3
2
12
Fin
0
Dbut
1
a
1
1
h
2
4
7
9
10
f
g
j
i
l
k
4
7
9
5
6
2
2
2
1
1
1
6
b
2
7
8
d
c
1
3
8
1
e
2
3
2
12
Fin
35
Autrement dit :
t i = t Fin val. du chemin de val. max de i Fin
ou encore
t i = min
(t j di j )
+
j (i)
Exemple 9. Les dates au plus tard de la figure 4.5 sont reprsentes en violet.
4.2.4
Dfinition 11. La marge libre est le retard maximal qui peut tre pris dans la
ralisation de la tche, sans modification de la date au plus tt de lvnement
terminal. Autrement dit :
mi j = t j t i di j
Dfinition 12. La marge totale est le retard maximal sur la tche qui ne modifie pas la date au plus tard de lvnement terminal. Autrement dit :
Mi j = t j t i di j
4.2.5
ai
5
6
9
7
8
6
4
5
bi
7
4
8
5
10
6
3
6
CHAPITRE 4. ORDONNANCEMENT
36
bsup = 60
si ai < bi alors
K = K +1
S(K) = i
sinon
L = L+1
T (L) = i
fin si
supprimer la pice i
fin tant que
renvoyer ordre optimal S(1), S(2), . . . , S(K), T (L), . . . , T (1)
lissue de lexcution de lalgorithme, on obtient :
S = (1, 8, 5)
T = (7, 2, 4, 6, 3)
Chapitre 5
Mthodes dnumration implicite
Aussi appeles :
procdures arborescentes
procdures par sparation et valuation
procdures branch and bound
1
2
3+
9 + 8(m n)
Dfinitions
Dfinition 13 (valuation). tant donn S S, on dit quon sait valuer S si
on connat un rel g(S ) tel que s S , g(S ) f (s).
Dfinition 14. Si g(S ) = min f (s), il sagit dune valuation exacte.
sS
37
38
v2
v1
v3
v4
v7
v5
v6
Si = Si
j=1
39
40
+ 2
1
3
4
5
7
1 + 6
3 + 8
2
4
7
4 + 1
5
2
3
5
2 +
chaque ligne, on soustrait les lments de la ligne par la plus petite valeur
de la ligne. On obtient alors :
+ 1
0
2
3
4
6
0 + 5
1 + 6
0
2
6
3 + 0
4
0
1
3
0 +
On fait la mme chose sur chaque colonne :
+ 0
0
2
3
4
6
0 + 5
0 + 6
0
2
5
3 + 0
4
0
0
3
0 +
Proprit 8. La valeur de tout chemin hamiltonien est suprieure ou gale la
somme des lments soustraits.
Dmonstration. On pose x i j telle que :
(
1 ssi (i, j) chemin hamiltonien
xi j =
0 sinon
41
Or
i,
j6=i
x i j = 1 et j,
j6=i
xi j = 1
i6= j
t i0j
On pose
= t i j i j , o i est la quantit soustraite la ligne i, et j
la quantit soustraite sur la colonne j. Formellement, on a :
i = min t i j
j = min(t i j i )
j6=i
XX
|
t i0j x i j +
j6=i
{z
0
X
i
X
j6=i
xi j +
| {z }
xi j
i6= j
| {z }
1
Ainsi, on peut crire que la valeur de tout chemin hamiltonien est suprieur
ou gal
X
X
i +
j
Dans notre exemple, cette borne infrieure vaut 8.
5.3.1
Calcul du regret
Le regret dun arc (i, j) est la somme de la plus petite valeur de la ligne i et
la plus petite valeur de la colonne j.
La sparation se fait sur larc de valeur 0 et de regret maximal. On calcule
donc tous les regrets sur tous les arcs de valeur 0, et on constate que celui de
regret maximal est larc (B, A), qui vaut 4.
On supprime ensuite la ligne B et la colonne A de la matrice. On interdit
galement de prendre larc (A, B). On continue les calculs avec la matrice
+ 0
2
3
0
0 + 6
3 + 0
5
0
3
0 +
42
(B, A)
V 8 non (B, A)
V 8+0=8
V 8 + 4 = 12
non (A, C)
(A, C)
(D, E)
V 8+0=8
(C, E)
(D, B)
(E, D)
V = 13
non (D, E)
V 8 + 5 = 13
V 12 + 0 = 12
V 12 + 3 = 15
non (C, E)
V 14
FIGURE 5.2 Sparation
On choisit dinclure larc (B, A). Alors, en rptant le mme procd, on fait
ensuite la sparation sur larc (A, C), puis sur (C, E), et ainsi de suite.
On trouve finalement un circuit optimal de valeur 12.
Chapitre 6
Programmation linaire
On cherche optimiser une fonction f linaire sous des contraintes linaires.
La forme gnrale dun programme linaire est la suivante :
min
n
X
cj x j
j=1
n
X
ai j x j bi , i M
j=1
n
X
ai j x j = bi , i M
j=1
44
n
X
mi x i
i=1
s.c.
xi
xi
Pn
a x
i=1 i j i
xi
x imax i 1, n
x imin i 1, n
bj
j 1, m
0
i 1, n
6.1.1
Optimisation fractionnaire
Pn
ai j x j
xj
b0 , b j , a j
c0
j=1
>
b0 +
c0 +
Pn
j=1
bj x j
j=1
cj x j
Pn
di i 1, m
0 j 1, n
0
0
En posant
yj =
c0 +
xj
Pn
j=1
t=
cj x j
c0 +
1
Pn
j=1
n
X
bj yj
j=1
s.c.
Pn
a y
Pn j=1 i j j
c0 t + j=1 c j + y j
yj
t
di t i 1, m
1
0
j 1, n
0
cj x j
6.1.2
45
5
4
3
0
x2
5
4
(2, 3)
3
x 1 + 3x 2 = 11
2
1
0
x1
4
5
x 1 + 3x 2 = 0
6.1.3
Forme canonique
min cx
Ax b
x0
46
n
X
ai j x j bi
j=1
n
X
ai j x j bi
j=1
ai j x j bi
j=1
en
n
X
ai j x j + si = bi , si 0
j=1
6.1.4
A = B N (par blocs)
et
x=
xB
xN
(par blocs)
Bx + N xN = b
B 1 BxB + B 1 N xN = B 1 b
47
et donc
xB + B 1 N xN = B 1 b
(6.1)
x 1 + 2x 4 + 3x 5
2x 2 + 4x 4
2x 1 + x 2 + 2x 3 + 2x 5
x1, x2, . . . , x5
=
=
=
2
6
9
0
1 0 0 2 3
A = 0 2 0 4 0
2 1 2 0 2
1 0 0
4
0
0
2
1
1
2 0
B = 0 2 0
b = 6
B = 0
4 4 1 2
2 1 2
9
La solution de base ralisable est
x1 = 2
x2 = 3
x3 = 1
x4 = 0
x5 = 0
de valeur 13.
Lensemble X = {x : Ax b, x 0} est un polytope convexe.
Dfinition 17. On appelle point extrme tout point x X qui ne peut tre
exprim comme combinaison convexe dautres points y X ( y 6= x).
Thorme 9. Lensemble des points extrmes de X correspond lensemble des
solutions de base ralisables.
Corollaire 10. X admet un nombre fini de points extrmes. Le nombre de solutions de base est infrieur ou gal Cnm .
48
Corollaire 11. Tout point dun polytope convexe X peut sexprimer comme une
combinaison convexe des points extrmes de X .
Thorme 12 (Thorme central de la programmation linaire). Loptimum
de z fonction linaire sur le polytope convexe X est atteint en au moins un point
extrme.
Sil est atteint en plusieurs points extrmes, alors il est atteint en tout point
combinaison convexe de ces points extrmes.
Dmonstration. Soient y 1 , y 2 , . . . , y K les points extrmes de X .
Soit z = min z( y k ). Montrons que z est le minimum de z sur X .
k1,K
Soit x X . Alors
x=
K
X
k 0,
k yk
k = 1
k=1
K
X
k z( y k )
k=1
K
X
k z
k=1
6.2.1
49
x2
5
4
3
2
1
0
x1
j N , j = cj
ci ai j 0
iB
ai j x j = b i
jN
do
x i = b i
X
jN
ai j x j
50
ci x i +
iB
jN
b i
ci
iB
X
iB
= z +
cj x j
!
+
ai j x j
jN
ci b i +
X
cj x j
jN
cj
xj
ci ai j
iB
jN
j x j
jN
o
z =
ci b i
j = cj
iB
ci ai j
iB
Si pour tout j N , les j sont positifs ou nuls, alors toutes les solutions
admissibles donnent z une valeur suprieure ou gale z.
Condition ncessaire
Supposons s < 0 pour un s N . Soit i B. Alors :
X
x i = b i
ai j x j
jN
= b i
z=
ai j x j ais x s
jN
j6=s
ci b i +
iB
j x j + s x s
jN
j6=s
Sans toucher aux autres variables hors base, on peut augmenter x s dune
valeur telle que :
= min
iB
a is >0
b r
a rs
b i
ais
51
ci b i + s
iB
Exemple 13.
min Z(x) = 2x 1 3x 2 + 5x 3
s.c.
x 1 2x 2 + x 3 x 4 = 4
x 2 + 3x 3 + x 5 = 6
2x 1 + x 3 + 2x 4 + x 6 = 7
x1, . . . , x6 0
Ici, B = {1, 3, 6} et N = {2, 4, 5}. Autrement dit :
1 1
B = 0 3
2 1
1 7
1
B N= 3
3 13
3
1
0
1
3 0
B 1 = 0
3 6 1 3
2
1
B b = 2
1
0
1
3 1
0
1
12 1
x3 = 2
x6 = 1
x2 = 0
x4 = 0
x5 = 0
z = 14
et
2 = 0
4 = 0
5 = 1
52
N = {2, 4, 6}
do
x1 = 3
x2 = 0
x3 = 1
x4 = 0
x5 = 3
x6 = 0
z = 11
On recalcule les i et on constate quils sont tous positifs ; ceci est notre
critre darrt.
6.2.2
6.2.3
Soit le problme :
max 4x 1 + 12x 2 + 3x 3
s.c.
x1
x2
x3
3x 1 + 6x 2 + 2x 3
x1, x2, x3
1000
500
1500
6750
0
53
b r
a rs
b i
a
a is >0 is
= min iB
fin si
fin si
considrer la nouvelle base dduite de B en remplaant la colonne r par la
colonne s.
reprendre partir des calculs de B 1 N
s.c.
x1 + x4
x2 + x5
x3 + x6
3x 1 + 6x 2 + 2x 3 + x 7
x1, . . . , x7
1000
500
1500
6750
0
1 0 0 1 0 0 0
1000
0 1 0 0 1 0 0
500
A=
b=
0 0 1 0 0 1 0
1500
3 6 2 0 0 0 1
6750
Une solution de base ralisable est :
x1 = 0
x 4 = 1000
x2 = 0
x 5 = 500
x3 = 0
x 6 = 1500
z = 0
x 7 = 6750
On trouve 1 = 4, 2 = 12, 3 = 3, et 4 = = 7 = 0.
54
0
4
1 0 0 1 0 0 0
1000
12
2
0 1 0 0 1 0 0
500
ci = i B = A =
b=
0
6
0 0 1 0 0 1 0
1500
0
7
3 0 2 0 6 0 1
3750
et 1 = 4, 2 = 0, 3 = 3, 4 = 0, 5 = 12, 6 = 7 = 0. Ce qui donne :
x1 = 0
x 4 = 1000
x3 = 0
x 2 = 500
x5 = 0
x 6 = 1500
z = 6000
x 7 = 3750
1000
1 0 0 1
0 0 0
4
1
1 0 0
500
0 1 0 0
12
2
ci = i B = A =
b=
0 1 0
1500
0 0 1 0
0
6
0 0 2 3 6 0 1
750
7
0
et 3 = 3, 4 = 4, 5 = 12, 1 = 2 = 6 = 7 = 0.
Il faut ensuite encore quelques autres itrations. La solution optimale quon
trouve ainsi est :
x 1 = 250
x 4 = 750
x 2 = 500
x5 = 0
x 3 = 1500
x6 = 0
z = 11500
x7 = 0
Cet algorithme nest pas fait pour tre fait la main, cependant.
55
j x j
jN
Cependant, tous les problmes ne se posent pas toujours comme cela. Supposons que le problme soit dj sous la forme standard, i.e. :
max cx
(P) Ax = b
x0
6.3.1
m
X
(PA)
n
X
min =
vi
i=1
ai j x j + vi = bi
i 1, m
xj 0
v1 0
j 1, n
i 1, m
j=1
56
Thorme 16. Si (P) admet une solution ralisable, alors (PA) admet une base
optimale qui est une base ralisable de (P). On note la valeur optimale de
(PA).
Dmonstration. Considrons une base optimale J de (PA).
1. Si > 0, alors (P) na pas de solution.
2. Si = 0 et toutes les variables artificielles sont hors base, alors J est
une base ralisable du problme initial.
3. Si = 0 mais certaines variables artificielles (bien que nulles) sont dans
la base (dgnrescence) : une telle variable (dindice note r) scrit
vr +
a r j x j +
jN
a r i vi = b r = 0
iN
(a) Si j N , a r j = 0 : on obtient
vr +
a r i vi = 0
iN
6.3.2
Exemples dapplication
max z
x
+
2x
1
2 + x3
x 1 + x 2 + 5x 3
x 1 + 2x 2 + 6x 3 + x 4
x1, x2, x3, x4
=
=
=
=
min
x
+
2x
+
x
1
2
3 + v1
x 1 + x 2 + 5x 3 + v2
x
1 + 2x 2 + 6x 3 + x 4
x 1 , . . . , x 4 , v1 , v2
x1 + x2 + x3 + x4
2
12
13
0
=
=
=
=
v1 + v2
2
12
13
0
57
x1 = 0
v2 = 12
x2 = 0
x 4 = 13
x3 = 0
= 14
x1
1
1
1
x2
2
1
2
x3
1
5
6
2 3 6
x4 v1 v2
0 1 0 2
0 0 1 12
1 0 0 13
0
= 14.
On a
On choisit la ligne 1 et la colonne 3 comme pivots.
ci B x1
x2 x3 x4 v1 v2
0 x3 1
2
1 0 1 0 2
1 v2 4 9 0 0 5 1 2
0 x 4 5 10 0 1 6 0 1
= 2. Comme tous les i sont positifs, nous avons l une solution optiavec
male de (PA) :
x3 = 2
x1 = 0
x4 = 1
x2 = 0
v2 = 2
v1 = 0
=2
58
max z = x 1 + x 2 + x 3 + x 4
2x
2 + x3 = 2
x 1 + x 2 + 5x 3 = 12
x 1 + 2x 2 + 6x 3 + x 4 = 13
x1, x2, x3, x4 0
Le problme auxiliaire correspondant est :
min =
2x
+
x
2
3 + v1 =
x 1 + x 2 + 5x 3 + v2 =
x 1 + 2x 2 + 6x 3 + x 4 =
x 1 , . . . , x 4 , v1 , v2
v1 + v2
2
12
13
0
x1
0
1
1
x2
2
1
2
x3
1
5
6
x4 v1 v2
0 1 0 2
0 0 1 12
1 0 0 13
1 3 6
1
2
1
2
x3 = 0
x2 = 1
x4 = 0
v2 = 0
v1 = 0
=0
59
Nous avons une solution optimale, mais nous avons encore une variable
artificielle dans notre base. Nous allons alors enlever cette variable et en ajouter une autre non artificielle, en utilisant comme pivot la ligne 2, colonne 4.
Cela donne :
ci B x1 x2 x3 x4 v1 v2
1
0 x 2 0 1 12 0
0
1
2
1 x 4 0 0 21 1 12 1 0
0 x 1 1 0 29 0 12 1 11
1
2
1
2
x3
x4
0 1
1 0
0 11
92
1
2
1
2
9
2
avec z = 12. La solution est demble optimale, 1 ce qui nest pas toujours le
cas ! Ainsi :
x 1 = 11
x3 = 0
x2 = 1
x4 = 0
z = 12
6.3.3
n
X
c j x j +M
j=1
| {z }
m
X
vi
i=1
fonc. co de (P)
60
Chapitre 7
Processus alatoires (ou
stochastiques)
On se donne un ensemble de variables alatoires {X (t), t T }. On dit
aussi que X (t) est la valeur du processus linstant t.
Lensemble T est lensemble des paramtres (discrets ou continus). Lensemble des valeurs du processus est appel espace des tats ; cet ensemble peut
tre discret ou continu.
Exemple 16 (File dattente). On se donne un guichet o viennent se servir
des clients. Chaque client est servi pendant un temps alatoire. On note X (t)
(t [0; +[) le nombre de clients dans le systme dattente linstant t.
Lespace des tats est N.
7.1.1
Processus de Poisson
Il sagit dun processus de Markov homogne dont lespace des tats est
discret, mais lensemble des paramtres est continu.
61
62
>0
= P0 (t) +
dt
dt
do
P0 (t) = P0 (t)
En rsolvant cette quation diffrentielle, on obtient
P0 = cet
cR
63
Pour m = 1, on a :
P1 (t) + P1 (t) = et
La rsolution de cette quation-l donne
P1 (t) = t et
En appliquant le raisonnement analogue, on obtient de faon gnrale :
Pm (t) =
7.1.2
(t)m et
m!
(7.1)
Processus de naissance
Ceci est une premire gnralisation du processus de Poisson. Soit un processus {X (t), t [0, +[ o X (t) est leffectif dune population linstant t.
On suppose que X (0) = 0. Les postulats deviennent les suivants :
P r(X (t + h) X (t) = 1|X (t) = k) = k h + o(h)
P r(X (t + h) X (t) = 0|X (t) = k) = 1 k h + o(h)
Pendant lintervalle de temps h (quon fera tendre vers 0), il y a deux possibilits : une naissance ou zro naissance.
Pour tout (m, t) N R+ , on note Pm (t) la probabilit que leffectif de la
population soit gale m linstant t.
Calcul de Pm (t)
Soit t 0 et d t > 0. On a :
P0 (t + d t) = P0 (t)(1 0 d t)
P0 (t) = 0 P0 (t)
et
Pm (t + d t) = Pm1 (t)m1 d t + Pm (t)(1 m d t)
64
Pm (p) = m1
Pm1 (p)
p + m
et pour m = 0 :
pP0 (p) p = 0 P0 (p)
P0 (p) =
p + 0
ce qui donne :
P1 (p) =
P2 (p) =
0
p + 1
1
p + 2
P0 (p)
P1 (p)
..
.
Pm (p) =
m1
Pm1 (p)
p + m
m1
Y
i
P0 (p)
=
p + i+1
i=0
=
m1
Y
i=0
p + i+1
t et
m!
7.1.3
65
Naissance
Mort
et pour m 1 :
Pm (t + d t) = Pm1 (t)m1 d t + Pm (t)(1 m1 d t m1 d t)
+ Pm+1 (t)m+1 d t
do
Pm (t) = m1 Pm1 (t) (m + m )Pm (t) + m+1 Pm+1 (t)
Afin dallger les notations, on pose
n =
0 . . . n1
+
X
1 . . . n
k=1
k converge
66
Soit m 1. On a :
m1
m
Pm1
..
.
P1 =
0
1
P0
et donc
Pm =
0 . . . m1
1 . . . m
P0
et donc
Pm = m
1+
+
X
!1
i
i=1
P0
Pm =
| {z }
m
Pm = 1 P0
=1
m=0
m=0
!
+ m 1
X
P0 =
m=0
P0 = 1
< 1, sinon
67
Exemple dapplication
En utilisant le modle dmographique de croissance linaire avec immigration, on a ici :
Taux de naissance : n = n + a
Taux de mort : n = n
On note toujours X (t) leffectif de la population linstant t, et on souhaite
toujours calculer Pn (t) = Pr(X (t) = n).
P0 (t + d t) = P0 (t)(1 a d t) + P1 (t) d t
et donc
P0 (t) = aP0 (t) + P1 (t)
Pour n 1 :
Pn (t + d t) = Pn1 (t)((n 1) + a)d t + Pn (t)(1 (n + a + n)d t)
+ Pn+1 (t)(n + 1) d t
ce qui donne
Pn (t) = ((n 1) + a) Pn1 (t) (n + a + n)Pn (t) + (n + 1)Pn+1 (t)
On note M (t) lesprance mathmatique de leffectif linstant t. Ainsi :
M (t) =
+
X
M (t) =
nPn (t)
n=0
+
X
nPn (t)
n=0
M (t) =
at + i
i
si =
exp(( )t) +
sinon
68
p (pile) si j = i + 1, i 6= 0
q (face) si j = i 1, i 6= s
pi j =
1
si i = 0 ou i = s
0
dans les autres cas
7.2.1
Soit une chane de Markov avec r tats. La matrice (pi j )(i, j)1,r2 est une
matrice stochastique, i.e.
i 1, r,
r
X
j=1
pi j = 1
69
1 0 0 0 0 ... 0 0 0
q 0 p 0 0 . . . 0 0 0
0 q 0 p 0 . . . 0 0 0
0 0 q 0 p . . . 0 0 0
.. .. .. .. .. . . .. .. ..
. . . . .
. . . .
0 0 0 0 0 . . . q 0 p
0 0 0 0 0 ... 0 0 1
avec p + q = 1.
Dfinition 21. Soit P = (pi j ) une matrice carre dordre r. Cette matrice est
dite stochastique si :
(i, j) 1, r2 , pi j [0; 1] ;
Pr
p = 1.
i 1, r,
j=1 i j
On pose Q(n) une distribution de la probabilit des tats la transition n
telle que
Q(n) = (q1 (n), . . . , qi (n) . . . , q r (n))
o qi (n) est la probabilit dtre dans ltat i la transition n. Ainsi, on a :
qi (n + 1) =
r
X
qk (n)pki
k=1
7.2.2
P = 21 0 14 0 41
0 13 0 31 0
1 0 0 0 0
70
4
2
5
p
0
p
2
p
3 i 1
p
i
p
i+1
s1
s
1
7.2.3
Dfinition 22. Soient E1 , E2 , . . . , E r des tats. On dfinit une relation dquivalence R telle que :
(n)
(m)
71
Fi j = lim Fi j
n+
Dfinition 27. Ei est un tat transitoire ssi Fii < 1. Ei est dit persistant si
Fii = 1.
Pour chaque tat Ei , on calcule di = pgcd{n | pii > 0}. Il sagit, en fait, du
PGCD de la longueur des circuits passant par ltat i.
Dfinition 28. Ltat Ei est :
priodique de priode di si di > 1 ;
72
E1
E2
E1 , E2 transitoires
E3 , E4 persistants
E4
E3
7.2.4
Une autre mthode est dutiliser le fait que si Q est la distribution limite,
alorsP
Q = Q P. Cela donne un systme dquations linaires. En outre, il faut
r
que i=1 qi = 1.
73
Exemple 20. Dans le graphe de la figure 20, il y a une classe finale non priodique, donc la chane est rgulire.
La matrice P de transition est donne par :
1 1
0 0
2
2
2
1
0 0 3 3
P = 1 1
2 2 0 0
0 0 1 0
On doit alors rsoudre le systme dquations
(q1 , . . . , q4 ) =
q1 + q2 + q3 + q4 =
q1 =
q2 =
q3 =
q4 =
1
3q1 + q1 = 1
3
3
q1 = q2 = q3 =
; q4 =
10
(q1 , . . . , q4 )P
1
1
q + 21 q3
2 1
1
q + 21 q3
2 1
2
q + q4
3 2
1
q
3 2
1
10
74
Chapitre 8
Phnomnes dattente
On se donne un guichet (ou station) qui sert une file de clients (aussi appels units). Cette file est illimite, et on applique la discipline premier arriv,
premier servi .
Les arrives sont poissoniens, i.e. la probabilit darrive de k clients pendant une dure t vaut
et (t)k
k!
o est le taux darrive.
Les services sont exponentiels, i.e. la dure du service suit une loi de densit et , o est le taux de service.
On souhaite calculer Pn (t), la probabilit davoir n clients dans le systme
linstant t.
Soit la variable alatoire de lintervalle de temps entre deux arrives
conscutives. Alors :
F (t) = Pr( t) = 1 P0 (t)
f (t) = et
= 1 et
75
0 n1
1 n
P0
76
Ici, tous les i sont gaux, ainsi que tous les i . On rappelle alors quon
trouvait
P0 = 1
et donc
Pn =
8.1.1
n
Calculons le nombre moyen de clients dans le systme en rgime permanent. En dautres termes : lesprance de X (t) quand t + :
=
n
+
X
nPn
n=0
+ n
X
1
=
n
n=0
+ n1
X
= 1
n
n=1
+ n
= 1
n=0
1
= 1
1
= 1
2
1
et donc
=
n
77
=
n
= 1,5 client
12
P0 = 1
8.1.2
18
30
+
X
(n 1)Pn
n=2
+
X
nPn
n=2
+
X
Pn
n=2
1 + P0
=n
Pn =
n
1 2n
P0
n!n
=
n
P0
S!S nS n
Sachant que
P+
n=0
si 1 n S
P0
si n S
Pn = 1, on a :
P0 =
S1
X
1 n
n=0
n!
+ n
X
n=S
1
S!S nS
!1
78
En outre :
S X
1 + nS
do
S!
n=S
S
S! 1
1
S
S1
X
n 1
+
P0 =
n!
S! 1
n=0
< 1.
Un rgime permanent est possible condition que S
On peut alors recalculer la densit f de la variable alatoire du temps
dattente. On obtient alors la probabilit dattendre plus que pour tre servi.
Combien faut-il alors ouvrir de guichets pour que la probabilit dattendre
plus que soit infrieure une certaine valeur Pmax ?
Chapitre 9
Fiabilit des quipements
9.1 Gnralits
On se donne des quipements pour lesquels on a observ une certaine
fiabilt, et on souhaite optimiser lutilisation de ces quipements afin de minimiser les problmes dexploitation ds des pannes.
Dfinition 30. Soit T une variable alatoire. On appelle fiabilit dun quipement la grandeur
v(t) = Pr(T > t)
i.e. la probabilit que lquipement fonctionne encore correctement au bout
dun temps t.
On appelle fonction de mortalit (note i(t)) la densit de T . Ainsi :
Pr(t < T < t + d t) = i(t)d t
et
d(1 v(t)
= v (t)
dt
Le taux davarie, not (t), est donn par la formule
i(t) =
i(t)d t
v(t)
v (t)
v(t)
[t v(t)]+
0
v(t)d t
0
79
80
t =
v(t)d t
0
v (t)
v(t)
et
et
(t)
k1 t
X
e (t)n
n=0
k1
n!
(k 1)!
1. Ce modle nest plus souvent utilis en pratique, mais il savre pertinent dans le cas o
le matriel nest pas sujet lusure.
81
v (t)
v(t)
= p(t)
do
Z
log v(t) =
p(u)du
0
et donc
v(t) = exp
p(u)du
0
9.5.1
Systme en srie
82
v1 (t)
v2 (t)
vn (t)
n
Y
vi (t)
i=1
9.5.2
Systme en parallle
v1 (t)
v2 (t)
..
.
vn (t)
n
Y
(1 vi (t))
i=1
do
v(t) = 1
n
Y
(1 vi (t))
i=1
Exemple 23. On peut alors imaginer des systmes en srie mis en parallle,
ou des systme en parallle mis en srie. Lesquels sont les plus fiables ?
83
i(u) Pm1 (t u) du
0
Pm1 (p)I(p)
p
1
p
I(p)m V (p)
i(u) du
0
on obtient alors
V (p) = 1
I(p)
p
et donc
m
p(1 V (p) V (p)
p
m
= 1 V (p) V (p)
Pm (p) =
84
p
p+
et donc
Pm (p) =
= m
m
p+
p
p
p+
(p + )m+1
et (t)m
m!
9.7.1
85
avec
Z
t =
v(t) d t
Z
t =
t i(t) d t +
Z
i(t) d t
v(t) d t
0
9.7.2
Conclusion
t =
pe
p+P
1
<0
<0
ce qui est impossible. Ce rsultat est cependant attendu, car dans ce cas prcis,
il ny a pas dusure. . .
86
Annexe A
Transforme de Laplace
Soit f une fonction dfinie sur R+ . On note L f (x) ou F la transforme de
Laplace de f , qui est une fonction de C et qui sexprime par :
Z
ep x f (x)d x
L f (x): p 7 p
0
Transformes usuelles
La = a
a
Lax =
p
Leax =
L
Z
df
dx
Le ax f (x) =
L
L
0
p+a
f (u)du =
n1
e ax =
1
p
L f (x)
p
pa
p
(p + a)n
1
f1 (x) f2 (x u)du = F1 (p)F2 (p)
p
(n 1)!
87