Vous êtes sur la page 1sur 41

Plan du Rapport de recherche

Présentation :

1) Problème de Transport :

a) Définition
b) Objectif
c) Modélisation (formulation mathématique)
d) Application d’un algorithme sur un cas de problème pratique
e) Résolution du cas précédent par un logiciel

2) Problème d’affectation :

a) Définition
b) Objectif
c) Modélisation (formulation mathématique)
d) Application d’un algorithme sur un cas de problème pratique
e) Résolution du cas précédent par un logiciel

3) Problème de Flot maximal et de Flot à coût minimal :

a) Définition
b) Objectif
c) Modélisation (formulation mathématique)
d) Application d’un algorithme sur un cas de problème pratique
e) Résolution du cas précédent par un logiciel

4) Problème de Tournées de Véhicules

a) Définition
b) Objectif
c) Modélisation (formulation mathématique)
d) Application d’un algorithme sur un cas de problème pratique
Présentation :

Toute entreprise qu’elle que soit sa taille, son domaine


d’activité est amené à faire face à des problèmes de gestion au
quotidien. Parmi ces problèmes, on cite les problèmes de flot,
d’affectation et de transport qui nécessitent la mise en œuvre
d’un procédé de prise de décision rationnel, notamment la
recherche opérationnelle, à cause de leur niveau de complexité
particulièrement élevé et à cause des coûts supplémentaires
qu’ils génèrent s’ils sont mal gérés. Ce qui souligne l’importance
qu’occupe ce type de problème dans la gestion quotidienne de
l’entreprise.

C’est pour cette raison que le but de notre travail est de


présenter des méthodes faciles de formulation et de résolution
de ce genre de problème. Et pour cela, nous avons divisé notre
travail en quatre parties, où nous allons aborder dans un
premier temps le problème de transport, et ensuite nouas allons
présenter le problème d’affectation, nous traitons aussi un
problème de flot et plus précisément le problème de flot
maximal ainsi que des algorithmes de résolution appropriés. Et
enfin nous allons traiter les problèmes des tournées des
véhicules.

Durant notre recherche nous essaierons de résoudre quelque


cas par l’utilisation des programmes informatiques.
I- Problème de Transport

a) Définition :

Le problème de transport est une classe spéciale du problème de


programmation linéaire. Il traite de la situation dans laquelle une marchandise
est transportée à partir de sources aux destinations.

b) Objectif :

Est de déterminer la quantité de marchandise à être transportée de chaque


source à chaque destination afin que le coût total du transport soit minimal.

c) Modélisation (formulation mathématique) :


Données :

 un ensemble K d'usines,
 un ensemble L de clients,
 les offres ak des usines,
 les demandes bl des clients,
 les coûts de transports unitaires c(k,l)
On suppose que:

Hypothèse 1:

où ak>0 et bl > 0.

Le problème de transport peut être modélisé de la méthode suivante :

Sous l’hypothèse (1), (T) est dit :


« Le problème Standard de Transport » (PST)

a)
Alors on crée un client fictif :

b)

Alors on crée un entrepôt fictif :

d) Application d’un algorithme sur un cas de problème pratique :

d-1) Enoncé du problème :

La société GALAXY ELECTRONICS est spécialisée dans la vente d’articles


électroménager, cette dernière doit livrer ses 4 clients, qui lui achètent
respectivement 10, 8, 5 et 7 de produit. Il lui reste exactement 30 articles mais ils
sont répartis sur 3 entrepôts : 6, dans le 1er, 9 dans le 2ème et 15 dans le 3ème .Les
coûts de transport, en DH/A, entre chaque entrepôts Ri et chaque point de
livraison Lj sont donnés dans le tableau suivant:

Points de livraison

Entrepôt L1 L2 L3 L4

R1 4 3 7 2

R2 3 4 5 2

R3 5 6 9 7
Quel est le nombre des articles envoyer des entrepôts vers chaque point de livraison en
respectant l’offre et en satisfaisant la demande au moindre coût ?

