Skip to content

1 dimensional optimization with local minima

2 messages · Jeroen Ooms, Ravi Varadhan

#
I am using numerical optimization to fit a 1 parameter model, in which the
input parameter is bounded. I am currently using optimize(), however, the
problem turns out to have local minima, and optimize does not always seem to
find the global minimum. I could to write a wrapping function that tries
multiple intervals or starting values, but I would prefer a package that has
built-in methods to make it more robust against local minima.

I checked the CRAN Task View for Optimization, however there seem to be a
lot of alternatives, and not being an optimization expert, I could use some
advice. What could be an appropriate package or function for one-dimensional
bounded optimization, that includes some protection against local minima? 



-----
Jeroen Ooms * Dept. of Methodology and Statistics * Utrecht University 

Visit  http://www.jeroenooms.com www.jeroenooms.com  to explore some of my
current projects.
#
Hi,

One approach is to use the `multiStart' function in my "BB" package.  You have to provide a matrix of starting values for this. 

Here is a simple, one-dimensional optimization problem with multiple peaks and valleys.  I show how to find "all" the peaks in the bounded interval [0, 1].

myfn <- function(x) {
exp(-k1 * x) * sin(2*pi*k2*x)
}

k1 <- 0.5

k2 <- 5

x <- seq(0, 1, length=1000)

plot(x, fn(x), type="l")

require(BB)

p0mat <- matrix(runif(100), 100, 1)  # random starting values

ans <- multiStart(par=p0mat, fn=myfn, lower=0, upper=1, action="optimize", control=list(maximize=TRUE))

pconv <- ans$par[ans$conv]  # converged solutions

rp <- !duplicated(round(pconv, 3))  # unique, converged solutions

sort(pconv[rp])  # lists all the local maxima


Hope this helps,
Ravi.

____________________________________________________________________

Ravi Varadhan, Ph.D.
Assistant Professor,
Division of Geriatric Medicine and Gerontology
School of Medicine
Johns Hopkins University

Ph. (410) 502-2619
email: rvaradhan at jhmi.edu


----- Original Message -----
From: Jeroen Ooms <jeroen.ooms at stat.ucla.edu>
Date: Tuesday, November 3, 2009 2:27 am
Subject: [R]  1 dimensional optimization with local minima
To: r-help at r-project.org