Sunteți pe pagina 1din 4

Année Préparatoire

Corrigé du Devoir d’Optimisation n◦ 4 (18 juin 2014)

1. [3 pts] Pour obtenir le problème dual, on lit le tableau verticalement, on met l’égalité
à la contrainte correspondant à la variable dans R, et ≤ pour les 2 autres, puisqu’on avait
des variables ≤ 0 (penser à corriger le polycopié). Pour le signe des variables, on n’a
pas de contrainte de signe pour la deuxième, puisqu’on avait égalité dans la contrainte
primale, on a ≥ 0 pour la variable correspondant à la contrainte ≤ et le contraire pour
l’autre. Ne pas oublier aussi de changer le max en min... Tout ceci donne :


 3y1 − 4y2 + 2y3 = w[min]
3y1 + y2 + y3 = 7




 − y1 + 2y2 + y3 ≤ −1


y1 − y2 − y3 ≤ 1
y1 ≥ 0.




y2 ∈ R.




y3 ≤ 0.

2. [5 pts] On utilise une variable artificielle xa et deux variables d’écart x1̄ et x2̄ et on
cherche le maximum de z 0 = −xa :

 x1 + 6x2 + 5x3 − x1̄ + xa = 10
x1 + 2x2 + x3 + x2̄ = 15
x1 + 6x2 + 5x3 − x1̄ = z 0 + 10

i ↓ j → x1 x2 x3 x1̄ xa x2̄ β βi /αi,e


s← a 1 6 5 −1 0 1 10 10/6
2̄ 1 2 1 0 1 0 15 15/2

∆j 1 6 5 −1 0 0 z 0 + 10
↑e
i ↓ j → x1 x2 x3 x1̄ xa x2̄ β
2 1/6 1 5/6 −1/6 0 1/6 5/3
2̄ 2/3 0 −2/3 1/3 1 −1/3 35/3

∆j 0 0 0 0 0 −1 z0 + 0
On est parvenu à l’optimum (tous les ∆j sont ≤ 0) et on a z 0 = 0 avec xa = 0. C’est
donc qu’il y a bien des solutions au problème initial [3pts]. Pour continuer, on supprime
la colonne correspondant à xa et on exprime z en fonction des variables hors base :
 
5 1 5 1 11 55 1 5
z = 2x1 + x2 + 10x3 = 2x1 + 10x3 + − x1 − x3 + x1̄ = x1 + x3 + x1̄ +
3 6 6 6 6 6 6 3
i↓ j→ x1 x2 x3 x1̄ x2̄ β
2 1/6 1 5/6 −1/6 0 5/3
2̄ 2/3 0 −2/3 1/3 1 35/3

∆j 11/6 0 55/6 1/6 0 z − 5/3


i ↓ j → x1 x2 x3 x1̄ x2̄ β
3 1/5 6/5 1 −1/5 0 2
2̄ 4/5 4/5 0 1/5 1 13

∆j 0 −11 0 2 0 z − 20
i ↓ j → x1 x2 x3 x1̄ x2̄ β
3 1 2 1 0 1 15
1̄ 4 4 0 1 5 65

∆j −8 −19 0 0 −10 z − 150


On a donc, à l’optimum x∗ = (0, 0, 150) et z ∗ = 150 (x∗1 = 0, x∗2 = 0, x∗3 = 150).

3. a) [3 pts] On commence par chercher le tableau optimal pour θ = 0. On a :



 x1 + x2 + x1̄
 = 10
x1 + 3x2 + x2̄ = 24


 3x1 + x2 + x3̄ = 24
x1 + x2 = z−0

i ↓ j → x1 x2 x1̄ x2̄ x3̄ β


1̄ 1 1 1 0 0 10
2̄ 1 3 0 1 0 24
3̄ 3 1 0 0 0 24

∆j 1 2 0 0 0 z−0
i↓ j→ x1 x2 x1̄ x2̄ x3̄ β
1̄ 2/3 0 1 −1/3 0 2
2 1/3 1 0 1/3 0 8
3̄ 8/3 0 0 −1/3 1 16

∆j 1/3 0 0 −2/3 0 z − 16
i ↓ j → x1 x2 x1̄ x2̄ x3̄ β
1 1 0 3/2 −1/2 0 3
2 0 1 −1/2 1/2 0 7
3̄ 0 0 −4 1 1 8

∆j 0 0 −1/2 −1/2 0 z − 17
On a alors x∗1 = 3, x∗2 = 7, x∗3̄ = 8, x∗1̄ = x∗2̄ = 0 et z ∗ = 17 .
b) [4 pts] On exprime alors zλ = (1 + λ)x1 + 2x2 en fonction des variables hors-base
dans le tableau optimal correspondant à θ = λ = 0 :

zλ = (1 + λ)x1 + x2
   
3 1 1 1
= (1 + λ) 3 − x1̄ + x2̄ + 2 7 + x1̄ − x2̄
2 2 2 2
   
1 3λ λ 1
= 17 + 3λ + − − x1̄ + − x2̄
2 2 2 2

