Vous êtes sur la page 1sur 51

Problème de transport

Formulation du problème de transport. Propriétés de la matrice des


contraintes. Adaptation de la méthode du simplexe. Méthode dite
du coin Nord-Ouest, méthode du coût minimal. Problèmes de
dégénérescence. Généralisation du problème de transport.
Introduction
Le 1e problème de flot à coût minimum à être formulé et résolu.

Ce problème peut être formulé à l’aide d’un graphe simple où


il n’y a pas de sommets intermédiaires,
seulement un ensemble de sommets source S,
et un ensemble de sommets puits P.

Le mot transport provient de la considération des sommets dans S


comme des usines et de ceux dans P comme des clients.
Il s’agit de transporter les unités de disponibilité à partir des
sources jusqu’aux clients à coût de transport total minimum.

Hypothèse du modèle proposé :

Le coût de transport pour acheminer des biens d’une source i à une


destination j est proportionnel au # d’unités de biens acheminées.
2
Énoncé général du problème de transport

m origines,
n destinations

Problème de
programmation
linéaire doté
d’une structure
particulière.

où ai  la quantité de biens à acheminer de la source i


aux n destinations,
bj  la quantité de biens nécessaire pour satisfaire à la
demande à la destination j,
cij  coût unitaire de transport entre une source i et une
destination j,
xij 
3
la qté transportée de l’origine i à la destination j.
Au problème de transport est associé un graphe biparti G

Chaque origine est représentée par un sommet Oi,


chaque destination par un sommet Dj,
chaque route de l’origine i à la destination j par un arc orienté de
Oi vers Dj.
4
Note : Il n’y a pas d’autres arcs.
Exemple :

Une entreprise fabrique un seul produit et possède 3 usines et 4 clients.

Les trois usines produiront 3000, 5000 et 4000 unités respectivement.

L'entreprise a pris l'engagement de vendre :


4000 unités au client 1,
3000 unités au client 2 et
au moins 1000 unités au client 3.

Les clients 3 et 4 voudraient tous les deux acheter autant que possible
des unités qui restent.

5
Le profit net associé avec le transport d'une unité de l'usine i pour la
vente au client j est donné par le tableau ci-dessous :

La direction de l'entreprise veut savoir :


- combien d'unités vendre aux clients 3 et 4 et
- combien d'unités transporter de chacune des usines à
chacun des clients afin de maximiser le profit total.
6
On vise à maximiser le profit et non pas de minimiser un coût
comme c'est le cas au problème de transport.
On n'a qu'à multiplier chaque profit par -1 et puis à minimiser.

Il faut 3 sommets, numérotés 1, 2 et 3 ayant des disponibilités de


3000, 5000 et 4000 unités resp., pour représenter les 3 usines.
Il faut aussi 3 sommets, numérotés 1, 2, 3 ayant des demandes de
4000, 3000 et 1000 unités resp. pour représenter les 3 premiers clients.
Ces demandes assurent au moins 1000 unités pour le client 3.

Maintenant, puisqu'il reste 4000 unités de disponibilité à distribuer


parmi les clients 3 et 4, alors nous créons 2 autres sommets 3' et 4
avec des demandes de 4000 unités chacun, car les clients 3 et 4
peuvent recevoir jusqu'à 4000 des unités disponibles.

Les sommets 3 et 3' représentent le même client physique.


7
Nous avons 3000 + 5000 + 4000 = 12000 unités de disponibilité et
4000 + 3000 + 1000 + 4000 + 4000 = 16000 unités de demande.

Donc, il faut créer un sommet (usine) fictif 4 avec disponibilité


4000.

Ce sommet ne pourra alimenter les clients 1, 2 et 3 mais


fournira des unités fictives aux clients 3' et 4.

Ces unités fictives représentent ce que les clients 3' et 4 ne


recevront pas des 12000 unités disponibles.

8
Usines Clients

Un coût nul car on


Un coût M très veut utiliser ces
grand car aucun arcs bien qu’ils
flot ne doit n’apportent pas de
emprunter ces arcs. profit. 9
Exemple : Yves Nobert et al., 95, pp. 337-341.
L'entreprise Sporcau, spécialiste de la saucisse de porc, dispose de
4 laboratoires où elle élabore son produit, et de 5 centres de distribution
d'où elle ravitaille sa clientèle.

Le marché de la saucisse de porc est devenu fort concurrentiel et,


