Académique Documents
Professionnel Documents
Culture Documents
net/publication/345241370
CITATIONS READS
0 4,518
1 author:
Aridj Ferhat
University of Science and Technology Houari Boumediene
1 PUBLICATION 0 CITATIONS
SEE PROFILE
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Aridj Ferhat on 03 November 2020.
Faculté de Mathématiques
Département de Recherche Opérationnelle
Mémoire
En vue l’obtention du Diplôme de licence
En recherche opérationnelle
Problème de transport
juin 2020
1
Dédicaces
2
Remerciment
3
SOMMAIRE
1 Notions de base 8
1.1 Programmation linéaire . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.1 Les étapes de formulation d’un PL . . . . . . . . . . . . . . 8
1.1.2 Différentes formes d’un PL . . . . . . . . . . . . . . . . . . . 9
1.1.3 Solutions de base d’un problème sous forme standard . . . . 9
1.2 la méthode de simplexe . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.1 Les deux phases de la méthode du simplexe : . . . . . . . . 10
1.2.2 L’objectif : . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.3 Principe de la méthode du simplexe : . . . . . . . . . . . . . 10
1.2.4 Variable entrante - calcul des coûts réduits : . . . . . . . . . 10
1.2.5 Méthode du simplexe en phase 2 (progression) : . . . . . . . 11
1.2.6 L’oranigramme de la méthode du simplex : . . . . . . . . . . 11
2 probleme de transport 13
2.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2 Programmation linéaire . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.1 Les variables de décision : . . . . . . . . . . . . . . . . . . . 14
2.2.2 La fonction objectif : . . . . . . . . . . . . . . . . . . . . . . 14
2.2.3 Les contraintes : . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.4 Forme générale du PL . . . . . . . . . . . . . . . . . . . . . 14
2.3 Réseau de transport : . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4 Tableau de problème . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4
SOMMAIRE
4 Application 23
4.1 Problématique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2 Modélisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Logiciel de programmation : . . . . . . . . . . . . . . . . . . . . . . 25
4.3.1 Programme de résolution du problème de transport : . . . . 25
4.3.2 Résultats . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5
TABLE DES FIGURES
6
Introduction générale
introduction
L’objectif de ce chapitre est de rappeler quelques points généraux de la program-
mation linéaire, qu’on va utiliser par la suite dans le traitement du problème de
transport.
8
CHAPITRE 1. NOTIONS DE BASE
n
X
z(max ou min) = cj xj (1)
j=1
n
X
∀i = 1, ...., m : aij xj ≤, =, ≥ bi (2)
j=1
∀j = 1, ...., nxj ≥ 0 (3)
Forme canonique
z(max) = cx z(min) = cx
Ax ≤ b ou bien Ax ≥ b
x≥0 x≥0
Forme standard
z(max ou min)=cx
Ax = b
x≥0
avec :
9
CHAPITRE 1. NOTIONS DE BASE
1.2.2 L’objectif :
On veut trouver une autre base J ∗ et une solution de realisable x∗ telles quex∗
est meilleur que xj c-a-d :z(x∗ ) > z(xJ )
Proposition :
¯
pour tout x ∈ DR on a : z(x) = z(xJ ) + LJ XJ¯
¯ ¯ ¯
Où LJ = cJ − cJ (AJ )−1 AJ
Variable entrante
¯
Si les coûts réduits sont tous négatifs i.e.LJ ≤ 0, il n’est alors pas possible
d’augmenter la fonction objectif z : l’algorithme se termine normalement c’est-
adire qu’on a trouvé une solution de base réalisable xJ optimale. Dans le cas
¯
contraire (i.e LJ > 0) on a intérêt a faire entrer dans la base, la variable hors-base
10
CHAPITRE 1. NOTIONS DE BASE
Variable sortante
Une fois l’indice e choisi, il faut déterminer la variable qui doit quitter la base.
En maintenant la relation Ax = b avec x ≥ 0 , on augmente la variable entrante
xe jusqu’a annuler une des variables de base. Cette variable sera alors la variable
sortante.
Ax = b ⇐⇒ AJ x + Ae xe = b ⇐⇒ x = (AJ )−1 (b − Ae xe )
⇐⇒ x = xJ − (AJ )−1 Ae xe
⇐⇒ x = xJ − αxe
Où Ae désigne la e-ème colonne de A , α = (AJ )−1 Ae
on doit savoir :
Si α ≤ 0, on peut augmenter xe autant qu’on veut, on aura toujours la positivité
de la variable de base x . La fonction objective n’est pas majorée surDR , arrêt de
l’algorithme.
Sinon (i.e. il existe αi > 0, pour avoir la positivitee (xJ )i − αi xe ≥ o pour tout i,
on choisit la variable sortante Xr pour laquelle le rapport (xJ )i \αi pour i=1,...,m
avec αi > 0 , est le plus petit possible :
Variable sortante (indice) :
(xJ )i
r = mini { , αi > 0}
αi
3- Variable sortante :
(xJ )i
calcule de α = (AJ )−1 Ae puis r = mini { , αi > 0}
αi
ˆ
4- On obtient une nouvelle base Jˆ et une nouvelle matrice AJ dans laquelle la
ˆ
colonne Ae on remplace la colonne Ae , on calcule de (AJ )−1 et retour en 1.
11
CHAPITRE 1. NOTIONS DE BASE
introduction
Ce chapitre a l’objectif de présenter et de modéliser le problème de transport par
ses différents formulations,
Le problème de transport a été formalisé pour la première fois par le mathématicien
français Gaspard Monge en 1781, ensuite il a été développé pendant la second
guerre mondiale par le mathématicien et économiste russe Léonid Kantorovitch. Ce
problème consiste à minimiser le coût de transport total d’un plan d’expédition. Le
fait de minimiser à la fois la distance totale et le coût de transport fait partie de la
théorie des flux de réseaux. C’est un problème linéaire qui peut être représenté sous
forme d’un graphe et qu’on peut le résoudre en utilisant les différentes méthodes
de résolution des problèmes linéaires.
13
CHAPITRE 2. PROBLEME DE TRANSPORT
14
CHAPITRE 2. PROBLEME DE TRANSPORT
Definition 3 :Un graphe est dit biparti si son ensemble de sommets peut être
divisé en deux sous-ensembles disjoints U et V tels que chaque arête ait une ex-
trémité dans U et l’autre dans V.
Definition 4 :Un graphe est dit simple si deux sommets distincts sont joints par
au plus une arête et s’il est sans boucle.
Definition 5 : Soit G=(X,U) un graphe orienté . on associe à chaque arc u=(x,y)
une longueur d(u) : d : u → IR
le graphe G muni de l’application d est appelé un réseau. Ce réseau est noté
R=(X,U,d).
15
CHAPITRE 2. PROBLEME DE TRANSPORT
16
CHAPITRE 2. PROBLEME DE TRANSPORT
Remarque :
On dit qu’un problème de transport est non équilibré si la disponibilité globale
n’est pas égale a la demande globale :
n
X m
X
ai 6= bj
i=1 j=1
on distingue
Pndeux casP: m
a/ Si i=1 ai > j=1 bj
b/ Si
Pn Pm
i=1 ai < j=1 bj
17
CHAPITRE 3
RÉSOLUTION DE PROBLÈME DE TRANSPORT
introduction
dans ce chapitre nous abordons a résoudre le problème de transport comme on a
vu dans le chapitre 2, la probleme consiste à transporter toutes les disponibilités
(ai ) (donc à satisfaire toutes les demandes (bj )) afin de minimiser le coût total de
transport (cij )
On est donc en présence d’un programme linéaire à mn variable et m + n − 1
contraintes. On pourrait résoudre ce problème par l’algorithme du simplexe ( le
fait que lessij doivent être des entiers n’est pas gênant : on démontre que si les
ai , bj , cij sont entiers, ce qui n’est pas restrictif en recherche opérationnelle, alors
la solution du programme linéaire est entière).
Mais l’algorithme du simplexe n’est pas le plus performant pour ce type de pro-
blème. On préfère utiliser des procédures fondées sur les concepts de flots. Le
problème de transport classique est en fait un cas particulier d’un problème de
flux de réseaux. Le problème du transport est un problème linéaire qui peut être
représenté sous forme d’un graphe et qu’on peut le résoudre en utilisant les dif-
férentes méthodes de résolution des problèmes linéaires qu’on va présenter par la
suite.
3.1 Le flôt
Soit G=(X,U) un graphe orienté : | U |= m
le cycle C = (x1 , u1 , x2 , u2 , ..., xk−1 , uk−1 , x1 ).
On définit un sens de parcours sur C : C = C + ∪ C −
C + = {ui ∈ C/ui = (xi , xi+1 )}
C − = {ui ∈ C/ui = (xi+1 , xi )}
A tout
cycle , on associe un m-vecteur représentatif : µ = (µ1 , µ2 , ..., µm )
1 si µ i ∈ C +
µi = -1 si µi ∈ C −
0 sinon
18
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT
soit f ∈ IRm
f est un flot ⇐⇒ ∀x ∈ X, u∈w− ({x}) = u∈w+ ({x}) ⇐⇒ E.f = 0
P P
où E matrice d’incidence sommet-arc
La notion de flots peut être associée, à de multiples problèmes qui consistent à
faire passer des quantités de matières sur les arcs d’un réseau de transport tout en
essayant de faire respecter au mieux certains critères. Remarquons qu’elle est aussi
très utilisée dans d’autres disciplines que la recherche opérationnelle (hydraulique
et électricité par exemple).
Nous allons examiner le problème essentiel relatif à cette notion : celui du flot du
cout minumum
19
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT
20
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT
La fonction objectif :
la fonction objectif est : min c(uk ).f (uk )
Les contraintes :
— contraintes de conservation de flôt : E.f = 0
On vas représenter ce réseau sous forme d’une matrice d’incidence E
Définition de matrice d’incidence :
Soit G un graphe orienté et sans boucle , | X |= n, | U |= m, la matrice
d’incidence sommet-arc associé a ce graphe est la matrice E : (n × m)
1 si xi est extrémité initiale de eij
Remarque :
la résolution du probleme de transport nous donne une solution optimale
seulment dans le cas où le probleme est équlibré , pour le cas générale nous avons
posé le modèle mathématique du problème et on a essayé de le résoudre par une
méthode de Stepping-Stone. Ainsi nous avons obtenu la solution de base par la
méthode de coint Nord-Ouest.(on n’utilise pas le simplexe )
21
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT
22
CHAPITRE 4
APPLICATION
introduction
Tous les algorithmes qui permettent de résoudre les différents types de problèmes
mathématiques , peuvent être implémentés dans des logiciels de programmation.
Dans ce chapitre on va introduire le programme qui résout le problème du transport
après l’avoir transformé en problème du flot de coût minimum en utilisant le logiciel
de programmation MATLAB qui va être défini dans la suite du chapitre, par la
suite on applique un exemple qui est le meilleur choix pour comprendre mieux le
problème du transport, et aussi comprendre le fonctionnement du programme.
4.1 Problématique
Un constructeur automobile possède trois usines situées à Bouira, Oran et An-
naba. Les métaux nécessaires à la fabrication des automobiles arrivent dans les
ports de Jijel et d’Alger . Les quantités hebdomadaires de métal nécessaires à
chaque usine sont respectivement de 400, 300 et 200 tonnes. La quantité hebdo-
madaire qui arrive au Jijel est de 550 tonnes et elle est de 350 tonnes à Alger. Les
coûts de transport d’un port à une usine sont donnés dans le tableau ci-dessous
(UA par tonne) :
4.2 Modélisation
on est dans le cas d’équilibré car la somme des disponibilités égale à la somme
des demandes
le PL associé au problème est le suivant :
23
CHAPITRE 4. APPLICATION
x11 + x21 = 400
x12 + x22 = 300
x13 + x23 = 200
x11 + x12 + x13 = 550
x 21 + x22 + x23 = 350
5x11 + 6x12 + 3x13 + 3x21 + 5x22 + 4x23 = z(min)
Répresentation graphique :
comme dit précédemment , nous allons transformer le problème au problème
de FCM ,Pour cela , commençons par traduire le problème en réseau de FCM .
la cout : c(uk ) = {0, 0, 5, 6, 3, 3, 5, 4, 0, 0, 0, 0}
la disponibilité : a(uk ) = {550, 350, ∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞, ∞}
la demande : b(uk ) = {0, 0, 0, 0, 0, 0, 0, 0, 400, 300, 200, 0} , ∀k ∈ IN
24
CHAPITRE 4. APPLICATION
f (u1 ) + f (u2 ) − f (u12 ) = 0
−f (u1 ) + f (u3 ) + f (u4 ) + f (u5 ) = 0
−f (u2 ) + f (u6 ) + f (u7 ) + f (u8 ) = 0
−f (u3 ) − f (u6 ) + f (u9 ) = 0
−f (u4 ) − f (u7 ) + f (u10 ) = 0
−f (u5 ) − f (u8 ) + f (u11 ) = 0
−f (u9 ) − f (u10 ) − f (u11 ) + f (u12 ) = 0
f (u1 ) ≤ 550
f (u2 ) ≤ 350
f (u9 ) ≥ 440
f (u10 ) ≥ 300
f (u11 ) ≥ 200
f (u ) ≥ 0, i = {1, 2, 3, 4, 5, 6, 7, 8, 12}
i
5f (u3 ) + 6f (u4 ) + 3f (u5 ) + 3f (u6 ) + 5f (u7 ) + 4f (u8 ) = z(min)
f (u1 ) = 550, f (u2 ) = 350, f (u3 ) = 50, f (u4 ) = 300, f (u5 ) = 200, f (u6 ) = 350,
f (u7 ) = 0, f (u8 ) = 0, f (u9 ) = 400, f (u10 ) = 300, f (u11 ) = 200, f (u12 ) = 900
cette solution trouvée représente les quantités transportés tels que :
f (u1 ) = 550 correspond a la quantité métal disponible au niveu du port de Jijel
f (u2 ) = 350 correspond a la quantité métal disponible au niveu du port de Alger
f (u3 ) = 50 : transporter 50 tonnes de métal de Jijel vers Oran.
f (u4 ) = 300 : transporter 300 tonnes de métal de Jijel vers Annaba.
f (u5 ) = 200 : transporter 200 tonnes de métal d’Alger vers Bouira.
f (u6 ) = 350, : transporter 350 tonnes de métal d’Algerl vers Oran.
f (u9 ) = 400 correspond a la quantité métal demandée par le port d’Oran
f (u10 ) = 400 correspond a la quantité métal demandée par le port d’Annaba
f (u11 ) = 400 correspond a la quantité métal demandée par le port de Bouira
Le coût total de transport est :
5 ∗ 50 + 6 ∗ 300 + 3 ∗ 200 + 3 ∗ 350 + 5 ∗ 0 + 4 ∗ 0 = 3700
25
CHAPITRE 4. APPLICATION
4.3.2 Résultats
Nous avons implémenté notre travail sur une machine Windows 7, 64bits, de
8G RAM, et un processeur intel CORE i5, ainsi nous avons obtenue les résultats
suivant :
26
Conclusion
abstract
In this work, interest was initially given to linear programming, then to solving
the transportation problem by the simplex method. Since this method cannot be
applied directly to this type of problems, and since the transportation problem is
a special case of the problem of the minimum cost flow ( which can be solved by
this method), a transformation of the problem into an MCF was required ,also
, its network. We continue this study with a code by the language of MATLAB,
which transforms the LP then solves it using the simplex, and finally we apply a
small example to understand more.
BIBLIOGRAPHIE
29