d-2) solution :

On pourrait résoudre ce problème à l’aide de l’algorithme du simplexe, mais on


va préférer un algorithme spécifique (le Stepping-Stone) qui tiendra compte des
particularités du problème posé pour en simplifier la résolution. L’algorithme du
Stepping-Stone sera un algorithme itératif (donc par étapes successives) visant à
améliorer (donc faire baisser le coût global) une solution de base.
Il nous faut donc une solution de départ pour démarrer l’algorithme.
d-2-1) Obtention d’une solution de base par la méthode de Balas-Hammer :
Cette méthode, appelée aussi méthode de la différence maximale, fera intervenir les
coûts unitaires de transport et sera donc, en général, assez proche de l’optimum.
Pour chaque rangée (ligne ou colonne) du tableau des coûts, on déterminera l’élément
le plus petit et celui qui lui est immédiatement supérieur et on calculera leur différence
(notée ∆)

Points de
livraison
L1 L2 L3 L4 L’offre ∆
Entrepôt

R1 4 3 7 2 6 1

R2 3 4 5 2 9 1

R3 5 6 9 7 15 1

Demande 10 8 5 7

∆ 1 1 2 5
Dans la rangée correspondant à la différence maximale (ici la colonne L4) on
remplira la case contenant le plus petit élément (ici la case R1L4 ou R2L4) avec le
minimum de l’offre de la ligne et de la demande de la colonne.
Puis on recommencera le processus autant de fois que nécessaire en supprimant
à chaque fois l’origine dont l’offre est entièrement utilisée et/ou la destination dont la
demande est complètement satisfaite.

Points de
livraison
L1 L2 L3 L4
L’offre ∆
Entrepôt

R1 4) 3) 7) 2) 6 1

R2 3) 4) 5) 2) 9 1

7 2

R3 5) 6) 9) 7) 15 1

Demande 10 8 5 7

∆ 1 1 2 5
Points de
livraison
L1 L2 L3
L’offre ∆
Entrepôt

R1 4) 3) 7) 6 1

R2 3) 4) 5) 2 1

2 0

R3 5) 6) 9) 15 1

Demande 10 8 5

∆ 1 1 2

Points de
livraison
L1 L2 L3
L’offre ∆
Entrepôt

R1 4) 3) 7) 6 1

3 3

R3 5) 6) 9) 15 1

Demande 10 8 3

∆ 1 1 2
Points de
livraison
L1 L2
L’offre ∆
Entrepôt

R1 4) 3) 3 1

R3 5) 6) 15 1

10 5

Demande 10 8

∆ 1 1

Solution de base est :


Nombre d’article
L1 L2 L3 L4

R1 3 3

R2 2 7

R3 10 5
Z=(10*5)+(5*6)+(2*5)+(7*2)+(3*7)+(3*3)
= 134

d-2-2) Déroulement de l’algorithme :

On peut appliquer l’algorithme à n’importe laquelle des solutions de base. On va


l’appliquer, par exemple, à la solution fournie par la méthode de Balas-Hammer.
L’algorithme consiste à modifier la solution pour une qui soit meilleure, donc à rendre
non vide une case vide du tableau des quantités
On choisira la case qui permet la plus grande baisse du coût global de transport
Pour la déterminer, on calculera :
a) les potentiels associés aux origines et aux destinations
b) les variations de coût unitaire pour chaque case vide (δ)
c) les quantités maximales qu’on peut ajouter à chaque case vide (q)

a) Comment déterminer les potentiels ?


On utilisera le tableau des coûts limité aux cases où la quantité transitée est non nulle :
q
coût
L1 L2 L3 L4 L1 L2 L3 L4 L1 L2 L3 L4

R1 4 3 7 2 R1 3 3 R1 3 7

R2 3 4 5 2 R2 2 7 R2 5 2

R3 5 6 9 7 R3 10 5 R3 5 6

On déterminera les potentiels de proche en proche : on commencera par une


