Vous êtes sur la page 1sur 59

Université Hassan 1er ENCG-Settat

Recherche opérationnelle

1
Plan :

 Partie 1 : Programmation Linéaire

 Partie 2 : Techniques d’ordonnancement

2
Partie 1
Programmation Linéaire
1.Définition :

La programmation linéaire est un outil de la


Recherche Opérationnelle qui permet d'optimiser
un certain objectif, appelé aussi fonction
économique, qui est fonction linéaire d'un certain
nombre de variables de décision.
Ces variables de décision sont soumises à un
ensemble de contraintes exprimées sous forme
d’équations ou d’inéquations linéaires.
4
Dans la programmation Linéaire , il y a 2 phases :

 Phase 1 : est une phase de modélisation c’est-à-dire


la mise en équation du problème.

 Phase 2 : est une phase de résolution du modèle.

5
2. Étapes pour modéliser un Pb par la
Programmation Linéaire

 Définir les variables de décision


 ensemble des variables qui régissent la situation à
modéliser
 variables réelles positives, entières, binaires

 Formuler la fonction objectif


 fonction mathématique composée des variables de décision
 fonction linéaire

 Formuler les contraintes du problème


 équations ou inéquations linéaires composées des variables
de décision
6
3. Exemple simple

Il s’agit d’une entreprise de fabrication de châssis qui envisage la


production de deux nouveaux modèles au moyen des capacités
résiduelles de ses trois ateliers. Il s’agit respectivement d’un
châssis en aluminium et d’un châssis en bois. Le premier produit
nécessite le passage dans le premier atelier pour fabriquer le
cadre en aluminium et dans le troisième atelier où le verre est
monté sur le châssis. Tandis que le second produit nécessite le
passage dans le deuxième atelier pour fabriquer le cadre en bois et
dans le troisième atelier où le verre est monté sur le châssis. Les
marges unitaires, les temps de fabrication de chacun des produits
dans chacun des ateliers ainsi que les capacités hebdomadaires
résiduelles de ces ateliers sont donnes au tableau suivant :

7 
La question qui se pose est la suivante :
“Combien faut-il produire de châssis de
chaque type par semaine pour maximiser la
8 Marge de cette entreprise ?”
Si on représente par x1 et x2 les quantités de chaque bien à
produire par semaine,
le problème se formule comme suit :

Cette formulation est appelée un programme linéaire (P.L)


9
4. Résolution d’un programme linéaire

4.1 Ensembles convexes et points extrêmes

a) Définition 1 : Un ensemble de points est un


ensemble convexe si, et seulement si, pour deux
points quelconques A et B de cet ensemble, le
segment de droite joignant ces deux points est
aussi dans l’ensemble.

10
Illustration graphique

(a) (b)

(c) (d)

(a) et (b) sont des ensembles convexes,

(c) et (d) sont des ensembles non convexes.

11
b) Définition 2 : Un point extrême d’un
ensemble convexe est défini comme un point qui
ne peut être jamais mis entre deux points par un
segment de droite de cet ensemble.

12
Illustration graphique

X3
X

X2 X4

X1 X5

X1, X2, X3, X4 et X5 sont des points extrêmes (sommets),

X n’est pas un point extrême .

13
4.2 Propriétés

a.Propriété 1 : L’ensemble des solutions réalisables ( qui vérifient le


système des contraintes ) d’un programme linéaire est un ensemble
convexe.

b. Propriété 2 : La solution optimale, si elle existe, d’un programme


linéaire est atteinte en (au moins) un point extrême de l’ensemble des
solutions réalisables de ce P.L .

c. Propriété 3 : Si un P.L admet deux points extrêmes adjacents


Comme solutions optimales, tous les points du segment de droite
joignant ces deux points sont aussi solutions optimales.

14
5. Résolution graphique d’un P.L
(Cas de 2 variables)

dans le cas de deux variables de décision, un


problème linéaire peut être résolu de manière
purement graphique en suivant le processus en
deux étapes suivantes :

15
 première étape :

 représenter graphiquement la région réalisable


(l’ensemble des valeurs de variables de décision qui
satisfont toutes les contraintes).

16
L’ensemble des solutions
17 réalisables. Ensemble Convexe.
 Deuxième étape : Recherche de la solution optimale

Point extrême Objectif


(0,0) 0
(0,6) 30
Solution Max de
optimale (2,6) 36 l’objectif
(4,3) 27
18 (4,0) 12
6. Algorithme du simplexe :

6.1 Forme canonique :


Si toutes les contraintes d'un PL sont sous la forme d'inéquations,
on dit qu'on a la forme canonique .

