tp5
DESCRIPTION
TP5TRANSCRIPT
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
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
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.
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).
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.
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).
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
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.
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
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.
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
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.
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.
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
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.