λ 1 1 3λ
Pour être toujours à l’optimal, on doit avoir les ∆0 ≤ 0, soit − ≤ 0 et − − ≤ 0,
2 2 2 2
1
ce qui donne λ ≤ 1 et λ ≥ − . Ainsi, pour λ ∈ [−1/3; 1] , le point en lequel l’optimum
3
est atteint est inchangé et on a alors zλ∗ = 17 + 3λ.

• Si λ ∈
/ [−1/3; 1], le tableau n’est plus optimal. Il faut alors continuer l’étude avec, si
λ > 1, x3̄ qui sort de la base et x2̄ qui y entre... et le tableau sera alors optimal si λ < 5 ;
sinon, on continue avec x2 qui sort de la base et x1̄ qui y entre...
• Si λ < −1/3, c’est x1 qui
 sort de la base et x1̄ qui y entre.

 16 si − 1 ≤ λ ≤ −1/3
17 + 3λ si − 1/3 ≤ λ ≤ 1

On trouve finalement : zλ∗ = (fonction affine par morceaux).

 13 + 7λ si 1 ≤ λ ≤ 5
8 + 8λ si λ ≥ 5

c) [3 pts] On écrit directement le programme dual :




 10y1 + 24y2 + 24y3 = w[min]
y1 + y2 + 3y3 ≥ 1


 y1 + 3y2 + y3 ≥ 2
y1 , y2 , y3 ≥ 0.

On déduit directement du tableau à l’optimal du a) que ∆01̄ = −3, ∆02̄ = −7 et ∆03 = −8,
les autres étant nuls ; et que y1 = y2 = 1/2 (variables de base), les autres étant nulles.
0
Enfin, on remplit le tableau grace à αi,j = −αj̄,ī (en convenant que ¯ī = i. Pour des raisons
de lecture plus simple, on place y1̄ , y2̄ et y3 en premier dans le tableau. On a alors le
tableau du simplexe du dual à l’optimal [1pt] :

i↓ j→ y1̄ y2̄ y3 y1 y2 β0
1 −3/2 1/2 4 1 0 1/2
2 1/2 −1/2 −1 0 1 1/2

∆0j −3 −7 −8 0 0 −w + 17
d) [4pts] On travaille ici sur le dual, avec wθ = (10 + θ)y1 + 24y2 + 24y3 et on tire du
1 3 1 1 1 1
tableau optimal y1 = + y1̄ − y2̄ − 4y3 et y2 = − y1̄ + y2̄ + y3 , donc
2 2 2 2 2 2
−wθ = −(10 + θ)y1 − 24y2 − 24y3
   
1 3 1 1 1 1
= −(10 + θ) + y1̄ − y2̄ − 4y3 − 24 − y1̄ + y2̄ + y3 − 24y3
2 2 2 2 2 2
     
θ 3 θ
= − 17 + − 3 + θ y1̄ − 7 − y2̄ − (8 − 4θ)y3
2 2 2

3 θ
On écrit qu’à l’optimal, les ∆0 sont négatifs, ce qui donne 3 + θ ≥ 0, 7 − ≥ 0 et
2 2
8 + 4θ ≥ 0, soit finalement θ ≥ −2, θ ≤ 14 et θ ≤ 2. Donc, pour θ ∈ [−2; 2] , le point en
θ
lequel l’optimum est atteint est inchangé. On a alors zθ∗ = wθ∗ = 17 + et on a alors le
2
tableau du simplexe du dual à l’optimal :

i↓ j→ y1̄ y2̄ y3 y1 y2 β0
1 −3/2 1/2 4 1 0 1/2
2 1/2 −1/2 −1 0 1 1/2

∆0j −3 − 3θ/2 −7 + θ/2 −8 + 4θ 0 0 −w + 17 + θ/2

• Pour −10 ≤ θ < −2, −3 − 3θ/2 > 0 donc y1̄ entre dans la base et y2 en sort, et on
a le nouveau tableau :
i ↓ j → y1̄ y2̄ y3 y1 y2 β0
1 0 −1 1 1 −3 2
1̄ 1 −1 −2 0 2 1

∆0j 0 −10 − θ −14 + θ 0 3 + 3θ/2 −w + 20 + 2θ

et tous les ∆0 sont ≤ 0 donc on a bien le tableau optimal, avec wθ∗ = zθ∗ = 20 + 2θ .

• Pour θ > 2, −8 + 4θ > 0 donc y3 entre dans la base et y1 en sort, et on a le nouveau


tableau :
i↓ j→ y1̄ y2̄ y3 y1 y2 β0
3 −3/8 1/8 1 1/4 0 1/8
2 1/8 −3/8 0 1/4 1 5/8

∆0j −6 −6 0 2−θ 0 −w + 18

et tous les ∆0 sont ≤ 0 donc on a bien le tableau optimal, avec wθ∗ = zθ∗ = 18 .

 20 + 2θ si −10 ≤ θ ≤ −2

Finalement zθ = 17 + θ/2 si −2 ≤ θ ≤ 2 fonction croissante, affine par morceaux.
18 si θ≥2

S-ar putea să vă placă și