Dear all,

I'm optimizing a relatively simple function. Using optimize the optimized 
parameter value is worse than the starting.
why?

f<-function(delta,P,U){
    minimiz<-P+delta*U
    x<-minimiz[1]
    y<-minimiz[2]
    z<-100*(y-x^2)^2+(1-x)^2
    return(z)
}
  
result<-optimize(f, interval=c(-10, 10), P=c(0.99,1.01), U=c(1,0))
result

Output:

> result<-optimize(f, interval=c(-10, 10), P=c(0.99,1.01), U=c(1,0))
> result
$minimum
[1] -1.990015

$objective
[1] 4.01

Function Value at Starting Point with free parameter=0:

> f(0,c(0.99,1.01),c(1,0))
[1] 0.089501


It seems as if optimize doesn't check the whole interval.

> result<-optimize(f, interval=c(-1, 10), P=c(0.99,1.01), U=c(1,0))
> result
$minimum
[1] 0.01497394

$objective
[1] 2.481504e-05


Changing the lower interval value leads to the result I am looking for. How do 
I find this result when I have no idea where the optimal values lies and want 
to look in an interval that is as wide as possible?
any ideas?

Michael


                                          
        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to