Sie sind auf Seite 1von 93

UNIVERSITE MOHAMMED-V,RABAT

FSJES- Agdal
Département des sciences de gestion
S5: FC et AGE
-*-

Recherche opérationnelle
Partie II

Professeur : Mr. Abdenbi EL MARZOUKI

Année universitaire 2015-2016


Processus de résolution par la
programmation linéaire
Formalisation du problème

3 variables et plus dans la programmation linéaire

Non Oui
Résolution graphique Résolution par la
Forme canonique méthode du simplexe
Forme standard

Détermination de la solution de départ

Détermination de la solution optimale


Forme générale d’un programme linéaire

 Fonction objectif
n
max (ou min) z  c1 x1  c2 x2    cn xn   c j x j
j 1

 Contraintes technologiques
n

a11 x1  a12 x2    a1n xn  ,  ,  b1 a 1j xj  ,  ,  b1


j 1
a21 x1  a22 x2    a2 n xn  ,  ,  b2 n

a x j  ,  ,  b2
 j 1
2j

am 1 x1  am 2 x2    amn xn  ,  ,  bm 
n

 Contraintes de non négativité a mj x j  ,  ,  bm


j 1

xj  0 , j  1,2,, n
xj variables de décision (inconnues)
aij, bi, cj paramètres du programme linéaire
Écriture matricielle de la forme canonique :
recherche d’un maximum
•Considérons toutes les contraintes du type  et on suppose que b  0
(hypothèse non générale)

max z  t cx
n
max z   c j x j
j 1

sc sc
n
 aij x j  bi ,  1  i  m  Ax  b
 j 1 
•avec,  x  0,  1  j  n
 j x  0
 c1   x1 
 a11   a1n   b1   

A       
b    c  x 
 
am1   amn  bm     
cn   xn 
Vecteur colonne de Vecteur ligne de taille n Vecteur colonne
Matrice (m,n) taille m<n de taille n
des coefficients de la
des coefficients techniques des seconds membres fonction économique des niveaux
des contraintes d’activité
Exercice
• L’entreprise X occupe trois ouvriers à raison de 40 heures par
semaine chacun. Elle fabrique trois types de papier A, B, C.
•Pour des raisons d’approvisionnement en matières premières, la production
totale hebdomadaire de cette entreprise est limitée à 500 tonnes.
•Les rendements horaires pour la fabrication des papiers A, B, C sont
respectivement de 5 tonnes, 2.5 et 3 tonnes. Les bénéfices sont
respectivement de 200, 500 et 400 UM par tonne de A, B et C.
•L’expérience a montré que, si la production était limitée respectivement à
300, 100 et 150 tonnes par semaine, elle aurait été entièrement absorbée
par le marché.
•Objectif :
• On veut déterminer les quantités hebdomadaires à produire pour
que le bénéfice soit maximum et toute la production soit vendue.
Exemple

• x1 : quantité (en tonnes) de papier A à produire par semaine


• x2 : quantité (en tonnes) de papier B à produire par semaine
• x3 : quantité (en tonnes) de papier C à produire par semaine

max bénéfice  200 x1  500 x2  400 x3


sc
 x1 x2 x3
5    120 contrainte horaire
2,5 3

 x1  x2  x3  500 limite de production de l' ensemble
x  300 limite de production de A
 1
 x2  100 limite de production de B

 x3  150 limite de production de C
 x  0, x  0, x  0
 1 2 3
Résolution par Excel

Microsoft Excel 10.0 Answer Report


Worksheet: [motivation.xls]motivation
Report Created: 11/1/2006 1:05:36 PM

Target Cell (Max) Le bénéfice maximal


Cell Name Original Value Final Value
$F$6 profit TOTAL 0 140000

La solution optimale
Adjustable Cells
Cell Name Original Value Final Value
$C$5 quantités Article A 0 150
$D$5 quantités Article B 0 100
Le stock
$E$5 quantités Article C 0 150

Constraints
Cell Name Cell Value Formula Status Slack
$F$8 contrinte horaire TOTAL 120 $F$8<=$G$8 Binding 0
$F$9 limite de production de l'ensemble TOTAL 400 $F$9<=$G$9 Not Binding 100
$F$10 limite de production de A TOTAL 150 $F$10<=$G$10 Not Binding 150
$F$11 limite de production de B TOTAL 100 $F$11<=$G$11 Binding 0
$F$12 limite de production de C TOTAL 150 $F$12<=$G$12 Binding 0
Interprétation

La solution qui maximise le bénéfice est (150,100,150), c’est-à-dire, en fabriquant 150
t de papier A, 100 t de papier B et 150 t de papier C, l’entreprise X réalisera un
bénéfice maximal de : 140000 UM.

200 150  500 100  400 150  140 000 UM


A l’optimum, la première, la quatrième et la cinquième contrainte sont saturées
tandis que la deuxième et la troisième contrainte ne le sont pas : pour réaliser le
bénéfice maximal, l’entreprise doit épuiser toutes les disponibilités horaires et vendre
la totalité de la production en papier de type B et C :
120  150
5
  100
2, 5
  150
3
 et 100 t  1100 et 150 t  1150
toutefois, elle lui restera un stock de papier de type A de 150 t :

150 t  300  1150


L’entreprise n’aura pas de problèmes en matières premières puisque la production
totale hebdomadaire n’a pas dépassé la limite de 500 t :

500  1150  1100  1150  100 t


Écriture matricielle : Exemple 6
max z  200 x1  500 x2  400 x3
sc
 x1

x2

x3
 120 max z  t cx
5 2,5 3
 sc
 x1  x2  x3  500
x 
 1 300  Ax  b
 x2  100 

 x3  150 x  0
 x  0, x  0, x 
 1 2 3 0

 15 1
2,5
1
3  120 
1 1 500
 1   200  x1 
A  1 0 0 b  300 c  500 x   x2 
   
0 1 0 100  400  x3 
0 0 1 150 
Écriture matricielle de la forme
canonique : recherche d’un minimum
•Considérons toutes les contraintes du type  et on suppose queb  0
(hypothèse non générale)
min w t cx  c1   x1 
n
min w   c j x j
j 1
 a11   a1n   b1     
sc sc       
A       , b    , c  , x 
n
 aij x j  bi ,  1  i  m  Ax  b  
 j 1 am1   amn  bm     
 x  0,  1  j  n 
 j
x  0  cn   xn 

min w  3x1  5 x2  x3 min w t cx


sc
•Exemple : sc 3  x1 
1 3 1  6 
 x1  3x2  x3  6 A  b  c   5 x   x2 

2 x1  4 x2  2 x3  2  Ax  b  2  4  2  2
x , x , x  0   1   x3 
1 2 3 x  0
De la forme standard à la forme canonique
• La forme standard se prête aisément à une résolution graphique
tandis que la forme canonique permet une résolution matricielle. Il est toujours
possible de passer d’une forme standard à une forme canonique en écrivant les
inéquations de contraintes en équations ; on introduit des variables d’écart ei. Il
y’aura autant de variables d’écart que d’inéquations de contraintes.
n n

i  1,2,, m a x
j 1
ij j  bi , bi  0  a x
j 1
ij j  ei  bi , ei  0

 Fonction objectif
max z  c1 x1  c2 x2    cn xn  0e1  0e2    0em
A x + Ime = b
 Contraintes
a11x1  a12 x2    a1n xn  e1 0  0  b1
technologiques a21x1  a22 x2    a 2 n xn 0  e2    b2
Ax        0 
am1 x1  am 2 x2    amn xn 0  0  em  bm
 Contraintes de non négativité Im e
x j  0 j  1,2,, n
ei  0 i  1,2,, m
Écriture matricielle de la forme standard

t
 c  x  max z  c~~
t
x
max z  
0 
e  ~~
    Ax  b
  x
sc  ~
 A I m 
eb x  0
  
sc 
 x  0
   c  x
A  A | Im 
 e   0  ~ ~ ~
    où c    x     0
 0 e
~
• On a m équations. Généralement les m vecteurs colonnes de A sont
linéairement indépendants

Variables d’écart

• Nombre de variables = m + n variables


Variables de décision
Fondements Mathématiques
  ensemble des indices de colonnes de A ~
:   avec |  | m
• i   x ~ sont variables de base
sont variables hors base
i
 i    x ~
• Si B inversible, alors {Bj} forment une base du système
i

 xN 
~~
Ax  b N B 
 x 
  b
 B 
•On pose :x N  0 et en multipliant les deux termes par B 1  xB  B 1b
•Comme Im est inversible, on a une solution de base admissible initiale (x =0, l’origine)
 x
•Pour une base donnée : ( A | I m )   b  xN  x  0 et xB  e  b
 
e
max z  cx  0e max z  c N x N  cB xB
max z  c N x N  cB xB
 A | I     b x 
