Presentation 2012

69
COURS DE RECHERCHE OPÉRATIONNELLE Bachelor L3

Transcript of Presentation 2012

COURS DE RECHERCHE

OPÉRATIONNELLE

Bachelor L3

PROGRAMME

Bachelor L3 B & S • Chapitre I: La Programmation Linéaire • Chapitre II: La Théorie des graphes • Chapitre III: Ordonnancement de la production • Chapitre IV: Flot dans un réseau de transport

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

1- Introduction à la PL par un exemple Une usine fabrique 3 produits p1, p2, p3 à l'aide de 3 machines M1, M2, M3. Le tableau de fabrication des produits p1, p2 et p3 par semaine est le suivant :

P1 P2 P3

M1 1h 3h 2h

M2 3h 2h 1h

M3 1h 1h 4h

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Interprétation du tableau Pour fabriquer une unité du produit P1, il faut 1 heure de fonctionnement de M1, 3 heures de fonctionnement de M2 et 1 heure de fonctionnement de M3,

P1 P2 P3

M1 1h 3h 2h

M2 3h 2h 1h

M3 1h 1h 4h

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Interprétation du tableau Pour fabriquer une unité du produit P2, il faut 3 heures de fonctionnement de M1, 2 heures de fonctionnement de M2 et 1 heure de fonctionnement de M3,

P1 P2 P3

M1 1h 3h 2h

M2 3h 2h 1h

M3 1h 1h 4h

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Interprétation du tableau Pour fabriquer une unité du produit P3, il faut 2 heures de fonctionnement de M1, 1 heure de fonctionnement de M2 et 4 heures de fonctionnement de M3.

P1 P2 P3

M1 1 3 2

M2 3 2 1

M3 1 1 4

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

On sait de plus, que chacune des machines M1, M2, ou M3 ne peut fonctionner qu'un nombre d'heures imitées par semaine, soit 40 heures pour M1, 45 heures pour M2, 38 heures pour M3. L'industriel connait de plus, le prix de vente unitaire de chacun des produits p1, p2 et p3. Il s'agit de 100 F pour p1, 140 F pour p2, et 120F pour p3.

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Problème à résoudre On demande alors de formuler le modèle linéaire qui permettrait d'obtenir la production des produits p1, p2 et p3 assurant à l'industriel le chiffre d'affaire optimal(maximum dans ce cas).

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Formulation du modèle linéaire • Etape1: Détermination des variables Notons par : x1, le nombre d'unités de p1 à fabriquer par semaine x2, le nombre d'unités de p2 à fabriquer par semaine x3, le nombre d'unités de p3 à fabriquer par semaine

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape2: La fonction objectif Objectif: maximiser le chiffre d’affaire Notons par Z le prix de vente des 3 produits p1, p2 et p3. Z est appelé fonction objectif (ou économique). Le prix de vente est Z = 100x1 + 140x2 + 120x3

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape 3: Les contraintes Les contraintes de temps de production: M1 ne peut travailler plus de 40 heures par semaine. Pour fabriquer une unité de p1, il faut 1 heure de fonctionnement de M1, donc pour fabriquer x1 unités de p1, il faut 1x1 heures de fonctionnement de M1;

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S • Etape 3: Les contraintes

Pour fabriquer une unité de p2, il faut 3 heures de fonctionnement de M1, donc pour fabriquer x2 unités de p2, il faut 3x2 heures de M1; Pour fabriquer une unité de p3, il faut 2 heures de M1, donc pour fabriquer x3 unités de p3, il faut 2x3 heures de M1;

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S • Etape 3: Les contraintes

Ainsi, pour M1, dans la semaine, il faut que: X1 + 3x2 + 2x3 ≤ 40 Pour M2:

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape 3: Les contraintes Ainsi, pour M1, dans la semaine, il faut que: X1 + 3x2 + 2x3 ≤ 40 Pour M2: il faut que 3x1 + 2x2 + x3 ≤45 Et pour M3:

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape 3: Les contraintes Ainsi, pour M1, dans la semaine, il faut que: X1 + 3x2 + 2x3 ≤ 40 Pour M2: il faut que 3x1 + 2x2 + x3 ≤45 Et pour M3: X1 + x2 +4x3 ≤38

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape 3: Les contraintes • Contraintes de non – négativité des variables: X1, x2, et x3 représentent le nombre d'unités des produits à fabriquer. Elles doivent donc être positives ou nulles, d’où: x1≥0, x2≥0, x3≥0.

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