récemment, l'entreprise a vu se resserrer ses marges. Elle a donc
entrepris une étude pour abaisser ses coûts. Les coûts de transport,
en particulier, sont rapidement apparus comme plus élevés que ceux
des concurrents.

Jusqu'ici, l'horaire quotidien d'acheminement des produits entre


laboratoires et centres de distribution était dressé par un répartiteur
averti armé de son bon sens et de son flair.

Chez Sporcau, on pense qu'il s'agit là du maillon faible de la chaîne


de contrôle des coûts de transport et on veut que le répartiteur adopte
10
une méthode qui mènera à un horaire quotidien optimal.
Les 4 laboratoires fonctionnent 7 jours sur 7. Les viandes qu'on y
conditionne sont livrées aux centres de distribution où s'approvisionnent
tous les clients de Sporcau, du supermarché à la boucherie de quartier.

Une carcasse de porc livrée le jour 1 dans un laboratoire réapparaît sous


forme de saucisses le jour 3 sur les étals du rayon de la charcuterie des
clients.

Chaque centre de distribution enregistre les commandes de sa


clientèle et les communique à la direction de l'entreprise, qui assure un
approvisionnement adéquat.

Le transport, au tarif kilométrique âprement négocié et incompressible


de 2$ la tonne, est confié aux camions réfrigérés de la société Dicam.

11
Distances (km) entre les laboratoires et les centres de distribution.

Chaque laboratoire s'approvisionne en carcasses de porc désossées


auprès de coopératives d'éleveurs de son voisinage, qui lui en
fournissent chaque jour une quantité convenue.

Les pertes de poids subies lors de la transformation de la chair à


saucisse en saucisses sont compensées par le poids des additifs
alimentaires et celui des emballages. 12
On recherche un plan d'acheminement à coût minimal des laboratoires
aux centres de distribution. Les saucisses de Sporcau sont expédiées
directement des m origines (ici m = 4) aux n destinations (ici n = 5)
selon des coûts de transport directement proportionnels aux qtés
transportées et sans que leur soient imposées, sur les routes empruntées,
13
des conditions quant à leur poids maximal ou minimal.
14
Réseau de transport chez Sporcau
Données pertinentes présentées sous forme d’un tableau appelé
« tableau de transport »

Coût
unitaire
de
transport

Disponibilité i
15
Demande j à satisfaire par le centre Cj.
Propriétés caractéristiques du problème de transport :
Hypothèse non restrictive :

Disponibilité totale > demande totale


Ajouter une destination fictive de plus avec comme demande :

Disponibilité totale < demande totale


Ajouter une origine fictive de plus avec comme disponibilité :

16
Théorème :

Moyennant la condition précédente, le problème de transport


possède toujours une solution optimale (finie).

Preuve :
Si la condition précédente est satisfaite, l’ensemble des solutions
réalisables du problème de transport n’est jamais vide :
xij = ai bj est un exemple.
 ai
i
D’autre part, on a nécessairement pour toute solution réalisable :
xij  min {ai, bj}.

Autrement dit, l’ensemble des solutions réalisables doit être


17
compact. Il existe donc un minimum.
Théorème :
La matrice A des coefficients des contraintes est de rang (m + n - 1).
Théorème :
La matrice A est totalement unimodulaire, c’est-à-dire que toute
sous-matrice carrée de A possède un déterminant égal à 0, +1 ou –1.
Théorème de Dantzig, Heller, Tompkins et Gale :
La matrice d’incidence aux arêtes d’un graphe est totalement
unimodulaire  les sommets du graphe peuvent être répartis en 2
ensembles disjoints tels que 2 sommets adjacents ne soient pas dans
le même ensemble.
Corollaire :

Si les ai et bj sont entiers, les valeurs des variables sont entières dans
toute solution de base réalisable et il existe donc au moins une
solution optimale entière. 18
2 autres propriétés importantes du problème de transport :
Théorème :
Toutes les bases du problème de transport sont triangulaires.
Note : Une matrice carrée B est dite triangulaire s’il existe au
moins une ligne (ou colonne) dans B avec exactement
un élément non nul et tel que la sous-matrice obtenue
en supprimant la ligne et la colonne contenant l’élément
non nul possède la même propriété et ainsi de suite.

19
Théorème :
Il y a une correspondance biunivoque entre les bases du problème
de transport et les arbres partiels de G : un tel arbre constitue un
ensemble de « routes de base » du graphe de transport G.
Preuve :

