[R] Problem with optim (method L-BFGS-B)

Isabelle ZABALZA isabelle.zabalza-mezghani at ifp.fr
Thu Nov 8 17:04:47 CET 2001


Hello,

I've just a little problem using the function optim.
Here is the function I want to optimize :

test_function(x){(exp(-0.06751 + 0.25473*((x[1]-350)/150) +
0.04455*((x[2]-40)/20) + 0.09399*((x[3]-400)/100) -
0.17238*((x[4]-250)/50)-
0.45984*((x[5]-550)/150)-0.39508*((x[1]-350)/150)* ((x[1]-350)/150) -
0.05116*((x[2]-40)/20)* ((x[2]-40)/20) -
0.27735*((x[3]-400)/100)*((x[3]-400)/100) - 0.12902*((x[4]-250)/50)*
((x[4]-250)/50)-1.07812*((x[5]-550)/150)* ((x[5]-550)/150) -
0.14650*((x[1]-350)/150)*((x[2]-40)/20) - 0.39647*((x[1]-350)/150)*
((x[3]-400)/100) + 0.09800*((x[1]-350)/150)* ((x[4]-250)/50) +
1.01607*((x[1]-350)/150)*((x[5]-550)/150) -0.04202*((x[2]-40)/20)*
((x[3]-400)/100) + 0.05057*((x[2]-40)/20)* ((x[4]-250)/50) +
0.17933*((x[2]-40)/20)*((x[5]-550)/150) + 0.10944*((x[3]-400)/100)*
((x[4]-250)/50) + 0.62105*((x[3]-400)/100)* ((x[5]-550)/150) -
0.22426*((x[4]-250)/50)*((x[5]-550)/150))/219741978624 )}

Then I run the following command, and I get a pretty good result (I know
approximatively the theoritical maximum)

 optim(c(200,60,500,300,700),test,control=list(fnscale=-1))$par
[1] 398.17520  31.34863 372.17182 217.30874 533.49458

Fortunately, all the optimal values fall in their range of possible
value. But to be rigourous, I should perform a box-constrained
optimization.
Then, I do so with the following command  (in fixing the lower and upper
args and not):

 optim(c(200,60,500,300,700),test,control=list(fnscale=-1),method="L-BFGS-B",lower=c(200,20,300,200,400),upper=c(500,60,500,300,700))$par

[1] 200  60 500 300 700

 optim(c(200,60,500,300,700),test,control=list(fnscale=-1),method="L-BFGS-B")$par

[1] 200.00000  60.00007 500.00000 300.00000 700.00000

Here the result I get is wrong, and in fact it is more or less the
initial guess I 've set.

Can someone explain me what is going wrong with the method "L-BFGS-B"

Thanks in advance

Isabelle Zabalza-Mezghani



--
Isabelle Zabalza-Mezghani          Tel : 01 47 52 61 99
Institut Français du Pétrole       E-mail : isabelle.zabalza-mezghani at ifp.fr
1-4 Av. Bois Preau - Bat Lauriers
92852 Rueil Malmaison Cedex, France


-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://stat.ethz.ch/pipermail/r-help/attachments/20011108/89539955/attachment.html


More information about the R-help mailing list