x
sc sc  N | I   N 
b sc Nx N  xB  b
e  xB 
•D’où, xB  b  NxN  xB i  bi  Ni xN
Solution de base : xB vecteur déterminé en :

 Choisissant une base B


 xN=0
 xB = b – N xN
Définitions
Solution admissible :

solution qui satisfait toutes les contraintes

Solution de base admissible :



 solution admissible et qui est positive

Solution optimale :

 solution de base admissible qui maximise la fonction objectif ;

Solution de base dégénérée :



 solution de base dans laquelle au moins une variable de base est
nulle.
Exemple
• Une usine fabrique 2 pièces P1 et P2 produites dans 2 ateliers A1
et A2
• Les temps d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2

 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2


 Le temps de disponibilité hebdomadaire de l'atelier A1 est de
160 heures et celui de l'atelier A2 de 180 heures.
 La marge bénéficiaire est de 1200 dhs pour une pièce P1 et
1000 dhs pour une pièce P2.

 Problème : Quelle production de chaque type doit-on fabriquer


pour maximiser la marge hebdomadaire ?
Modélisation mathématique de l’énoncé 6
 Variables économiques ou de décision :
x1 = quantité de pièces P1 à fabriquer
x2 = quantité de pièces P2 à fabriquer
 La forme standard la forme canonique
max z  1200 x1  1000 x2 max z  1200 x1  1000 x2  0e1  0e2
sc sc
3x1  4 x2  160 3x1  4 x2  e1 0  160
 
 3 x2  180 6 x1  3 x2 0  e2  180
6 x1
x , x ,  0
 1 x2  0  1 x2 , e1 , e2

D’où l’écriture matricielle de la forme canonique :


 x1 
 
 x2 
•Signification économique de ces variables max z  1200 1000 0 0 e 
 1 
e 
d’écart : sc
 2 

• Il s'agit de la capacité horaire disponible et  x1 


 
3 4 1 0   x2  160 
   
180 
non utilisée dans chacun des ateliers A1 et A2 6
 3 0 1 
  e1 




e 
 2 
x1 , x2 , e1 , e2  0
max z  1200 x1  1000 x2  0e1  0e2
•Tableau initial Second membre des
contraintes
sc
Variables Hors Base
3x1  4 x2  e1 0  160
Variables de décision Variables d’écart 
6 x1  3x2 0  e2  180
x1 x2 e1 e2 b
x , x , 
HB Déterminons
1 2 e1 , e
une solution
2
de base
0
Variables de Base

B
admissible initiale :
e1 3 4 1 0 160
On attribue une valeur nulle à la
e2 6 3 0 1 180 marge globale : les variables Hors
Base (HB) sont nulles x1=0 et x2 =0,
c’est la solution de base admissible
-z 1200 1000 0 0 0
de départ
coefficients Coefficients de la valeur de la on fabrique 0 pièces P1 et 0
fonction économique
techniques fonction économique pièces P2 : aucun intérêt pratique
Les valeurs des variables dans la
La solution de base admissible initiale est : Base (B) sont données par :
(x1, x2 ,e1 ,e2) = (0, 0, 160, 180)
 e1  160  3x1  4 x2  160
La dernière cellule donne la valeur de –z. Donc la 
e2  180  6 x1  3x2  180
marge z =0. en effet : z  1200 x1  1000 x2  0
Elles se lisent dans la colonne b
La solution n’est pas optimale. On recherche donc
une solution de base meilleure : autre itération. e1 = 160 et e2 = 180
La dernière ligne donne les valeurs marginales (ou
il reste 160 h d'utilisation
taux de substitution) des variables hors base possible de A1 et 180 h de A2
x1 x2 e1 e2 b R
Déterminons une autre e1 3 4 1 0 160 160/3
solution de base e2 6 3 0 1 180 180/6
admissible
-z 1200 1000 0 0 0
La solution de base admissible initiale est (x1,x2,e1,e2)=(0,0,160,180) avec z =
0
La dernière ligne donne les valeurs marginales ou taux de substitution :
•Si x1 = 1, x2 = 0, e1 = 160, e2 =180 alors, z = 1200 dhs
•une augmentation de 1 unité de x1 ferait croître la fonction objectif de 1200
dhs,
•Si x1 = 0, x2 = 1, e1 = 160, e2 =180 alors, z = 1000 dhs
•une augmentation de 1 unité de x2 ferait croître la fonction objectif de 1000
dhs.
 On a intérêt à augmenter la valeur de la fonction objectif le plus rapidement possible
donc à augmenter la variable ayant le plus grand coefficient strictement positif (cas
de maximisation) de la dernière ligne : x1 variable entrante dans la base
Supposons x1 augmente et x2 = 0, alors 6 x1  3x2  e2  180  x1  30
z  1200 x1  1000 x2  1200  30  36000
 On a intérêt à prendre le maximum de x1 (les variables hors base restant nulles) :
x1=30. La deuxième contrainte sera saturée e2=0 : e2 variable sortante de (B).
 z = 36000 dhs, en effet :
On augmente la fonction objective en faisant entrer une variable dans la base
prenant la place d'une variable qui va sortir de la base.
Critère de sélection
Variable entrante dans (B) Variable sortante de (B)

on exprime la fonction objectif en fonction des On effectue le rapport des seconds membres
seules variables hors base et on choisit la variable des contraintes aux coefficients strictement
pondérée par le cœfficient le plus élevé strictement positifs correspondants de la variable entrante
positif : on sélectionne la variable HB ayant le plus : on sélectionne la variable de la base ayant le
grand coefficient strictement positif dans la plus petit rapport positif dans la colonne R
dernière ligne
Le rapport des coefficients de la colonne C par les
Règle
coefficients strictement positifs de la colonne de la variable
Le pivot doit être égal à 1
entrante dans la base (x1)
Les coefficients de la ligne du
pivot sont divisés par le pivot
Le pivot est égal à 6

Ligne de pivot
e2 sortant dans la base
 Les coefficients de la colonne
du pivot (sauf le pivot) sont nuls
xx11 HB
B x2 e1 e2 b R Les autres coefficients sont
e1 30 5/2
4 1 -1/2
0 70
160 160/3 obtenus par la règle du rectangle
e2 161 1/2
3 00 1/6
1 30
180 180/6
pivot Lpivot
-z 0
1200 1000
400 00 0
-200 0
-36000


x1 entrant de la base 
Colonne de pivot Cpivot Av
Nv : nouvelle valeur Av : ancienne valeur
Nv  Av  (Cpivot  Pivot )  Lpivot
Cpivot : colonne pivot Lpivot : ligne pivot
Les variables hors base sont nulles :
HB x1 x2 e1 e2 b R
B
e1 3 4 1 0 160 160/3 x2 = 0, e2 = 0
e2 6 3 0 1 180 30
on fabrique 0 pièces P2 et il reste
0 h d'utilisation disponible à A2
-z 1200 1000 0 0 0
La contrainte associée à e2 est
Tableau 1
saturée.
B HB x1 x2 e1 e2 b
La nouvelle solution de base réalisable
e1 0 5/2 1 -1/2 70
x1 1 1/2 0 1/6 30 est : (x1, x2, e1, e2) = (30, 0, 70, 0)
-z 0 400 0 -200 -36000  on fabrique 30 P1 et il reste 70h
d'utilisation disponibles à A1
La dernière ligne donne les valeurs marginales :
 180  e2  3x2 
z  1200   1000 x2  36000  200e2  400 x2 la marge est égale à z =36 000 dhs
 6 
•Une augmentation de 1 unité de x2 ,ici on augmente la production de 1 pièce de P2, ferait
croître la fonction objectif de 400 dhs, et une augmentation de 1 unité de la variable d’écart
e2 (c- à –d, diminution du second membre de l'équation correspondante de 1 unité, ici on
diminue la disponibilité de 1 h à A2) ferait diminuer la fonction objectif de 200 dhs
 On a intérêt a augmenter x2 : x2 variable entrante dans la base
e1  70  5 2 x2  0  x  28
  2  x2  28
 x1  30  1 2 x2  0  x2  60
 e1 est la variable sortante de la base
x1 x2 e1 e2 b R
e1 0 5/2 1 -1/2 70 28 Les variables hors base sont nulles
x1 1 1/2 0 1/6 30 60 (Les contraintes associées sont
-z 0 400 0 -200 -36000
saturées) : e1=0 et e2=0
il reste 0 h d'utilisation
•Tableau final disponible aux ateliers A1 et A2
x1 x2 e1 e2 b
x2 0 1 2/5 -1/5 28 La nouvelle solution de base réalisable
x1 1 0 -1/5 4/15 16
est : (x1, x2, e1, e2) = (16, 28, 0, 0)
-z 0 0 -160 -120 -47200
on fabrique 16 pièces P1 et 28
pièces de P2

 Pour augmenter e1 d’une unité, il faut : Et la marge est égale à 47 200 dhs