19
6.2 Forme standard :
Introduction des variables d’écarts ei pour avoir des
contraintes sous forme d'équations : c'est la forme
standard
Max z  3 x1  5 x2

 x1  e1  4
 2 x2  e2  12

3 x1  2 x2  e3  18

s.c.q 
x x2 e1 e2 e3  0
 1



20
Interprétation économique des variables d’écarts

– e1 : temps de l’atelier 1 qui n’est pas encore utilisé

– e2 : temps de l’atelier 2 qui n’est pas encore utilisé

– e3 : temps de l’atelier 3 qui n’est pas encore utilisé

21
6.3 Principe :
 Pour pouvoir à chaque fois résoudre le système des
contraintes sous sa forme standard, il faut annuler 2
variables.

 Les variables annulées seront appelées variables


hors base (H.B).

 Les autres seront appelées variables de base.

 La solution obtenue du système est un point


22 extrême.
Recherche de la base initiale

Ecrire le système des contraintes sous forme matricielle


=
 + =

Matrice identité
Les variables de base Les variables hors base
sont e1,e2 et e3 sont x1 et x2
Cette base est une base
23 initiale évidente
Tableau initial T0

T0 x1 x2 e1 e2 e3 C C/coefs
e1 1 0 1 0 0 4
e2 0 2 0 1 0 12
e3 3 2 0 0 1 18
Z 3 5 0 0 0 0

Point extrême
e1 = 4, e2 = 12 et e3 = 18
X1=0 et x2=0
Z=0
24
1ière itération : passage de T0 à T1

 étape 1 : Sélection de la variable entrante dans la


base

Pour un problème de maximisation, on choisit la


variable hors base qui a la contribution marginale dans
l’objectif la plus élevé.
Pour un problème de minimisation, c’est le contraire.

T0 x1 x2 e1 e2 e3 R R/coef
e1 1 0 1 0 0 4
e2 0 2 0 1 0 12
e3 3 2 0 0 1 18
Z 3 5 0 0 0 0  
25 Variable entrante est x2
 Étape2 : Sélection de la variable sortante
de la base
La variable sortante sera celle qui aura le
plus petit rapport C/coefs positif
T0 x1 x2 e1 e2 e3 C C/coefs
e1 1 0 1 0 0 4 ∞
e2 0 2 0 1 0 12 6
e3 3 2 0 0 1 18 9
Z 3 5 0 0 0 0  
26 Variable sortante est e2
 Étape 3 : Détermination du pivot.

T0 x1 x2 e1 e2 e3 R R/coef
L1(T0) e1 1 0 1 0 0 4 ∞
L2(T0)
e2 0 2 0 1 0 12 6
L3(T0) e3 3 2 0 0 1 18 9
L4(T0) Z 3 5 0 0 0 0  

Le pivot = 2
27
 Étape 4 : Construction effective du tableau.
La construction du nouveau tableau se fait par
la méthode suivante :
Effectuer des opérations sur les lignes du
tableau T0 afin de transformer la colonne
associée à X2 : 0,2,2,5 du tableau T0 en une
colonne de la forme : 0,1,0,0 du tableau T1.
 L1(T1) = L1(T0)
 L2(T1) = L2(T0) / 2
 L3(T1) = L3(T0) – L2(T0)
 L4(T1) = L4(T0) – 5/2L2(T0)

28
T1 x1 x2 e1 e2 e3 C C/coefs

e1 1 0 1 0 0 4

x2 0 1 0 1/2 0 6

e3 3 0 0 -1 1 6

Z 3 0 0 -5/2 0 -30  

Point extrême : e1 = 4, e2 = 0 et e3 = 6
x1 = 0 et x2 = 6
29 Z = 30
 Etape 5:
Si on ne peut plus améliorer l’objectif
Alors, on a atteint la solution Optimale.
Si non, on revient à l’étape 1 et on recommence

T1 x1 x2 e1 e2 e3 C C/coefs
e1 1 0 1 0 0 4
x2 0 1 0 1/2 0 6
e3 3 0 0 -1 1 6
30 Z 3 0 0 -5/2 0 -30  
2ième itération : passage de T1 à T2

T1 x1 x2 e1 e2 e3 C C/coefs

e1 1 0 1 0 0 4

x2 0 1 0 1/2 0 6

e3 3 0 0 -1 1 6
Z 3 0 0 -5/2 0 -30  

Variable entrante est x1


31
T1 x1 x2 e1 e2 e3 C C/coesf

e1 1 0 1 0 0 4 4

x2 0 1 0 1/2 0 6 ∞

e3 3 0 0 -1 1 6 2
Z 3 0 0 -5/2 0 -30  

