Vous êtes sur la page 1sur 44

Le Problème de transport

UBTM (Module : RO - 1Master)

Année 2021-2022

1 / 44
Problème de transport
On peut d’écrire un problème de transport de la façon suivante : il y a m origines et n destinations. Dans
chaque origine on dispose d’une certaine quantité ai de matières premières (ou produits), et dans chaque
destination on demande une certaine quantité bj de produit. On connaît le coût cij de transport d’une
unité de l’une des origines i vers l’une des destinations j.
c11
[a1 ] O1 D1 [b1 ]
c12
c1n
c21
c22
[a2 ] O2 D2 [b2 ]
c2n
.. cm1 ..
. .
cm2
[am ] Om
cmn Dn [bn ]

Le problème : il s’agit de déterminer le coût de transport minimum des origines vers les points de destina-
tions
2 / 44
Problème de transport
Exemple
Un revendeur de fuel-oil domestique doit livrer 4 clients, qui lui achètent respectivement 45, 20,
30 et 30m3 de fuel-oil domestique, mais ils sont répartis dans 3 entrepôts :
▶ 35m3 dans le premier
▶ 50m3 dans le deuxième
▶ 40m3 dans le troisième.
Les coûts de transport unitaire, en DA/m3 entre chaque entrepôt Oi et chaque point de
livraison Dj sont :

Les Clients
D1 D2 D3 D4
Entrepôts

O1 8 6 10 9
O2 9 12 13 7
O3 14 9 16 5
3 / 44
Formulation du problème de transport
Les Variables : Les inconnues du problème sont les volumes transportés de chaque entrepôt à
chaque point de livraison.

i sera l’indice de l’entrepôt de l’origine Oi
xij :
j sera l’indice du point de livraison Dj.

Dans notre cas puisqu’il y a 3 entrepôts et 4 clients, on aura 12 inconnues xij représentant des m3
de fuel-oil domestique.

Les Clients
D1 D2 D3 D4
Entrepôts

O1 x11 x12 x13 x14


O2 x21 x22 x23 x24
O3 x31 x32 x33 x34

4 / 44
Formulation du problème de transport

La fonction Objective : La fonction économique à minimiser, qui est le coût total du transport
s’écrit
8x11 +6x12 +10x13 +9x14
Min z = 9x21 +12x22 +13x23 +7x24
14x31 +9x32 +16x33 +5x34

5 / 44
Formulation du problème de transport
Les Contraintes Pour les entrepôts :

O1 : x11 + x12 + x13 + x14 = 35 = a1


O2 : x21 + x22 + x23 + x24 = 50 = a2
O3 : x31 + x32 + x33 + x34 = 40 = a3

Les Contraintes Pour les Clients :


D1 : x11 + x21 + x31 = 45 = b1
D2 : x12 + x22 + x32 = 20 = b2
D3 : x13 + x23 + x33 = 30 = b3
D4 : x14 + x24 + x34 = 30 = b4

Pm Pn
Les besoins des destinations sont satisfaites si : ai = bj . On dit que le problème est équilibré.
i=1 j=1

6 / 44
Formulation du problème de transport

Si cij est le coût de transport d’une origine i vers la destination j , Dans le cas d’un problème de
transport équilibré nous devrons donc résoudre le programme linéaire :
P
m P
n
min z = cij xij
 n i=1j=1
 P

 xij = ai pour i=1,. . .,m

 j=1
Pm

 xij = bj pour j=1,. . .,n


 i=1
xij ≥ 0 pour i=1,. . .,m et j=1,. . .,n

Ceci est un problème de programmation linéaire avec m × n variables et m + n contraintes.

7 / 44
Tableau du problème de transport

Remarque
l’usage des tableaux du simplexe dans le cas des problèmes de transport est bien entendue
possible.
Toutefois, cette alternative ne présente pas un réel intérêt pratique car les problèmes de transport
aboutissent généralement à un grand nombre de variables et de contraintes.
Pour résoudre ce type de problème en utilise le tableau de transport.

8 / 44
Tableau du problème de transport

Dans le tableau on à 3 Origines et 4 Destinations. Les offres des origines sont inscrites sur la der-
nière colonne, et les quantités demandées dans les différentes destinations sont inscrites sur la der-
nière ligne.
Les chiffres inscrits en petit taille dans chaque case indiquent les coûts de transport entre chaque
origine et chaque destination.
9 / 44
Solution initiale

Une solution de base pour un problème de transport avec m origines et n destinations doit conte-
nir exactement (m + n − 1) variables de base.
Dans notre exemple on doit donc avoir dans tous les tableaux correspondants (6) variables de base.
Il y a plusieurs méthodes pour obtenir une solution initiale. (La méthode du coin Nord-Ouest, la
méthode du coût minimum, etc...)