• diminuer x2 de 2/5
• diminuer x1 de (-1/5)
La variation correspondante de la fonction économique : -(-1/5) 1200-(2/5) 1000 = -160
D’où, augmenter e1 d’une unité diminuerait la fonction objectif de 160 dhs
 Pour augmenter e2 d’une unité, il faut :
• diminuer x2 de (-1/5)
• diminuer x1 de 4/15
La variation correspondante de la fonction économique :
-(4/15) 1200-(-1/5) 1000 = -120
D’où, augmenter e2 d’une unité diminuerait la fonction objectif de 120 dhs
On retrouve ainsi la solution optimale de la résolution graphique.
Interprétation graphique de la
méthode du simplexe
A = (0,0) et z = 0 dhs

B = (30,0) et z =36 000 dhs


60

50
C = (16,28) et z = 47 200 dhs
40

30 C

20
Donc C est l’unique solution optimale et

10 zmax = 47 200 dhs


B

A 10 20 30 40 50 60
Critères d'arrêt des itérations de la méthode du simplexe lors
de la résolution d’un problème de maximisation
Si tous les coefficients de la dernière ligne, relatifs aux variables HB, sont négatifs ou nuls,
l’algorithme s’arrête et la solution trouvée est optimale.

x1 x2 e1 e2 b
x2 0 1 2 -1 20
x1 1 0 -1 2,5 6
-z 0 0 -160 -80 -40

S'il existe une variable HB (non artificielle) ayant un coefficient positif dans la dernière ligne et
telle que tous les coefficients correspondants dans le tableau soient nuls ou négatifs, alors la
solution est infinie
x1 x2 e1 e2 b
e1 0 -2 1 -1 20
x1 1 0 0 2,5 3
-z 0 16 0 -3 -32
•Si, à la fin des itérations, une variable est HB avec un coefficient nul dans la dernière ligne, alors
on a une arête (plan …) optimale. Les autres sommets solutions sont obtenus en faisant rentrer
cette variable dans la base. x x e e b
1 2 1 2

x2 0 1 2/5 -1/5 28
x1 1 0 -1/5 4/15 16
-z 0 0 0 -120 -47200
Exercice 7
déjà traité par la méthode graphique et par le solveur d’Excel

• Un raffineur dispose de deux bruts pour fabriquer de l’essence,


du gazole et du fuel lourd.
Les rendements de ces deux bruts sont les suivants :

Brut A B
Essence 0,2 0,4
Gazole 0,4 0,2
Fuel lourd 0,4 0,4
Le traitement d’une tonne de brut A procure une recette de 140 UM Le
traitement d’une tonne de brut B procure une recette de 150 UM
Du fait des contraintes de stockage, la fabrication de chaque produit est
limitée de la manière suivante : Essence : 1 200 t, Gazole : 1 200 t, Fuel
lourd : 1 400 t.
Quelles quantités de ces pétroles bruts devra t-on traiter pour maximiser
la recette ?
Modélisation mathématique
 Variables économiques ou de décision :
x1 = quantité de brut A à traiter
x2 = quantité de brut B à traiter
 La forme standard la forme canonique

max z  140 x1  150 x2 max z  140 x1  150 x2  0e1  0e2  0e3


sc sc
0.2 x1  0.4 x2  1200 0.2 x1  0.4 x2  e1  0 0  1200
 0.4 x  0.2 x
0.4 x1  0.2 x2  1200
 0  e2  0  1200
0.4 x
1 2
  0.4 x2  1400 
1
0.4 x1  0.4 x2 0 0  e3  1400
x1  0, x2  0  x1 , x2 , e1 , e2 , e3  0

Signification économique de ces variables d’écart :

• Il s'agit de la capacité de stockage de l’essence, gazole et fuel lourd


Résolution par la méthode de simplexe
Tableau intermédiaire

x1 x22 e1 e2 e3 b
e1 0,5
0,2 1
0,4 2,5
1 0
0 0
0 3000
1200
e2 0,3
0,4 0
0,2 -0,5
0 1 0 600
1200
e3 0,2
0,4 0
0,4 -1
0 0
0 1
1 200
1400
-z 65
140 0
150 -375
0 0
0 0
0 -450000
0

x1 x2 e1 e2 e3 b
Tableau final

x2 0 1 5 0 -2,5 2500

e2 0 0 1 1 -1,5 300

x1 1 0 -5 0 5 1000

-z 0 0 -50 0 -325 -515000


Analyse de la solution optimale
x1 , x2   1000 , 2500
BRUT A BRUT B
Rendem Quantité Rendem Quantité TOTAL
ent ent
Essence 0.2 200 0.4 1000 1200
Gazole 0.4 400 0.2 500 900
Fuel 0.4 400 0.4 1000 1400
lourd
Brut
Total Production
1 effective
1000 Production
1 maximum
2500 Écart
3500
Essence 1200 1200 0
Gazole 900 1200 300
Fuel lourd 1400 1400 0
Recherche d’un minimum : passage au
programme dual
• Faute du choix de la solution de base admissible de départ, la

recherche du minimum d’un programme linéaire avec des contraintes de

supériorité n’est pas facile. La méthode classique mais délicate

consiste à rajouter en plus des variables d’écart des variables

artificielles. Cependant, la méthode utilisant la notion de dualité est

astucieuse.

• De point de vu mathématique, la dualité nous permet de résoudre ce

type de problème et nous apporte des interprétions économiques

intéressantes
Passage du programme primal au programme
dual et interprétation économique du dual

• A tout programme linéaire primal correspond un programme linéaire dual
max z  c1 x1  c2 x2    cn xn
a11x1  a12 x2    a1n xn  b1 min w  b1 y1  b2 y2    bm ym
a x  a x    a x  b


21 1 22 2 2n n 2
a11 y1  a21 y2    am1 ym  c1
sc  a y  a y    a y  c
a x  a x    a x  b 

12 1 22 2 m2 m 2

 m1 1 m2 2 mn n m sc 

 1 2
x , x ,  , x n  0 a y  a y    a y  c
 1n 1 2n 2 mn m n

 y1 , y2 ,  , ym  0

 On associe à chacune des contraintes du primal une nouvelle variable yi (i = 1,…,m)


dite variable duale et c’est une inconnue du programme dual. Celui-ci comporte
autant d’inconnues que le primal a des contraintes ;
 Le problème de maximisation devient un problème de minimisation ;
 La fonction objectif du dual est une fonction linéaire dont les coefficients sont
donnés par les facteurs disponibles bi (i = 1,…,m) ;
 Les inégalités deviennent des inégalités  ;
 à chaque variable xj (j = 1,…,n) du primal correspond une contrainte du dual ; ces
contraintes sont obtenues à partir de la matrice transposée des contraintes du
primal ;
 le terme constant de la contrainte j étant donné par le cœfficient cj de la fonction
objectif du primal ;
 ….
Théorème de dualité
• A l'optimum, le primal et le dual sont liés par les
règles suivantes :
Primal Dual

La valeur optimale de la fonction objectif z = La valeur optimale de la fonction objectif w

le taux marginal de substitution d’une = à l’opposé de la valeur optimale de la


variable hors base variable de base associée

la valeur optimale d’une variable de base = à l’opposé du taux marginal de substitution


de la variable hors base associée

la iième contrainte est non saturée la valeur optimale de la variable


correspondante est nulle yi = 0

la iième contrainte correspondante est la valeur optimale d‘une variable yi > 0


saturée

la valeur optimale d’une variable xj > 0 la jième contrainte correspondante est


saturée

la valeur optimale de la variable la jième contrainte est non saturée


correspondante xj = 0
Passage du tableau final du primal au tableau
final du dual et vice versa
Primal Dual

La variable de décision xj en base (xj > 0) La variable d’écart tj hors base (tj = 0)

La variable xj de décision hors base (xj =


La variable d’écart tj en base (tj > 0)
0)

La variable d’écart ei en base (ei > 0) La variable de décision yi hors base (yi = 0)

La variable d’écart ei hors base (ei = 0) La variable de décision yi en base (yi > 0)

Signe
Ligne xj en base Colonne tj hors base
opposé
Signe
Ligne ei en base Colonne yi hors base
opposé
Signe
Colonne xj hors base Ligne tj en base
opposé
Signe
Colonne ei hors base Ligne yi en base
opposé
Signe
Colonne second membre Taux marginaux de substitution
opposé
Taux marginaux de substitution des Signe Colonne second membre des variables de
variables hors base opposé base associées
Exercice 6: déjà traité
Problème de maximisation - Problème Primal
•Une usine fabrique 2 pièces P1 et P2 usinées dans deux ateliers A1 et A2 . Les temps
d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2

 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2