Une démonstration de ce théorème est présentée dans


[M. Simonnard, Programmation linéaire technique du
calcul économique. Dunod, 1972, pp.186-187].

Nous verrons maintenant comment tirer profit des propriétés du


problème de transport pour résoudre plus simplement ce problème
à l’aide du simplexe.

20
Généralement, pour résoudre ce problème, celui-ci est représenté de
façon compacte en un tableau rectangulaire, dit tableau de transport T :

21
Obtention d’une solution de base réalisable initiale

Nous pouvons appliquer la méthode des 2 phases et introduire m + n


variables artificielles. Lorsque celles-ci sont exclues de la base, nous
avons en main une solution de base réalisable initiale.

Voici une méthode plus simple :


xij = ai bj est une solution réalisable.
 ai
i
Mais ceci n’est pas une solution de base car la matrice A est de rang
m + n – 1; donc, une soln de base doit comporter au plus m + n –1
valeurs strictement positives.

22
Voici comment l’obtenir :

23
24
Exemple :

25
Cette solution comprend (3 + 5 – 1 ) = 7 nombres positifs.
26
En éliminant la 1ière contrainte, la base correspondante qui est formée
des vecteurs {P11, P12, P22, P23, P24, P34, P35} a la structure:

27
Note : Cette méthode ne tient pas compte du coût; la soln peut s’avérer
28
être loin de la soln optimale.
D'autres règles de démarrage tiennent explicitement compte des
coûts et peuvent ainsi économiser du temps de calcul à la méthode
du simplexe - moyennant le temps supplémentaire nécessaire pour
les appliquer.

Jusqu'ici, aucune règle ne s'est prouvée empiriquement et


uniformément meilleure que les autres.

29
30
Algorithme du problème de transport (simplexe adapté)

1. Rechercher une solution de base réalisable initiale.

2. Appliquer un test d’optimalité.

3. Si la solution courante n’est pas optimale,


rechercher une solution de base réalisable améliorée.

31
Test d’optimalité

Le problème de transport s’énonce comme suit :

32
33
34
La dernière équation de ce système exprime que si xij  0, on doit
avoir : cij = ui + vj.

Or xij ne peut être différent de zéro que si c'est une variable de base;
soit I l'ensemble des couples d'indices (i, j) des variables de base.

Il en résulte qu'étant donné une soln de base réalisable et un ensemble


des valeurs des ui et vj vérifiant le système de (m + n - 1) équations
à (m + n) inconnues suivant :
cij = ui + vj (i, j)  I

la solution de base considérée est optimale si et seulement si:


cij - (ui + vj) ≥ 0 i = 1, ..., m;
j = 1, ..., n.

35
Remarques :
L'indétermination du système résulte du fait que l'on a
introduit (m + n) variables duales associées à (m + n) équations non
indépendantes; l'une d'entre elles est une conséquence des (m + n - l)
autres, de sorte que l'on choisira arbitrairement l'une des variables
duales, disons vn = 0.
Une fois que l'on a fixé, par exemple vn = 0, la résolution du système
est immédiate puisqu'il est triangulaire.
Après avoir calculé la valeur des variables duales, il devient facile de
calculer la valeur des composantes du vecteur de coût relatif :
cij - (ui + vj), i = 1, ..., m
j = 1, ..., n, pour les variables hors-base.

Si l'une de ces composantes est plus petite que zéro, alors


nous ne sommes pas à l'optimum.
36
Exemple :
Considérons de nouveau l’exemple précédent avec la solution de
base obtenue par la méthode du coin Nord-Ouest :

37
La soln n’est pas optimale car, par ex., c31 – u3 – v1 = 5-3-7 = -5 < 0.
Passage à une autre solution de base réalisable :

Pour passer d’une soln de base réalisable à une autre et améliorer la


valeur de la fonction objective, il faut appliquer la méthode du
simplexe :
- déterminer les variables d’entrée et de sortie,
- déterminer la nouvelle solution de base réalisable.

Dans l’exemple précédent, puisque c31 – u3 – v1 < 0, l’algorithme


du simplexe nous dit qu’il y a avantage à introduire x31 dans la base.

Posons x31 = , une valeur positive. Pour que les totaux marginaux
restent satisfaits, il faut modifier la solution en conséquence.