• Etape 4: Le modèle linéaire En réunissant les contraintes et la fonction objectif, le programme linéaire(standard) s’écrit: Max Z = 100x1 + 140x2 + 120x3 Sous les contraintes (PL) X1 + 3x2 +2x3 ≤ 40 3x1 + 2x2 + x3 ≤ 45 X1 + x2 + 4x3 ≤ 38 x1≥0, x2≥0, x3≥0

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

2- Forme canonique d’un programme linéaire Le modèle précédent est appelé forme canonique du programme linéaire, Tout programme linéaire peut s’écrire sous la forme suivante, appelée forme canonique: Max(Min) Z = C1X1 + C2X2 + …. CnXn Sc: (PL) a11X1 + a12X2+ …… a1jXj+ …..a1nXn ≤ b1 a21X1 + a22X2+ …… a2jXj+ …..a2nXn ≤ b2 - - - - - - - - - - - - - - -- - - - - - - - - - - - - - am1X1 + am2X2+ …… amjXj+ …..amnXn ≤ bm xj≥0, j =1…n

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

2- Forme canonique d’un programme linéaire Ou tout simplement: Max (Min ) Z = (PL) Sc

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Forme standard d’un programme linéaire A partir de la forme canonique, on peut écrire la forme standard d’un programme linéaire en transformant les contraintes d’infériorité ou de supériorité des contraintes en contraintes d’égalités en ajoutant des variables d’écarts ou en retranchant des variables de surplus.

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Forme standard d’un programme linéaire Forme canonique avec des contraintes de type ≤ Max(Min) Z = Max(Min) Z = Sc: Sc: (PL) (PL)

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

Forme canonique

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

Forme standard

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Forme standard d’un programme linéaire Forme canonique avec des contraintes de type ≥ Max(Min) Z = Max(Min) Z = Sc: Sc: (PL) (PL)

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

Forme canonique

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

Forme standard

≥ -

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

Remarque X1, x2, . . . ,xj sont appelés variables de commande, et e1, e2, . . . ., em sont appelées variables d’écarts.

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Formes matricielles d’un programme linéaire Considérons un programme linéaire sous forme canonique: Max (Min ) Z = (PL) Sc

�𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝐶𝑛𝑛

𝐶𝐶=1

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Formes matricielles d’un programme linéaire Cette écriture est équivalent à: Max (Min ) Z = C X (PL) sc A X ≤ B

X ≥ 0

Où A, B, C et X sont des matrices définit par:

t

Chapitre i: La programmation linéaire 3- Formes matricielles d’un programme linéaire

c1 x1 b1 c2 x2 b2 . . . . . . . . . cn xn bm

C est la transposée de la matrice C, C = [c1, c2, . . . ., cn]

C = X = B =

t

t

Chapitre i: La programmation linéaire 3- Formes matricielles d’un programme linéaire A est la matrice définit par:

a11 a12 . . . . . . . a1n a21 a22 . . . . . . . a2n . . . am1 am2 . . . . . . . amn Cette écriture est appelée forme matricielle (de la forme canonique)du programme linéaire. La forme matricielle pour la forme standard est:

A =

CHAPITRE I: LA PROGRAMMATION LINÉAIRE

Bachelor L3 B & S

3- Formes matricielles d’un programme linéaire Cette écriture est équivalent à: Max (Min ) Z = C X = C’ X’ (PL) sc A X + E = B A’X’ = B

X, E ≥ 0

Où A’, B, C’ et X’ sont des matrices définit par:

t t

Chapitre i: La programmation linéaire 3- Formes matricielles d’un programme linéaire

c1 x1 b1 e1 . . b2 e2 cn xn . . 0 e1 . . . . . 0 en bm em

Et

C’ = X’ = B = E =

Chapitre I: La programmation linéaire 3- Formes matricielles d’un programme linéaire A’ est la matrice définit par:

a11 a12 . . . . . . . a1n 1 . . . . . . . . 0 a21 a22 . . . . . . . a2n 0 1 . . . . .. . 0 . . . am1 am2 . . . . . . . amn 0 . . . . . . . . . 1 Cette écriture est appelée forme matricielle (de la forme standard)du programme linéaire.

