tp5

15
TP5 Optimisation GIMEL Florent Avril 2015 Table des matières 1 Optimisation sans contrainte 1 1.1 Fonction quadratique .............................. 1 1.1.1 Étude théorique préliminaire ..................... 1 1.1.2 Étude numérique ............................ 1 1.2 "Banane" de Rosenbrock ............................ 3 1.2.1 Étude théorique ............................. 3 1.2.2 Étude numérique ............................ 4 2 Optimisation avec contrainte 6 2.1 Contrainte d’égalité linéaire .......................... 7 2.1.1 Étude théorique préliminaire ..................... 7 2.1.2 Étude numérique ............................ 7 2.2 Contrainte d’égalité non linéaire ........................ 9 2.2.1 Étude théorique préliminaire ..................... 9 2.2.2 Étude numérique ............................ 9 3 Approximation aux moindres carrés 10 3.1 Étude théorique préliminaire ......................... 10 3.2 Étude numérique ................................ 11 1

Upload: lambargo

Post on 11-Jan-2016

2 views

Category:

Documents


0 download

DESCRIPTION

TP5

TRANSCRIPT

Page 1: TP5

TP5

Optimisation

GIMEL Florent

Avril 2015

Table des matières

1 Optimisation sans contrainte 1

1.1 Fonction quadratique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1.1 Étude théorique préliminaire . . . . . . . . . . . . . . . . . . . . . 11.1.2 Étude numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 "Banane" de Rosenbrock . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.1 Étude théorique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.2 Étude numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2 Optimisation avec contrainte 6

2.1 Contrainte d’égalité linéaire . . . . . . . . . . . . . . . . . . . . . . . . . . 72.1.1 Étude théorique préliminaire . . . . . . . . . . . . . . . . . . . . . 72.1.2 Étude numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Contrainte d’égalité non linéaire . . . . . . . . . . . . . . . . . . . . . . . . 92.2.1 Étude théorique préliminaire . . . . . . . . . . . . . . . . . . . . . 92.2.2 Étude numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

3 Approximation aux moindres carrés 10

3.1 Étude théorique préliminaire . . . . . . . . . . . . . . . . . . . . . . . . . 103.2 Étude numérique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1

Page 2: TP5

1. Optimisation sans contrainte

1.1 Fonction quadratique

Considérons le problème d’optimisation

infx∈Rn

J(x), (1.1)

où J est une fonction quadratique définie par

J(x) :=1

2< Ax, x > − < b, x >,

avec A ∈ Mn(R) et b ∈ Rn.

Prenons n = 3, A =

7 4 34 6 23 2 5

et b =

−111

.

1.1.1 Étude théorique préliminaire

1. Remarquons tout de suite que J est C∞. On calcule ∇J(x) = Ax−b, puis ∇2J(x) =A.Ainsi, pour tout x, h ∈ R

n, on a < ∇2J(x)h, h >=< Ah, h >≥ λm‖h‖2, où λm estla plus petite valeur propre de A car A est symétrique.On a λm > 0 d’après sage donc J est elliptique.

2. Si J admet un minimum x∗, il vérifie nécessairement ∇J(x∗) = 0, i.e. Ax∗ = b.

On résoud le système facilement avec x∗ =

− 5

167

16

− 3

16

=

−0.31250.4375−0.1875

.

1.1.2 Étude numérique

Minimum Scilab

1. La méthode fminsearch nous donne Xe =

−0.31249130.4374649−0.1874769

avec un temps de

calcul de 6.99s.

1

Page 3: TP5

CHAPITRE 1. OPTIMISATION SANS CONTRAINTE 2

Méthode de relaxation

1. En prenant le vecteur nul comme valeur initiale avec une erreur maximale de l’ordre

de 10−12, la fonction met 13.313s pour nous donner Xe =

−0.31248210.4374950−0.1875269

en 12

itérations.

2. En prenant le vecteur nul comme valeur initiale avec une erreur maximale de l’ordre

de 10−12, la fonction met 3.35s pour nous donner Xe =

−0.31250010.4375001−0.1875000

en 15

itérations.

3. Le programme utilisant le fait que la fonction est quadratique est évidemmentbeaucoup plus rapide.

Méthode du gradient à pas constant

1. En prenant le vecteur nul comme valeur initiale avec une erreur maximale del’ordre de 10−12 et un pas constant de 0.1, la fonction met 3.36s pour nous donner

