Exercice 1.1.1 Mettre sous forme standard les probl`emes de

Transcription

Exercice 1.1.1 Mettre sous forme standard les probl`emes de
Exercice 1.1.1
Mettre sous forme standard les problèmes de programmation
linéaire suivants :
min 3x1 − x2
min 3x1 − x2




x2 ≤ 5




 x +x = 5
–
2
3
sous 
⇔
sous
x
≥
0
1


 x ≥ 0, i = 1, 2, 3


i

 x ≥ 0
2
min 5x2 − 6x1
min 5x2 − 6x1



x1 − x 2 ≥ 4






x1 − x 2 − x 3 = 4








x
≥
3

1




 x −x = 3
–
1
4
sous 
⇔
sous
2x
−
x
≤
5
1
2





2x1 − x2 + x5 = 5






x
≥
0


1



 x ≥ 0, i = 1, ..., 5


i

 x ≥ 0
2
min 5x2 − 6x1


x + x2 + x3 = 2


 1



 x2 ≥ 0
–
sous 


x3 ≥ 0





 x n.c. en signe
1
⇒ x1 = 2 − x 2 − x3
⇒ min 5x2 − 6(2 − x2 − x3) = 11x2 − 12 + 6x3
sous x2, x3 ≥ 0
⇒ min 11x2 + 6x3 sous x2, x3 ≥ 0
min 5x2 − 6x1


x1 − x 2 ≤ 0








x1 − 2x2 + 3 = 0



–
sous 
x1 + x2 ≤ 10





x2 ≥ 0






 x n.c. en signe
1
min 5x2 − 6(−3 + 2x2)
⇔
1







−3 + 2x2 − x2 ≤ 0
sous 
−3 + 2x2 + x2 ≤ 10




 x ≥ 0
2
min −x
min −x2
2




x2 ≤ 3




 x +x = 3
2
3
13
x
≤
⇔ sous 
⇔
sous
2

3

 x ,x ≥ 0


2 3

 x ≥ 0
2
Rmq : Sol. évidente x∗2 = 3
0
max 4x
−
5x
min
−4x
−
5x
1
2
1
2



x1 + x 2 ≥ 4








0




x
x

1 − 2x3 = 0

1 − x2 ≥ 4




−
x
≥
0
– sous 
x1 − 2x+
⇔
sous
1
3 + 2x3 = 0










 x , x0 , x+ , x− ≥ 0
x
≤
0

2
1 2 3

3




 x n.c. en signe
3
−
où x2 = −x02 et x3 = x+
3 − x3
min −4x
− 5x02
 1

0


x
−
x
1

2 − x4 = 4


−
⇔ sous 
x1 − 2x+
3 + 2x3 = 0




 x , x0 , x+ , x− , x ≥ 0
4
1 2 3
3
min x1
min x1






x
x1 − 2x2 + x4 = 1


1 − 2x2 ≤ 1




–
−
+
−
5x
3x
+
5x
≥
2
⇔
sous
3x
+
5x
sous 
1
3
1
3 − x5 = 2
3









 x2 ≥ 0
 x2 , x + , x − , x 4 , x 5 ≥ 0
3
3
⇔ min
1
+
2x
−
x
2
4


 3 + 6x2 − 3x4 + 5x+ − 5x− − x5 = 2
3
3
sous 
−
+
 x ,x ,x ,x ,x ≥ 0
4 5
2 3
3
⇔ min
 2x2 − x4

 6x − 3x + 5x − 5x − x = −1
2
4
3
6
5
sous 
 x ,x ,x ,x ,x ≥ 0
2 3 4 5 6
2
Exercice 1.1.2
Soit un problème de programmation linéaire avec les contraintes



Cx ≤ d

 a ≤ x ≤ b
C matrice m × n ; a, b, x ∈ IRn ; d ∈ IRm
En utilisant des changements de variables et des variables
d’écart, les mettres sous la forme standard



