Transport
Transport
Problèmes de transport
Fabian Bastin
DIRO
Université de Montréal
1 / 52
Problèmes de transport
Beaucoup de problèmes linéaires présentent certaines structures qui
simplifient grandement leur résolution.
2 / 52
Formulation
3 / 52
Formulation
Programme mathématique :
m X
X n
min cij xij
x
i=1 j=1
Xn
s.à. xij = ai , i = 1, 2, . . . , m
j=1
m
X
xij = bj , j = 1, 2, . . . , n
i=1
xij ≥ 0, ∀ i, j.
4 / 52
Formulation
x11 + . . . + x1n = a1
x21 + . . . + x2n = a2
..
.
xm1 + . . . + xmn = am
x11 +x21 +xm1 = b1
x12 +x22 +xm2 = b2
..
.
x1n +x2n +xmn = bn
5 / 52
Formulation
En d’autres termes, la matrice A a la structure
T
1
1T
A=
.
.
.
T
1
I I ... I
3 4 6 8 9
a = (30, 80, 10, 60) 2 2 4 5 5
C=
b = (10, 50, 20, 80, 20) 2 2 2 3 2
3 3 2 4 2
7 / 52
Généralisation
Il est facile d’étendre la formulation au cas plus réaliste où
n
X m
X
xij ≤ ai , i = 1, . . . , m, xij ≥ bj , j = 1, . . . , n,
j=1 i=1
Soit P
S la demandePntotale (et donc, l’offre totale) :
S= m i=1 a i = j=1 bj .
ai bj
xij0 = , i = 1, 2, . . . , m, j = 1, 2, . . . , n,
S
est réalisable :
n n
X X ai b j
xij0 = = ai
S
j=1 j=1
m m
X X ai bj
xij0 = = bj
S
i=1 i=1
11 / 52
Redondance
12 / 52
Théorème
Preuve
13 / 52
Théorème
Nous avons donc le système d’équations
n
X
x1j − a1 = 0
j=1
n
X
x2j − a2 = 0
j=1
..
.
n
X
xmj − am = 0
j=1
m
X
xi1 − b1 = 0
i=1
..
.
m
X
xi,n−1 − bn−1 = 0
i=1
14 / 52
Théorème
Supposons par l’absurde qu’il existe une combinaison linéaire des
équations restantes qui soit nulle.
Notons les coefficients d’une telle combinaison αi , i = 1, 2, . . . , m,
et βj , j = 1, 2, . . . , n − 1 :
m n n−1 m
!
X X X X
αi xij − ai + βj xij − bj = 0.
i=1 j=1 j=1 i=1
Dès lors, αi = 0, i = 1, 2, . . . , m.
15 / 52
Théorème
Il reste
n−1 m
!
X X
βj xij − bj = 0.
j=1 i=1
16 / 52
Découverte d’une solution réalisable de base
Du théorème précédent, on voit qu’une base pour le problème de
transport consiste de m + n − 1 vecteurs, et qu’un solution
réalisable de base-non dégénérée consiste de m + n − 1 variables.
Tableau de solution :
x11 x12 x13 ... x1n a1
x21 x22 x23 ... x2n a2
.. .. .. .. .. ..
. . . . . .
xm1 xm2 xm3 ... xmn am
b1 b2 b3 ... bn
18 / 52
Règle du coin Nord-Ouest : exemple
10 20 30
30 20 30 80
10 10
40 20 60
10 50 20 80 20
19 / 52
Règle du coin Nord-Ouest : dégénérescence
30 30 30 30
20 20 40 20 20 0 40
0 20 20 20 20
20 40 60 20 40 60
50 20 40 40 50 20 40 40
20 / 52
Solutions de base
21 / 52
Matrices triangulaires
1 2 0 1 0 2 4 0 0 0 0 0
4 1 0 5 0 0 1 2 0 0 0 0
0 0 0 4 0 0 → 5 1 4 0 0 0
2 1 7 2 1 3 1 2 1 2 0 0
2 3 2 0 0 3 0 3 2 3 2 0
0 2 0 1 0 0 2 1 2 3 7 1
22 / 52
Théorème de triangularité de base
x11 + . . . + x1n = a1
x21 + . . . + x2n = a2
..
.
xm1 + . . . + xmn = am
x11 +x21 +xm1 = b1
x12 +x22 +xm2 = b2
..
.
x1n +x2n +xmn = bn
23 / 52
Théorème de triangularité de base
Changeons le signe de la demi-partie supérieure du système ; la
matrice de coefficients consiste d’entrées égales à +1, -1 ou 0.
24 / 52
Théorème de triangularité de base
De la matrice de coefficients résultante, on forme une base B en
sélectionnant un sous-ensemble non singulier de m + n − 1
colonnes.
25 / 52
Théorème de triangularité de base
26 / 52
Théorème de triangularité de base : illustration
27 / 52
Procédure de triangularisation
28 / 52
Théorème de triangularité de base : illustration
Sont dans la base : x11 , x12 , x22 , x23 , x24 , x34 , x44 , x45 , pour le
système d’équations
x11 + x12 = 30
x22 + x23 + x24 = 80
x34 = 10
x44 + x45 = 60
x11 = 10
x12 + x22 = 50
x23 = 20
x24 + x34 + x44 = 80
x45
=
20
29 / 52
Théorème de triangularité de base : illustration
30 / 52
Théorème de triangularité de base : illustration
31 / 52
Théorème de triangularité de base : illustration
La première ligne est fixée, et nous devons identifier une ligne avec
un seul élément non nul dans les colonnes 2 à 8. C’est le cas de la
septième ligne, que nous permutons avec la première.
1 0 0 0 0 0 0 0 x11 10
0 0 0 1 0 0 0 0 x12 20
0 0 0 0 0 1 0 0 x22 10
0 0 0 0 0 0 1 1 x23 60
1 1 0 0 0 0 0 0 x24 = 30
0 1 1 0 0 0 0 0 x34 50
0 0 1 1 1 0 0 0 x44 80
0 0 0 0 1 1 1 0 x45 80
32 / 52
Théorème de triangularité de base : illustration
33 / 52
Théorème de triangularité de base : illustration
34 / 52
Théorème de triangularité de base : illustration
35 / 52
Théorème de triangularité de base : illustration
36 / 52
Théorème de triangularité de base : illustration
37 / 52
Théorème de triangularité de base : illustration
38 / 52
Théorème de triangularité de base : illustration
39 / 52
Solutions entières
Il suit que si les lignes et les colonnes originales sont entières, les
valeurs de toutes les variables de base sont entières.
40 / 52
Application du simplexe
Idée : exploiter le fait que les bases sont triangulaires.
Théorème 1
Si les coûts cij d’un problème de transport sont tous entiers,
alors (en supposant qu’un multiplicateur du simplexe est posé ar-
bitrairement comme égal à un entier fixé), les multiplicateurs du
simplexe associés à n’importe quelle base sont entiers.
42 / 52
Multiplicateurs du simplexe
De
rDT = cDT − λT D,
nous avons
(
cij − ui − vj si xij est hors base,
rij =
0 si xij est variable de base.
43 / 52
Multiplicateurs du simplexe
44 / 52
Exemple
En reprenant l’exemple précédant, et en posant (arbitrairement)
v5 = 0
3 4 6 8 9 x
2 2 4 5 5 x
2 2 2 3 2 x
3 3 2 4 2 x
x x x x 0
On parcourt alors le tableau à la recherche d’un élément dont un
seul multiplicateur est inconnu. Il s’agit ici de l’élément inférieur
droit, ce qui donne
3 4 6 8 9 x
2 2 4 5 5 x
2 2 2 3 2 x
3 3 2 4 2 2
x x x x 0
45 / 52
Exemple
46 / 52
Expression des colonnes hors base
Théorème 2
Soit B une base de A (en ignorant une ligne) et soit d une
colonne hors-base de A. Si y = B −1 d, alors yi ∈ {−1, 0, +1},
i = 1, . . . , n.
47 / 52
Échange de variables : exemple
Considérons le tableau où le + indique que nous faisons entrer la
variable x53 .
100 10
20− 10+ 30
20+ 100 30− 60
100 10
10− + 400 50
40 10 30 40 40
49 / 52
Exemple : coûts réduits
Repartons de l’exemple de départ. Le tableau des multiplicateurs
du simplexe donnait
3 4 6 8 9 5
2 2 4 5 5 3
2 2 2 3 2 1
3 3 2 4 2 2
-2 -1 1 2 0
Les coûts réduits sont obtenus en calculant rij = cij − ui − vj ,
menant au tableau.
0 0 0 1 4 5
1 0 0 0 2 3
4 2 0 0 1 1
3 2 -1 0 0 2
-2 -1 1 2 0
50 / 52
Exemple : échange de variables
10 20 30
30 20− 30+ 80
100 10
+ 40− 200 60
10 50 20 80 20
51 / 52
Exemple : échange de variables
La plus petite variable de base avec le signe moins est x23 = 20.
Nous échangeons donc x43 et x23 pour obtenir
10 20 30
30 50 80
10 10
20 20 20 60
10 50 20 80 20
52 / 52
Exemple : coûts réduits
Nous calculons d’abord les multiplicateurs associées à la nouvelle
base.
3 4 6 8 9 5
2 2 4 5 5 3
2 2 2 3 2 1
3 3 2 4 2 2
-2 -1 0 2 0
Les coûts réduits sont
0 0 1 1 4 5
1 0 1 0 2 3
3 2 1 0 1 1
3 2 0 0 0 2
-2 -1 0 2 0
Aucun coûts réduits négatif : la solution est optimale.
53 / 52