• Applications: Donnez les formes standard et matricielles de l’exemple introductif,

A’ =

Chapitre I: La programmation linéaire 3- Résolution des programmes linéaires Il existe plusieurs méthodes de résolution des programmes linéaires. 3-1. La méthode graphique Elle est simple d’application mais inappropriée si le nombre de variables devient important (≥ 3). La résolution graphique permet de déterminer la solution d'un problème linéaire par la construction d'un graphique. La solution, si elle existe est un des sommets (angle) d'un polytope. Cette méthode repose sur le principe suivant:

Chapitre I: La programmation linéaire 3-1. La méthode graphique 1. Construire un repère orthonormé 2. Construire les droites d'équations représentant les différentes contraintes 3. Déterminez le domaine des solutions possibles en fonctions des contraintes. 4. Si cette région ou domaine constitue un ensemble convexe fermé (polytope), une solution optimale existe. 5. Déterminer les points extrêmes de l'ensemble convexe 7. Déterminez à partir de la fonction objectif, quel point extrême donne la solution optimale.

Chapitre I: La programmation linéaire 3-1. La méthode graphique Exemple Une usine fabrique deux produits p1 et p2 à l'aide de trois matières premières M1, M2 et M3 dont on dispose en quantités limitées. Pour fabriquer une unité de p1, il faut une unité de M1, une unité de M2 et 2 unités de M3. Pour fabriquer une unité de p2, il faut 3 unités de M1, 1 unité de M2 et 1 unité de M3. On dispose de 18 unités de M1, 8 unités de M2 et 14 unités de M3. Les prix de vente (en milliers) sont : 1 F par unité de p1 et 4 F par unité de p2.

Chapitre I: La programmation linéaire 3-1. La méthode graphique 1. Donnez le problème linéaire permettant de résoudre le problème pour maximiser les bénéfices de l'industriel. 2. Donnez la forme standard du problème 3. Résoudre graphiquement le problème linéaire. Résolution

Chapitre I: La programmation linéaire 3-1. La méthode graphique Le problème sous forme standard s’écrit: Max Z = x1 + 4x2 Sc (PL) x1 + 3x2 + x3 =18 x1 + x2 +x4 = 8 2x1 + x2 + x5 =14 x1, x2, x3, x4, x5 ≥0

Chapitre I: La programmation linéaire 3-1. La méthode graphique Soit x1, la quantité de p1 à fabriquer, x2 la quantité de p2. Il s'agit de maximiser le problème linéaire. Max Z = x1 + 4x2 Sc x1 + 3x2 ≤18 (PL) x1 + x2 ≤8 2x1 + x2 ≤14 X1, x2, x3 ≥0

Chapitre I: La programmation linéaire 3-1. La méthode graphique Résolution graphique On représente les droites d'équations des contraintes (de la forme ax + by = c) (D1): x1 + 3x2 =18 elle passe par deux points (0, 6) et (6,4) (D2) : x1 + x2 =8 elle passe par deux points (4,4) et (3,5) (D3): 2x1 + x2 =14 elle passe par les points (7,0) et (4,6) On obtient un ensemble convexe fermé et dont les points extrêmes sont A(3,5), B(6, 2), C(0,6) et D(7,0) Pour A(3,5), Z = 23, avec B, on a Z = 14, avec C, on a Z = 24, avec D, on trouve Z = 7. La solution optimale est alors C*(0,6).

Chapitre I: La programmation linéaire 3-2. La méthode du simplexe Elle s’applique à la forme standard d’un programme linéaire. L’ensemble des solutions réalisables est un polyèdre convexe appelé SIMPLEXE. Les sommets du simplexe sont appelés solutions de base réalisables. La méthode du simplexe consiste à partir d’une solution de base initiale réalisable, à parcourir les autres sommets du simplexe par des changements de base successifs, jusqu’à obtenir le sommet qui donne la solution optimale. Variables de base, variables hors base Un changement de base entraine une modification de la fonction objectif en fonction des variables de commande et des variables d’écart.

Chapitre I: La programmation linéaire 3-2. La méthode du simplexe Pour toute solution de base, les variables de base sont celles qui ont une valeur non nulle, et les variables hors base sont celles qui ont une valeur nulle. Changement de base Un changement de base consiste à remplacer un vecteur de base par un vecteur hors base par: - Le choix de la variable hors base à faire rentrer dans la