38
Il faut déterminer un chemin, qui passe par des cases marquées
(xij > 0), qui se ferme sur la case choisie (ici x31) et qui est obtenu
en se déplaçant successivement, parallèlement aux lignes et
39
parallèlement aux colonnes du tableau.
Un tel chemin est unique, car il traduit tout simplement le fait que P31
s’exprime comme une combinaison linéaire des vecteurs de la base :
P31 = P11 – P12 + P22 – P24 + P34.

La valeur maximum possible de  se détermine, comme dans


l'algorithme du simplexe, en exprimant que toutes les variables
restent positives ou nulles, il est clair ici que la valeur maximum de
 est 1, et que pour cette valeur x22 = 0 (donc P22 sort de la base).
40
La nouvelle soln de base et les valeurs duales associées seront donc :

Cette solution n’est pas optimale puisque ne sont pas satisfaites ni


u3 + v2  c32 ni u3 + v3  c33. On poursuit jusqu’au tableau final :
41
42
Énoncé de l’algorithme du problème de transport

43
44
Dégénérescence

C’est le cas lorsqu’il y a moins de m + n – 1 valeurs xij strictement


positives.
Cela peut se présenter soit, lors de la recherche d’une solution de
base réalisable initiale, soit, au cours d’une itération.
Comment remédier aux problèmes de dégénérescence dans
l’algorithme de transport ?

(i) Conserver une trace des variables de base nulles afin de pouvoir
appliquer sans difficulté l’algorithme de transport.

(ii) Perturber les constantes ai et bj pour éviter un cycle.

45
46
Dégénérescence lors du calcul de la soln de base réalisable initiale
Cela survient à chaque occasion où une ligne et une colonne sont
saturées simultanément par une attribution, on réduit ainsi de 1 le
nombre d'attributions nécessaires à l'obtention d'une soln initiale.

Le # idéal d'attributions, qui est égal à (m + n -1) ne pourra donc


être atteint.
Pour contourner ces difficultés, on procède ainsi :

[NOBE 95, pp. 367-375]


Chaque fois qu'on sera amené à effectuer une attribution qui
sature à la fois une ligne et une colonne, on choisira, dans cette
ligne ou dans cette colonne, une autre case que celle qui reçoit
l'attribution, pour y inscrire explicitement 0.

La variable associée à cette case sera considérée comme une


47
variable de base prenant la valeur 0.
Voici une façon heuristique de choisir la case où inscrire ce 0 :

Dans les 2 rangées saturées par l'attribution, on choisit la case


de coût unitaire minimal pour y inscrire 0.

Dans le cas où ce coût minimal se retrouve dans plus d'une case


de ces rangées, on tranche au hasard.

Voici une façon heuristique de choisir la variable de sortie dans le cas


où plusieurs variables de base ont la valeur 0 :

Parmi les variables candidates au rôle de variable sortante,


on choisit celle dont le coût unitaire est maximal.

En cas d'égalité, on tranche au hasard.

48
Optimum multiple

Il est aisé de reconnaître la non unicité de l’optimum en examinant


les composantes du vecteur de coût relatif : cij – ui – vj.

Si l’on a en main une solution de base réalisable optimale,


une condition nécessaire pour qu’il en existe une autre est :

il existe une variable xij qui n’appartient pas à la base et


pour laquelle l’équation duale est satisfaite en tant qu’égalité.

Cette condition est suffisante si, en introduisant le vecteur Pij dans la


base, la variable xij prend une valeur positive.

49
Généralisations du problème de transport

Au lieu d’un coût unitaire fixe, nous sommes en présence d’un


coût non linéaire : cij(xij) ou, de façon plus générale, cij(x).
L’objectif du problème de transport s’énonce alors comme suit :
 cij(xij) ou encore  cij(x)
i = 1, 2, …, m i = 1, 2, …, m
j = 1, 2, …, n j = 1, 2, …, n
Les quantités demandées aux destinations et celles disponibles aux
sources ne sont pas fixes.
Des fonctions de coût non linéaires peuvent être introduites dans le
modèle :
- afin de prendre en compte les différences qui interviennent entre les
quantités demandées et celles acheminées.
50
- lesquelles dépendent des quantités produites aux sources.
Il se peut que les quantités disponibles aux sources doivent être
acheminées à des centres de distribution avant d’arriver aux
destinations.

Il se peut aussi que les quantités acheminées d’une source i à une


destination j doivent respecter certaines limites :

Lij  xij  Dij.


On se ramène alors au problème de flot à coût minimum.

FIN
51