10 / 44
La méthode du coin Nord-Ouest

Algorithme coin Nord-Ouest :


i←1; j←1;
tantque (i < m) ou (j < n)
Si (Oi < Dj ) alors
{xij ← Oi ;Dj ← Dj − Oi ;j ← j + 1}
Sinon
{xij ← Oj ;Oi ← Oi − Dj ;i ← i + 1}

Ici, Oi est la quantité disponible dans l’origine i et Dj est la demande dan la destination j .

11 / 44
La méthode du coin Nord-Ouest

8 6 10 9
35 ... ... ... 35
9 12 13 7
10 20 20 50
14 9 16 5
... 10 30 40
45 20 30 30

Solution initiale : méthode du coin Nord-Ouest.


Le coût total =(35 ∗ 8 + 10 ∗ 9 + 20 ∗ 12 + 20 ∗ 13 + 10 ∗ 16 + 30 ∗ 5)=1180.
L’avantage principal de la méthode du coin Nord-Ouest est la facilité de mise en œuvre.
L’inconvénient de cette méthode est qu’elle ne tient pas compte de la structure des coûts.

12 / 44
la méthode du coût minimum

L’idée consiste à exploiter les cases ayant des coûts de transport faibles et leur attribuer les quantités
maximales (dans la mesure du possible).
1. Repérer la case du tableau ayant
le coût le plus faible cij ;
2. Affecter à cette case la quantité maximale
possible ;
3. Une colonne ou une ligne est saturée
a. Si une colonne est saturée, l'éliminer du tableau,
mettre à jour xij et reprendre au point (1.) avec
le nouveau tableau.
b. Si une ligne est saturée, l'éliminer du tableau,
mettre à jour xij et reprendre en (1.) avec
le nouveau tableau.
4. Lorsque toutes les lignes et toutes les
colonnes sont saturées,le tableau doit
contenir exactement (m + n − 1) variables de base.

13 / 44
la méthode du coût minimum

8 6 10 9
15 20 ... ... 35
9 12 13 7
30 20 50
14 9 16 5
... ... 10 30 40
45 20 30 30

Solution initiale : méthode du coût minimum.


Le coût total = (15*8 + 20*6 + 30*9 + 20*13 + 10*16 + 30*5)=1080.
D’une manière générale la méthode du coût minimum aboutit à une meilleure solution initiale.

14 / 44
Calcul de la solution optimale

Afin de trouver le tableau optimal, on procède comme dans le simplexe. La première étape consiste
à calculer les coûts marginaux pour les variables hors-base.

8 6 10 9
35 ... ... ... 35 u1
9 12 13 7
10 20 20 50 u2
14 9 16 5
... 10 30 40 u3
45 20 30 30
v1 v2 v3 v4

15 / 44
Calcul de la solution optimale
Le calcul se fait en trois étapes :
1. Pour chaque variable de base écrire l’équation cij = ui + vj ;
2. Résoudre le système obtenu en fixant u1 = 0 ;



u 1 + v1 = 8 u1 = 0



 u2 + v1 = 9 v1 = 8


 u + v = 12 u2 = 1
2 2

 u2 + v3 = 13 =⇒ v2 = 11





 u3 + v3 = 16 v3 = 12

u3 + v4 = 5 u3 = 4 et v4 = 1
3. Calculé les coûts réduits pour les variables hors base

cij = cij − ui − vj

16 / 44
Calcul de la solution optimale

8 6 10 9
35 ... ... ... 35 u1 = 0
−5 −2 8
9 12 13 7
10 20 20 50 u2 = 1
5
14 9 16 5
... x32 10 30 40 u3 = 4
2 −6
45 20 30 30
v1 = 8 v2 = 11 v3 = 12 v4 = 1

Le critère d’arrêt : tous les cij ≥ 0.


Ce tableau de transport contient des coûts marginaux strictement négatifs, et donc il ne s’agit pas
d’une solution optimale. Il faut donc effectuer un changement de base afin d’améliorer la solution.
la variable entrante : x32 .

17 / 44
Cycle de transport
Définition
′ ′
une chaîne élémentaire liant les cases (i, j) et (i , j ) dans le tableau de transport est une suite de cases
dans laquelle deux cases voisines est uniquement deux sont disposées dans une même ligne ou colonne.

Définition
un cycle est une chaîne élémentaire dont les cases extrêmes sont situées sur une même ligne ou colonne.

18 / 44
Calcul de la solution optimale

Cycle : +x32 → −x22 → +x23 → −x33 .


x32 augmente par min {x22 = 20, x33 = 10}.

19 / 44
Calcul de la solution optimale