base. - - le choix de la variable de base à faire sortir de la base.

Chapitre I: La programmation linéaire 3-2. La méthode du simplexe Test d’optimalité On effectue le test d’optimalité en regardant dans la fonction objectif, s’il est encore possible d’améliorer la solution en faisant sortir une variable de la base. Application Soit à résoudre le programme linéaire suivant: Min Z = -3x1 -5x2 sc: 3x1 + 2x2 ≤ 18 (PL) x1 ≤ 4 2x2 ≤ 12 x1, x2 ≥ 0

Chapitre I: La programmation linéaire La forme standard s’écrit Min Z = -3x1 -5x2 +0e1 + 0e2 + 0e3 sc: 3x1 + 2x2 + e1 = 18 (PL) x1 + e2 = 4 2x2 + e3 =12 x1, x2, e1, e2, e3 ≥ 0 On peut écrire : Min Z = -3x1 -5x2 +0e1 + 0e2 + 0e3 sc: e1 = 18 - 3x1 - 2x2 (1) (PL) e2 = 4 - x1 (2) e3 = 12 - 2x2 (3) x1, x2, e1, e2, e3 ≥ 0

Chapitre I: La programmation linéaire On pose: x1 = 0, x2 = 0, donc e1 = 14, e2 = 4, e3 = 12. Ainsi (0, 0, 14, 4, 12) est une solution de base initiale avec Z = 0 pour cette solution. X1 et x2 sont les variables hors base, e1, e2 et e3 sont les variables de base. Première itération (amélioration de la fonction objectif) On cherche à minimiser la valeur de Z. il est avantageux d'augmenter la valeur de x2, puisque x2 contribue plus que x1 à la diminution de Z . Donc x2 est susceptible à entrer dans la base.

Chapitre I: La programmation linéaire Détermination de la variable de sortie(donc à rendre nulle) On peut alors conserver x1 = 0, puis chercher la plus grande valeur que peut prendre x2 sans violer les contraintes du problème, c'est-à-dire e3, e4, e5≥0. e1 = 18 - 3x1 - 2x2 (1) (PL) e2 = 4 - x1 (2) e3 = 12 - 2x2 (3) x1, x2, e1, e2, e3 ≥ 0 X1 = 0 alors (1) => e1 = 18 – 2x2 ≥ 0 donc x2 ≤ 9 e3 ≥ 0 donc (3) => 12 -2x2 ≥ 0 on a alors x2 ≤ 6 La plus grand valeur que prendre x2 est donc x2 = 6 (car si on prend x2 = 9), alors e3 ≤ 0 d’après (3). Pour x2 = 6, on a e3 = 0 d’après (3). donc e3 est la variable de sortie,

Chapitre I: La programmation linéaire Détermination de la variable de sortie(donc à rendre nulle) On obtient une nouvelle solution de base réalisable (0, 6, 6, 4,0). Pour cette solution de base, x1 et e3 sont les variables hors base, x2, e1 et e2 sont les variables de base. Z = -30 Pour savoir si on peut toujours améliorer la solution, on exprime z en fonction des seules variables hors base x1 et e3: D’après (3), on a x2 = 6 -1/2 e3 (4) Z = -3x1 -5x2 +0e1 + 0e2 + 0e3 = -3x1 -5(6-1/2 e3) = -30 - 3x1+5/2 e3

Chapitre I: La programmation linéaire 2e itération Z = -30 - 3x1+5/2 e3 On constate qu'une augmentation de la valeur de e3 entraine une augmentation de la valeur de Z. il faut donc maintenir e3 = 0. Par contre une augmentation de la valeur de x1 entraine une diminution de la valeur de Z. donc x1 est variable d’entrée. Cherchons alors la plus grande valeur que peut prendre x1 tout en respectant les contraintes x2, e1, e2 ≥ 0 Pour cela, on exprime les variables de base en fonction des variables hors base. Ce qui donne:

Chapitre I: La programmation linéaire 2e itération Ce qui donne: e1 = 18 -3x1 -2x2 = 18 – 3x1 -2(6 -1

2e3) = 6 -3x1 + e3

