Chapitre 8. Math´ ematiques de base
357
> optimize(f=function(x){cos(x^2)},lower=0,upper=2)
$minimum
[1] 1.772453
$objective
[1] -1
Le minimum vaut donc −1 et il est atteint en x = 1.772453.
Astuce
Le param` etre maximum=TRUE de la fonction optimize() permet de
calculer le maximum plutˆ ot que le minimum d’une fonction.
• Optimisation multidimensionnelle
Voyons maintenant comment il est possible, `
a l’aide de la fonction nlm()
con¸ cue pour des probl` emes de minimisation, de trouver le maximum d’une
fonction de deux variables, d’´ equation f (x, y) = 10
sin
√
(x−3) 2 +(y−4) 2
((x−3) 2 +(y−4) 2 ) α/2 avec α =
1.1, repr´ esent´ ee sur la figure 8.1 au moyen des instructions R suivantes :
> y <- x <- seq(-10,10,length = 30)
> f <- function(x,y,alpha=1.1) { r <- sqrt((x-3)^2+(y-4)^2)
+
return(10 * sin(r)/r^alpha) }
> z <- outer(x, y, f)
> z[is.na(z)] <- 1
> op <- par(bg = "white")
> persp(x,y,z,theta=30,phi=30,expand=0.5,
+
col="lightblue",ticktype="detailed")
x
−10
−5
0
5
10
y
−10
−5
0
5
10
z
0
5
10
Figure 8.1 – Fonction sinc modifi´ ee.
357
> optimize(f=function(x){cos(x^2)},lower=0,upper=2)
$minimum
[1] 1.772453
$objective
[1] -1
Le minimum vaut donc −1 et il est atteint en x = 1.772453.
Astuce
Le param` etre maximum=TRUE de la fonction optimize() permet de
calculer le maximum plutˆ ot que le minimum d’une fonction.
• Optimisation multidimensionnelle
Voyons maintenant comment il est possible, `
a l’aide de la fonction nlm()
con¸ cue pour des probl` emes de minimisation, de trouver le maximum d’une
fonction de deux variables, d’´ equation f (x, y) = 10
sin
√
(x−3) 2 +(y−4) 2
((x−3) 2 +(y−4) 2 ) α/2 avec α =
1.1, repr´ esent´ ee sur la figure 8.1 au moyen des instructions R suivantes :
> y <- x <- seq(-10,10,length = 30)
> f <- function(x,y,alpha=1.1) { r <- sqrt((x-3)^2+(y-4)^2)
+
return(10 * sin(r)/r^alpha) }
> z <- outer(x, y, f)
> z[is.na(z)] <- 1
> op <- par(bg = "white")
> persp(x,y,z,theta=30,phi=30,expand=0.5,
+
col="lightblue",ticktype="detailed")
x
−10
−5
0
5
10
y
−10
−5
0
5
10
z
0
5
10
Figure 8.1 – Fonction sinc modifi´ ee.
