• Aucun résultat trouvé

L’algorithme du Simplexe

N/A
N/A
Protected

Academic year: 2022

Partager "L’algorithme du Simplexe"

Copied!
7
0
0

Texte intégral

(1)

LPSIL Ann´ee 2007-2008 TD MathOpt - Feuille 2 - Correction

L’algorithme du Simplexe

1. Correction de l’exercice 1 (a) i. Oui r´ealisable

ii. Non (valeur n´egative)

iii. Non (contrainte 1 non v´erifi´ee)

(b) Non (par exemple, (22,20,20) est meilleur) 2. Correction de l’exercice 2

(a) R´ealisable mais non de base (b) R´ealisable et de base

(c) De base mais non r´ealisable (d) De base mais non r´ealisable (e) De base mais non r´ealisable (f) Ni r´ealisable ni de base

(g) R´ealisable mais non de base (il y a trois ´equations v´erif´ees mais elles ne sont pas ind´ependantes, en effet −2x1 + 2x2 −2x3 = 6 est la somme de 2x1 +x2 −x3 = 18 et−4x1+x2−x3 =−12)

3. Correction de l’exercice 3 (1)

Maximize 3x1 + 3x2 + 4x3 Sous les conditions:

x1 + x2 + 2x3 ≤ 4

2x1 + 3x3 ≤ 5

2x1 + x2 + 3x3 ≤ 7 x1, x2, x3 ≥ 0 On introduit les variables d’´ecart et on ´ecrit le dictionnaire:

Six3 entre en base x4 = 4 − x1 − x2 − 2x3 2

x5 = 5 − 2x1 − 3x3 53

x6 = 7 − 2x1 − x2 − 3x3 73 z = 3x1 + 3x2 + 4x3

On choisit de faire entrer x3 qui a le plus fort cœfficient `a la place de x5 qui correspond `a l’´equation avec la contrainte la plus forte surx3. Le dictionnaire se r´e´ecrit :

(2)

Six2 entre en base x3 = 5323x113x5

x4 = 23 + 13x1 − x2 + 23x5 23

x6 = 2 − x2 + x5 2

z = 203 + 13x1 + 3x243x5

On choisit de faire entrer x2 qui a le plus fort cœfficient `a la place de x4 qui correspond `a l’´equation avec la contrainte la plus forte surx2. Le dictionnaire se r´e´ecrit :

Six1 entre en base x2 = 23 + 13x1 − x4 + 23x5

x3 = 5323x113x5 52 x6 = 4313x1 + x4 + 13x5 4

z = 263 + 43x1 − 3x4 + 23x5

On choisit de faire entrer x1 qui a le plus fort cœfficient `a la place de x3 qui correspond `a l’´equation avec la contrainte la plus forte surx1. Le dictionnaire se r´e´ecrit :

x1 = 5232x312x5 x2 = 3212x3 − x4 + 12x5

x6 = 12 + 12x3 + x4 + 12x5 z = 12 − 2x3 − 3x4

Toutes les variables dans l’expression de z ont des cœfficients n´egatifs : z est optimal avec comme solutionx1 = 52,x2= 32 etx3 = 0.

Remarque :