Ay = e

 y ≥ 0
Expliciter la structure bloc de A.
Suggestion : Poser y = x − a
Posons y = x − a
Or x ≥ a ⇒ x − a ≥ 0 ⇒ y ≥ 0
Or x ≤ b ⇒ y ≤ b − a ⇒ Iy ≤ b − a
Donc,




 Cx ≤ d
 Cy ≤ d − Ca
⇒ 

 a ≤ x ≤ b
 Iy ≤ b − a
Rmq :
– b−a≥0
– d − Ca ≥ 0 car d − Cx ≥ 0 pour x ∈ [a, b] vu énoncé.
Introduction de variables d’écart :
Cy + Iw = d − Ca avec w ∈ IRm , w ≥ 0
Iy + Iv = b − a
avec v ∈ IRn, v ≥ 0
3
Sous forme matricielle :
n m n

m C I 0


n
I 0 I
A

 y


 w


v
y

n
m
n








d − Ca  m

= 
b−a
n
=
e
Exercice 1.1.3 Approximation uniforme
On dispose d’une série d’observations (xi, yi) i = 1, ..., n
sensées obéir à une loi du type y = ax + b.
Ecrire le problème de la recherche des paramètres a et b de
telle façon que l’écart max entre les observations yi et les
valeurs calculées axi + b soit rendu aussi petit que possible.
y
ax + b = y
εi
x
Notre but :
min max i, i = 1, ..., n
a,b
avec i = |yi − (axi + b)|
Soit = max i
Donc notre but est :
min sous i ≤ , i = 1, ..., n
4
⇔ min sous − ≤ yi − (axi + b) ≤ , i = 1, ..., n
⇔ min sous



− − yi + axi + b ≤ 0
i = 1, ..., n

 y − ax − b − ≤ 0
i
i
Où xi , yi sont données et a, b, sont les variables de décision.







− + axi + b + vi = yi
⇔ min sous 
+ axi + b − wi = yi i = 1, ..., n




 vi , wi , ≥ 0
Rmq : On suppose yi ≥ 0 sinon : translation des axes avec
yi0 = yi − minj (yj ), yi0 ≥ 0
On pose
a = a + − a−
b = b + − b−







− + a+xi − a−xi + b+ − b− + vi = yi
+
−
+
−
⇔ min sous 
+
a
x
−
a
x
+
b
−
b
− wi = yi i = 1, ..., n
i
i




 a+ , a − , b + , b − , v i , wi , ≥ 0
Nombre de variables : 2n + 5
Nombre de contraintes : 4n + 5
5
Exercice 1.1.4
Trois types de poudre servant à propulser une fusée doivent
être mélangés pour fournir un carburant répondant à des
spécifications données :
– puissance propulsive ≥ 4, 2
– facteur corrosif ≤ 6, 4
– poids(kg)/dm3≤ 8
Pour 1dm3 de poudre :
Poudre
Puissance propulsive
Facteur corrosif
Poids (kg)
Coût
A
10
10
6
10
B
5
4
10
5
C
2
6
8
8
On a besoin de 60dm3 de poudre pour la fusée. Quel est le
coût minimal du carburant demandé ?
Déduire de ces données un problème de programmation linéaire
et l’exprimer sous forme standard.
min(10xa + 5xb + 8xc)60 sous (par dm3 de poudre)



10xa + 5xb + 2xc ≥ 4, 2






 10xa + 4xb + 6xc ≤ 6, 4



6xa + 10xb + 8xc ≤ 8





 x +x +x = 1
a
b
c
6
min 10x
+ 5xb + 8xc
 a


10xa + 5xb + 2xc − xd = 4, 2








10xa + 4xb + 6xc + xe = 6, 4



⇔
sous 
6xa + 10xb + 8xc + xf = 8





x + xb + xc = 1


 a



 x ≥ 0, i = a, b, c, d, e, f
i
7