Vous êtes sur la page 1sur 30

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/345241370

Mémoire Problème de transport

Preprint · November 2020

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:

probleme de transport , faculté de maths ,simplexe pl .. View project

All content following this page was uploaded by Aridj Ferhat on 03 November 2020.

The user has requested enhancement of the downloaded file.


République Algérienne Démocratique et Populaire
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université des Sciences et de la Technologie Houari Boumediene

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

* Présenté par : FERHAT Aridj


BAKKAR Maroua
* Encadré par : Mme BENMEZIANE Zineb

juin 2020

1
Dédicaces

Nous dédions ce mémoire


A nos chers parents
Pour leurs patiences , leurs amours , leurs
soutiens et leurs prières tout au long de nos
études.
A nos chères frères et sœurs pour leurs
encouragements et leurs soutiens morals.
A nos amies et mes camarades
Sans oblier tout nos professeurs

2
Remerciment

Nous remercions Allah , notre créateur de nos


avoir donné les forces, la volonté et le courage
durant cette difficile période du covid-19 afin
d’accomplir ce travail modeste. Nous tenons a
remercier ,tout particulièrement notre encadreur
Madame BENMEZIANE Zineb, pour sa
compétence , sa présence , ses conseils ainsi que
sa gentillesse. Nous remercions tous les membres
du jury, qui ont eu l’amabilité d’examiner ce
travail et d’évaluer son contenu

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

3 Résolution de problème de transport 18


3.1 Le flôt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2 Problème du flôt de coût minimum . . . . . . . . . . . . . . . . . . 19
3.2.1 Programmation linéaire . . . . . . . . . . . . . . . . . . . . 19
3.3 La transformation du problème de transport en problème du flôt
de coût minimum . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1 Représentation graphique . . . . . . . . . . . . . . . . . . . 20
3.3.2 Programmation linéaire du problème de transport . . . . . 21

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

1.1 L’oranigramme de la méthode du simplex . . . . . . . . . . . . . . . 12

2.1 graphe orienté . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15


2.2 Réseau de transport associé . . . . . . . . . . . . . . . . . . . . . . 16
2.3 tableau de transport . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.1 représentation de cycle C . . . . . . . . . . . . . . . . . . . . . . . 19


3.2 Réseau de transport aprés la transformation . . . . . . . . . . . . . 20

4.1 Réseau de transport associé . . . . . . . . . . . . . . . . . . . . . . 24


4.2 l’interface du problème . . . . . . . . . . . . . . . . . . . . . . . . . 26

6
Introduction générale

La recherche opérationnelle peut être définie comme l’ensemble des méthodes et


techniques rationnelles orientées vers la recherche du meilleur choix dans la façon
d’opérer en vue d’aboutir des résultats visé ou de meilleurs résultats possible, elle
vise l’amélioration des opérations des entreprises, des organismes publics ou quoti-
diens par l’application de l’approche scientifique. Elle repose sur l’utilisation : Des
mathématiques appliquées, De l’informatique et des sciences de la gestion. Ainsi
la recherche opérationnelle a permis de résoudre plusieurs problèmes réels. Parmi
les problèmes les plus fréquents, on cite le problème de transport qui est le sujet
de notre projet de fin d’étude. Le problème de transport est un modèle important
de programmation linéaire qui se pose dans plusieurs contextes et a mérité une
attention particulière dans la Recherche Opérationnelle.
Notre travail est structuré sur quatre principaux chapitres :
Dans le premier chapitre , nous énumérons quelques notions de base sur la pro-
grammation linéaire et une des méthodes de résolution d’un programme linéaire
qui est la méthode du simplexe. Le second chapitre est le problème de transport
, d’où on le présente ainsi que sa modélisation en tant qu’un programme linéaire.
Le troisième chapitre comportera la résolution de ce problème par la méthode du
simplexe après faire le ramener à un problème du flôt de coût minimum. Dans le
quatrième chapitre on utilise un langage de programmation et on applique notre
programme du simplexe à un exemple en montrant les résultats.
Enfin nous achevons notre travaille par une conclusion.
CHAPITRE 1
NOTIONS DE BASE

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.

1.1 Programmation linéaire


la programmation linéaire est une technique mathématique d’optimisation (maxi-
misation ou minimisation) de fonction objectif linéaire sous des contraintes ayant
la forme d’inéquations linéaires .

1.1.1 Les étapes de formulation d’un PL


Généralement il y a trois étapes à suivre pour pouvoir construire le modèle
d’un programme linéaire :

— Identifier les variables de décision (variables du problème) à valeur non


connues et les représenter sous forme symbolique ( x, y).