Le temps de disponibilité hebdomadaire de l'atelier A1 est de 160 heures et celui de
l'atelier A2 de 180 heures. Les marges bénéficiaires unitaires : 1200 dhs pour P1 et
1000 dhs pour P2.
Quelle production de chaque type doit-on fabriquer pour maximiser la marge
hebdomadaire ?
x1 : quantité de pièces P1 à fabriquer par semaine max z  1200 x1  1000 x2
x2 : quantité de pièces P2 à fabriquer par semaine sc
La résolution par le simplexe a donné:
3 x1  4 x2  160
En fabriquant chaque semaine 16 pièces de P1 
6 x1  3 x2  180
(x1 = 16) et 28 pièces de P2 (x2 = 28), l’usine x ,
 1 x2  0
réalisera un bénéfice de 47 200 dhs
Problème de minimisation associé -
Problème dual
• Une usine fabrique 2 pièces P1 et P2 usinées dans deux ateliers A1 et A2.
Les temps d'usinage sont :
 pour P1 : de 3 heures dans l'atelier A1 et de 6 heures dans A2
 pour P2 : de 4 heures dans l'atelier A1 et de 3 heures dans A2
 Le temps de disponibilité hebdomadaire de l'atelier A1 est de 160 heures
et celui de l'atelier A2 de 180 heures.
• L’usine facture, au moins, 1200 dhs pour une pièce P1 et 1000 dhs pour
une pièce P2. L’usine cherchera à minimiser le montant de la facturation
correspondant à l’utilisation totale de la capacité hebdomadaire de chaque atelier.
• y1 : prix horaire de l’Atelier A1 (en dhs) min w  160 y1  180 y2
• y2 : prix horaire de l’Atelier A2 (en dhs)
3 y1  6 y2  1200
•La résolution par le Solveur a donné : 
•En fixant un tarif horaire de 160 dhs (y1 = 160) pour
sc 4 y1  3 y2  1000
y , y  0
•l’Atelier A1 et de 120 dhs (y2 = 120) pour l’Atelier A2,  1 2
•l’usine épuisera toutes les disponibilités horaires
•hebdomadaires des deux Ateliers avec une facture de 47 200 dhs
•Programme Primal • Programme Dual
• max z  1200 x1  1000 x2 min w  160 y1  180 y2
3 x1  4 x2  160 3 y1  6 y2  1200
 
sc 6 x1  3 x2  180 sc 4 y1  3 y2  1000
x , x  0 y , y  0
 1 2  1 2

Primal : écriture en colonne

y1 y2 max
x1 3 6  1200
x2 4 3  1000
Dual : écriture en ligne
 
min 160 180
max z  1200 x1  1000 x2  0e1  0e2 min w  160 y1  180 y2
3x1 Résolution
4 x2  e1  0  160 3 y1  6 y2  1200
 
sc 6 x1  3 x2  0  e2
par  180 sc 4 y1  3 y2  1000
x ,  y , 
 1 x2 , e1 ,
simplexee2 0  1 y2 0
•Tableau final du programme primal
HB
x1 x2 e1 e2 b
B
Interprétation : A l’optimum,
x2 0 1 2/5 -1/5 28
La variable de base x1 = 16 donc le taux marginal de
x1 1 0 -1/5 4/15 16
substitution de la variable d’écart t1 est égal à -16 et la
-z 0 0 -160 -120 -47200
valeur de t1 est nulle (t1 hors base)
La variable de base x2 = 28 donc le taux de substitution
•Tableau final du programme dual de la variable d’écart t2 est égal à -28 et la valeur de t2
est nulle (t2 hors base)
HB
y1 y2 t1 t2 b
B Le taux marginal de substitution de la variable d’écart
y2 0 1
-
1/5 120 hors base e1 est égal à -160 donc la variable de base
4/15
y1 = 160
y1 1 0 1/5 -2/5 160
Le taux marginal de substitution de la variable hors base
-w 0 0 -16 -28 -47200
e2 est égal à -120 donc la variable de base y2 = 120
Les deux contraintes du dual sont saturées, donc les
•A l’optimum, on a : deux valeurs optimales du dual sont non nulles, ainsi, les
 z = w = 47200 dhs contraintes du primal correspondantes sont saturées.
 (x1 , x2) = (16 , 28)
 (y1 , y2) = (160 , 120)
Exercice 4: déjà traité
Problème de maximisation - Problème Primal

•Un raffineur dispose de deux bruts pour fabriquer de Brut A B


l’essence, du gazole et du fuel lourd. Les rendements
de ces deux bruts sont les suivants : Essence 0,2 0,4
•Le traitement d’une tonne de brut A procure une
recette de 140 (UM). Le traitement d’une tonne de brut Gazole 0,4 0,2
B procure une recette de 150 (UM).
Fuel lourd 0,4 0,4
Du fait des contraintes de stockage, la fabrication de chaque produit est limitée de la manière
suivante : Essence : 1 200 t, Gazole : 1 200 t, Fuel lourd : 1 400 t.

Quelles quantités des pétroles Bruts devra t-on traiter pour maximiser la recette ?
x1 : quantité de brut A à traiter
x2 : quantité de brut B à traiter

La résolution par le solveur a donné: max z  140 x1  150 x2


En traitant 1000 t du Brut A (x1 = 1000) et 2500 t du Brut 0.2 x1  0.4 x2  1200
B (x2 = 2500) le raffineur réalisera une recette de 515 000
0.4 x  0.2 x2  1200
 1
(UM)
sc 
0.4 x1  0.4 x2  1400

 x1  0, x2  0
Problème de minimisation associé - Problème dual

• Le problème est de fixer les prix des produits : Un client cherchera à


minimiser le coût d’achat de l’ensemble des produits. Le raffineur
n’acceptera de vendre les produits que si la recette obtenue de cette
vente est au moins égale au bénéfice qu’il obtient en traitant les bruts.
• Mise en équation :
min w  1200 y1  1200 y2  1400 y3
• y1 : prix de l’essence (en UM) 0.2 y1  0.4 y2  0.4 y3  140
• 
y2 : prix du gazole (en UM)
sc 0.4 y1  0.2 y2  0.4 y3  150
• y3 : prix du fuel lourd (en UM)
y , y , y  0
 1 2 3

• La résolution par le Solveur a donné:


• y1 = 50 (UM), y2 = 0 (UM), y3 = 350 (UM) et w = 515 000 (UM)
•Programme Primal • Programme Dual
• max z  140 x1  150 x2
0.2 x1  0.4 x2  1200 min w  1200 y1  1200 y2  1400 y3
0.4 x  0.2 x2  1200 0.2 y1  0.4 y2  0.4 y3  140


1
sc 
0.4 x1  0.4 x2  1400 sc 0.4 y1  0.2 y2  0.4 y3  150
 0 y , y , y  0
 x1 , x2  1 2 3

Primal : écriture en colonne

y1 y2 y3 max
Dual : écriture en ligne

x1 0.2 0.4 0.4  140


x2 0.4 0.2 0.4  150
  
min 1200 1200 1400
max z  140 x1  150 x2  0e1  0e2  0e3
min w  1200 y1  1200 y2  1400 y3
0.2 x1  Résolution
0.4 x2  e1  1200
0.2 y1  0.4 y2  0.4 y3  140
0.4 x  0.2 x  e  1200 
 1 2 par2 sc 0.4 y1  0.2 y2  0.4 y3  150
sc 
y , y , y  0
0.4 x1  0simplexe
.4 x2  e3  1400  1 2 3
 x1 , x2 , e1 , e2 , e3  0
•Tableau final du programme primal Interprétation : A l’optimum,
La variable de base x1 = 1000 donc le taux marginal
HB de substitution de la variable d’écart t1 est égal à
x1 x2 e1 e2 e3 b
B -1000 et la valeur de t1 est nulle (t1 hors base)
x2 0 1 5 0 -2,5 2500 La variable de base x2 = 2500 donc le taux de
e2 0 0 1 1 -1,5 300 substitution de la variable d’écart t2 est égal à
x1 1 0 -5 0 5 1000 -2500
-z 0 0 -50 0 -325 -515000 La variable d’écart de base e2 = 300 (correspondant
à la contrainte non saturée du primal) donc le taux
•Tableau final du programme dual marginal de substitution de la variable de décision
y2 est égal à -300 donc la valeur de y2 est nulle
BHB y1 y2 y3 t1 t2 b Le taux marginal de substitution de la variable
y3 0 1,5 1 -5 2,5 325 d’écart hors base e1 est égal à -50 donc la variable
y1 1 -1 0 5 -5 50 de base y1 = 50
-w 0 -300 0 -1000 -2500 -515000 Le taux marginal de substitution de la variable
d’écart hors base e3 est égal à -325 donc la
A l’optimum, on a : variable de base y3 = 325
z = w = 515000 dhs; (x1 , x2) = (1000 , 2500)
(y1 , y2 , y3) = (50 , 0 , 325)
y1 y2 y3 t1 t2 b
y3 0 1,5 1 -5 2,5 325
y1 1 -1 0 5 -5 50
-w 0 -300 0 -1000 -2500 --515000
 Pour augmenter d’une unité la valeur du brut A, il faut :