destination, puis une origine, puis une destination…..en soustrayant de R à L et en
ajoutant de L à R.
On fixera le premier potentiel arbitrairement et…suivre les flèches (on soustrait
des destinations aux origines et on ajoute des origines aux destinations)

(1) (2) (1)

L1 L2 L3 L4 Pot L1 L2 L3 L4 Pot L1 L2 L3 L4 Pot

R1 3 7 R1 3 7 R1 3 7 3

R2 5 2 R2 5 2 R2 5 2

R3 5 6 0 R3 5 6 0 R3 5 6 0

pot 5 Pot 5 6 pot 5 6

(4) (5) (6)

L1 L2 L3 L4 Pot L1 L2 L3 L4 Pot L1 L2 L3 L4 Pot


R1 3 7 3 R1 3 7 3 R1 3 7 3

R2 5 2 R2 5 2 5 R2 5 2 5

R3 5 6 0 R3 5 6 0 R3 5 6 0

pot 5 6 10 Pot 5 6 10 pot 5 6 10 7

b) Comment déterminer les δ ?

Pour chaque case nulle, on calculera δ en ajoutant au coût unitaire de la


case le potentiel de l’origine associée et en retranchant le potentiel de la
destination correspondante :

coûts δ
L1 L2 L3 L4 Pot L1 L2 L3 L4 Pot

R1 4 2 3 R1 2 -2 3

R2 3 4 5 R2 3 3 5

R3 9 7 0 R3 -1 0 0

pot 5 6 10 7 pot 5 6 10 7

c) Comment déterminer les q ?

On déterminera les quantité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
La quantité maximale qu’on peut déplacer pour remplir la case R1L4 est
donc 3 (la valeur minimale des cases où on enlève quelque chose.
On obtient tous les q de la même façon :
L1 L2 L3 L4

R1 3 0 3

R2 5 4

R3 10 5
Z=(10*5)+(5*6)+(4*2)+(5*5)+(3*3)+(7*0)+(3*2)
= 128

On répète les étapes a)b)c) tant qu’il y a des δ négatifs. Quand tous les δ
seront positifs, nous aurons une des solutions optimales.

Calcule de potentiel :

Pot

L1 L2 L3 L4 Pot

R1 3 2 3

R2 5 2 3

R3 5 6 0

pot 5 6 8 5
Calcule de δ :

Δ
L1 L2 L3 L4 Pot

R1 2 2 3

R2 1 1 3

R3 1 2 0

pot 5 6 8 5

Donc tous les δij > 0 alors on confirme que

L1 L2 L3 L4

R1 3 0 3

R2 5 4

R3 10 5

Est une solution optimale avec Z = 128.


e) Résolution du cas précédent par un logiciel :
Pour résoudre ce problème on utilise Excel saleur qui confirme notre
résultat

Cout l1 L2 L3 L4 DIS
R1 4 3 7 2 6
R2 3 4 5 2 9
R3 5 6 9 7 15
DEMANDE 10 8 5 7

Cout l1 L2 L3 L4 Somme
R1 0 3 0 3 6
R2 0 0 5 4 9
R3 10 5 0 0 15
Somme 10 8 5 7

z= 128
II- Problème d’affectation :

a) Définition :

Les problèmes d’affectation sont des cas spéciaux du problème de transport


où la demande associée à chaque destination est égale à 1.

b) Objectif :

La meilleure personne pour chaque tâche au moindre coût

c) Modélisation (formulation mathématique)

– n personnes doivent effectuer n tâches.


– Un coût cij est associé à l’affectation de la personne i à la tâche j.

– Propriété : la relaxation linéaire du problème est toujours entière.


– Algorithme : méthode hongroise.

d) Application d’un algorithme sur un cas de problème pratique

d-1) Enoncé du problème :