Variable sortante est e3

32
T1 x1 x2 e1 e2 e3 C C/coesf

e1 1 0 1 0 0 4 4

x2 0 1 0 1/2 0 6 ∞

e3 3 0 0 -1 1 6 2
Z 3 0 0 -5/2 0 -30  

Le pivot = 3

33
T2 x1 x2 e1 e2 e3 C C/coefs
e1 0 0 1 0,33 -0,3 2  

x2 0 1 0 0,5 0 6  

x1 1 0 0 -0,3 0,33 2  

Z 0 0 0 -1,5 -1 -36  

On ne peut plus améliorer l’objectif,


e1 = 2, e2 = 0 et e3 = 0
donc la solution optimale est atteinte :
x1 = 2 et x2 = 6
Zopt = 36

34
Tableau Initial

Solution Oui
optimale Stop
?

Pivotage Non

Variable entrante

Variable sortante
35
II. Techniques d’ordonnancement

 Les techniques d'ordonnancement visent à planifier un certain nombre


de tâches d'une façon optimale en respectant leurs contraintes :

 De production (mobilisation nécessaire des ressources humaines et


techniques).

 De temps (délais à respecter pour leur exécution).

 D'antériorité (ordre d'exécution à respecter).

36
 Les méthodes d’ordonnancement les plus utilisées sont :
Techniques d’ordonnancement
 La méthode MPM (Méthode des Potentiels Métra),

 La méthode PERT (Program of Evaluation and Review Technic ).

 Les deux méthodes sont basées sur la théorie des graphes, c’est-à-
dire la représentation sommets et arcs orientés.

37
La méthode MPM

Les tâches sont représentées par des sommets.

Les sommets sont reliés par des arcs orientés qui représentent les relations
d’antériorités entres les tâches.

Exemple : T++. T- Durée de A T++. T-

A B

• T+(A) : date au plus tôt de la tâche A, c’est à dire la date du commencement


de la tâche A.

• T-(A) : date au plus tard de la tâche A, c’est à dire la date du commencement


de la tâche A sans retarder le projet.

38 T-(A)≥ T+(A)
La méthode MPM (Calcul des dates au plus tôt )

T++. T- Durée de A T++. T-

A B

Les dates au plus tôt se calculent de proche en proche, en


allant de la tâche A vers la tâche B, par la formule suivante :

T+(B) = T+(A) + durée(A)

39
La méthode MPM (Calcul des dates au plus tôt )

T++. T- Durée de A T++. T-

A C
deB
ré e
Du
T++. T-

T+(C) = Max( T+(A)+durée(A) ; T+(B)+durée(B) )

40
La méthode MPM (Calcul des dates au plus tard)

T++. T- Durée A T++. T-

A B

Les dates au plus tard se calculent de proche en proche, en


allant de la tâche B vers la tâche A, par la formule suivante :

T-(A)= T-(B) - durée(A)

41
La méthode MPM (Calcul des dates au plus tard)

T++. T- Durée A T++. T-

A C
Du

e A

T++. T-

T-(A) = Min( T-(B)-durée(A) ; T-(C)-durée(A) )

42
Exemple de construction d'un réseau MPM

Tâche Durée Tâches


antérieures
Soit un projet formé par 5 tâches.

Question : Construire le réseau A 2


MPM de ce projet. B 4
C 4 A
D 5 A, B
E 6 C,D

La méthode la plus appropriée pour construire un réseau MPM


consiste à procéder par "niveau".
43
Exemple de construction d'un réseau MPM

Tableau des niveaux


Niveaux Tâches
0 A,B
1 C,D
2 E

Tableau des successeurs


Tâches Tâches successeurs
A C,D
B D
C E
D E
44 E
Exemple de construction d'un réseau MPM

0 2 2 2 5
0 A C 4
2 9 9 6 15 15
0 0
E Fin
Début
0 5
0 0 4 4 4
B D

Réseau MPM
45
CALCUL DES DIFFÉRENTES MARGES
D'UNE TÂCHE DANS UN RÉSEAU MPM

La marge totale d'une tâche indique le retard maximal que l'on peut
admettre dans sa réalisation (sous réserve qu'elle ait commencé à sa date au
plus tôt) sans allonger la durée optimale du projet.

T++. T-

Marge totale (A) = (T-) – (T+)

Une tâche qui n'a pas de marge totale est appelée tâche critique.

Les taches critiques de l’exemple sont : B-D-E (Chemin critique).

Marge totale (A) = 2-0 = 2 , marge totale (C) = 5-2 = 3.