diminuer le prix de l’essence y1 de 5 ;
diminuer le prix du fuel lourd y3 de (-5).
La variation de revenu est donc : -1200(5) - 1400(-5) = 1000
Le coefficient de t1 dans la fonction économique est bien -1000.
 Pour augmenter d’une unité la valeur du brut B, il faut
diminuer le prix de l’essence y1 de (-5)
diminuer le prix du fuel lourd y3 de (2,5)
La variation de revenu est : -1200(-5) - 1400(2,5) = 2500
Le coefficient de t2 dans la fonction économique est bien -2500.
 Un accroissement d’une unité de y2 conduit à :
une diminution du prix de l’essence y1 de (-1) ;
une diminution du prix du fuel lourd y3 de 1,5.
la variation de revenu est : - 1200 (-1) + 1200 (1) - 1400 (1,5) = 300
Le coefficient de y2 dans la fonction économique est bien -300.
Résolution d’un modèle linéaire général
Soit le programme linéaire écrit sous sa forme standard :

max z  2 x1  3 x2
 x1  x2  1
2 x 3 x2
 1  4
 PLG  sc 
 x1 2 x2  3

 x1 , x2  0

sa forme équivalente :
max z  2 x1  3 x2
 x1  x2 e1 1
2 x 3 x2 e2 4

 PL   sc  1
 x1 2 x2 3

 x1 , x2 , e1 , e2 0

Où e1 est une variable d’écart et e2 variable d’excédent.


Méthode 1 : Méthode en deux phases
Problème : solution de départ ?
On ajoute des variables dites artificielles, qui initialement serviront comme variables de
base, soit : max z  2 x1  3 x2
 x1  x2 e1 1
2 x 3 x2 e2  a2 4

( PLa ) sc  1
 x1 2 x2  a3 3

 x1 , x2 , e1 , e2 , a2 , a3 0

Ce problème sera équivaut à (PL =) que si tous les ai sont nuls (ici, a2=a3 =0)
Soit donc le modèle (PLa) où la valeur de a2  a3 doit être minimisée
Ainsi pour la résolution de (PLG) on doit passer par deux étapes :
• Phase 1 min za  a2  a3 Recherche d’une solution de base admissible initiale.
•.Phase 2 max z  2 x1  3x2 Recherche de la solution optimale.
Phase I : Min
0 0 0 0 1 1
cj
min za  a2  a3 Base
Valeur Limite
x1 x2 e1 e2 a2 a3
 x1  x2  e1  1
Coeff Var

2 x  3x  e  a  4
0 e1 1 -1 1 0 0 0 1 --------

 1 2 2 2 1 a2 2 3 0 -1 1 0 4 4/ 3
( PLa ) 
 x1  2 x2  a3  3 1 a3 1 2 0 0 0 1 3 3/ 2
zj 3 5 0 -1 1 1
 x1 , x2 , e1 , e2 , a2 , a3  0 cj - zj -3 -5 0 1 0 0
7

Min cj 0 0 0 0 1 1
Forme canonique Base Valeur Limite
x1 x2 e1 e2 a2 a3
min za  3x1  5 x2  e2  7 Coeff Var
0 e1 5/3 0 1 -1/3 1/3 0 7/3 --------
 x1  x2  e1  1 0 x2 2/3 1 0 -1/3 1/3 0 4/3 --------
2 x  3x  e  a  4
 1 2 2 2
1 a3 -1/3 0 0 2/3 -2/3 1 1/3 1/2
( PLa )  zj -1/3 0 0 2/3 -2/3 1
 x1  2 x2  a3  3 1/3
cj - zj 1/3 0 0 -2/3 5/3 0
 x1 , x2 , e1 , e2 , a2 , a3  0 Min cj 0 0 0 0 1 1
Base Valeur
x1 x2 e1 e2 a2 a3
Coeff Var
On obtient ainsi a2  a3  0 0 e1 3/2 0 1 0 0 1/2 5/2

et x1  0, x2  3/ 2, 0 x2 1/2 1 0 0 0 1/2 3/2

e1  5 / 2, e2  1/ 2 0 e2 -1/2 0 0 1 -1 3/2 1/2


zj 0 0 0 0 0 0
0
cj - zj 0 0 0 0 1 1
Phase II : Max cj 2 3 0 0
Base Valeur Limite
Ici, tous les coûts marginaux des x1 x2 e1 e2
VHB sont  0 et donc on a atteint Coeff Var
0 e1 3/2 0 1 0 5/2 5/3
un minimum de za. Dans le dernier
3 x2 1/2 1 0 0 3/2 3
tableau de la phase I, toutes les
0 e2 -1/2 0 0 1 1/2 --------
variables artificielles sont HB (les
zj 3/2 3 0 0
variables artificielles ne reviendront 9/2
cj - zj 1/2 0 0 0
jamais dans la base car, dans la
phase II on cherche à passer d’une Max cj 2 3 0 0
solution de base admissible à une Base Valeur
x1 x2 e1 e2
autre solution de base admissible Coeff Var
qui améliore la fonction-objectif ou 2 x1 1 0 2/3 0 5/3
du moins ne la détériore pas). 3 x2 0 1 -1/3 0 2/3

Il faudra aussi inscrire les 0 e2 0 0 1/3 1 4/3

coefficients cj de la fonction-objectif zj 2 3 1/3 0


16/3
cj - zj 0 0 -1/3 0
z  2 x1  3x2
à maximiser à la place de ceux de
za puis recalculer les coûts On obtientzmax  16 / 3
marginaux. et e  0, e  4 / 3
x1  5 / 3, x2  2 / 3 1 2
La théorie des graphes

Définitions et Applications
II- Méthodes graphiques d’optimisation
La gestion de projet revêt une importance vitale pour l’entreprise. Celle-ci est
appelée pour survivre, à faire des investissements qui nécessitent une
planification rigoureuse, de l’ordonnancement des activités et des coûts et des
charges,…

A- La planification
La planification permet de définir le plan directeur du projet qui décrit les
objectifs et la nature de l’organisation à mettre en place. Elle détermine avec
précision, tout ce qui doit être fait ( et comment et par qui) en respectant toutes
les contraintes liées au temps, aux coûts et à la qualité. Elle comporte 4
dimensions:

a- Une dimension structurelle qui consiste à fractionner le projet en activités (ou


taches élémentaires), à préciser le contenu exact de ces activités.
b- Une dimension opérationnelle qui consiste à déterminer la durée de
différentes activités, à définir l’agencement de ces activités et à établir un
calendrier prévisionnel de réalisation.
46
c- Une dimension organisationnelle qui consiste à choisir les intervenants et à
définir leur fonction et leur rôle respectifs dans la réalisation des activités
constituant le projet.
d- Une dimension budgétaire qui consiste à évaluer le coût de chaque activité et
les coûts indirects afférents au projet, à vérifier si le budget alloué est adéquat
et à le répartir entre les activités et les intervenants, à prévoir les mouvements
de trésorerie durant la réalisation du projet.

47
1- Méthode de GANTT (1918)

Elle consiste à déterminer la meilleure manière de


positionner les différentes tâches d’un projet à exécuter,
sur une période déterminée, en fonction des durées de
chacune des tâches, des contraintes d’antériorités existant
entre les tâches, des délais à respecter et la capacité de
traitement.
Exemple 1 : on veut ordonner les réalisations des 5 tâches
suivantes :
Tâche A : Durée 3 jours
Tâche B : Durée 6 jours
Tâche C : Durée 4 jours
Tâche D : Durée 7 jours
Tâche E : Durée 5 jours

Traçons le graphe de GANTT de ce projet en considérant les


liens entre les opérations :
B et D après la tâche A;
C après B;
E après D.
Le graphe de GANTT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
A
B
C
D
E
Exemple 2 :
Une entreprise veut fabriquer un prototype de vélo
à moteur. Pour cela plusieurs activités sont
nécessaires selon le bureau méthode.
TAF : tracez le diagramme de GANTT sachant que
la fabrication du prototype doit commencer le 3
octobre.
Tâches Tâches Antérieures Durée en jours
A ---- 2
B ---- 1
C E;B;H 1
D C 2
E A 1
F E;B;H 2
G D;F 1
H ---- 3
3 Oct 4 Oct 5 Oct 6 Oct 7 Oct 8 Oct 9 Oct
A