Xe =

−0.31249920.4374994−0.1875004

en 51 itérations.

2. Le pas optimal de convergence est 2

λm+λMoù λm et λM sont respectivement la plus

petite et la plus grande valeur propre de A, i.e. 0.1373834.

Pour avoir convergence, le pas doit être strictement inférieur à 2

λM= 0.1627576.

3. Quand le pas est de l’ordre de grandeur inférieur ou égal à 10−4, la convergence estsi lente qu’il faut un nombre d’itérations de l’ordre de 104 et plus : pour le pas de10−4, la fonction demande 36719 itérations.

Méthode du gradient à pas optimal

1.

2. En prenant le vecteur nul comme valeur initiale avec une erreur maximale de l’ordre

de 10−12, la fonction met 2.633s pour nous donner Xe =

−0.31249980.4374997−0.1875002

en 1

itération.

3.

Page 4: TP5

CHAPITRE 1. OPTIMISATION SANS CONTRAINTE 3

Comparatif

PPP

PPP

PPP

Méthodex0

000

101010

−10−10−10

−100100−100

Relaxation 15 it, 3.13s 19 it, 1.152s 19 it, 7.401s 21 it, 1.33sGradient pas= 0.1 51 it, 3.36s 57 it, 1.769s 58 it, 1.75s 72 it, 0.837sGradient optimal 1 it, 2.633s 1 it, 1.102s 1 it, 1.281s 1 it, 0.788s

Table 1.1 – Comparatif

La méthode qui engendre le moins d’itérations est la méthode du gradient optimal.

1.2 "Banane" de Rosenbrock

Considérons la fonction

J(x, y) := (x− 1)2 + 10(x2 − y)2

.

1.2.1 Étude théorique

1. Déterminons la limite de J(x, y) quand x2 + y2 tend vers +∞. On a (x2 − y)2 =x4 − 2x2y + y2, et en passant en coordonnées polaires, on obtient (x2 − y)2 =ρ2(ρ4 cos4 θ−2ρ cos2 θ sin θ+sin2 θ) = ρ2(ρ2(1−sin2 θ)2−2ρ(1−sin2 θ) sin θ+sin2 θ).Si sin2 θ = 1, on a alors (x2−y)2 = ρ2 tend vers +∞ quand ρ tend vers +∞ et sinon,(x2−y)2 tend également vers +∞ puisque ρ2(1−sin2 θ)2−2ρ(1−sin2 θ) sin θ+sin2 θest équivalent à l’infini à ρ4. Aussi, J est coercive.

On a ∇2J(x, y) =

(

22− 40y + 120x2 −40x−40x 20

)

. Avec Sage, on trouve que pour

h 6= 0 et k ∈ R, en posant x = k3h

et y = 66h2+20k2+3

120h2 , on a < ∇2J(x, y)(h, k), (h, k) >=−1. Donc J ne peut pas être convexe.

2. J étant coercive, elle admet au moins un minimum sur R2. De plus, tout minimumvérifie ∇J(x∗, y∗) = 0, i.e. 2(x∗ − 1) + 40x∗(x

2∗ − y∗) = 0 et −20(x2∗ − y∗) = 0, d’où

y∗ = x2∗ et x∗ = 1. Donc (1, 1) est le seul minimum possible de J . Ainsi, J admetun unique minimum, atteint en (1, 1).

Page 5: TP5

CHAPITRE 1. OPTIMISATION SANS CONTRAINTE 4

1.2.2 Étude numérique

Minimum Scilab

La méthode fminsearch nous donne Xe = (1.0000123, 1.0000211) avec un tempsde calcul de 3.596s.

Visualisation

Figure 1.1 – Fonction J sur [−2, 2]2

0

−2

2

−1

10

−2

2

−1

1 0

200

400

100

300

X

Y

Z

1.

Page 6: TP5

CHAPITRE 1. OPTIMISATION SANS CONTRAINTE 5

Figure 1.2 – 25 premières lignes de niveau de J sur [−2, 2]2

0−2 2−1 1−1.5 −0.5 0.5 1.5

0

−2

2

−1

1

−1.5

−0.5

0.5

1.5

14.2

14.2

28.4

28.4

42.6 42.6 56.8

56.8

71 71

85.2 85.2

99.3 99.3 114

114

128 128 142

142