On peut faire d’autres it´erations (pas dans ce cours car on vous demande d’appliquer la r`egle du plus fort cœfficient) en choisissant de faire entrerx1 d’abord. On trouve la solution apr`es avoir ´ecrit les deux dictionnaires suivants :

x1 = 5232x312x5 x4 = 32 − x212x3 + 12x5

x6 = 2 − x2 + x5

z = 152 + 3x212x332x5

x1 = 5232x312x5

x2 = 3212x3 − x4 + 12x5 x6 = 12 + 12x3 + x4 + 12x5

z = 12 − 2x3 − 3x4

Enfin, si on fait entrer la variablex2, on obtient directement le dictionnaire : x2 = 4 − x1 − x3 − x4

x5 = 5 − 2x1 − 3x3

x6 = 3 − x1 − x3 + x4

z = 12 − 2x3 − 3x4

(3)

4. Correction de l’exercice 4

On d´efinit les variables d’´ecart et on obtient le premier dictionnaire : x4 = 10 − 2x1 − 2x2 + x3 5 x5 = 10 − 3x1 + 2x2 − x3 ∞ x6 = 10 − x1 + 3x2 − x3

z = x1 + 3x2 − x3

La variablex2a le plus grand coefficient positif, c’est donc elle qui entre en base. La contrainte x4 ≥0 est celle qui borne le plus la croissance dex2, elle limite en effet l’augmentation dex2

`

a 5 alors que les contraintesx5≥0 et x6 ≥0 ne bornent pas la croissance dex2. C’est donc x5 qui quitte la base et apr`es avoir effectu´e le pivot, on obtient le dictionnaire :

x2 = 5 − x1 + 12x312x4 ∞ x5 = 20 − 5x1 − x4 ∞ x6 = 25 − 4x1 + 12x332x4

z = 15 − 2x1 + 12x332x4

La variablex3 entre en base et on remarque qu’aucune variable n’est candidate pour quitter la base, puisqu’aucune des variables de base (x2, x5 etx6) n’impose une borne sup´erieure sur la croissance dex3. Cela signifie que le probl`eme est non born´e.

5. Correction de l’exercice 5 a. Premi`ere phase.

On d´efinit et on r´esout le probl`eme auxiliaire :

Maximiser − x0

Sous les contraintes :

x1 − x2 − x0 ≤ −1

−x1 − x2 − x0 ≤ −3 2x1 + x2 − x0 ≤ 4 x1, x2, x0 ≥ 0

(1)

On introduit les variables d’´ecart et on obtient le premier dictionnaire : x3 = −1 − x1 + x2 + x0

x4 = −3 + x1 + x2 + x0

x5 = 4 − 2x1 − x2 + x0

w = − x0

Ce dictionnaire n’est pas r´ealisable, puisque la solution de base associ´ee (x0 =x1=x2 = 0,x3 =−1,x4 =−3 et x5 = 4) viole les contraintes de positivit´e des variables pourx3 etx4. On va donc rendre ce dictionnaire r´ealisable en effectuant un pivot : x0 entre en base et la variable d’´ecart violant le plus la contrainte de positivit´e (x4 car −3 < −1) quitte la base.

Remarque : Cette mani`ere de choisir la variable quittant la base n’est employ´ee que dans ce cas pr´ecis o`u l’on d´esire rendre le premier dictionnaire du probl`eme auxiliaire r´ealisable. Une fois que le dictionnaire est r´ealisable, on effectue l’algorithme du sim- plexe.

(4)

Apr`es avoir pivot´e x0 etx4, on obtient le dictionnaire r´ealisable : x0 = 3 − x1 − x2 + x4 x3 = 2 − 2x1 + x4

x5 = 7 − 3x1 − 2x2 + x4

w = −3 + x1 + x2 − x4

Deux variables, x1 et x2, sont candidates pour entrer en base. On choisit x1. x3 sort de la base car elle borne le plus la croissance de x1. En effet, x0 ≥ 0 ⇒ x1 ≤ 3, x3 ≥0⇒x1 ≤1 etx5 ≥0⇒x173. On obtient le dictionnaire suivant :

x1 = 1 − 12x3 + 12x4 ∞ x0 = 2 − x2 + 12x3 + 12x4 2 x5 = 4 − 2x2 + 32x312x4 2

w = −2 + 1x212x312x4

On peut noter que deux variables sont candidates pour quitter la base, x0 et x5,

puisqu’elles limitent toutes deux la croissance dex2`a 1, mais on choisit toujours, dans ce cas,x0, c’est une r`egle du cours.

On a alors :

x2 = 2 + 12x3 + 12x4 − x0

x1 = 1 − 12x3 + 12x4

x5 = 12x332x4 + 2x0

w = − x0

On peut noter que la solution de base associ´ee `a ce dictionnaire est d´eg´en´er´ee.

Ce dictionnaire est optimal. Puisque la valeur optimale du probl`eme auxiliaire est nulle, ce dictionnaire fournit une solution r´ealisable du probl`eme originel (x1 = 1 etx2= 2). De plus, ce dictionnaire donne un dictionnaire r´ealisable pour le probl`eme originel, il suffit en effet de recopier les trois premi`eres lignes en oubliant tous les termes impliquant x0 et d’exprimer la fonction objectif originellez en fonction des variables hors basex3,x4.

z = 3x1+x2

= 3(1− 12x3+12x4) + 2 +12x3+12x4

= 5−x3+ 2x4

Deuxi`eme phase.

On r´esout maintenant le probl`eme originel, en appliquant l’algorithme du simplexe sur le dictionnaire r´ealisable obtenu lors de la premi`ere phase.

x2 = 2 + 12x3 + 12x4 ∞ x1 = 1 − 12x3 + 12x4 ∞ x5 = 12x332x4 0

z = 5 − x3 + 2x4

x4 entre en base,x5 sort de la base. L’it´eration est d´eg´en´er´ee (z n’augmente pas).

On obtient :

x2 = 2 + 23x313x5 x1 = 1 − 13x313x5 x4 = 13x323x5

z = 5 − 13x343x5

Les coefficients de la fonction objectif sont tous n´egatifs, on a donc fini et la solution

(5)

b. Premi`ere phase.

On d´efinit et on r´esout le probl`eme auxiliaire :

Maximiser − x0

Sous les contraintes :

x1 − x2 − x0 ≤ −1

−x1 − x2 − x0 ≤ −3 2x1 + x2 − x0 ≤ 2 x1, x2, x0 ≥ 0

(2)

On introduit les variables d’´ecart et on obtient le premier dictionnaire : x3 = −1 − x1 + x2 + x0

x4 = −3 + x1 + x2 + x0

x5 = 2 − 2x1 − x2 + x0

w = − x0

Ce dictionnaire n’est pas r´ealisable, on pivote x0 etx4 pour le rendre r´ealisable.

x0 = 3 − x1 − x2 + x4

x3 = 2 − 2x1 + x4

x5 = 5 − 3x1 − 2x2 + x4 w = −3 + x1 + x2 − x4 x1 entre en base.

x0 ≥0 ⇒ x1 ≤ 3, x3 ≥ 0⇒ x1 ≤1 et x5 ≥0 ⇒ x153. C’est donc x3 qui quitte la base. On obtient le dictionnaire :

x1 = 1 − 12x3 + 12x4 ∞ x0 = 2 − x2 + 12x3 + 12x4 2 x5 = 2 − 2x2 + 32x312x4 1

w = −2 + 1x212x312x4

x2 entre en base,x5 sort de la base.

x0 = 1 − 14x3 + 34x4 + 12x5 4 x1 = 1 − 12x3 + 12x4 2 x2 = 1 + 34x314x412x5

w = −1 + 14x334x412x5 x3 entre en base,x1 sort de la base :

x0 = 12 + 12x1 + 12x4 + 12x5 x2 = 5232x1 + 12x412x5 x3 = 2 − 2x1 + x4

w = −1212x112x412x5

Les coefficients dew´etant tous n´egatifs, l’algorithme est fini et la solution optimale du probl`eme auxiliaire est x1 = 0, x2 = 52, x0 = 12 et w = −12. Le probl`eme originel est doncnon r´ealisable (se reporter au cours).

(6)

c. Premi`ere phase.

On d´efinit et on r´esout le probl`eme auxiliaire :

Maximiser − x0

Sous les contraintes :

x1 − x2 − x0 ≤ −1

−x1 − x2 − x0 ≤ −3 2x1 − x2 − x0 ≤ 2 x1, x2, x0 ≥ 0

(3)

On introduit les variables d’´ecart et on obtient le premier dictionnaire : x3 = −1 − x1 + x2 + x0

x4 = −3 + x1 + x2 + x0

x5 = 2 − 2x1 + x2 + x0

w = − x0

On pivotex0 etx4 pour rendre ce dictionnaire r´ealisable. On obtient ainsi : x0 = 3 − x1 − x2 + x4

x3 = 2 − 2x1 + x4

x5 = 5 − 3x1 + x4 w = −3 + x1 + x2 − x4

On choisit d’entrerx1 en base. x0 ≥0⇒x1 ≤3,x3 ≥0⇒x1 ≤1 etx5≥0⇒x153. C’est doncx3 qui quitte la base. On obtient le dictionnaire :

x1 = 1 − 12x3 + 12x4 ∞ x0 = 2 − x2 + 12x3 + 12x4 2 x5 = 2 + 32x312x4

w = −2 + x212x312x4

x2 entre en base,x0 sort de la base.

x2 = 2 + 12x3 + 12x4 − x0 x1 = 1 − 12x3 + 12x4

x5 = 2 + 32x312x4

w = − x0

On a r´esolu le probl`eme auxiliaire et en supprimant tous les termes relatifs `a x0, on a un dictionnaire r´ealisable pour le probl`eme d’origine. Il suffit maintenant d’´ecrire la fonction objectifz du probl`eme originel dans ce dictionnaire :

z = 3x1+x2

= 3(1− 12x3+12x4) + 2 +12x3+12x4

= 5−x3+ 2x4 Deuxi`eme phase.

On r´esout maintenant le probl`eme originel, en appliquant l’algorithme du simplexe sur le dictionnaire r´ealisable obtenu lors de la premi`ere phase.

x2 = 2 + 12x3 + 12x4 ∞ x1 = 1 − 12x3 + 12x4 ∞ x5 = 2 + 32x312x4 4

(7)

x4 entre en base,x5 sort de la base. On obtient :

x2 = 4 + 2x3 − x5 ∞ x1 = 3 + x3 − x5 ∞ x4 = 4 + 3x3 − 2x5

z = 13 + 5x3 − 4x5

On choisit d’entrer x3 en base et on constate qu’aucune variable n’est candidate pour quitter la base, car aucune contrainte ne limite la croissance de la variable x3. Cela signifie donc que le probl`eme est non born´e.

Références

Documents relatifs

6 ◦ ) On suppose pour cette question que E est l’espace vectoriel des fonctions continues de [0, 1]

a - Donner sous forme canonique le probl` eme de programmation lin´ eaire que doit r´ esoudre l ?entreprise pour maximiser son b´ en´ efice.. b - Transformer le probl` eme en un

En cas d’´ egalit´ e, ici par exemple avec la ligne e 3 , on peut choisir l’une des lignes au choix.. Ensuite, technique du pivot de Gauss pour ´ eliminer les nombres dans la

A la sortie du ralentisseur, les atomes sont captur´es par un pi`ege constitu´e de trois paires de lasers (formant ` une m´elasse optique 3D) et de deux bobines g´en´erant un

Cette expression peut aussi permettre de voir la pression exerc´ee par le flux de photons ou de l’onde ´electromagn´etique sur la surface S, en effet, il suffit de diviser la force

Le plus simple pour aboutir dans cette recherche du champ magn´etique est d’utiliser un rep`ere cylindrique associ´es ` a chacun des deux fils et d’exprimer ensuite le

La constante d’´equilibre est ´elev´ee, on peut pr´evoir une r´eaction quasi totale dans le sens de la dismutation.. Cette valeur est bien tr`es petite devant 1 comme nous

Cette propriété vient de ce que une matrice et sa transposée ont le même rang ce qui se démontre en utilisant que le rang de A est r si et seulement si A est équivalente à la