— Identifier les contraintes du problème et les exprimer par un système d’in-


équations ou équations linéaires.

— Identifier la fonction objectif et le représenter sous une forme linéaire en


fonction des variables de décision. Spécifier si le critère de sélection est à
maximiser ou à minimiser

8
CHAPITRE 1. NOTIONS DE BASE

1.1.2 Différentes formes d’un PL


Forme générale
Un programme linéaire peut toujours s’écrire de la façon suivante :

 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 :

(1) : la fonction objective


(2) :les m contraintes linéaires
(3) :les containtes de positivité.
A matrice (m,n)des contraintes
c matrice (1,n) des coût
x matrice (m,1) des variables
b matrice (1,m)

1.1.3 Solutions de base d’un problème sous forme standard


soit (P) un probleme linéaire de base (J) ( det(AJ ) 6= 0)
la solution de base est : xJ = (AJ )−1 b et xJ˜ = 0 .
cette solution est dite réalisable si xj ≥ 0,et elle est dite dégénésée si xj contient
une ou plus de composentes nulles .
la solution optimale est toute solution réalisable maximisant la fonction objective.
tq : J ⊂ {1, 2, ....., n} .
(AJ ) matrice de base associée a la base J .
J¯ = {1, 2, , , , n}\J

9
CHAPITRE 1. NOTIONS DE BASE

1.2 la méthode de simplexe


La méthode du simplexe est une des méthodes pour résoudre un programme
linéaire. Cette méthode, due à Dantzig, est la première qui a permis de résoudre
un programme linéaire et constitue encore aujourd’hui une des deux approches ef-
ficaces pour sa résolution . Une description informelle est faite dans cette section.
La description formelle de l’algorithme est présentée à la section suivante.

1.2.1 Les deux phases de la méthode du simplexe :


— Phase 1 (Initialisation) : Trouver une solution de base réalisable (ou bien
détecter l’impossibilité).

— Phase 2 (Progression) : On passe d’un sommet à un sommet voisin pour


augmenter la fonction objectif.

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 )

1.2.3 Principe de la méthode du simplexe :


Faire rentrer une variable hors-base dans la nouvelle base (variable entrante)
et faire sortir à la place une variable de base (variable sortante).

1.2.4 Variable entrante - calcul des coûts réduits :


Fonction objectif z exprimée en fonction des variables hors-base. Ensemble des
solutions réalisables DR = {x ∈ IRn |Ax = b, x ≥ 0}

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

qui a le coût réduit positif le plus grand possible.


¯ ¯
s = maxj {LJj , (LJ ) > 0}

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

1.2.5 Méthode du simplexe en phase 2 (progression) :


1- Calcul des variables de base réalisables :
¯
Étant donné A = (AJ , AJ ) , on calcule XJ = (AJ )−1 b ≥ 0
Calcul des coûts réduits :
Si LJ ≤ 0 alors XJ est une solution optimale (arrêt de l’algorithme.).
¯ ¯
2- Variable entrante : s = maxj {LJj , (LJ ) > 0}

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.

1.2.6 L’oranigramme de la méthode du simplex :

11
CHAPITRE 1. NOTIONS DE BASE

Figure 1.1 – L’oranigramme de la méthode du simplex


12
CHAPITRE 2
PROBLEME DE TRANSPORT

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.

2.1 Position du problème


Il s’agit de transporter entre n origines (i = 1, 2, ....., n) et m destinations cer-
taines quantités (de marchandises par exemple ). En chaque origine i exsite une
desponibilité ai et en chaque destination une demande bj . Par ailleurs, entre une
origine i et une destination j le coût de transport d’une unité est une constante
égale à cij (qui peut etre infinie s’il n’y a pas de liaison entre i et j ).
On supposera dans la suite que
n
X m
X
ai = bj
i=1 j=1

Objectif : Le problème consiste à transporter toutes les disponibilités (donc à


satisfaire toutes les demandes) de façon à minimiser le coût de transport total.
Exemple : Soit la société Alpha possédant quatre dépôts A1, A2, A3 et A4 dans
lesquels existent des quantités respectives de 896, 782, 943, 928 unités d’une ma-
tière première, et cinq usines D1, D2, D3 , D4 et D5 demandant respectivement
800, 439, 50, 790 et 1470 unités de celles-ci. Les coûts de transport Cij sont donnés
.

13
CHAPITRE 2. PROBLEME DE TRANSPORT

2.2 Programmation linéaire


On suppose que des marchandises doivent être transportées de n origines aux
m destinations , on définit :
— la disponibilité en marchandises de l’usine i est ai
— la demande de marchandises du client j est bj
— le coût de transport d’une marchandise d’origine i (l’usine ) vers destination
j (le client) est Cij