156 156 170 170 185 185

199 213 227 241

255 270 284

298 312 326 341 355

Figure 1.3 – 200 premières lignes de niveau de J sur [−2, 2]2

0−2 2−1 1−1.5 −0.5 0.5 1.5

0

−2

2

−1

1

−1.5

−0.5

0.5

1.5

1.84

3.67

5.51

7.34

7.34

9.18

9.18

11

11

12.9

12.9

14.7

14.7

16.5

16.5

18.4

18.4

20.2

20.2

22

22

23.9

23.9

25.7

25.7

27.5

27.5

29.4

29.4

31.2

31.2

33

33 34.9 36.7 38.6 40.4

42.2 42.2 44.1 44.1 45.9 45.9 47.7

47.7 49.6

49.6 51.4 51.4 53.2

53.2 55.1

55.1 56.9

56.9 58.7

58.7 60.6

60.6 62.4

62.4 64.3

64.3 66.1

66.1 67.9

67.9 69.8

69.8 71.6

71.6 73.4

73.4 75.3 75.3 77.1 77.1 78.9 78.9 80.8

80.8 82.6

82.6 84.4 84.4 86.3

86.3 88.1 88.1 90

90 91.8 91.8 93.6 93.6 95.5

95.5 97.3 97.3 99.1 99.1 101 101 103 103 105

105 106 106 108 108 110 110 112 112 114

114 116 116 117

117 119 119 121 121 123 123 125

125 127 127 129 129 130 130 132 132 134 134 136 136 138 138 140 140 141 141 143 143 145 145 147

147 149

149 151 151 152 152 154 154 156 156 158 158 160 160 162 162 163 163 165 165 167 167 169 169 171 171 173

173 174 174 176 176 178

178 180 180 182 182 184 184 185 185 187 187 189 189 191 191 193 193 195 195 196 196 198 200 200 202 204 206 207 209 211 213 215 217 218 220 222 224 226 228 229 231 233 235 237 239 240 242 244 246 248 250 252 253 255 257 259 261 263 264 266 268 270 272 274 275 277 279 281 283 285 286 288 290 292 294 296 297 299 301 303 305 307 308 310 312 314 316 318 319 321 323 325 327 329 330 332 334 336 338 340 341 343 345 347 349 351 352 354 356 358 360 362 363 365 367

2.

3. Les lignes de niveau sont très peu denses au voisinage de (1, 1).

Page 7: TP5

Méthodes numériques

1. La méthode du gradient à pas constant demande un pas de l’ordre de 10−2 pourconverger, mais 200 itérations sont insuffisantes. Pour un pas de 0.01, il faut 2576itérations et pour un pas de 0.001, il faut 22813 itérations.

2.

Comparatif

PPP

PPPP

PPMéthode

x0(

01

) (

11

) (

00

) (

10

)

Relaxation 3 it, 4.017s 2 it, 4.945s 190 it, 83.84s 190 it, 89.84sGradient pas= 0.02 1233 it, 4.49s 2 it, 1.91s 1253 it, 2.43s 1217 it, 2.215sGradient optimal it, .s it, .s it, .s it, .s

Table 1.2 – Comparatif

2. Optimisation avec contrainte

Considérons le problème d’optimisation

infx∈O

J(x), (2.1)

où J est une fonction quadratique définie par

J(x) :=1

2< Ax, x > − < b, x >,

avec A ∈ Mn(R) et b ∈ Rn.L’espace de résolution O est défini par

O := {x ∈ Rn | θk(x) = 0, k ∈ J0,mK},

où les θk : Rn → R définissent les contraintes.

Prenons n = 3, A =

3 −1 2−1 3 12 1 4

et b =

−34−2

.

6

Page 8: TP5

CHAPITRE 2. OPTIMISATION AVEC CONTRAINTE 7

2.1 Contrainte d’égalité linéaire

2.1.1 Étude théorique préliminaire

On considère la contrainte x1 + x2 − x3 = 1.

1. Les contraintes sont donc définies par l’unique fonction θ((x1, x2, x3)) = x1 + x2 −x3 − 1.

2. La méthode des mutliplicateurs de Lagrange nous affirme que s’il existe un mini-mum, il est atteint en un point (x, y, z) tel que le gradient de J + λθ s’y annule, λétant une constante à déterminer.

On a donc trois équations par ∇(J + λθ)(x, y, z) =