d’ après (4) d’où: e1 = 6 – 3x1 + e3 et e1 ≥ 0 => 6 -3x1 ≥ 0 et donc x1 ≤ 2 e2 = 4 –x1 ≥ 0 =>x1 ≤ 4 On déduit alors que x1 = 2 X2 = 6 -1

2 e3 => x2 = 6 car e3 =0. Ainsi e1 = 0 (variable de

sortie). On obtient une nouvelle solution de base réalisable (2, 6,0, 2, 0)

Chapitre I: La programmation linéaire On obtient une nouvelle solution de base réalisable (2, 6,0, 2, 0) Pour cette solution de base, e1 et e3 sont les variables hors base tandis que x1, x2 et e2 sont les variables de base, pour cette solution, z = -36. Pour savoir si cette solution est optimale, on exprime z en fonction des variables hors base e1 et e3

Z = = -3x1 -5x2 = e1-e3-6-5(6- 12e3)= e1-e3-6-30 +5

2e3 =

e1 +32

e3 -36

Chapitre I: La programmation linéaire Z = e1 +3

2e3 -36

On constate alors que toute augmentation de la valeur de e1 ou e3 entraine une augmentation de la valeur de Z. e1 et e3 doivent donc rester à 0. La solution précédente est donc une solution optimale. On note x* = (2, 6, 0, 2, 0).

Chapitre I: La programmation linéaire 3-3. La méthode des tableaux du simplexe La méthode du simplexe permettra, par des tableaux appelé tableaux du simplexe, de réaliser les itérations. Nous allons associer à chaque itération, un tableau résumant le problème tel qu'il se présente.

3-3. La méthode des tableaux du simplexe • Tableau initial

Variables de base

x1 x2 e1 e2 e3

Second membre

quotient

e1 e2 e3

3 2 1 0 0 1 0 0 1 0 0 ( 2 ) 0 0 1

18 4 12

coeff de Ct -3 -5 0 0 0 0 Valeur de Z

Ve

Vs

L1

L2 L3

c1 c2 c3 c4 c5

3-3. La méthode des tableaux du simplexe • Première itération On regarde les coefficients des variables hors base sur la dernière ligne (ligne de Z). On marque la colonne où se trouve le coefficient négatif le plus faible, soit r cette colonne ; la variable se trouvant dans cette colonne entre dans la base ; ici c’est x2.

Variables de base

x1 x2 e1 e2 e3

Second membre

quotient

e1 e2 e3

3 2 1 0 0 1 0 0 1 0 0 ( 2 ) 0 0 1

18 4 12

coeff de Ct -3 -5 0 0 0 0 Valeur de Z

Ve

Vs

L1

L2 L3

c1 c2 c3 c4 c5

3-3. La méthode des tableaux du simplexe • Première itération • Pour chaque ligne i on calcule le quotient qi = bi/aik (aik>0) . On

marque la ligne du quotient positif le plus faible, soit s cette ligne; la variable de cette ligne sort de la base ; ici c’est e3. l’élément se situant à l’intersection de la colonne ve et de la ligne vs est appelé pivot, ici c’est a32

Variables de base

x1 x2 e1 e2 e3

Second membre

quotient

e1 e2 e3

3 2 1 0 0 1 0 0 1 0 0 2 0 0 1

18 4 12

18/2 = 9 12/2 = 6

coeff de Ct -3 -5 0 0 0 0 Valeur de Z

Ve

Vs

L1

L2 L3

c1 c2 c3 c4 c5

Valeur minimum

3-3. La méthode des tableaux du simplexe • Première itération • X2 remplace donc e3 dans la base. On exécute le pivot comme suit: • La ligne du pivot est divisée par le pivot • Le reste de la colonne du pivot est mis à zéro, • Pour toutes les autres cellules, sauf celle qui contient la valeur de z,

la nouvelle valeur est : • a’ij = aij – (air.asj)/asr où asr est le pivot, • La nouvelle valeur de z : z’ = z + (bs . Cr)/asr On obtient le nouveau tableau du simplexe:

3-3. La méthode des tableaux du simplexe

Ve

Vs

Variables de base

x1 x2 e1 e2 e3

Second membre

e1 e2 X2

3 0 1 0 -1 1 0 0 1 0

0 1 0 0 12

6 4 6

-3 0 0 0 52 -30

Itération 2 On répète le même processus que précédemment. On obtient le tableau suivant.