46
CALCUL DES DIFFÉRENTES MARGES
D'UNE TÂCHE DANS UN RÉSEAU MPM

La marge libre d'une tâche indique le retard que l'on peut admettre dans
sa réalisation (sous réserve qu'elle ait commencé à sa date au plus tôt)
sans modifier les date au plus tôt des tâches suivantes et sans allonger la
durée optimale du projet

T++. T- Durée ( A ) T++. T-

A B

Marge libre (A) = T+(B) – T+(A) - durée(A)

Marge libre (C) = 9-2-4 = 3


47
CALCUL DES DIFFÉRENTES MARGES
D'UNE TÂCHE DANS UN RÉSEAU MPM

T++. T- Durée (A) T++. T-

A C
Du
rée
(A
)
T++. T-

Marge libre(A)=Min( T+(B)-T+(A)-durée(A) ; T+(C)-T+(A)-durée(A) )

Marge libre (A) = Min( 2-0-2= 0 ; 4-0-2 = 2) = 0


48
La méthode PERT

T++. T- A[Durée(A)] T++. T-

I J

Une tâche est représentée par un arc.

L'arc qui représente la tâche A est encadré par les 2 sommets I et J.

Le sommet I est appelé le sommet commencement de A, c'est l'étape I.


Le sommet J est appelé le sommet aboutissement de A, c'est l'étape J.

Les T+ sont les dates au plus tôt et les T- sont les dates au plus tard.

49
La méthode PERT

A B
I J K

Les tâches A et B sont deux tâches successives

50
La méthode PERT

J
A

I B

K
Les tâches A et B sont deux tâches simultanées

51
La méthode PERT

I A

B
K
J

Les tâches A et B sont deux tâches convergentes

52
La méthode PERT (Calcul des dates au plus tôt )

 Date au plus tôt "étape J" = Date au plus tôt "étape I" + Durée
tâche (A)

A[Durée(A)]
I J

Lorsque plusieurs arcs arrivent à un même sommet (c'est à dire que plusieurs
tâches doivent être réalisées pour atteindre une étape donnée), il convient de
faire ce calcul pour toutes les tâches menant à l'étape en question et de retenir
comme "date au plus tôt" de l'étape le maximum des valeurs ainsi trouvée (en
effet, l'étape ne sera vraiment atteinte que lorsque toutes les tâches y menant
auront été accomplies).

53
La méthode PERT (Calcul des dates au plus tard)

 Date au plus tard "étape I" = Date plus tard "étape J" - Durée
tâche (A)

A[Durée(A)]
i j

Lorsque plusieurs arcs partent d'un même sommet (c'est à dire que plusieurs
tâches commencent à partir d'une même étape), il convient de faire ce calcul
pour toutes les tâches succédant à l'étape en question et de retenir comme "date
au plus tard" de l'étape le minimum des valeurs ainsi trouvées.

54
Exemple de construction d'un réseau PERT

Tâche Durée Tâches


antérieures
Soit un projet formé par 5 tâches.

Question : Construire le réseau A 2


PERT de ce projet. B 4
C 4 A
D 5 A, B
E 6 C,D

Comme pour la construction d'un réseau MPM, la méthode la plus


appropriée pour construire un réseau PERT consiste à procéder par
"niveau".

55
Exemple de construction d'un réseau PERT

Tableau des niveaux


Niveaux Tâches
0 A,B
1 C,D
2 E

Tableau des successeurs


Tâches Tâches successeurs
A C,D
B D
C E
D E
56 E
Exemple de construction d'un réseau PERT

2 4
A(2) 1 C(4)

0 0 α(0) 9 9 E(6) 15 15
B(4) 3
Début D(5) Fin

4 4
2

Réseau PERT

57
CALCUL DES DIFFÉRENTES MARGES D'UNE
TÂCHE DANS UN RÉSEAU PERT

Marge totale tâche (A) = Date au plus tard "étape J" - Date au plus tôt "étape I" - Durée tâche(A)

A[Durée(A)]
i j
Une tâche qui n'a pas de marge totale est appelée tâche critique.

Les taches critiques de l’exemple sont : B-D-E (Chemin critique).

Marge totale (A) =4-0-2 = 2 , marge totale (C) = 9-2-4 = 3.


58
CALCUL DES DIFFÉRENTES MARGES D'UNE
TÂCHE DANS UN RÉSEAU PERT

Marge libre tâche (A) = Date au plus tôt "étape J" - Date au plus tôt "étape I" - Durée tâche (A)

A[Durée(A)]
I J

Marge libre (A) = 2-0-2 = 0

Marge libre (C) = 9-2-4 = 3


59

Vous aimerez peut-être aussi