M. Farid, associé d’un cabinet juridique, doit faire préparer cinq dossiers
importants avant de pouvoir partir en vacances. Comme il s’agit d’une période
creuse pour la plupart des autres associés, il à a sa disposition cinq avocats
compétents. Vu la nature des dossiers et les périodes de familiarisation requise,
M, Farid préfère assigner un seul dossier à chacun des avocats (A, B, C, D, E, F).
Il désire tout particulièrement que le nombre total d’heurs nécessaires pour la
préparation des dossiers soit le plus faible possible. Il minimise le nombre total
d’heures requises pour la préparation des 5 dossiers
Il sait que chacun des cinq avocats peut préparer chacun des dossiers, mais
en prenant un nombre d’heurs différent. Il estime le temps requis par chacun
pour chaque dossier comme suit :

A B C D E
1 25 30 40 40 45
2 18 34 37 44 34
3 20 32 40 38 36
4 25 30 42 37 27
5 28 36 35 40 32
Mr Farid cherche que les 5 dossiers soient préparer dans le plus faible temps
possible que proposez-vous pour résoudre ce problème ?

d-2) solution :

Pour ce problème en utilise (ALGORITHME DE KÜHN).


Cet algorithme, appelé aussi Méthode Hongroise, sert à résoudre les problèmes
d'affectation, problèmes qu'on peut résumer de la manière suivante : considérant
une matrice, il faut choisir un seul élément par ligne et par colonne de façon à
rendre la somme minimale

A B C D E
1 25 30 40 40 45
2 18 34 37 44 34
3 20 32 40 38 36
4 25 30 42 37 27
5 28 36 35 40 32

Nous allons exposer la méthode sous la forme d'une succession d'étapes :

ETAPE 0 : REDUCTION DU TABLEAU INITIAL


On soustrait à chaque ligne du tableau initial, le plus petit élément de la ligne
On fait de même avec les colonnes.

I A B C D E II A B C D E
1 0 5 15 15 20 1 0 0 8 3 18
2 0 16 19 26 16 2 0 11 12 14 14
3 0 12 20 18 16 3 0 7 13 06 14
4 0 5 17 12 2 4 0 0 10 0 0
5 0 8 7 12 4 5 0 3 0 0 2

ETAPE 1 : ENCADRER ET BARRER DES ZEROS :

On cherche la ligne comportant le moins de zéros non barrés (en cas d'égalité, choisir
Arbitrairement la plus haute)
On encadre un des zéros de cette ligne (arbitrairement le plus à gauche)
On barre tous les zéros se trouvant sur la même ligne ou sur la même colonne que le
zéro encadré
On recommence l'opération jusqu'à ce qu'on ne puisse plus encadrer, ni barrer de zéros :

II A B C D E
1 0 0 8 3 18
2 0 11 12 14 14
3 0 7 13 6 14
4 0 0 10 0 0
5 0 3 0 0 2

ETAPE 2 : MARQUER ET BARRER DES LIGNES ET DES COLONNES

a) On marque d'une croix toutes les lignes ne contenant aucun zéro encadré
b) On marque toute colonne ayant un zéro barré sur une ligne marquée
c) On marque toute ligne ayant un zéro encadré dans une colonne marquée
On répète alternativement les opérations b) et c) jusqu'à ne plus pouvoir marquer de
rangée
On trace alors un trait sur toute ligne non marquée et sur toute colonne marqué

X2
A B C D E
1 0 0 8 3 18
2 0 11 12 14 14 X3
3 0 7 13 6 14 X1
4 0 0 10 0 0
5 0 3 0 0 2

ETAPE 3 : MODIFICATION DU TABLEAU :


Les cases non traversées par un trait constituent un tableau partiel
On retranche à toutes les cases de ce tableau partiel le plus petit élément de celui-ci
On ajoute ce même élément à toutes les cases du tableau initial barrées deux fois
On obtient alors un nouveau tableau sur lequel on pourra répéter la succession des
étapes 1 à 3

A B C D E
1 6 0 8 3 18
2 0 5 6 8 8
3 0 1 7 0 8
4 6 0 10 0 0
5 6 3 0 0 2

Retour à l’étape 1 :