B
Flottement
C
D
E
F
G
H

Le prototype sera achevé le 9 Octobre


Exercice 4: Le projet de construction d’un atelier de fabrication mécanique comprend treize
activité:
En supposant que le début des travaux est Durée Opérations
Activités
fixé au 11 janvier 2014, on vous (jours) pré requises
6 -
demande: A

5
1. d’établir le graphique Gantt et MPM;
B A

C 4 B
2- de mettre en évidence le chemin D 4 C
critique; E 5 D,F

3. En quelle date le projet a été construit? F 16 C

La réalisation de ce projet permet d’avoir G 8 B


H 4 G
une recette maximale de 200 millions de I 6 H,F
centimes. Le fournisseur a déclaré que les J 12 I,E
coûts variables sont estimés à 10 000 Dh K 7 J,M

la journée de travail et que les coûts fixes L


15 ---
à 150000 Dh. Sachant que le taux IS est M 5 L
de 29.5%, quelle est la marge bénéficiaire
nette du fournisseur?
Durée Opérations
Activités
(jours) pré requises
A 6 -
B 5 A

C 4 B
D 4 C
E 5 D,F

F 16 C
G 8 B
H 4 G

I 6 H,F
J 12 I,E
K 7 J,M
L
15 ---

M 5 L
Définition d’un graphe orienté
• Un graphe orienté G est un couple (X,A)
• où
• X : ensemble de sommets {x1,..., xn}
• A : ensemble de couples orientés (xi,xj) appelés arcs

• Pour un arc (xi,xj) d'origine xi et d'extrémité xj :

• le sommet xi est un précédent de xj,  x  P ( x )


x j  S  xi 
i j

• le sommet xj est un suivant de xi,


• Exemple :
X2 X4
X6
X1

X3
• X = {x1 , x2 , x3 , x4 , x5 , x6} X5

A={ (x1,x2), (x1,x3), (x2,x4), (x3,x2), (x3,x4), (x4,x5), (x4,x6), (x5,x6) }


Représentation d'un graphe
•Représentation sagittale :
X6
X2

X4
X1
X5

•Sommets •Précédents •Suivants


X3
•x •P(x) •S(x)
•Représentation par un dictionnaire :
•x1 •- •x2, x3

•x2 •x1, x3 •x4

•x3 •x1 •x2, x4

•x4 •x2, x3 •x5, x6

•x5 •x4 •x6

•x6 •x4, x5 •-
Détermination des niveaux des sommets d’un graphe
sans circuit
Dans un graphe sans circuit, le niveau d'un sommet x est la longueur du plus long
chemin ayant pour extrémité x
• No={sommets de niveau 0}
Sommets x Précédents P(x) • ={sommets n’ayant pas de
précédents}
x1 -
x2 x1, x3 • ={x1}
x3 x1
x4 x2, x3 • Tous les sommets x1 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
• comme n’existants plus
Sommets x Précédents P(x)
x1 - • N1={sommets de niveau 1}
x2 x1, x3 • ={sommets n’ayant pas de
x3 x1 précédents}
x4 x2, x3 • ={x3}
x5 x4
x6 x4, x5
• Tous les sommets x3 sont barrés
Sommets x Précédents P(x) • N2={sommets de niveau 2}
x1 - • ={sommets n’ayant pas de
précédents}
x2 x1, x3
• ={x2}
x3 x1
x4 x2, x3 • Tous les sommets x2 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
comme n’existants plus
Sommets x Précédents P(x)
x1 - • N3={sommets de niveau 3}
x2 x1, x3 • ={sommets n’ayant pas de
précédents}
x3 x1
• ={x4}
x4 x2, x3
x5 x4 • Tous les sommets x4 sont barrés
x6 x4, x5
• N4={sommets de niveau 4}
Sommets x Précédents P(x)
• ={sommets n’ayant pas de
x1 - précédents}
x2 x1, x3 • ={x5}
x3 x1
x4 x2, x3 • Tous les sommets x5 sont barrés
x5 x4
x6 x4, x5 • Les sommets barrés sont considérés
comme n’existants plus
Sommets x Précédents P(x)
x1 - • N5={sommets de niveau 5}
x2 x1, x3 • ={sommets n’ayant pas de
précédents}
x3 x1
x4 x2, x3 • ={x6}
x5 x4
x6 x4, x5 • Tous les sommets x6 sont barrés

Sommets x Précédents P(x) • Les niveaux sont :


x1 -
x2 x1, x3 • N0 = { x1 }
x3 x1
• N1 = { x3 }
x4 x2, x3
x5 x4
• N2 = { x2 }
x6 x4, x5
• N3 = { x4 }

• N4 = { x5 }
Tous les sommets ayant été barrés
• N5 = { x6 }
• Les niveaux sont :
Sommets x Précédents P(x)

Utilité
• N
de la notion de niveaux
0 = { x1x1}
x2
N1 = { -x3 }
N = {x }
x1, x3
2 2

x3 x1
• N3 = { x4x } N4 = x{ ,xx5 } N5 = { x6 }
4 2 3
x5 x4
x6 x4, x5
 construire le graphe ordonné par niveaux
 La recherche des chemins optimaux se fait plus facilement sur
un graphe ordonné par niveaux

x1 x3 x4 x5

x6
x2

N0 N1 N2 N3 N4 N5
Définitions
• Un chemin est une suite ordonnée (x1,...,xn) de sommets reliés par des
arcs :
i  1,, n  1 xi 1  S xi 
• Un circuit est un chemin (x1,...,xn) tel que x1 = xn

• La longueur du chemin est le nombre d'arcs qu'il contient

• Dans un graphe sans circuit. A chaque arc (x,y) est associé un nombre
positif V(x,y) appelé la valeur de l'arc

• La valeur du chemin (x1, x2, …, xi,xi+1, …, xn) est :


n 1

V x , x 
i 1
i i 1
Cas particuliers de chemins
• Chemin près-hamiltonien : il passe au moins une fois par chaque
sommet du graphe
• (x1, x2, x4, x3, x2, x6, x8, x7, x5)

• Chemin hamiltonien : il passe une et une seule fois par chaque


sommet du graphe
• (x1, x2, x4, x3, x6, x8, x7, x5)

x2 x4 x8
x5
x1
x3 x6 x7
Cas particuliers de chemins
• Chemin près-hamiltonien : il passe au moins une fois par chaque
sommet du graphe
• (x1, x2, x4, x3, x2, x6, x8, x7, x5)
• Chemin hamiltonien : il passe une et une seule fois par chaque
sommet du graphe
• (x1, x2, x4, x3, x6, x8, x7, x5)
• Chemin près-eulérien : il passe au moins une fois par chaque arc du
graphe
• (x1, x2, x3, x4, x8, x7, x4, x2, x3, x4, x2, x6, x7, x5)
• Chemin eulérien : il passe une et une seule fois par chaque arc du
graphe
• (x1, x2, x3, x4, x8, x7, x4, x2, x6, x7, x5)
x2 x4 x8
x5
x1
x3 x6 x7
Détermination d'un chemin de valeur optimale
entre les sommets D et F
• L'algorithme de Ford

1. On ordonne le graphe par niveaux

2. On fait la représentation du graphe par niveaux

3. On supprime les sommets et les arcs par lesquels on ne peut pas passer pour
 aller de D à F

4. En partant du sommet D de niveau le plus faible jusqu'au sommet F de niveau le


plus élevé, on associe à chaque sommet x une marque m(x) correspondant à la
valeur du chemin de valeur maximale aboutissant à x
mD  0 et mx   maxm y   V  y, x 
le max étant pris sur tous les précédents y de x

5. La marque de F donnera donc la valeur du chemin de valeur maximale entre D et


F

6. Le chemin de valeur maximale est obtenu en partant de F et en regardant quel


est le sommet précédent qui a permis d'obtenir m(F), et ainsi de suite jusqu'à
revenir en D
 Pour la détermination d'un chemin de valeur minimale entre les sommets D et F: Pour
un chemin de valeur minimale, il suffit de remplacer "max" par "min" dans
l'algorithme précédent
 On ordonne le graphe
par niveaux et on fait
 on supprime les sommets et
les arcs par lesquels on ne
la représentation
peut pas passer pour aller
de D à F

3 F
7
2
3
4 3
6 6
5
3 6 9
1 9 8
5 1
9 8
2 4
D
4 5
Les problèmes d’ordonnancement

•On a affaire à un problème d'ordonnancement lorsque


•l'on est confronté à un problème d'organisation.

•Il faut accomplir de multiples opérations qui demandent un certain


temps d'exécution et qui doivent être exécutées dans un certain ordre
(contraintes de succession). Il est donc nécessaire d'identifier les
opérations prioritaires en fonction de l'objectif à atteindre.