3-3. La méthode des tableaux du simplexe

Variables de base

x1 x2 e1 e2 e3

Second membre

X1 e2 X2

1 0 13 0 - 1

3

0 0 - 13 1 1

3

0 1 0 0 12

2 2 6

0 0 1 0 32 -36

On remarque dans ce tableau que tous les coûts sont positifs ou nuls, donc la solution est optimale: X* = (x1*, x2*, e1*, e2*, e3*) = (2, 6, 0, 2, 0) et z* = -36

Les variables

de la solution optimale

3-3. La méthode des tableaux du simplexe

• Algorithme du simplexe pour un problème de minimisation:

• Etape 1: déterminez s tel que Cs = min Cj • Si Cs ≥ 0 alors la solution est optimale • Si Cs < 0 alors Xs est la variable d'entrée • Etape2: • si ais ≤ 0 le problème n'est pas borné inférieurement

• Si ais > 0 pour au moins un i, déterminez r tel que 𝑏𝑏𝑎𝑏𝑎

= min{ 𝑏𝑏𝑎𝑏𝑎

et / ais>0}

• La variable de base se trouvant sur la r eme ligne est la variable de sortie.

• Etape3: exécuter le pivot sur l'élément pivot ars et retourné à l'etape1.

3-3. La méthode des tableaux du simplexe • Algorithme du simplexe pour un problème de

maximisation • Etape 1: déterminez s tel que Cs = max{ Cj} • Si Cs ≤ 0 alors la solution est optimale • Si Cs > 0 alors Xs est la variable d'entrée • Etape2: • si ais ≤ 0 quelque soit i, le problème n'est pas borné

supérieurement • Si ais > 0 pour au moins un i, déterminez r tel que 𝑏𝑏

𝑎𝑏𝑎 = min{ 𝑏𝑏

𝑎𝑏𝑎

et / ais>0} • La variable de base se trouvant sur la r eme ligne est la

variable de sortie • Etape3: exécuter le pivot sur l'élément pivot ars et retourné à

l'etape1.

4. Dualité en programmation linéaire • Définition Soit le programme linéaire suivant: Max Z = C X (PL) (PL) sc A X ≤ B X ≥ 0 Ce programme est appelé programme primal. On appelle programme dual de ce programme, le programme linéaire définit comme suit: Min y = B U (PL) sc A U ≥ C U ≥ 0

t

t

4. Dualité en programmation linéaire Théoriquement • Soit un problème de production et de ventes d’articles à

partir de matières premières… • Le primal: maximiser le chiffre d’affaires des ventes • Etant donné la valeur unitaire (cj) de chaque produit (prix

de vente unitaire d’un produit, bénéfice sur un produit …), et une borne supérieure à la disponibilité de chaque ressource (bi), combien de chaque produit (xj) doit – on fabriquer pour maximiser la valeur totale des ressources utilisées?

4. Dualité en programmation linéaire Théoriquement • Le dual: minimiser le coût de production • Etant donné la disponibilité de chaque ressource (bi) et

une borne inférieure à la valeur unitaire(cj) de chaque produit vendu, quelles devront être les valeurs unitaires yi des ressources pour minimiser la valeur totale des ressources utilisées?

• Règles de construction primal dual • Étant donné un problème primal, on peut construire le

dual à l’aide du tableau suivant:

4. Dualité en programmation linéaire

Primal MAX

Dual MIN

Contrainte i ≤ Contrainte i ≥ 0

Contrainte i =

Variable xj ≥ 0

Variable xj≤ 0

Variable xj libre

Yi ≥ 0 Yi≤ 0

Variable yi libre

Contrainte j ≥

Contrainte j ≤ Contrainte j=

DUAL MAX

PRIMAL MIN

4. Dualité en programmation linéaire • Exemple: Max Z = 2x1 + x2 + 3x3 + 4x4 Sa: x1 + x2 – x3 +2x4 ≤ 6 y1 ≥ 0 (Primal) 2x1 + 3x3 + 4x3 +5x4 ≥ 2 y2 ≤ 0 -x1 +6x2 + x3 –x4 = 1 y3 Є IR X1≤ 0, x2 Є IR, x3 ≥0, x4 ≥ 0 Min V = 6y1 +2y2 + y3 Sc: y1 + 2y2 –y3 ≤ 2 y1 + 3y2 +6y3 = 1 (Dual) - y1 + 4y2 +y3 ≥ 3 2 y1 + 5y2 -y3 ≥ 4 y1 ≥ 0, y2 ≤ 0 , y3 dans IR