2.2.1 Les variables de décision :


Les variables du programmation linéaire (LP) du problème de transport sont
des entiers naturels représentant des unités transportées d’un origine vers une
destination.
Les variables de décision sont les suivantes :
Xij : La quantité à transporter d’origine i à la destination j. Où i ∈ {1, 2, 3...n}
et j ∈ {1, 2, 3, ...m}.

2.2.2 La fonction objectif :


le problème consiste à déterminer les quantités Xij , de façon que le coût total
de transport soit minimal.
D’où la fonction objectif est :
n X
X m
min Cij Xij
i=1 j=1

2.2.3 Les contraintes :


Pmla quantité totale de marchandises partant de i est égale à la disponibilité
j=1 Xij = ai .
la
Pnquantité totale de marchandises reçue par j est égale à la demande
i=1 Xij = bj .

2.2.4 Forme générale du PL



Xn X m
min z = Cij xij






 i=1 j=1



 X m



 xij = ai


 j=1
X n



 xij = bj
i=1







 ai , bj , xij ∈ N




 ∀i ∈ {1, 2, ..., n}
∀j ∈ {1, 2, ..., m}

14
CHAPITRE 2. PROBLEME DE TRANSPORT

Rappel sur les graphes


Definition 1 : Un graphe G est le couple (X,E) telque :
X : ensemble des sommets de G.
E ⊆ (X ∗ X) : ensemble des arcs de G
X = {x1 , x2 , . . . . . . ., xn }. u ∈ E , u=(x,y) , x, y ∈ X
x : extrémité initiale de u
y : extrémité terminale de u
Definition 2 : Un graphe dans lequel chacune des arêtes reliant deux sommets
est appelé orientée (a un sens). Les arêtes d’un graphe orienté sont appelées des
arcs.
Exemple : X = {x1 , x2 , x3 , x4 }, E = {u1 , u2 , u3 }

Figure 2.1 – graphe orienté

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).

2.3 Réseau de transport :


Graphiquement, le problème du transport est souvent visualisé comme un
graphe biparti avec n sources, m destinations et un ensemble de m×n "arcs orien-
tés " Ceci est représenté dans la figure2.1
les arcs relient chaque sommet origine aux sommets destinations . Ces arcs sont
de capacités de coût cij

15
CHAPITRE 2. PROBLEME DE TRANSPORT

Figure 2.2 – Réseau de transport associé

2.4 Tableau de problème


Le tableau de transport (Un problème de transport typique est représenté sous
forme de matrice standard), où la disponibilité d’approvisionnement (ai) à chaque
source est affichée dans la colonne droite du tableau, et les demandes de destina-
tion (bj) sont affichées dans la ligne inférieure.
Chaque cellule représente une voie, Le coût de transport unitaire (cij) est indiqué
dans le coin supérieur droit de la cellule, la quantité de matériel transporté est
affichée au centre de la cellule, Le tableau de transport exprime implicitement les
contraintes de l’offre et de la demande et le coût de transport entre chaque source
et destination.

Figure 2.3 – tableau 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

il suffit d’introduire une destination fictive yn+1 de coût de transport égale


à zéro entre xi et yn+1 dont la demande :
n
X m
X
bn+1 = ai − bj
i=1 j=1

b/ Si
Pn Pm
i=1 ai < j=1 bj

il suffit d’introduire une source fictive xn+1 de coût de transport égale à


zéro entre yj et xm+1 dont la disponibilité :
m
X n
X
am+1 = bj − ai
j=1 i=1

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

lePflôt f est une combinaison linéaire de vecteurs représentatifs de cycles de G


f = ki=1 λi µi , λi ∈ IR, µi vecteur représentatif du cycle Ci

18
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT

Figure 3.1 – représentation de cycle C

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

3.2 Problème du flôt de coût minimum


Définition : Etant donné un réseau R = (X, U, c, b, a) où
c : U → IR coût
b : U → IR demande
a : U → IR desponiblité ∀u ∈ U ; b(u) ≤ a(u)
le problème de la recherche d’un flot de cout min sur IR consiste à chercher
f ∈ IRm , tq

— f soit un flot sur G = (X, U )


— ∀u
P ∈ U ; b(u) ≤ f (u) ≤ a(u)
— u∈U f (u).c(u) soit minimum

3.2.1 Programmation linéaire




 z( min) = c.f

 f ≥b

 −f ≥ −a

E.f = 0

19
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT

3.3 La transformation du problème de transport