•L’objectif est de :

« minimiser la durée totale de réalisation du projet compte tenu des


contraintes d’antériorité reliant les différentes opérations »

•De plus on détermine :


 les calendriers de réalisation de chacune des tâches
 les marges de manœuvre associées
 Les coûts et la marge bénéficiaire
méthodes de résolution des problèmes
d’ordonnancement
Deux méthodes sont classiquement utilisées et toutes les deux
utilisent des graphes pour résoudre le problème (méthodes à chemin
critique) :

 La méthode MPM : potentiel-tâches


(Méthode des Potentiels METRA)
 La méthode PERT : potentiel-étapes
(Program Evaluation and Research Task)
(Program Evaluation and Review Technique)

Potentiel = seules les contraintes de types potentiel (qui concerne le


temps : date, antériorité) sont prises en compte
Définitions
• Un projet : ensemble d’opérations (tâche ou étape) nécessaires pour la réalisation
d’un projet prédéfini. A chaque opération on lui associe un nom, une durée, une
place et un coût.
• Chemin critique : permet de connaître le temps minimum de réalisation du projet.
• Tâche critique : tout retard dans son exécution entraîne un retard de même
durée dans l’achèvement du projet.
• Tâche non critique : dispose d’une marge de réalisation. Un retard d’exécution
dans certaines limites n’allonge pas la durée du projet.
• Pour toute opération, on détermine :
 La date de début au plus tôt de son exécution : date à laquelle la tâche pourrait
commencer au mieux.
 La date de début au plus tard de son exécution : date limite maximum à laquelle
devrait commencer la tâche pour ne pas remettre en cause la date de fin du
projet.
 Pour les tâches non critique, on détermine :
 la marge totale d’une tâche : durée maximum de retard que l’on peut apporter au
démarrage de son exécution sans modifier la date de début au plus tard des
tâches suivantes.
 La marge libre d’une tâche : durée maximum de retard que l’on peut apporter au
démarrage de son exécution sans modifier la date de début au plus tôt des tâches
suivantes.
Méthode des Potentiels Métra
 Position d’un projet d’ordonnancement
 Identification des tâches
 Estimation de leurs durées probables de réalisation ;
 Détermination des tâches immédiatement antérieures à chacune des
tâches
 Classement des tâches par niveau d’antériorité
 Représentation du graphique du projet par la méthode MPM ;
 Détermination des dates de réalisation au plus tôt de chaque tâche
 Détermination des dates de réalisation au plus tard de chaque
tâche ;
 Détermination des tâches critiques
 Détermination des chemins critiques ;
 Calcul des marges (marges libres et marges totales )
 Interprétation
Construction du graphe
• Un sommet correspond au début d’une tâche V(T1,T2) T2
T1
 un arc définit une relation d'antériorité
 la valeur de l'arc définit le délai minimum (normal ou exceptionnel)
après lequel peut débuter l’opération suivante

 Chaque sommet de la représentation graphique est représenté par un


rectangle
• x = nom de la tâche
Tx = date de début au plus tôt de la tâche Tx T*x
T*x = date de début au plus tard de la tâche
x

 Une tâche x ne pouvant débuter que lorsque toutes les tâches qui y
aboutissent sont terminées.
 On rajoute au graphe un sommet terminal permettant de dater la fin
des travaux
 La représentation graphique est ordonnée par niveaux des sommets
(des tâches)
5
T1 T2
4
T3 8 T4

La tâche T2 ne peut commencer qu’après l’exécution des tâches T1 et T3 :

 La tâche T2 ne peut démarrer que 5 heures après le démarrage de T1

 La tâche T2 ne peut démarrer que 4 heures après le démarrage de T3

La tâche T4 ne peut commencer qu’après l’exécution de la tâche T3 :

 La tâche T4 ne peut démarrer que 8 heures après le démarrage de T3


Exemple 1 : Dictionnaire des
précédents
•Les opérations mises en jeu dans la
construction d'un ensemble hydro-électrique Les contraintes d'antériorité sont
sont : les suivantes :

•O1) Construction des voies d'accès


Opération
•O2) Travaux de terrassement
Opération Durée
s pré
s (mois)
requises
•O3) Construction des bâtiments
administratifs O1 4 -

•O4) Commande du matériel électrique O2 6 O1


O3 4 -
•O5) Construction de la centrale
O4 12 -
•O6) Construction du barrage
O5 10 O2, O3, O4
•O7) Installation des galeries et conduites O6 24 O2, O3
forcées
O7 7 O1
•O8) Montage des machines
O8 10 O5, O7
•O9) Essais de fonctionnement
O9 3 O6, O8
Méthode des Potentiels Metra
Détermination des niveaux des sommets :

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O2, O3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N0={O1,O3,O4}
Méthode des Potentiels Metra
Détermination du niveau 1:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O2, O3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N1={O2;O7}
Méthode des Potentiels Metra
Détermination du niveau 2:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O2, O3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N2={O5, O6}
Méthode des Potentiels Metra
Détermination du niveau 3:

Opération x P(x)
O1 --
O2 O1
O3 --
O4 --

O5 O 2, O 3, O 4
O6 O2, O3
O7 O1
O8 O 5, O 7
O9 O 6, O 8
• N3={O8}
Représentation graphique opérations
(tâches)
durée
(mois)
opérations
antérieures
O1 4 -
O2 6 O1
Niveau 0 Niveau 1 Niveau 2 Niveau 3 Niveau 4
{O1,O3,O4} {O2,O7} {O5,O6} {O8} {O9} O3 4 -
O4 12 -
• O5 10 O2,O3,O4
O6 24 O2,O3
O7 7 O1
O8 10 O5,O7
? ? 4 ? ? 6 ? ?
O9 3 O6,O8
o1 o2 o6
4 4 24
6
? ? ? ? 7 ? ? ? ? 3 ? ?
o3 o7 o8 10 o9 F
4 10
? ? ? ?
o4 12 o5
Calendrier au plus tôt des tâches
• Tx est la date au plus tôt correspondant à la valeur du chemin de valeur
maximale aboutissant à x (algorithme de Ford)
 On commence par les sommets de niveaux les plus faibles jusqu’aux
sommets de niveaux les plus élevés

• Tdébut= 0 pour les sommets de niveau 0


• Tx = maxy [ Ty + V(y,x) ] le max étant pris sur les
précédents y de x
• TF = la date au plus tôt à laquelle l’ensemble des travaux peut
s’achever
Ty1
y1
Tx
x
Ty2
y2
Détermination des calendriers au plus tôt de la réalisation de
TF =37 mois chacunecorrespond
des tâches à
la durée minimale de
réalisation
T1 = T3 = T4= 0
duLe projet chemin de valeur maximale
(chemin de aboutissant
T2 = T1 + V(1,2) =0 + 4 = 4
valeur à F est appelé chemin
maximale aboutissant critique
T7 = T1 + V(1,7) = 0 + 4 = 4
à F)constitué de tâches critiques :
un retard pris dans l’exécution de l’une
T6 = Max [T2 + V(2,6) ; T3 + V(3,6)] = Max [4 + 6 ; 0 + 4] = Max [10 ; 4] = 10
• d’entre elles entraînerait un allongement
T5 = Max [T2 + V(2,5) ; T3 + V(3,5) ; T4 + V(4,5)] = Max [4 + 6 ; 0 + 4 ; 0 + 12 ] = Max [10 ; 4 ; 12] = 12

de la durée du projet
T8 = Max [T7 + V(7,8) ; T5 + V(5,8)] = Max [4 + 7 ; 12 + 10] = Max [11 ; 22] = 22
T9 = Max [T6 + V(6,9) ; T8 + V(8,9)] = Max [10 + 24 ; 22 + 10] = Max [34 ; 32] = 34
TF = T9 + V(9,F) = 34 + 3 = 37

0 ? 4 4 ? 6 10 ?
o1 o2 o6
4 4 24
6
0 ? 4 ? 7 22 ? 34 ? 3 37 ?
o3 o7 o8 10 o9 F
4 10
0 ? ?
Le chemin de valeur12maximale (durée 37 mois)
o4 aboutissant
12 à F est :o5 (O1, O2, O6, O9)
Calendrier au plus tard des tâches
• T*x est la date au plus tard à laquelle peut commencer une tâche
sans remettre en cause la date de fin des travaux
 On commence par les sommets de niveau les plus élevés jusqu’aux
sommets de niveau les plus faibles

• T*F = TF pour le sommet terminal

• T*x = miny [ T*y - V(x,y)]

• le min étant pris sur les suivants y de x.

