Académique Documents
Professionnel Documents
Culture Documents
Objectifs du cours
Contraintes techniques : : :
: : :
( )( )
S/C ( )( ) ( )
( )
On peut écrire ce programme :
Contraintes techniques : : :
: : :
( )( )
S/C ( )( ) ( )
( )
On peut écrire ce programme :
Exemple 1.
Une firme produit 2 types de meubles : table et chaise. La fabrication
d‘une table demande 2 heures de sciage, 4 heures d‘assemblage et 10
heures de décoration. La fabrication d‘une chaise demande 5 heures de
sciage, 1 heure d‘assemblage et 5 heures de décoration. La firme dispose
: 40 heures de sciage, 20 heures d‘assemblage et 60 heures de décoration.
8
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Le profit unitaire est de 24$ pour la table et de 8$ pour la chaise. Quelles
sont les quantités de la table et de la chaise qui maximisent le profit ?
Résolution
Disponibilité
Sciage 2 5 40
Assemblage 4 1 20
Décoration 10 5 60
Exemple 2.
9
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La société BIA a pour but l‘extraction et la distribution de matériaux de
carrière. Elle doit assurer, pour des travaux routiers, la fourniture à
Auxeltra Béton de graviers de différents calibres. Un marché portant sur
les quantités suivantes :
- graviers de calibre 1 : 36 tonnes ;
- graviers de calibre 2 : 28 tonnes ;
- graviers de calibre 3 : 32 tonnes.
Graviers de calibre 1 2 3 36
Graviers de calibre 2 2 2 28
Graviers de calibre 3 8 2 32
Coût unitaire 60 80
Min
S/C
S/C
: : :
: : :
S/C
: : :
: : :
12
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Exemple 3.
Forme canonique Forme standard
Max Max
S/C S/C
Exemple 4.
Forme canonique Forme standard
Min Min
S/C S/C
Exemple 5.
La société CYCLOR - Congo produit et commercialise des vélos et des
mobylettes dans les quantités X1 et X2 respectivement. Elle souhaite
minimiser le coût égal à 2X1 + 10X2 soumis aux contraintes 2x1 + x2 6,
5x1 + 4x2 20 avec x1,x2 0. Déterminer les quantités optimales de
13
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
chaque article et le coût associé à ces quantités.
Solution :
La forme canonique du problème Nous obtenons la forme standard
s'écrit : ci-après:
La méthode de graphique
La méthode de dénombrement des solutions de base
La méthode de simplexe
14
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
1.3.1. La méthode de graphique
La résolution graphique ne s‗applique que lorsqu‗on est en présence d‗un
programme linéaire contenant au maximum deux variables de décision
qui sont facilement identifiées dans un repère à deux dimensions.
D
C
15
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
La figure A est un polyèdre convexe
La figure B est un polyèdre convexe
La figure C est un polyèdre non convexe
La figure D est un non polyèdre convexe
Théorème 3 : théorème d’optimalité
Dans un programme linéaire, l‘ensemble de faisabilité ou l‘ensemble de
choix est un polyèdre convexe, la solution optimale est nécessairement
atteinte à un sommet du polyèdre convexe
A
B E
D
c
Il faut visiter les 5 sommets pour voir quel sommet est une solution
optimale.
Théorème 4 :
Dans un programme linéaire avec n variables et m contraintes, si
alors la solution optimale contient au moins (n – m) variables nulles et
au plus m variables non nulles.
Dans la méthode graphique, seules les variables d'activité ou variables
réelles (appelées encore variables principales) seront utilisées. On se
bornera simplement à :
- représenter graphiquement les droites limites ;
- délimiter le domaine d'acceptabilité, et
- remplacer successivement les coordonnées de chaque sommet du
polygone dans la fonction économique afin d'obtenir la combinaison
16
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
optimale cherchée (minimum ou maximum).
Pour résoudre par cette méthode, il faut transformer des inégalités des
contraintes techniques ou fonctionnelles par les inégalités :
1)
2)
3)
17
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
20 I
12 J
10X1+5X2=60
8 B
CH
2X1+5X2=40
4 D
E F
G
A 4 5 6 20
Ce graphique a 10 sommets sont 5 sommets faisables (A, B, C, D et E) et
5 sommets non faisables (F, G , H, I , J). Parmi les 5 sommets faisables,
la solution optimale se trouve dans l‘un des sommets du polyèdre
convexe. D‘où, il faut visiter ces 5 sommets.
Sommets
A 0 0 0
B 0 8 64
C 2,5 7 116
D 4 4 128
E 5 0 120
18
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
( ) ( )
( )
( ) ( )
Il s‗agit de relier les coordonnées de ces deux points pour obtenir le tracé
de la droite correspondante. Cette droite partage alors le plan en deux
demi-plans ; On obtient le demi-plan correspondant à une inéquation en
vérifiant si les coordonnées d‗un point situé dans un des demi-plans
vérifie ou non l‗inéquation. Généralement, on substitue l‗origine (0,0)
dans l‗inéquation pour déterminer quelle partie du plan satisfait
l‗inéquation, si cette dernière ne passe pas elle-même par l‗origine.
21
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Tous les points de cette région sont des solutions réalisables pour le
problème de fabrication de l‗entreprise industrielle. Toutefois, notre
intérêt portera seulement sur les points extrêmes de cette région.
On peut toujours obtenir exactement les coordonnées des points extrêmes
en résolvant le système formé des équations des droites qui se coupent
deux à deux. Si on reproduit la région des solutions réalisables avec les
points extrêmes notés de (A) à (E).
22
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
( )
( )
24
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Une solution de base est une solution du programme linéaire obtenue
en posant (n-m) variables nulles et en résolvant le système pour m
variables restantes. Le résultat contient au moins (m – n) variables nulles et
au plus m variables non nulles.
Exemple 8.
Reprenons encore notre problème à maximum ci-dessus. Transformons
les inéquations en équations en introduisant les variables d'écart e1, e2, e3,
puis dénombrons les bases. Pour chaque base admissible, calculons la valeur
de la fonction-objectif , soit Z, cette valeur. Après avoir introduit les
variables d'écart, on obtient la forme standard ci-après :
Max
S/C
( )
25
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
( )
Les solutions de base sont reprises dans ce tableau :
Solution
A 0 0 40 20 60 A 0
B 0 8 0 12 20 A 64
C 0 20 -60 0 -40 NA
D 0 12 -20 8 0 NA
E 20 0 0 -60 -140 NA
F 5 0 30 0 10 A 120
G 6 0 28 -4 0 NA
H 10/3 20/3 0 0 -20/3 NA
I 5/2 7 0 3 0 A 116
J 4 4 12 0 0 A 128
Exemple 9.
Min C = 2 x1 + 10 x2
S/C 2 x1 + x2 6
5 x1 + 4x2 20
et x1, x2 0
( )
Solutions de X1 X2 e1 e2 A ou Valeur de
base NA Z
1 0 0 6 -20 NA
2 A 0 6 0 4 A Z = 60
3 B 0 5 1 0 A Z = 50
4 3 0 0 -5 NA
5 4 0 -2 0 NA
6 C 4/3 10/3 0 0 A Z = 36
La quantité qui minimise le coût est fournie par le sommet C dont les
coordonnées sont x1 = 4/3 et x2 = 10/3. La valeur de la fonction à ce point
est Z = 36.
Inconvénient de la méthode de dénombrement des solutions de base
I
II
III
∑
30
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Condition d’optimalité : si tout est négatif ou nuls (cas de
maximisation) ou si tout est positif ou nuls (cas de minimisation), la
solution est optimale. Au cas contraire, on passe à l‘étape 2.
2) Trouver la solution plus améliorée en construisant un nouveau
tableau de simplexe suivant les sous – étapes suivantes :
( )
; ;
31
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
; le coefficient qui se trouve dans la même ligne que
le pivot et dans la même colonne que le coefficient original ; le
coefficient qui se trouve dans la même colonne que le pivot et dans la
même ligne que le coefficient original.
Si la condition d‘optimalité est satisfaite, on arrête l‘algorithme. La
solution est optimale. Au cas contraire, on construit un autre tableau
pour trouver une solution plus améliorée.
Ainsi de suite…. jusqu‘à ce qu‘on trouve la solution optimale.
Il convient la méthode de simplexe permet d‘aller plus vite à la solution
optimale ( visiter quelques sommets du polyèdre convexe.
Exemple 10 . Résoudre ce programme par la méthode de simplexe
Max z = 1000 x + 1200y
Sc x+y
x+2y
14x+6y
Solution
Nous passons de la forme canonique à la forme standard en introduisant
les variables d‘écarts e1, e2 et e3
Max z = 1000 x + 1200y
Sc x+y + e1 900
x+2y + e2
14x+6y + e3 =
x ,y , e1 , e2 et e3
32
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Présentation des calculs sous formes de tableau
le programme standard initial se présente ainsi,
Tableau 0
VB VHB
X Y e1 e2 e3 R
e1 1 1 1 0 0 900
e2 1 2 0 1 0 1200
e3 14 6 0 0 1 14000
Fonction
économique Z 1000 1200 0
v
HB
VB X Y e1 e2 e3 R R'
e1 1 1 1 0 0 900 900
e2 1 2 0 1 0 1200 1200
e3 14 6 0 0 1 14000 2333
Fonction
économique Z 1000 1200 0
Pour que le pivot soit remplacé par 1, il faut diviser la ligne du pivot par
lui-même. Cette ligne transformée sera qualifiée de ligne opératoire.
Pour que les autres coefficients de la colonne du pivot s‘annulent, il suffit
de remplacer chaque ligne par une combinaison linéaire d‘elle-même
avec la ligne opératoire.
On transforme ainsi la colonne du pivot en colonne unité. Pratiquement
cela revient à multiplier la ligne opératoire par l‘opposé des coefficients
de la colonne opératoire.
La variable y prenant la place de e3 dans la base, la ligne
correspondante (ligne opératoire) s‘écrira :
34
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Y ½ 1 0 ½ 0 600
La ligne relative à e1 sera transformée pour faire apparaitre des zéros
dans la colonne du pivot.
e1 1 1 1 0 0 900
(-1) Y -1/2 -1 0 -1/2 0 -600
e1
transformée ½ 0 1 -1/2 0 300
Il en va de même pour e3
e3 14 6 0 0 1 14000
(-6) Y -3 -6 0 -3 0 -3600
e3
transformée 13 0 0 -3 1 10400
v
HB
VB X Y e1 e2 e3 R R'
e1 ½ 0 1 -1/2 0 300 600
Y ½ 1 0 1/2 0 600 1200
e3 11 0 0 -3 1 10400 945
Fonction -
économique Z 400 0 -600 720000
b) Deuxième itération
Variable entrante x et la variable sortante e1 (600 est le plus petit rapport
positif), pivot ½.
Le tableau 2 après deuxième itération se présente ainsi :
VB VHB
X Y e1 e2 e3 R
X 1 0 2 -1 0 600
Y 0 1 -1 1 0 300
e3 0 0 -22 8 1 3800
Fonction -
économique Z 0 0 -800 -200 960000
B HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 1 1 14 -1 0 1 0 500 500
t2 1 2 6 0 -1 0 1 200 100
-
C 900 1200 14000 700 0
-2M -3M -20M M M M
Deuxième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 ½ 0 11 -1 1 /2 1 -1/2 400 500
Z2 ½ 1 3 0 -1/2 0 1/2 100 100
-
10400 120000
C 300 0 600 0 -600 0
3M/ -
-M/2 -11M M -M/2 2 400M
38
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Troisième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R R'
t1 0 -1 8 -1 1 1 -1/2 300 500
Z1 1 2 6 0 -1 0 1/2 200 100
- -
C 0 M 8600 900 0 900 180000
-
0 -600 -8M M -M 2M 300M
Quatrième itération
B
HB
Z1 Z2 Z3 e1 e2 t1 t2 R
e2 0 -1 8 -1 1 1 -1 300
Z1 1 1 14 -1 0 1 0 500
M- - 450
C 0 300 1400 900 0 900 M 000
S/C
: : :
: : :
( )
( )
( )
41
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Introduire les variables artificielles :
( )
Min
S/C
( ) ( )
42
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
60 80 0 0 0 M
Bas
e
R
M t 2 3 -1 0 0 1 36 12
0 e2 0 1 -1 1 0 0 8 8
0 e3 -6 1 -1 0 1 0 4 4
80-
60- 3M X2 E/
2M M C=36M e3 S
M t 20 0 2 0 -3 1 24 6/5
0 e2 6 0 0 1 -1 0 4 2/3
80 X2 -6 1 -1 0 1 0 4 -2/3
- X1
540- 80- 80+3 E/ e2
20M 2M M C=320+24M S
M t 0 0 2 -10/3 1/3 1 32/3 16/3
60 X1 1 0 0 1/6 -1/6 0 2/3 ----
80 X2 0 1 -1 1 0 0 8 -8
-
80- 90+30 10- C=680+32/3 e3 E/t
2M M 1/3M M S
0 e3 0 0 6 -10 1 32
60 X1 1 0 1 -3/2 0 6
80 X2 0 1 -1 1 0 8
20 10 C= 1000
S/C
: : :
: : :
S/C
: : :
: : :
45
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Théorème 6
Si dans la solution optimale :
Une variable de décision dans le primal est dans la base (ou hors
base), la variable d‘écart correspondante dans le dual sera hors base
( ou dans la base) ;
Une variable d‘écart dans le primal est dans la base (ou hors base),
la variable de décision correspondante dans le dual sera hors base (
ou dans la base).
Théorème 7
La valeur optimale de la fonction –objectif de primal est toujours égale à
la valeur optimale de la fonction – objectif de dual pour vu qu‘une
solution optimale réalisable existe.
La dualité est souvent dans le programme linéaire de minimisation
(primal) qui est généralement difficile à résoudre, on préfère le
transformer en programme linéaire de maximisation qui est généralement
facile à résoudre. A partir de la solution optimale de dual, on peut
facilement trouver la solution optimale de primal.
Exemple 13.
Résoudre ce programme linéaire :
Min
S/C
46
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Résolution
Le programme linéaire dual correspondant :
Max
S/C
( ) ( )
47
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
36 28 32 0 0
Base
e1 e2 R
0 e1 2 2 8 1 0 60 30
0 e2 3 2 2 0 1 80
80/3
y1 E/ e2
36 28 32 Z=0 S
0 e1 0 2/3 20/3 1 -2/3 20/3 1
36 y1 1 2/3 2/3 0 1/3 80/3 40
y3 E/ e1
4 8 -12 Z=960 S
32 y3 0 1/10 1 3/20 -1/10 1 10
36 y1 1 3/5 0 -1/10 2/5 26 130/3
y2 E/ y3
16/5 -6/5 -56/5 Z=968 S
28 y2 0 1 10 3/2 -1 10
36 y1 1 0 -6 -1 1 20
-32 -6 -8 Z=1000
36 28 32 0 0
Base
28 0 1 10 3/2 -1 10
36 1 0 -6 -1 1 20
-32 -6 -8 Z=1000
48
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Tableau des variables correspondantes :
Problème Dual Problème Primal
Hors
Base base
Hors
Variables Base base
de Hors Variables
décision base Base d’écart
Hors
base Base Variables
Variables Hors de
d’écart base Base décision
Tableau optimal de primal
60 80 0 0 0
Base
0 e3 0 0 6 -10 1 32
60 X1 1 0 1 -3/2 0 6
80 X2 0 1 -1 1 0 8
20 10 C= 1000
La dégénérescence
Un polynôme est dit dégénéré si
1 L‘une des variables de base possède une valeur nulle. Dans ce cas le
sommet correspondant dans Rn est l‘intersection de n hyperplan
2 Un gain marginal associé est supérieur ou égal à une variable hors base
est nulle. Cela signifie qu‘il y a une dépendance linéaire entre les
vecteurs colonnes, ce qui interdit une solution optimale unique
49
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
3 La variable entrante est XJ et tous les coefficients correspondants sont
tous négatifs. Dans ce cas le polyèdre des solutions admissibles n‘est pas
borné, ce qui donne une solution infinie.
4 Une ou plusieurs variables artificielles reste dans la base. Dans ce cas
le polyèdre des solutions admissibles est vide. Pas de solution
50
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
CHAPITRE 2 : THEORIE DES GRAPHES
Les graphes modélisent de nombreuses situations concrètes où
interviennent des objets en interaction :
- les interconnexions routières, ferroviaires ou aériennes entre
différentes agglomérations,
- les liens entre les composants d'un circuit électronique, - Le plan
d'une ville et de ses rues en sens unique,...
Les graphes permettent de manipuler plus facilement des objets et leurs
relations avec une représentation graphique naturelle. L'ensemble des
techniques et outils mathématiques mis au point en Théorie des Graphes
permet de démontrer facilement des propriétés, d'en déduire des
méthodes de résolution, des algorithmes, ...
- Quel est le plus court chemin (en distance ou en temps) pour se rendre
d'une ville à une autre?
- Comment minimiser la longueur totale des connexions d'un circuit?
- Peut-on mettre une rue en sens unique sans rendre impossible la
circulation en ville?
Lorsqu'un chemin existe entre deux sommets dans un graphe, l'être
humain se pose rapidement la question non seulement de trouver un tel
chemin, mais bien souvent il est intéressé par le plus court chemin
possible entre ces deux sommets. Notre oeil est d'ailleurs
particulièrement efficace dans cette tâche, tant que le graphe est de taille
raisonnable... Mais dès que le graphe comporte plusieurs dizaines de
sommets et d'arêtes, trouver le plus court chemin entre deux points
devient vite un casse-tête.
Nous aimerions disposer d'une méthode systématique capable, pour tout
graphe et pour toute paire de sommets s et t, de déterminer le plus court
chemin entre eux. Résoudre ce problème va donc consister à proposer un
algorithme, aussi rapide que possible. Le problème de trouver un plus
court chemin est le premier problème d'optimisation auquel nous
sommes confrontés. Nous allons moins nous intéresser ici à l'algorithme
permettant de le résoudre
Ce chapitre a donc pour objectif de :
51
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
- construire une représentation graphique
- déterminer les niveaux d‘un graphe
- déterminer la longueur du chemin optimal à partir d‘une liste de
sommets et de distances ou de durée.
2.1. DEFINITIONS
Un graphe est un ensemble de nœuds qui sont reliés entre eux par des
arcs. Un arc relie deux nœuds entre eux.
Considérons un trajet faisant intervenir plusieurs villes et essayons de
représenter cette situation par un graphe le plus lisible possible.
1.1.3.Dictionnaires
Un sommet xj est dit suivant de xi s‘il y a une flèche de xi à xj. Alors xi
est le précédant de xj.
X P(x)
D, F, G,
A H
B
C B, E, F
D C, E
E B
F B
G C
H C
54
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
X P(x)
D, F, G,
A H
B
C B, E, F
D C, E
E B
F B
G C
H C
Sont de niveau 1, tous les sommets en face desquels tout est barré.
Sont de niveau 2 tous les sommets en face desquels tout est barré.
X P(x)
A D, F, G, H
B
C
D C, E
E
F
G C
H C
Sont de niveau 3 tous les sommets en face desquels tout est barré.
X P(x)
A D, F, G, H
B
C
D
E
F
G
H
N0 N1 N2 N3 N4
N0 N1 N2 N3 N4
Déterminons le chemin le plus long allant de B à A
Pour cela, il faut d‘abord marquer les sommets. La marque 0 sera placée
ici au-dessus du sommet de niveau 0. Ensuite, au-dessus de chaque
sommet x, on marque la longueur du plus long chemin allant de B à x.
Pour E, on marque 5
Pour F, on marque 6
Pour C, il faut choisir entre 5+3 ; 6+3 ; et 7. On choisit le plus long soit
9.
français.
3.1.1. Principe.
- Les tâches sont représentées par des sommets et les contraintes de
succession par des arcs.
- Chaque tâche est renseignée par la date à laquelle elle peut
commencer (date au plus tôt) et celle à laquelle, elle doit se terminer
(date au plus tard).
- A chaque arc est associé une valeur numérique, qui représente soit une
durée d’opération, soit un délai.
- Les sommets sont des tâches représentées par : X est le nom d‘une
tâche
Exemple
Pour tE le choix se fait entre 4 + 3 et 5 + 3 , tE = 8
0
B
10
E
C
A
FIN
F
5
D
3
63
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Ce sont les dates à laquelle doivent être exécutées les tâches sans
remettre en cause la durée optimale de fin de projet.
Elles sont notées tx* et sont inscrites en haut dans la partie droite.
On commence par celle de la tâche FIN : tx = tx*
Exemple : tFIN* = 10
Exemple :
b) Une marge plus restrictive qui ne retarde pas les dates au plus tôt
des tâches suivantes peut être définie. On l‘appelle marge libre.
La marge libre sur une tâche est le retard que l‘on peut prendre dans
la réalisation d‘une tâche sans retarder la date de début au plus tôt de
tout autre tâche qui suit.
4 5 6 7 8 9 10 11 12 13
B
C
D
Solution
1) Avec un jalonnement au plus tôt, il faut insérer les tâches sans liens
d'antériorité à partir de la semaine 5. Ensuite, on continue en
inscrivant les tâches qui ont leurs tâches antérieures réalisées et ainsi
de suite, de gauche à droite. Cela nous permet d'obtenir le diagramme
suivant:
1
. PERT est un acronyme pour Program Evaluation and Review Technique
73
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
4.3. PROBLÈME DE L’ARBRE PARTIEL MINIMUM
A D F
0 E G J
B H I
5.5
uij − xij
T
O B D
C E
5.6
T
O B D
C E
5.7
O B
2 5
5. Retourner à l‘étape 2.
5 0 0 T
0 9
7 0 4
O B D 0
0
4 2 5 0
0 01
6
0 C E
4 0
A 3
0
1
5 0 0 T 5
0 9
2 5 4
5 O B D 5
0
4 2 0 0
0 51
1
0 C E
4 0
2 0 3 T 8
3 6
2 5 4
8 O B D 5
0
4 2 0 0
0 51
1
0 C E
4 0
A 0
4
0
1 1 4 T 9
3 5
2 5 3
9 O B D 5
1
4 2 0 0
0 51
1
0 C E
4 0
1 1 6 T 11
3 3
0 7 1
11 O B D 5
3
4 2 0 0
0 51
1
0 C E
4 0
1 1 7 T 12
3 2
0 7 1
12 O B D 5
3
3 2 0 1
0 50
1
1 C E
3 1
1 1 7 T 13
3 2
0 7 1
13 O B D 6
3
2 2 0 1
0 50
0
2 C E
2 2
A 0
4
0
1 1 8 T 14
3 1
0 7 0
14 O B D 6
4
1 2 1 1
0 40
0
3 C E
1 3
T 14
14 O B D
C E
5.16
83
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
coupe minimum. Les sommets marqués lors de la dernière itération de
l‘algorithme de Ford-Fulkerson définissent la coupe minimum, comme
illustré sur la Figure 5.17 pour l‘exemple du parc Seervada.
A 3
0
1
5 0 0 T
0 9
7 0 4
O B D 0
0
4 2 5 0
0 01
6
0 C E
4 0
min X `(i,j)f(i,j),i,j∈N
f(i,j) ≤ cij, f(i,j) = −f(j,i),X f(i,k) = 0, ∀k 6= s,t, k∈N X
Xf(s,k) = f(k,t) = d. k∈N
4.7. Notes
Ce chapitre se base partiellement sur les notes de cours de Bernard
Gendron, 2007. La section sur les plus cours chemins repose également
sur du matériel de cours mis en ligne par Otfried Cheong.
84
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Sherbrooke
85
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Mise en équation
Le problème général de transport sous l‘hypothèse que l‘offre totale
égale la demande, s‘énonce comme suit. Notons les sources par
S1,S2,...,Sm et D1,D2,...,Dn les destinations. On introduit les notations
suivantes :
xij = quantité transportée de Si à Dj,
coût unitaire du transport de Si
cij =
à Dj,
ai = offre de la source Si,
bj = demande de la destination Dj.
On suppose que les ai sont positifs ai ≥ 0 et de même pour les bj ≥ 0.
z = Xcijxij
i,j
Ceci implique
mn X ai = bj i=1 j=1
5.1. PROPRIÉTÉS DE LA MATRICE A
Inversement, si , on pose
.
Montrons que ce choix de x vérifie les contraintes. En effet
et
L1 + L2 + ··· + Ln = (1,1,...,1).
Aussi, aa somme des lignes n + 1 à n + m donne
• Chacune des lignes est une combinaisons linéaire des autres lignes.
α2 + αm+1 = 0 =⇒ α2 =
0, α3 + αm+1 = 0 =⇒ α3
= 0,
...
αm + αm+1 = 0 =⇒ αm = 0.
min z = ctx
89
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
x ≥ 0.
Le dual est
Or
On a les relations
ui + vj = cij ∀xi,j > 0
90
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Si x est solution de base non dégénéré, on a bien la décomposition ui + vj
= cij pour les indices des variables de base.
5.5. Méthode du simplexe appliquée au problème de transport
Voici la démarche qui sera utilisée :
Par exemple :
D1 D2 D3 D4 Offre
S1 400 50 450
S2 400 50 450
S3 500 250 750
Demande 400 450 550 250
Les variables de base sont
x11,x12,x22,x23,x33,x34
91
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
pour un total de 6 = m + n − 1 variables car m = 3 et n = 4. Le coût
associé à cette solution est z = 480,900. En terme de graphe, on obtient la
représentation.
•
•
•
•
•
•
•
qui est un arbre partiel générateur du graphe biparti (non orienté) associé
au problème de transport. Ce qui montre bien que x est une solution de
base.
Remarque 6.3.1
— méthode facile,
— ne tient pas compte des coûts de
transport, — loin de la solution
optimale, — la moins efficace
92
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
B. Méthode de l‘entrée minimale
Démarche :
a) Choisir la case (i,j) de coût minimal. 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.
Par exemple :
D1 D2 D3 D4 Offre
S1 450 450
S2 450 450
S3 400 100 250 750
Demande 400 450 550 250
Les variables de base sont
x12,x23,x31,x33,x34
avec un total de 5 < 6 = m + n − 1 variables de base. Donc la
solution de base est dégénérée. Le coût associé à cette solution est
z = 407,700. Ceci est mieux que la solution du coin nord-ouest. En
terme de graphe, on obtient la représentation •
•
•
•
•
•
•
93
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
qui est un arbre partiel générateur du graphe biparti (non orienté) associé
au problème de transport. Toutefois, ce sous-graphe n‘est pas connexe. Il
faut lui ajouter une arête, par exemple celle associée à la variable x22. Ce
qui montre bien que x est une solution de base.
5.7. Passage à une solution de base adjacente
Nous allons utiliser la technique des coûts duaux telle que présentée à la
section 6.2. Etant donné une solution de base x, la méthode consiste à
déterminer une décomposition des coefficients cij (les coûts de transport)
de la forme
cij = ui + vj
c11 = u1 + v1 ⇐⇒ 147 = 0 + v1 =⇒ v1 =
= 32 + v3 =⇒ v3 = 70, c33 = u3 + v3 ⇐⇒
D1 D2 D3 D4
S1 400 50 450
S2 400
50 450
−θ
+θ
S3 θ
500 250 750
−θ
400 450 550 250
Le choix de θ doit respecter la contrainte de positivité
400 − θ ≥ 0 θ ≥ 0
=⇒ 400 ≥ θ
500 − θ ≥ 0
50 + θ ≥ 0
D1 D2 D3 D4
S1 400 50 450
S2 450 450
S3 400 100 250 750
400 450 550 250
96
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
Nous allons évaluer de combien la fonction objective z a changé par
unité de θ. Pour cela, on suit le cycle
(3,2) → (3,3) → (2,3) → (2,2)
Suivant ce trajet, la variation s‘écrit
∆z = c32 − c33 + c23 − c22
c − (u3 + v3) + (u2 + v3) − (u2
= 32
+ v2)
= c32 − u3 − v2
Dans notre exemple, ceci correspond à ∆z = c32 − u3 − v2 = 364 − 487 −
121 = −244. Par conséquent, il est profitable de faire entrer dans la base
la variable x32 car la valeur de z diminue.
Démarche :
a) A une solution de base donnée, évaluer les coûts duaux ui + vj = cij.
b) Pour toutes les cases hors-base, évaluer la quantité ∆z = cij − ui − vj.
c) La solution de base sera optimale si tous les ∆z ≥ 0.
d) Sinon, choisir la case qui minimise la valeur de ∆z < 0 et
recommencer le processus.
Appliquons cette démarche à partir de la la solution fournie par la
méthode du coin nordouest. Nous avons déjà calculer les coûts duaux. Il
suffit d‘ajouter le valeurs (entre parenthèse) ∆z = cij − ui − vj pour les
cases hors-base.
97
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
D1 D2 D3 D4
S1 400 50 450
S2 450 450
S3 400 100 250 750
400 450 550 250
Exemple 6.3.1 Considérons le problème de transport suivant les
notations adoptées précédemment
D1 D2 D3
S1 8 10 6 100
99
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S2 7 4 9 80
S3 13 12 8 45
90 60 75 225
a) On démarre avec la solution du coin nord-ouest et on évalue les
coûts duaux.
D1 D2 D3
S1 90 8 10 10 (−9) 6 100 u1 = 0
S2 (5) 7 50 4 30 9 80 u2 =
−6
S3 (12) 13 (9) 12 45 8 45 u3 =
−7
90 60 75 225
v1 = 8 v2 = v3 =
10 15
b) La case (1,3) entre dans la base. On doit trouver celle qui quitte.
D1 D2 D3
S1 90 10 θ 100
−θ
S2 50 30 80
+θ −θ
100
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
S3 45 45
90 60 75 225
D1 D2 D3
S1 90 10 100
S2 60 20 80
S3 45 45
90 60 75 225
Les coûts duaux
D1 D2 D3
S1 90 8 (9) 10 10 6 100 u1 =
0
S2 (−4) 7 60 4 20 9 80 u2 =
3
S3 (2) 13 (8) 12 45 8 45 u3 =
3
90 60 75 225
v1 = 8 v2 = 1 v3 =
6
101
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
c) La case (2,1) entre dans la base. On doit trouver celle qui quitte.
D1 D2 D3
S1 90 10 100
−θ +θ
S2 θ 60 20 80
−θ
S3 45 45
90 60 75 225
Donc θ = 20 ce qui conduit à la solution de base
D1 D2 D3
S1 70 30 100
S2 20 60 80
S3 45 45
90 60 75 225
Les coûts duaux
D1 D2 D3
S1 70 8 (+) 10 30 6 100 u1 = 0
S2 20 7 60 4 (+) 9 80 u2 =
−1
S3 (+) 13 (+) 12 45 8 45 u3 = 2
102
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR JACQUES
LOMEMBE
90 60 75 225
v1 = 8 v2 = 5 v3 =
6
Ce tableau est optimal et la valeur de z = 1480.
103
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
5.8. AUTRES TYPES DE PROBLÈMES DE
TRANSPORT
contra
ntes
Off
re :
Demande :
Positivité :
∀i = 1,2,...,m.
si la personne i est
assignée à la tâche j
sinon
z = Xcijxij
106
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
i,j
.
Fort heureusement, nous n‘avons pas besoin de résoudre ce
problème en exigeant que les variables soient entières. Ceci
résulte du théorème fondamental des problèmes de
transport.
107
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
CHAPITRE 6 : FILE D’ATTENTE
6.1. Introduction
Simuler un système stochastique consiste à imiter son
comportement pour estimer sa performance Un modèle de
simulation est une représentation du système stochastique
permettant de générer un grand nombre d‘événements
aléatoires et d‘en tirer des observations statistiques.
Exemple 61 (Jeu de hasard). Chaque partie consiste à tirer
une pièce de monnaie jusqu’à ce que la différence entre le
nombre de faces et le nombre de piles soit égale à 3.
Chaque tirage coûte 1$, et chaque partie jouée rapporte 8$
au joueur. Nous aurons par exemple les jeux
– FFF: gain de 8$-3$=5$;
– PFPPP: gain de 8$-5$=3$;
– PFFPFPFPPPP: perte de 8$-11$=3$.
Nous nous demandons par conséquent s’il est intéressant de
jouer. Pour répondre à cette question, nous allons simuler
le jeu. Il y a deux façons de le faire:
– nous pouvons jouer pendant un certain temps sans
miser d’argent; – nous pouvons simuler le jeu par
ordinateur.
Néanmoins, simuler une seule partie ne nous aide pas à
prendre une décision. Pour cela, il faudrait voir ce qui se
passe sur un grand nombre de parties et mesurer le gain
moyen (ou la perte moyenne).
108
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
Dans cet exemple, nous pouvons définir les
éléments d’un modèle de simulation comme
suit système stochastique : tirages successifs;
horloge : nombre de tirages;
définition de l‘état du système : N(t), le nombre de
faces moins le nombre de piles après t tirages;
événements modifiant l‘état du système : tirage de
pile ou de face; méthode de génération
d‘événements : génération d’un nombre aléatoire
uniforme; formule de changement d‘état : N(t + 1) =
N(t) + 1, si F est tirée; N(t) − 1, si P est tirée;
performance : 8 − t, lorsque N(t) atteint +3 ou -3.
2. le mécanisme de service;
3. la discipline de file.
.
Le temps moyen d’attente dans le système vaut quant à lui
.
Il est aisé de vérifier ces résultats par simulation. Dans le
cas présent, les éléments de la simulation sont:
système stochastique
: file d’attente
M/M/1; horloge :
temps écoulé;
112
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
définition de l‘état du système : N(t), le nombre
de clients dans le système au temps t;
événements modifiant l‘état du système :
arrivée ou fin de service d’un client; formule de
changement d‘état : N(t + 1) = N(t) + 1, si
arrivée; N(t) − 1, si fin de service.
Nous allons voir deux méthodes pour
étudier l’évolution du système dans
le temps: – par intervalles de temps
fixe; – par génération d’événement.
Nous supposerons que les valeurs des paramètres de notre
système sont λ = 3 clients par heure, et µ = 5 clients par
heure.
Dans le cas d’intervalles de temps fixe, l’idée est
1. faire écouler le temps d’un petit intervalle ∆t;
Ici, les événements sont soit des arrivées, soit des départs
(fins de service). Si ∆t est suffisamment petit, nous pouvons
considérer qu’il ne se produira qu’un seul événement
(arrivée ou départ) durant cet intervalle de temps.
Prenons ∆t égal à 0.1 heure (6 minutes). La probabilité
qu’il y ait une arrivée durant cet intervalle de temps vaut:
113
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
PA = 1 − e−λ∆t = 1 − e−3/10 ≈ 0.259.
La probabilité qu’il y ait un départ durant cet intervalle de
temps est:
PD = 1 − e−µ∆t = 1 − e−5/10 ≈ 0.393.
6.6. Notes
Ce chapitre se base essentiellement sur les notes de cours
de Bernard Gendron, 2007. Pour plus de détails sur la
simulation à événements discrets, nous renvoyons le lecteur
aux notes du cours IFT3245, du même auteur: .
116
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
7.8. Détermination de q et s
La fonction de coût à minimiser fait intervenir les trois
variables d‘état que sont :
. le nombre moyen de commandes, Ic;
. le stock moyen annuel, Ip;
. la rupture moyenne annuelle, Ir.
C(q, s) = ccIc(q, s) + cpIp(q, s) + crIr(q, s)
Nous allons obtenir une solution approchée au problème en
effectuant une détermination indépendante de s et de q en
se basant sur l‘observation suivante.
Dans l‘expression de C, le nombre moyen de commande
dépend essentiellement de la quantité commandée q
tandis que le nombre moyen de ruptures dépend
essentiellement du point de commande s. On peut donc
récrire cette expression comme : C(q, s) = ccIc(q) +
cpIp(q, s) + crIr(s)
On voit que le terme qui lie le problème en la variable q et
le problème en la variable s est le stock moyen possédé Ip
qui dépend à la fois de q et de s. On va déterminer une
133
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
solution approchée en séparant le problème à deux variables
en deux problèmes à une variable de la manière suivante.
Le principe pour obtenir cette solution approchée est de
résoudre indépendamment les deux problèmes suivant :
1. Déterminer la quantité économique q en arbitrant
entre le coût de commande et le coût de possession à partir
de la demande moyenne.
2. Déterminer le point de commande s en arbitrant
entre le coût de rupture et le coût de possession en utilisant
la gestion calendaire pendant le délai d’obtention L, en
retenant comme s le niveau de recomplètement optimal. Le
problème de la détermination de la quantité économique de
commande n‘est rien d‘autre que le problème étudié en
univers certain si l‘on remplace la demande annuelle
certaine par la demande annuelle moyenne :
D = µ = 2400.
En minimisant le coût de gestion :
C(q) = ccIc(q) + cpIp(q),
par point de commande la solution trouvée dans le cas
certain était de : q = 490.
Le problème de la détermination du stock de sécurité
est quant à lui résolu en prenant pour point de commande s
le niveau de recomplètement S qui minimise le coût d‘une
134
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
gestion calendaire durant le délai d‘obtention L : C(S) =
cpIp(S) + crIr(S)
avec Ir(S), le nombre moyen d‘articles non fournis durant L
et Ip(S), le stock moyen possédé durant L.
En moyenne, on rencontre
le problème de gestion
calendaire : ou encore tous les
81. du problème
Le problème d'affectation prend souvent la forme
suivante : on désire exécuter à moindre coût n activités (A)
par n entités (E). Pour chaque activité, chaque entité a
fourni un devis dont les informations sont condensées dans
un tableau des coûts ayant la forme suivante :
140
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
1
Cette méthode est ainsi appelée en souvenir aux mathématiciens hongrois Egervary et König
qui en ont formalisée.
143
COURS DE RECHERCHE ORATIONNELLE PROFESSEUR
JACQUES LOMEMBE
moins chère si tous les chiffres d'une quelconque ligne
du tableau étaient réduits de la même constante Vi.
Ainsi, si une constante est déduite de chaque ligne i
du tableau, et une constante wj de chaque colonne j, ce
qui fait apparaître un coût « relatif » — Vi — wj, le
classement de différentes affectations ne sera pas
modifié.
L'application de la méthode hongroise nécessite,
d'abord, la transformation du tableau des coûts de
manière à obtenir une première solution de base
(apparition des zéros). Cette solution est progressivement
améliorée par itérations successives,
A 11 5 10 4 12
c 14 10 11
D 8 10 4 16 9
Si l'entreprise veut minimiser le coût total
d'affectation, quelle est la meilleure affectation possible de
ces activités aux sous-traitants ?
Résolution
Nous résolvons cet exercice en prenant comme point
de départ l'apparition des zéros dans les lignes. Le même
exercice sera résolu en considérant aussi l'apparition des
zéros dans les colonnes comme point de départ.