Chapter2 PDF
Chapter2 PDF
Programmation linéaire
E. Ali1
1
LERSTAD
Université Gaston Berger de Saint-Louis, Sénégal
Cours de Recherche Opérationnelle
1 / 59
Outline
1 Introduction
2 Forme d’un programme linéaire
Forme générale
Forme standard ou forme canonique d’un programme linéaire
3 Résolution de programmes linéaires
Résolution graphique
La méthode du simplexe :
Rśolution par Tableaux de simplexe
4 Dualité
Exemple : Problème de production
Qu’est ce que la dualité ?
Comment trouver le dual ?
Conditions d’optimalité primal-dual
Exemple :
2 / 59
Introduction
Sommaire
1 Introduction
2 Forme d’un programme linéaire
Forme générale
Forme standard ou forme canonique d’un programme linéaire
3 Résolution de programmes linéaires
Résolution graphique
La méthode du simplexe :
Rśolution par Tableaux de simplexe
4 Dualité
Exemple : Problème de production
Qu’est ce que la dualité ?
Comment trouver le dual ?
Conditions d’optimalité primal-dual
Exemple :
3 / 59
Introduction
4 / 59
Forme d’un programme linéaire
Sommaire
1 Introduction
2 Forme d’un programme linéaire
Forme générale
Forme standard ou forme canonique d’un programme linéaire
3 Résolution de programmes linéaires
Résolution graphique
La méthode du simplexe :
Rśolution par Tableaux de simplexe
4 Dualité
Exemple : Problème de production
Qu’est ce que la dualité ?
Comment trouver le dual ?
Conditions d’optimalité primal-dual
Exemple :
5 / 59
Forme d’un programme linéaire
Forme générale
6 / 59
Forme d’un programme linéaire
Forme générale
7 / 59
Forme d’un programme linéaire
Forme standard ou forme canonique d’un programme linéaire
maxZ = CX (4)
sous
AX = b α
X ≥0 β
8 / 59
Forme d’un programme linéaire
Forme standard ou forme canonique d’un programme linéaire
Et la matrice A de taille m × n
a11 a12 ··· a1n
A = ... .. .. (5)
. .
am1 am2 ··· amn
9 / 59
Forme d’un programme linéaire
Forme standard ou forme canonique d’un programme linéaire
avec :
n = nombre de variables,
m = nombre de contraintes,
X = vecteur des variables de décision
A = matrice réelle m × n ( matrice des contraintes )
c = [c1 , · · · , cn ] = vecteur- ligne des couts,
>
b = [b1 , · · · , bm ] = vecteur-colonne des seconds membres
Z=CX est la fonction objective, ou critère à minimiser.
10 / 59
Forme d’un programme linéaire
Forme standard ou forme canonique d’un programme linéaire
Sous
3x1 + 9x2 + x3 = 81
4x1 + 5x2 + x4 = 55
2x 1 + x2 + x5 = 20
x1 , x2 , x3 , x4 , x5 ≥ 0
11 / 59
Forme d’un programme linéaire
Forme standard ou forme canonique d’un programme linéaire
12 / 59
Résolution de programmes linéaires
Sommaire
1 Introduction
2 Forme d’un programme linéaire
Forme générale
Forme standard ou forme canonique d’un programme linéaire
3 Résolution de programmes linéaires
Résolution graphique
La méthode du simplexe :
Rśolution par Tableaux de simplexe
4 Dualité
Exemple : Problème de production
Qu’est ce que la dualité ?
Comment trouver le dual ?
Conditions d’optimalité primal-dual
Exemple :
13 / 59
Résolution de programmes linéaires
14 / 59
Résolution de programmes linéaires
Résolution graphique
15 / 59
Résolution de programmes linéaires
Résolution graphique
4x1 + 5x2 ≤ 55
4x1 + 5x2 = 55
16 / 59
Résolution de programmes linéaires
Résolution graphique
17 / 59
Résolution de programmes linéaires
Résolution graphique
18 / 59
Résolution de programmes linéaires
Résolution graphique
19 / 59
Résolution de programmes linéaires
Résolution graphique
20 / 59
Résolution de programmes linéaires
Résolution graphique
La question qui se pose maintenant est :quel est le point qui donne
la valeur optimale pour ce problème ?
21 / 59
Résolution de programmes linéaires
Résolution graphique
La question qui se pose maintenant est :quel est le point qui donne
la valeur optimale pour ce problème ?
Pour répondre à cette question nous expliquerons la procédure à
suivre pour déterminer la valeur maximale pour ce problème qui
consiste à tracer la droite qui correspond à la fonction objective.
21 / 59
Résolution de programmes linéaires
Résolution graphique
La question qui se pose maintenant est :quel est le point qui donne
la valeur optimale pour ce problème ?
Pour répondre à cette question nous expliquerons la procédure à
suivre pour déterminer la valeur maximale pour ce problème qui
consiste à tracer la droite qui correspond à la fonction objective.
Tout d’abord, on prend l’équation de la fonction objective et on lui
attribue la valeur zéro puisque c’est la plus petite valeur pour la
fonction objective. Ce qui donne pour cet exemple :
400x1 + 600x2 = 0
21 / 59
Résolution de programmes linéaires
Résolution graphique
La question qui se pose maintenant est :quel est le point qui donne
la valeur optimale pour ce problème ?
Pour répondre à cette question nous expliquerons la procédure à
suivre pour déterminer la valeur maximale pour ce problème qui
consiste à tracer la droite qui correspond à la fonction objective.
Tout d’abord, on prend l’équation de la fonction objective et on lui
attribue la valeur zéro puisque c’est la plus petite valeur pour la
fonction objective. Ce qui donne pour cet exemple :
400x1 + 600x2 = 0
21 / 59
Résolution de programmes linéaires
Résolution graphique
23 / 59
Résolution de programmes linéaires
Résolution graphique
23 / 59
Résolution de programmes linéaires
La méthode du simplexe :
24 / 59
Résolution de programmes linéaires
La méthode du simplexe :
24 / 59
Résolution de programmes linéaires
La méthode du simplexe :
24 / 59
Résolution de programmes linéaires
La méthode du simplexe :
25 / 59
Résolution de programmes linéaires
La méthode du simplexe :
Solution
Soit y3 , y4 et y5 , les variables d’écart relatif respectivement aux
contraintes 9,10 et 11, qui permettent de transformer les contraintes
d’inégalité pour obtenir les égalités suivantes :
2y1 + y2 + y3 = 70 (12)
y1 + y2 + y4 = 40 (13)
y1 + 3y2 + y5 = 90 (14)
On commence à partir du point y1 = 0, y2 = 0 et on vérifie s’il est
possible d’augmenter la fonction objective sachant que notre système est
un système de trois équations avec cinq inconnues.
Pour trouver la solution on impose deux des variables à zéro et on déduit
les valeurs des trois variables restantes.
26 / 59
Résolution de programmes linéaires
La méthode du simplexe :
Ce qui donne :
y1 = 0,
y2 = 0
Pour les variables de base et :
y3 = 70
y4 = 40
y5 = 90
Pour les variables hors base.
Et la valeur de la fonction objective F = 40y1 + 60y2 = 0,
La question qui se pose est :Est-il possible d’augmenter F
27 / 59
Résolution de programmes linéaires
La méthode du simplexe :
2y1 + y2 + y3 = 70 ⇒ y2 + y3 = 70 (15)
y1 + y2 + y4 = 40 ⇒ y2 + y4 = 40 (16)
y1 + 3y2 + y5 = 90 ⇒ 3y2 + y5 = 90 (17)
On réécrit les variables restantes en fonction de y2 pour chaque
équation. Ce qui nous donne :
28 / 59
Résolution de programmes linéaires
La méthode du simplexe :
y3 = 70 − y2 ≥ 0 ⇒ y2 ≤ 70 (18)
y4 = 40 − y 2 ≥ 0 ⇒ y 2 ≤ 40 (19)
y 5 = 90 − 3y 2 ≥ 0 ⇒ y 2 ≤ 30 (20)
29 / 59
Résolution de programmes linéaires
La méthode du simplexe :
30 / 59
Résolution de programmes linéaires
La méthode du simplexe :
31 / 59
Résolution de programmes linéaires
La méthode du simplexe :
y1 = 15;
y2 = 25;
y3 = 15;
y4 = 0;
y5 = 0
32 / 59
Résolution de programmes linéaires
La méthode du simplexe :
33 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
34 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
Étape 2
On calcule le minimum du rapport du coefficient du membre de
droite de chaque contrainte sur le coefficient correspondant à la
colonne. Dans le cas ou le coefficient dans la colonne entrante est
négatif ou infini, on ne le compte pas dans le calcul du minimum.
On encadre alors la ligne ou le minimum se produit. Cette ligne
reçoit le nom de "ligne pivot".
Le coefficient qui se trouve à l’intersection de la colonne pivot et de
la ligne pivot est appelé "élément pivot".
35 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
Étape 2
On reconstruit le tableau du simplexe (il faut conserver la même
dimension du tableau). On commence, d’abord, par construire la
nouvelle ligne pivot qui se calcule de la manière suivante :
Ancienne ligne pivot
Nouvelle ligne pivot =
Element pivot
Puis, on calcule les autres lignes par la formule suivante :
Toutes les autres lignes y compris z= (Ligne actuelle)-(l’élément de sa
colonne pivot)* (nouvelle ligne pivot)
36 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
37 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
Formulation du problème :
x1 : quantité de boîtes en bois de type 1
x2 : quantité de boîtes en bois de type 2
38 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
S.c. :
x1 + 2x2 + x3 = 10000
2x1 + 3x2 + x4 = 12000
x1 + 4x2 + x5 = 15000
x1 ≥ 0 et x2 ≥ 0
On peut réécrire le programme linéaire en fonction de toutes les variables
du système (variables de décision et variables d’écarts)
39 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
Itération
z x1 x2 x3 x4 x5 sol
z -1 3 5 0 0 0 0
x3 0 1 2 1 0 0 10000
x4 0 2 3 0 1 0 12000
x5 0 1 4 0 0 1 15000
Dans ce tableau, nous allons définir la colonne pivot, la ligne pivot et
l’élément pivot. Nous commençons par la colonne pivot. Pour ce faire,
nous sélectionnerons la variable qui a le coefficient le plus élevé dans la
ligne de la fonction objective qui est le 5 de la variable x2 . Donc la
colonne pivot est la colonne du x2 .
40 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
Ensuite, nous définirons la ligne pivot en divisant chaque solution par les
éléments correspondants dans la colonne pivot.
10000/2 = 5000
12000/3 = 4000
15000/4 = 3750
On choisit la plus petite valeur. Dans ce cas c’est la valeur de : 3750. Ce
qui correspond à la dernière ligne du tableau qui sera la ligne pivot.
41 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
43 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
44 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
45 / 59
Résolution de programmes linéaires
Rśolution par Tableaux de simplexe
z x1 x2 x3 x4 x5 sol
z -1 0 0 0 -1,4 -0,2 -19800
x3 0 0 0 1 -0,4 -0,2 2200
x1 0 1 0 0 0,8 -0,6 600
x2 0 0 1 0 -0,2 -0,4 3600
46 / 59
Dualité
Sommaire
1 Introduction
2 Forme d’un programme linéaire
Forme générale
Forme standard ou forme canonique d’un programme linéaire
3 Résolution de programmes linéaires
Résolution graphique
La méthode du simplexe :
Rśolution par Tableaux de simplexe
4 Dualité
Exemple : Problème de production
Qu’est ce que la dualité ?
Comment trouver le dual ?
Conditions d’optimalité primal-dual
Exemple :
47 / 59
Dualité
Exemple : Problème de production
Sous contraintes :
3x1 + 9x2 ≤ 81
4x1 + 5x2 ≤ 55
2x1 + x2 ≤ 20
x1 ; x2 ≥ 0
48 / 59
Dualité
Exemple : Problème de production
48 / 59
Dualité
Qu’est ce que la dualité ?
49 / 59
Dualité
Qu’est ce que la dualité ?
50 / 59
Dualité
Comment trouver le dual ?
51 / 59
Dualité
Comment trouver le dual ?
Exemple :
52 / 59
Dualité
Comment trouver le dual ?
53 / 59
Dualité
Conditions d’optimalité primal-dual
54 / 59
Dualité
Exemple :
S.C
x1 + x2 ≤ 150
4x1 + 2x2 ≤ 440
x1 + 4x2 ≤ 480
x1 ≤ 90
x1 ≥ 0, x2 ≥ 0
55 / 59
Dualité
Exemple :
Sous contraintes
y1 + 4y2 + y3 + y4 ≥ 100
y1 + 2y2 + 4y3 ≥ 200
y1 ≥ 0, y2 ≥ 0
Nous proposons de résoudre ce système par les tableaux de simplexe.
56 / 59
Dualité
Exemple :
57 / 59
Dualité
Exemple :
Itération 2 :
Itération 3 :
58 / 59
Dualité
Exemple :
Itération 4 :
y1 = 0 ⇔ S1 = 0
y2 = −60 ⇔ S2 = 60
y3 = 0 ⇔ S3 = 0
y4 = −50 ⇔ S4 = 50
e1 = 0 ⇔ x1 = 40
e2 == 110 ⇔ x2 = 110
w = −26000 ⇔ z = 26000
59 / 59