T*y1
y1
T*x
x T*y2
y2
Détermination des calendriers au plus tard de la réalisation de
chacune des tâches :
T*F = TF= 37
T*9 = T*F - V(9,F) = 37 - 3 = 34
T*8 = T*9 - V(8,9) = 34 - 10 = 24
T*6 = T*9 - V(6,9) = 34 - 24 = 10
Sur les tâches critiques
T*5 = T*8 - V(5,8) = 24 - 10 = 14
• on a :
T*7 = T*8 - V(7,8) = 24 - 7 = 17
T*2 = Min [T*5 - V(2,5) ; T*6 - V(2,6)] = Min [14 - 6 ; 10 - 6] = Min [8 ; 4] = 4
T* = Tx
T* = Min [T* - x
1 V(1,2) ; T* - V(1,7)] = Min [4 - 4 ; 17 - 4] = Min [0 ; 13] = 0
2 7

T*3 = Min [T*6 - V(3,6) ; T*5 - V(3,5)] = Min [10 - 4 ; 14 - 4] = Min [6 ; 10] = 6
T*4 = T*5 - V(4,5) = 14 - 12 = 2

0 0 4 4 4 6 10 10
o1 o2 o6
4 24
4 6

0 6 4 17 7 22 24 34 34 3 37 37
o3 o7 o8 10 o9 F
10
4
0 2 12 14
o4 12 o5
Il y‘a deux types de retard relatif à l’exécution
des tâches sans retarder l’achèvement du projet

Marge totale  Marge libre

c'est le retard maximum que c'est le retard maximum que l'on


l'on peut prendre dans la mise peut prendre dans la mise en route
en route d'une tâche sans d'une tâche sans remettre en
cause les dates au plus tôt des
remettre en cause les dates au
tâches suivantes
plus tard des tâches suivantes
mt(x) = T*x - Tx mL(x) = miny [Ty - Tx - V(x,y)]
Le min étant pris sur les suivants y de x
Tx T* x
Ty1
x
Tx y1

x
Ty2
y2
Marge totale Marges libres
• mL(x) = min [Ty - Tx - V(x,y)]
• mt(x) = T*x - Tx • Le min étant pris sur les suivants y de x

• mL(O1) = Min[T2-T1-V(1,2);T7-T1-V(1,7)]
• mt(O1) = T* 1 – T1 = 0 - 0 = 0 0• 0 4 4 4 =6 Min[0;0]=0
10 10
24
o1 o2 o6
• mt(O2) = T*2 – T2 = 4 - 4 = 0 • m (O ) = Min[T6-T2-V(2,6);T5-T2-V(2,5)]
4 L 42
• = Min[0;2]=0
6
• mt(O3) = T*3 – T3 = 6 - 0 = 6 0 6 4 17 7
22 24 34 34 3 37 37
•o3 mL(O3)o=7 Min[T6-T3-V(3,6);To58 -T10 o9
3-V(3,5)]
F
• mt(O4) = T* 4 – T4 = 2 - 0 = 2 • = Min[6;8]=6
4
10
• mt(O5) = T*5 – T5 = 14 - 12 = 2 0• 2 mL(O4) = T5 - T12- V(4,5)
4
14 =0
o4 12 o5
• mt(O6) = T* 6 – T6 = 10 – 10 = 0 • mL(O5) = T8 - T5 - V(5,8) = 0

• mt(O7) = T*7 – T7 = 17 - 4 = 13 • mL(O6) = Ti - T6 - V(6,9) = 0

• mt(O8) = T*8 – T8 = 24 - 22 = 2 • mL(O7) = T8 - T7 - V(7,8) = 11

• mt(O9) = T*9 – T9 = 34 - 34 = 0 • mL(O8) = T9 - T8 - V(8,9) = 2

• mL(O9) = TF - T9 - V(9,F) = 0
Exercice 1 :
Une importante société de magasins alimentaires à grande surface
diversifie son activité en créant des commerces dans de petites villes.
La société crée un fonds de commerce qui est ensuite géré de façon
autonome par un commerçant franchisé.
Tout d’abord, la société réalise une étude d’implantation : étude de marché
sur un certain rayon d’action et choix de la localité où sera installé le
commerce.
A partir du jour où l’étude d’implantation est terminée, les tâches
suivantes doivent être exécutées.
Travail à faire :
1. Élaborer la matrice des niveaux
2. Représenter cette succession de tâches par un graphe MPM
3. Déterminer la durée minimale pour que le magasin soit ouvert à la
clientèle
4. Indiquer le chemin critique
5. Préciser à quelles dates au plus tard devront commencer les tâches qui
ne font pas partie du chemin critique.
Nature Durée Antériorité des
Tâche
(jours) tâches
A Recherche d’un local 50 -
B Recherche d’un franchisé 45 -
Constitution du dossier bancaire du
C 15 A, B
franchisé
Constitution du dossier à la chambre de
D 10 A, B
commerce pour les inscriptions obligatoires
E Formation du franchisé 30 B
Aménagement, plâtrerie-peinture du
F 20 A
magasin
G Réfection 8 A
H Équipement de la chambre froide 8 A, F
I Equipement des rayonnages 5 A, F
Implantation du magasin (disposition des
J 6 A,B, E, F, G, H, I
articles)
Tirage en imprimerie des feuillets
K 6 A, B, D
publicitaires
L Distribution de feuillets publicitaires 2 A, B, D, K
Liste et envoi des invitations pour
M 6 A, B, D
l’inauguration
N Inauguration du magasin 1 Toutes les autres
1- La matrice des niveaux :

Tâche Précédents Niveaux


N1 N2 N3 N4 N5
A - A
B - B
C A, B C
D A, B D
E B E
F A F
G A G
H A, F H
I A, F I
J A, B, E, F, G, H, J
I
K A, B, D K
L A, B, D, K L
M A, B, D M
N Toutes les autres N
2- Le graphe MPM (représentation sagittale):

3- La durée de réalisation du projet :


Le magasin peut être ouvert dans 85 jours au minimum. Cette
durée représente la durée totale du projet.
4- Le chemin critique : (A, F, H, J, N)
5- Les dates au plus tard

Les tâches non critiques sont :


B, C, D, E, G, I, K, L, M
Elles doivent commencer au plus tard après le début des opérations
suivant l’étude d’implantation comme suit :
Tâche B : 03 jours
Tâche C : 69 jours
Tâche D : 66 jours
Tâche E : 48 jours
Tâche G : 70 jours
Tâche I : 73 jours
Tâche K : 76 jours
Tâche L : 82 jours
Tâche M : 78 jours
Exercice 2 :
Durée Opérations
tâches Nature de la tâche
(mois) pré-requises
a Terrassement, assainissement 3 -

b Recrutement d’une équipe de sécurité 2 -

c Commande des machines 4 -

d Construction du bâtiment administratif 2 a

e Construction des ateliers 1 a

f Formation de l’équipe de sécurité 3 b

g Aménagement des bureaux 2 d

H Installation des machines 4 e,c,f


1- La matrice des niveaux :

tâches Opérations pré- Niveaux


requises
N1 N2 N3
a - a

b - b

c - c

d a d
e
e a
f
f b
g d g

h e,c,f h
2- Le graphe MPM (représentation sagittale):
a 3 d 2 g
0 1 3 5 5 7
2
3
e Fin
3 4 9 9
Début 1
0 0
4
b 2 f 3 h
0 0 2 2 5 5

c 4
0 1

3- Tableau des marges :


Tâches Marges totales Marges libres

a 1 0
b 0 0
c 1 1
d 2 0
e 1 1
f 0 0
g 2 2
h 0 0
Étude de cas en ordonnancement

 Position d’un problème d’ordonnancement

 Identification des tâches

 Estimation de leurs durées probables de réalisation ;

 Classement des tâches par niveau d’antériorité

 Représentation du graphique du projet par la méthode MPM ;

 Détermination des dates de réalisation au plus tôt de chaque tâche ;

 Détermination des dates de réalisation au plus tard de chaque tâche ;

 Détermination des tâches critiques ;

 Détermination des chemins critiques ;

 Calcul des marges (marge libre et marge totale)

 Interprétations
Construction du graphe :
 un arc correspond à une tâche
 la valeur de l'arc représente la durée de la tâche
 Un sommet correspond à la fin de certaines taches et au début
d’autres. Il représente un événement, une étape d’avancement
du projet:

 toutes les tâches qui y arrivent sont terminées

 toutes les tâches qui en partent peuvent commencer

 Chaque sommet de la représentation graphique est présenté


par un cercle:
tn t*n
• n = nom ou numéro de l’étape
• tn = date de début au plus tôt de l’étape n

• (date attendue de l’événement)


• t*n = date de début au plus tard de l’étape
• (date limite de l’événement)

 On rajoute au graphe un sommet terminal et un sommet initial

 La représentation graphique est ordonnée par niveaux des


sommets (des étapes)

Das könnte Ihnen auch gefallen