en problème du flôt de coût minimum
3.3.1 Représentation graphique
Soit R=(X,U,c,b,a) un réseau :
X = {x1 , ..., xn } ∪ {y1 , ..., ym } ∪ {s, p},
{x1 , ..., xn } :ensemble des origines
{y1 , ..., ym } :ensemble des destinations
{s, p} :la source et le puit
U = V1 ∪ V2 ∪ V3 ∪ {ur }
.
 
V1 = (x (i , yj ) /i = 1, n, j = 1, m , V2 = (s, xi ) /i = 1, n , V3 = (yj , p) /j = 1, m
cij si u ∈ V1
c(u) =
0 sinon
(
ai si u ∈ V2
a(u) =
+∞ sinon
(
bj si u ∈ V3
b(u) =
0 sinon

Figure 3.2 – Réseau de transport aprés la transformation

20
CHAPITRE 3. RÉSOLUTION DE PROBLÈME DE TRANSPORT

3.3.2 Programmation linéaire du problème de transport


Les variables de décision :
Les variables de la programmation linéaire (LP) du problème du transport sont
des entiers naturels représentants des unités transportées de s à p.
Les variables de décision sont les suivantes :
f (uk ) : La quantité de flot qu’on peut passer du sommet s à la sommet p avec
k ∈ IN

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

Eij = −1 si xi est extrémité terminale de eij


0 si xi n’est pas une extrémité de eij

— contraintes de capacité :
le flôt f ne dépasse pas la disponibilité ai :
f (uk ) ≤ ai , ∀uK ∈ V2
Le flôt f ne diminue pas à la demande :
f (uk ) ≥ bj , ∀uK ∈ V3

PL associé après la transformation est :




 z( min) = c(uk ).f (uk )




 f (uk ) ≤ ai , ∀uK ∈ V2

 f (uk ) ≥ bj , ∀uK ∈ V3

 E.f (uk ) = 0

f (uk ) ≥ 0





∀i ∈ {1..n}, j ∈ {1..m}, k ∈ IN

On le résoudra à l’aide du simplexe en utilisant solveur (excel , cplex ..)

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

Résolution du problème de transport (cas général) :


La résolution du problème passe par deux étapes essentielles :
— La première c’est de trouver une solution de base initiale.
— La deuxième étape est de trouver la solution optimale à partir de la solution
de base.

Recherche d’une solution de base initiale


Méthode de Coin Nord-Ouest :
les étapes :

a) On débute par la case (1, 1) (coin nord-ouest). Allouer à cette case la


quantité la plus grande possible afin de satisfaire la demande j ou bien
d’épuiser la source i.
b) Si la source i est épuisée, rayer la ligne i. Si la demande j est satisfaite,
rayer la colonne j.
c) On recommence l’étape (a) à partir de la sous-matrice.

Recherche d’une solution Optimal


Algorithme de stepping stone :
1. Déterminer une solution de base initiale.
2. Calculer les coûts marginaux 1 σij = cij − (tj − ti ) avec tj − ti = θij la
tension de l’arc (i, j), ti s’appelle le potentiel du sommet i de l’arc (i, j).
Si tous les coûts marginaux sont positifs où nuls alors FIN. La solution est
optimal, sinon passer à 3.
3. Pour tous les coûts marginaux négatifs, chercher la chaine de substitution et
déterminer la quantité maximale qui peut être déplacé et passer à (4).Alors
le gain correspondant est égale au produit de cette quantité par le coût
marginale.
4. Retenir la substitution qui réalise la plus grande diminution du coût de
transport, l’effectuer et revenir à (2).
Comment déterminer les potentiels ? - On utilisera le tableau des coûts limité
aux cases où la quantité transitée est non nulle. - On déterminera les potentiels
de proche en proche : on commencera par une destination, puis une origine, puis
une destination.
Comment déterminer les σ ? - Pour chaque case nulle, on calculera σ en ajoutant
au coût unitaire de la case le potentiel d’origine associée et en retranchant le po-
tentiel de la destination correspondante.
Comment déterminer les quantités à transporter(q) ? - On déterminera les quan-
tités qu’on peut ajouter aux cases vides uniquement pour celles dont le σ est
négatif, il ne sert à rien, en effet, de remplir une case qui fait augmenter le coût.
- Pour remplir une case vide, il faut diminuer une case pleine, donc constituer un
circuit de cases pleines qu’on vide et remplit alternativement.

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) :

Bouira Oran Annaba


jijel 5 6 3
Alger 3 5 4

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

Figure 4.1 – Réseau de transport associé

Sa matrice d’incidence sommet-arc est :


 
1 1 0 0 0 0 0 0 0 0 0 −1
 −1 0 1 1 1 0 0 0 0 0 0 0 
 
 0 −1 0 0 0 1 1 1 0 0 0 0 
 