8 6 10 9
35 ... ... ... 35
9 12 13 7
10 10 30 50
14 9 16 5
... 10 30 40
45 20 30 30
v1 = 8 v2 = 11 v3 = 12 v4 = 1

Le coût total = (35 ∗ 8 + 10 ∗ 9 + 10 ∗ 12 + 30 ∗ 13 + 10 ∗ 9 + 30 ∗ 5)=1120.

20 / 44
Calcul de la solution optimale

8 6 10 9
35 x12 ... ... 35 u1 = 0
−5 −2 2
9 12 13 7
10 10 30 50 u2 = 1
−1
14 9 16 5
... 10 30 40 u3 = −2
8 6
45 20 30 30
v1 = 8 v2 = 11 v3 = 12 v4 = 7

tableau non optimal : variable entrante x12


Cycle : +x12 → −x22 → +x21 → −x11 .
x12 augmente par min {x22 = 10, x11 = 35}.

21 / 44
Calcul de la solution optimale

8 6 10 9
25 10 ... ... 35
9 12 13 7
20 ... 30 50
14 9 16 5
... 10 30 40
45 20 30 30
v1 = 8 v2 = 6 v3 = 12 v4 = 2

Le coût total = (25 ∗ 8 + 10 ∗ 6 + 20 ∗ 9 + 30 ∗ 13 + 10 ∗ 9 + 30 ∗ 5)=1070.

22 / 44
Calcul de la solution optimale

8 6 10 9
25 10 x13 ... 35 u1 = 0
−2 7
9 12 13 7
10 ... 30 50 u2 = 1
5 4
14 9 16 5
... 10 30 40 u3 = 3
3 1
45 20 30 30
v1 = 8 v2 = 6 v3 = 12 v4 = 2

tableau non optimal : variable entrante x13


Cycle : +x13 → −x23 → +x21 → −x11 .
x13 augmente par min {x23 = 30, x11 = 25}.

23 / 44
Calcul de la solution optimale

8 6 10 9
10 25 ... 35
9 12 13 7
45 ... 5 50
14 9 16 5
... 10 ... 30 40
45 20 30 30
v1 = 8 v2 = 6 v3 = 12 v4 = 2

coût total = (6 ∗ 10 + 25 ∗ 10 + 45 ∗ 9 + 5 ∗ 13 + 10 ∗ 9 + 30 ∗ 5) = 1020.

24 / 44
Calcul de la solution optimale

8 6 10 9
10 25 ... 35 u1 = 0
2 7
9 12 13 7
45 ... 5 50 u2 = 3
3 2
14 9 16 5
... 10 ... 30 40 u3 = 3
8 3
45 20 30 30
v1 = 6 v2 = 6 v3 = 10 v4 = 2

Tous les cij ≥ 0. le tableau est donc optimale.


coût total = (6 ∗ 10 + 25 ∗ 10 + 45 ∗ 9 + 5 ∗ 13 + 10 ∗ 9 + 30 ∗ 5) = 1020.

25 / 44
Solution Optimale

8 6 10 9
10 25 ... 35

9 12 13 7
45 ... 5 50

14 9 16 5
... 10 ... 30 40

45 20 30 30
v1 = 8 v2 = 6 v3 = 12 v4 = 2

Client 1 reçoit 45m3 de l’entrepôt 2


Client 2 reçoit 10m3 de l’entrepôt 1 + 10m3 de l’entrepôt 3
Client 3 reçoit 25m3 de l’entrepôt 1 + 5m3 de l’entrepôt 2
Client 4 reçoit 30m3 de l’entrepôt 3

26 / 44
Code AMPL

27 / 44
Code AMPL

28 / 44
Code AMPL

29 / 44
TD

Exercice 1. Soit le problème de transport formulé dans le tableau suivant :

2 1 3
27
1 4 5
.... 13
4 3 1
.... .... 20
15 20 10
v1 = 8 v2 = 6 v3 = 12

1. Trouver un plan basique initial par la méthode du coin nord-ouest.


2. Trouver un plan de transport optimal.

30 / 44
Solution

P
m P
n
Ici la condition de balance n’est pas vérifiée car ai = 60 ̸= bi = 45, alors on crée un 4ème
i=1 i=1
client fictif avec des coûts nuls.
2 1 3 0
.... 27
1 4 5 0
.... 13
4 3 1 0
.... .... 20
15 20 10 15
v1 = 8 v2 = 6 v3 = 12 v4 = 2

31 / 44
Solution

La solution de base initiale par coin Nord-West

2 1 3 0
15 12 .... .... 27
1 4 5 0
8 5 13
4 3 1 0
.... ..... 5 15 20
15 20 10 15
v1 = 8 v2 = 6 v3 = 12 v4 = 2