4. Dualité en programmation linéaire Théorème de la dualité (forte) • Si l’un des deux programmes (primal ou dual) admet une

solution optimale, l’autre en admet également une. Le maximum de l’un est égal au minimum de l’autre, c.-à-d. qu’à l’optimum, les deux problèmes ont la même valeur pour la fonction objectif.

• Soient x et y des solutions réalisables respectivement du problème primal (PL) et du problème dual (PLD). Alors x et y sont des solutions réalisables optimales si et seulement si les conditions d'optimalité primal-dual (COPD) suivantes sont vérifiées:

4. Dualité en programmation linéaire Théorème de la dualité (forte) • Si une contrainte est satisfaite en tant qu'inégalite stricte

dans (PL) (resp. (PLD)) alors la variable correspondante de (PLD) (resp. (PL)) est nulle.

• Si la valeur d'une variable dans (PL) ou (PLD) est strictement positive alors la contrainte correspondante de l'autre programme est une égalité.

• Application: • Considérons le programme linéaire résolu avec la

méthode du simplexe: • La solution optimale est (x1, x2, e1, e2, e3) = (2, 6, 0, 2,

0) et z* = -36.

4. Dualité en programmation linéaire Min Z = -3x1 -5x2 sc: 3x1 + 2x2 ≤ 18 (PL) x1 ≤ 4 2x2 ≤ 12 x1, x2 ≥ 0 • Le programme dual s’écrit: max w = 18y1 + 4y2 + 12y3 sc 3y1 + y2 ≥ -3 (PLD) 2y1 + 2y3 ≥ -5 y1, y2 ≤ 0

4. Dualité en programmation • X1 = 2 ≥ 0 => 3y1 + y2 = -3 • X2 = 6 ≥ 0 => 2y1 + 2y3 = -5 • e2 = 2>0 => y2 = 0 • D’où y1 = -1 et y3 = -3/2 • W = 18(-1) + 4(0) +12(-3/2) = -18-18 = -36 = z

5. Les variables artificielles • Supposons que nous avons un programme linéaire avec

des contraintes de types ≤ et des contraintes de types ≥. • Max = 21x1 + 36x2 max z =21x1 + 36x2 + 0e1 + 0e2 -0e3

Sc x1 + x2 ≤ 6140 sc x1 + x2 +e1 = 6140 x1 + 3/2x2 ≤ 6600 x1 +3/2x2 + e3 = 6600 x1 + x2 ≥ 1900 x1 + x2 – e3 = 1900 X1, x2 ≥ 0 x1, x2, e1, e2, e3 ≥ 0 Méthode de résolution - Pas évident de trouver une solution initiale de base - On introduit dans les contraintes du type ≥ des variables

supplémentaires positives dites variables artificielles, - Elles sont introduites aussi dans la fonction objectif avec un coefficient

très grand, M dans un problème de minimisation, -M dans un problème de maximisation( cette méthode est dite méthode du Big M ).

Forme canonique Forme standard

5. Les variables artificielles Dans notre cas on a:

• Max = 21x1 + 36x2 + 0e1 + 0e2 – 0e3 –Ma1 Sc x1 + x2 +e1 = 6140 (1) x1 +3/2x2 + e3 = 6600 (2) x1 + x2 – e3 + a1 = 1900 (3) X1, x2, e1, e2, e3, a1 ≥ 0 On a alors A1 = 1900 +e3 –x1 – x2 Z = 21x1 +36x2 + 0e1 + 0e2 – 0e3 –M(1900 +e3 –x1 – x2) = (21 + M)x1 + (36 + M)x2 - Me3 -1900M On applique maintenant la methode du simplexe avec : Variables de base: e1, e2, a1 Variables hors base: x1, x2, e3

5. Les variables artificielles

X1 X2 e1 e2 e3 a1 bi e1 1 1 1 0 0 0 6140 e2 1 3/2 0 1 0 0 6600 a1 1 1 0 0 -1 1 1900

21+ M 36 + M 0 0 -M 0 -1900M

• on obtient le tableau initial du simplexe