E= 0 0 −1 0 0 −1 0 0 1 0 0 0 

 0
 0 0 −1 0 0 −1 0 0 1 0 0 

 0 0 0 0 −1 0 0 −1 0 0 1 0 
0 0 0 0 0 0 0 0 −1 −1 −1 1
Alors le PL aprés la transformation est comme la suite :

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)

nous résolvons ce PL en utilisant le solveur d’excel ,nous obtenons les résultas


ci-dessous :

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

4.3 Logiciel de programmation :


MATLAB (abréviation de l’anglais «Matrice de laboratoire».)
est logiciel pour résoudre le calcul technique et langage de programmation épo-
nyme.Le langage MATLAB, basé sur les matrices,est le moyen le plus naturel
au monde pour exprimer les mathématiques computationnelles.Le code MATLAB
peut être intégré à d’autres langages de programmation,ce qui permet de déployer
des algorithmes et des applications au sein de systèmes Web, d’entreprise et de
production.

4.3.1 Programme de résolution du problème de transport :


Le code source du programme est attaché dans le CD
On vas traduire PL sous forme d’une matrice des contraintes et deux vecteurs

25
CHAPITRE 4. APPLICATION

, un pour les demandes et les disponibilités et l’autre pour le coûts. la matrice


des contraintes A représente la matrice d’incidence sommet-arcs E du réseau de
problème qui est totalement unimodulaire et en dessous d’elle deux sous matrices
d’identité Ir tel que r est la taille du graphe , d’où la matrice A est totalement
unimodulaire ( car elle est construite par des matrices unimodulaires) et elle est
de dimensions (n + m + 2 + n + m × n ∗ m + n + m + 1). Le vecteur b de dimension
(n + m + 2 + n + m × 1)représente les  disponibilités
 de chaque origines et les

 0
 . 

 
 

.

 


 

0

 


 

a1

 


 
 
.

demandes de chaque destination b= et le vecteur c de dimension (1 ×
 . 
 
an 

 

 

b1

 


  
. 

 

 

.

 


 
 
bm

n ∗ m + n + m + 1) représente les coûts de chaque origine vers une destination
c = {0..0, c11, c12, .., cnm, 0..0}

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 :

Figure 4.2 – l’interface du problème

26
Conclusion

La recherche opérationnelle se situe au carrefour de différentes sciences et technolo-


gies et propose un ensemble de méthodes scientifiques pour résoudre des problèmes
d’optimisation liés aux organisations du monde réel : gestion des flux, problème
du transport, d’emploi du temps... Dans cette étude, on a essayé de modéliser et
résoudre le problème du transport classique par la méthode du simplexe en utili-
sant le langage MATLAB .
Le problème consiste à trouver la quantité des marchandises transportées d’un
nombre de sources vers un nombre de destinations en minimisant le coût de trans-
port et en satisfaisant la demande de chaque client.
nous avons atteint de nouveaux objectifs et nous espérons dans un prochaine ave-
nir pouvoir continuer à travailler sur les problèmes de la recherche opérationnelle
ainsi que leur résolution, car c’est un domaine vaste, riche et très intéressant.
Résumé
Dans ce travail, on s’est intéressé au début à la programmation linéaire , puis à
la résolution du problème du transport par la méthode du simplexe . Comme cette
méthode ne peut pas être appliqué directement à ce type de problème, et, comme le
problème du transport est un cas particulier du problème du flot de coût minimum
( qu’on peut le résoudre par cette méthode), une transformation du problème traité
en un FCM était requis en représentant le réseau de ce dernier. Nous poursuivons
cette étude par un code sous le langage de MATLAB, qui transforme le PL ensuite
il le résout en utilisant le simplexe, et en dernier lieu on applique un petit exemple
pour plus comprendre.

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

[1] Economic theory and operations analysis , William J. Baumol Hardcover –


January 1, 1965
[2] Mr.Yagouni, Mouhammed , cours optimisation linéaire ,faculté de recheerche
opérationnelle ,USTHB
[3] Recherche opérationnelle méthodes d’optimisation en gestion , Michel Nakhla,
jean-Claude Moisdon
[4] Mme Benmeziane , Zineb , Cours théorie des graphes , faculté de recheerche
opérationnelle ,USTHB,2019-2020
[5] Article : ALFRED ASASE. The transportation problem. Theses submitted
to the department of mathematics faculty of physical science and technology
Kumasi, October 2011
[6] Mathematical Theory and Modeling

29

View publication stats

Vous aimerez peut-être aussi