3x− y + 2z + 3 + λ

−x+ 3y + z − 4 + λ

2x+ y + 4z + 2− λ

=

000

, de plus on a également l’équation x+ y − z = 1.

On arrive au résultat (x, y, z, λ) = (−0.5238095, 1.1269841,−0.3968254, 0.4920635).

3. Le projecteur orthogonal Π sur le plan x1+x2−x3 = 1 envoie tout vecteur (x, y, z)

sur le vecteur (x′, y,′ , z′) tel que x′ + y′ − z′ = 1 et,

1−10

et

101

étant

de vecteurs linéairement indépendants du dit plan, (x − x′) − (y − y′) = 0 et

(x− x′) + (z − z′) = 0. On en déduit Π(x, y, z) =

2x−y+z+1

32y−x+z+1

3x+y+2z−1

3

.

2.1.2 Étude numérique

Minimum Scilab

1.

2. Avec la fonction fminsearch, nous obtenons le résultat Xf =

−0.5238071.1269789−0.3968281

.

Méthode de relaxation

Méthode de gradient projeté à pas constant

1. Le pas optimal de convergence est 2

λm+λMoù λm et λM sont respectivement la plus

petite et la plus grande valeur propre de A, i.e. 0.3232436.Pour avoir convergence, le pas doit être strictement inférieur à 2

λM= 0.3586946.

Page 9: TP5

CHAPITRE 2. OPTIMISATION AVEC CONTRAINTE 8

❍❍❍

❍❍❍

pasx0

000

111

100

001

0.35 439 it, 1.815s 439 it, 3.358s 439 it, 2.263s 439 it, 1.599s0.1 55 it, 1.856s 55 it, 1.952s 55 it, 1.593s 55 it, 1.664s0.01 591 it, 2.432s 596 it, 1.96s 591 it, 1.999s 591 it, 2.048s

Table 2.1 – Comparatif

2. Le nombre d’itérations et la durée du calcul dépendent très peu du point d’origineet beaucoup plus du pas choisi.

Newton

1. On peut écrire le problème sous la forme F (X) = 0 où F : R4 → R qui à (x, y, z, λ)

associe la norme du vecteur colonne

3x− y + 2z + 3 + λ

−x+ 3y + z − 4 + λ

2x+ y + 4z + 2− λ

x+ y − z − 1

.

2. La méthode de Newton met 1 itération et 2.776s pour nous donner

−0.52380951.1269841−0.39682540.4920635

en utilisant comme vecteur initiale le vecteur nul.

3. La fonction solve met 4.091s pour nous donner

−0.52380951.1269841−0.39682540.4920635

. La méthode de

Newton est plus rapide.

Comparatif

PPPP

PPP

PPMéthode

x0

000

111

100

001

Gradient pas=0.35 439 it, 1.815s 439 it, 3.358s 439 it, 2.263s 439 it, 1.599sGradient pas=0.1 55 it, 1.856s 55 it, 1.952s 55 it, 1.593s 55 it, 1.664sGradient pas=0.01 591 it, 2.432s 596 it, 1.96s 591 it, 1.999s 591 it, 2.048s

Newton 1 it, 2.776s 1 it, 2.479s 1 it, 2.441s 1 it, 1.864s

Table 2.2 – Comparatif

Page 10: TP5

CHAPITRE 2. OPTIMISATION AVEC CONTRAINTE 9

La méthode qui demande le moins d’itérations pour un temps assez faible est laméthode de Newton.

2.2 Contrainte d’égalité non linéaire

2.2.1 Étude théorique préliminaire

1. Les contraintes sont donc définies par l’unique fonction θ((x1, x2, x3)) = x21 + x22 +x23 − 1.

2. En utilisant la fonction fsolve, on trouve le multiplicateur de Lagrange λ = 0.8665121

et on obtient que le minimum est atteint pour

−0.27927340.8713552−0.4034186

.

2.2.2 Étude numérique

Méthode Scilab

Méthodes de relaxation et de gradient

Newton

1. On peut écrire le problème sous la forme F (X) = 0 où F : R4 → R qui à (x, y, z, λ)

associe la norme du vecteur colonne

3x− y + 2z + 3 + 2λx−x+ 3y + z − 4 + 2λy2x+ y + 4z + 2 + 2λz

x2 + y2 + z2 − 1

.

