Re: [R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
Ben Bolker bbolker at gmail.com writes: Ted.Harding at wlandres.net writes: In addition to these options, there is also a derivative-free box-constrained optimizer (bobyqa) in the 'minqa' package (and in an optim-like wrapper via the optimx package), and a box-constrained Nelder-Mead optimizer in the development (r-forge) version of lme4, which is based on the NLopt optimization library (also accessible via the nloptr package). I could add another Nelder-Mead implementation in package 'dfoptim'. It comes in pure R and is still quite efficient, based on Kelley's well-known book code. It exists in unconstrained and box-constraint versions. The optimization world in R is by now really scattered across many different package with sometimes 'strange' names. Some of the packages have not yet made it from R-Forge to CRAN. Unfortunately, the Optimization task view is not of much help anymore in this shattered world. We will get a lot more of these questions on R-help if we do not come up with a solution to this problem, for instance more up-to-date optimization functions in R base, a recommened package for optimization, or e.g. an optimization guide as a kind of global vignette. Hans Werner __ 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.
Re: [R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
Thanks for this good idea ! Arnaud 2012/5/1 Ted Harding ted.hard...@wlandres.net On 01-May-2012 19:58:41 Arnaud Mosnier wrote: Dear UseRs, Is there a way to define the lower-upper bounds for parameters fitted by optim using the Nelder-Mead method ? Thanks, Arnaud The Nelder-Mead method does not provide built-in capability to set bounds on the range of paramaters. However, you can achieve it by hand by re-defining the function being minimised, so that it tests whether an out-of-range parameter parameter value is being used. If not out-of-range, then return the standard value of the function. If out-of range, then return a very large value. Nelder-Mead will very happily bounce off high walls of this kind, and if the minimum of the function is at the wall will happily converge as close to it as you please. Hoping this helps, Ted. - E-Mail: (Ted Harding) ted.hard...@wlandres.net Date: 01-May-2012 Time: 22:39:15 This message was sent by XFMail - [[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.
[R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
Dear UseRs, Is there a way to define the lower-upper bounds for parameters fitted by optim using the Nelder-Mead method ? Thanks, Arnaud [[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.
Re: [R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
On Wed, May 2, 2012 at 7:58 AM, Arnaud Mosnier a.mosn...@gmail.com wrote: Dear UseRs, Is there a way to define the lower-upper bounds for parameters fitted by optim using the Nelder-Mead method ? It depends a bit on whether it's plausible that the solution is on the boundary. If not, simply returning Inf for values outside the range will work. -thomas -- Thomas Lumley Professor of Biostatistics University of Auckland __ 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.
Re: [R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
On 01-May-2012 19:58:41 Arnaud Mosnier wrote: Dear UseRs, Is there a way to define the lower-upper bounds for parameters fitted by optim using the Nelder-Mead method ? Thanks, Arnaud The Nelder-Mead method does not provide built-in capability to set bounds on the range of paramaters. However, you can achieve it by hand by re-defining the function being minimised, so that it tests whether an out-of-range parameter parameter value is being used. If not out-of-range, then return the standard value of the function. If out-of range, then return a very large value. Nelder-Mead will very happily bounce off high walls of this kind, and if the minimum of the function is at the wall will happily converge as close to it as you please. Hoping this helps, Ted. - E-Mail: (Ted Harding) ted.hard...@wlandres.net Date: 01-May-2012 Time: 22:39:15 This message was sent by XFMail __ 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.
Re: [R] Define lower-upper bound for parameters in Optim using Nelder-Mead method
Ted.Harding at wlandres.net writes: On 01-May-2012 19:58:41 Arnaud Mosnier wrote: Dear UseRs, Is there a way to define the lower-upper bounds for parameters fitted by optim using the Nelder-Mead method ? Thanks, Arnaud The Nelder-Mead method does not provide built-in capability to set bounds on the range of paramaters. However, you can achieve it by hand by re-defining the function being minimised, so that it tests whether an out-of-range parameter parameter value is being used. If not out-of-range, then return the standard value of the function. If out-of range, then return a very large value. Nelder-Mead will very happily bounce off high walls of this kind, and if the minimum of the function is at the wall will happily converge as close to it as you please. In addition to these options, there is also a derivative-free box-constrained optimizer (bobyqa) in the 'minqa' package (and in an optim-like wrapper via the optimx package), and a box-constrained Nelder-Mead optimizer in the development (r-forge) version of lme4, which is based on the NLopt optimization library (also accessible via the nloptr package). __ 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.