A B C D E
1 6 0 8 3 18
2 0 5 6 8 8
3 0 1 7 0 8
4 6 0 10 0 0
5 6 3 0 0 2

Zéro encadré par ligne, ce qui correspond à la solution optimale

Z= 18+30+35+38+27 = 148

e) Résolution du cas précédent par un logiciel


Par solveur :
25 30 40 40 45
18 34 37 44 34

20 32 40 38 36 Z= 148
25 30 42 37 27
28 36 35 40 32

0 1 0 0 0 1
1 0 0 0 0 1
0 0 0 1 0 1
0 0 0 0 1 1
0 0 1 0 0 1
1 1 1 1 1

III- Problème de Flot maximal et de Flot à coût minimal :


f) Définition :

 Flot maximal :

Le problème de flot maximal consiste à transporter la quantité


maximale possible d’une origine (source) à une destination (puits)
données, sans dépasser les capacités des arcs.
– Données : un graphe dirigé G = (N;A), une capacité uij > 0 pour tout
arc (i; j), une source s et un puits t.
Définition 9 (st-flot). – Un st-flot dans le réseau est un vecteur d’entiers
f = (fij) associés aux arcs tel que :

 Flots de coût minimum :

– Extension du problème de transbordement : ajout de capacités sur


les arcs.
– Données : un graphe dirigé G = (N;A), une capacité uij > 0 et un coût
cij > 0 pour tout arc (i; j), une offre bi pour tout noeud i (si bi < 0,
demande).
– La somme des offres/demandes doit être nulle.
Définition : (Flot compatible). Un flot compatible avec l’offre b est un
vecteur d’entiers f = (fij) associés aux arcs tel que :
g) Modélisation (formulation mathématique) :

h) Application d’un algorithme sur un cas de problème pratique :

PARC SEERVADA :
Algorithme de Ford-Fulkerson :
Identification d’un chemin d’augmentation :
IV - Problème de Tournées de Véhicules

a) Définition :

Le problème de tournées de véhicules est une classe de problèmes de recherche


opérationnelle et d'optimisation combinatoire. Il s'agit de déterminer les tournées
d'une flotte de véhicules afin de livrer une liste de clients, ou de réaliser des
tournées d'interventions (maintenance, réparation, contrôles) ou de visites (visites
médicales, commerciales, etc.).

a) Objectif :

est de minimiser le coût de livraison des biens.

b) Modélisation (formulation mathématique) :

La formulation du VRP (Vehicle Routing Problem) que nous présentons ici


correspond à la formulation mathématique utilisée en programmation linéaire en
nombres entiers. Elle traduit la modélisation naturelle du problème par la
définition une variable binaire xijk égale à 1 si le véhicule k parcourt l'arc (vi; vj),
noté plus simplement (i; j).
Nous retiendrons que les VRP se modélisent par un graphe orienté ou non G
= (V; E) où V = {v0+ v1, ……. , vn} est un ensemble de sommets modélisant les
villes (ou les clients) ( avec v0 correspondant au dépôt) et E = {(vi, vj) : i =< j ;
vi, vj ͼV } est un ensemble d'arêtes ou d'arcs reliant les villes. Les arcs et les
arêtes correspondent respectivement aux problèmes symétriques (ou non
orientés) et aux problèmes asymétriques (ou orientés) Comme c'est le cas
généralement, nous supposons que le :
c) Application d’un algorithme sur un cas de problème pratique :
objectif, car il y a peut de chance que les six minimaux correspondent `a
une tournée.
Donc le tableau précédent s’interprète comme la matrice des coûts à
ajouter a 13. Remarquons maintenant, en analysant le tableau précédent
résultant, que, pour aller en C, il faut au moins payer un surcoût de 3. La
deuxième étape consiste donc à soustraire le plus petit élément de chaque
colonne. On obtient la matrice réduite illustrée au tableau suivant :
Le tableau suivant reprend le calcul de ces pénalités pour tous les couples
sans surcoût

Vous aimerez peut-être aussi