2. La méthode de Newton met 1 itération et 1.471s pour nous donner

−0.27927340.8713552−0.40341860.8665121

en utilisant comme vecteur initiale le vecteur nul.

3. La fonction solve met 2.633s pour nous donner

−0.27927340.8713552−0.40341860.8665121

. La méthode de

Newton est plus rapide.

Page 11: TP5

Comparatif

PP

PPPP

PPP

Méthodex0

000

111

100

001

Newton 1 it, 1.471s 1 it, 1.303s 1 it, 1.232s 1 it, 1.318s

Table 2.3 – Comparatif

3. Approximation aux moindres

carrés

Soient un intervalle [a, b] et une fonction F continue sur [a, b]. Soient n un entier et(xk)0≤k≤N une subdivision de [a, b] avec N ≥ n.

Définissons pour deux fonctions f et g continues sur [a, b],

E(f − g) :=

0≤k≤N

(f(xk)− g(xk))2.

On cherche à résoudre le problème d’optimisation

minx∈Pn

E(f − p).

3.1 Étude théorique préliminaire

1. Soient f , g et h trois polynômes de PN .

On a évidemment E(f − g) ≥ 0 et E(f − g) = E(g − f).

Alors E(f − g) = 0 ssi pour tout 0 ≤ k ≤ N , (f − g)(xk) = 0, or f − g étant dedegré inférieur à N et s’annulant en N + 1 points, f − g = 0. D’où E(f − g) = 0ssi f = g.

Comme d : (RN+1)2 → R+ qui à deux N +1-uplets X et Y associe la norme eucli-dienne de X−Y est une distance, E(f−g) = d((f(x0), · · · , f(xN )), (g(x0), · · · , g(xN ))) ≤d((f(x0), · · · , f(xN )), (h(x0), · · · , h(xN )))+d((h(x0), · · · , h(xN )), (g(x0), · · · , g(xN ))) =E(f − h) + E(h− g).

Aussi E est une distance sur PN . En particulier, cela reste vrai sur Pn.

10

Page 12: TP5

CHAPITRE 3. APPROXIMATION AUX MOINDRES CARRÉS 11

2. Le problème d’optimisation se réécrit

mina∈Rn+1

‖Aa− d‖2,

où d =

f(x0)...

f(xn)

et A =

1 x0 · · · xn01 x1 · · · xn1...

.... . .

...1 xN · · · xnN

, appelée matrice de Vander-

monde.

3. On a ‖Aa− d‖2 = (Aa− d)t(Aa− d) qui a pour gradient 2At(Aa− d) = 2(AtAa−Atd). On obtient alors pour a minimisant ‖Aa− d‖2 l’équation

AtAa = Atd.

Page 13: TP5

CHAPITRE 3. APPROXIMATION AUX MOINDRES CARRÉS 12

3.2 Étude numérique

Figure 3.1 – Approximation de sin(x) sur [−2π, 2π]

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=5, N=20

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=10, N=20

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=20, N=20

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=5, N=50

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=10, N=50

0−8 −6 −4 −2 2 4 6 8

0

−1

1

sin(x) pour n=20, N=50

1.

Page 14: TP5

CHAPITRE 3. APPROXIMATION AUX MOINDRES CARRÉS 13

Figure 3.2 – Approximation de ln(1 + x) sur [0, 2]

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=5, N=20

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=10, N=20

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=20, N=20

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=5, N=50

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=10, N=50

0 210.5 1.5

0

1

0.5

ln(1+x) pour n=20, N=50

Page 15: TP5

CHAPITRE 3. APPROXIMATION AUX MOINDRES CARRÉS 14

Figure 3.3 – Approximation de 1

1+x2 sur [−5, 5]

0−6 −4 −2 2 4 6

0e00

2e−01

4e−01

6e−01

8e−01

1/1+x^2 pour n=N=5

0−6 −4 −2 2 4 6

0e00

2e−01

4e−01

6e−01

8e−01

1/1+x^2 pour n=N=10

0−6 −4 −2 2 4 6

0e00

2e−01

4e−01

6e−01

8e−01

1/1+x^2 pour n=N=25

0−6 −4 −2 2 4 6

0e00

2e−01

4e−01

6e−01

8e−01

1/1+x^2 pour n=N=50

2.

Quand n et N augmentent, le polynôme stagne avec un plateau nul là où la fonctionatteint son maximum.