coût total = (15 ∗ 2 + 12 ∗ 1 + 8 ∗ 4 + 5 ∗ 5 + 5 ∗ 1 + 15 ∗ 0) = 104.

32 / 44
Solution

2 1 3 0
15 12 ... ... 27 u1 = 0
1 −1
1 4 5 0
8 5 13 u2 = 3
−4 −4
4 3 1 0
... ... 5 15 20 u3 = −1
3 3
15 20 10 15
v1 = 2 v2 = 1 v3 = 2 v4 = 1

tableau non optimal : variable entrante x21


Cycle : +x21 → −x22 → +x12 → −x11 .
x21 augmente par min {x22 = 8, x11 = 15}.

33 / 44
Solution

2 1 3 0
7 20 ... ... 27
1 4 5 0
8 5 13
4 3 1 0
... ... 5 15 20
15 20 10 15
v1 = 2 v2 = 1 v3 = 2 v4 = 1

coût total = (7 ∗ 2 + 20 ∗ 1 + 8 ∗ 1 + 5 ∗ 5 + 5 ∗ 1 + 15 ∗ 0) = 72.

34 / 44
Solution

2 1 3 0
7 20 .... 27 u1 = 0
−3 −5
1 4 5 0
8 5 .... 13 u2 = −1
4 −4
4 3 1 0
.... .... 5 15 20 u3 = −5
7 7
15 20 10 15
v1 = 2 v2 = 1 v3 = 6 v4 = 5

tableau non optimal : variable entrante x14


Cycle : +x14 → −x34 → +x33 → −x23 → +x21 → −x11 .
x14 augmente par min {x34 = 15, x23 = 5, x11 = 7}.

35 / 44
Solution

2 1 3 0
2 20 .... 5 27
1 4 5 0
13 .... 13
4 3 1 0
.... .... 10 10 20
15 20 10 15
v1 = 2 v2 = 1 v3 = 6 v4 = 5

coût total = (2 ∗ 2 + 20 ∗ 1 + 5 ∗ 0 + 13 ∗ 1 + 10 ∗ 1 + 10 ∗ 0) = 47.

36 / 44
Solution

2 1 3 0
2 20 ... 5 27 u1 = 0
2
1 4 5 0
13 ... 13 u2 = −1
4 5 1
4 3 1 0
... ... 10 10 20 u3 = 0
2 2
15 20 10 15
v1 = 2 v2 = 1 v3 = 1 v4 = 0

Tous les cij ≥ 0. le tableau est donc optimale.


coût total = (2 ∗ 2 + 20 ∗ 1 + 5 ∗ 0 + 13 ∗ 1 + 10 ∗ 1 + 10 ∗ 0) = 47.

37 / 44
TD
Exercice 2. Un atelier dispose de 4 machines-outils M1 ,M2 , M3 et M4 permettant l’usinage de
5 types de pièces différentes P1 , P2 , P3 , P4 et P5 . Le programme journalier de l’atelier prévoit la
production de 200 pièces du type P1 , 150 pièces du type P2 , 200 pièces du type P3 , 350 pièces
du type P4 et 100 pièces du type P5 . Chaque machine peut usiner 250 pièces par jour. On connaît
d’autre part la proportion de déchet, selon le type de pièce usinée pour chaque machine donnée
dans le tableau suivant (en %).

P1 P2 P3 P4 P5
M1 3 2 1 3 8
M2 7 4 2 6 3
M3 6 4 1 3 9
M4 5 3 1 2 5

1. Formuler le problème en termes de "transport"


2. En utilisant AMPL déterminer la répartition optimale.
38 / 44
Solution

P1 P2 P3 P4 P5
3 2 1 3 8
M1 .... 250
7 4 2 6 3
M2 .... .... .... 250
6 4 1 3 9
M3 .... 250
5 3 1 2 5
M4 250
200 150 200 350 100

39 / 44
Solution

40 / 44
TD

Exercice 3. Pour chaque tableau représentant une solution de base, donner la nouvelle solution
de base quand on introduit la case (B, III) dans le cas du premier tableau et (A, I) dans le cas du
second tableau.
A B C D
A B C D
I ⊠ 160 160
I 110 240 350
II 180 110 290
II 110 110 230 450
III 160 170 330
III ⊠ 200 200
IV 70 150 220
220 240 310 230
180 270 240 310

41 / 44
Solution

42 / 44
Solution

A B C D
A B C D
I 70 90 160
I 220 130 350
II 110 180 290
II 220 230 450
III 90 240 330
III 110 90 200
IV 220 220
220 240 310 230
180 270 240 310

43 / 44
Merci de votre attention

44 / 44

Vous aimerez peut-être aussi