Re: [Rd] [R] How to improve the OPTIM results

2008-04-06 Thread Spencer Graves
moved to R-devel 

  What would people suggest someone do to improve the optimization 
capabilities in R?  A few ideas are mentioned below.  I just got 578 
hits from RSiteSearch(optimization, fun), and I wonder if there's a 
better way to get a reasonable overview of what's currently available in 
R -- and outside R?  My initial thought was to develop an enhanced 
version of 'optim' that would check for negative curvature (via 
indefinite Hessians), do auto-scaling (see 
http://finzi.psych.upenn.edu/R/Rhelp02a/archive/125518.html), and output 
an object of a class like 'mle' or a new class like 'optimMLE' for which 
appropriate methods could be written.  I have to often encountered 
problems with overparameterization, which could be fairly easily 
diagnosed via a singular or indefinite hessian.  It would help me, and I 
believe other users, if functions like 'optim' and 'nls' would include 
simple diagnostics like this -- rather than returning a cryptic error or 
warning message. 

  However, the comment from Hans Borchers (below) raises a related 
question:  What might be the best way to build a collaboration with 
existing optimization initiatives, possibly making R a platform of 
choice for making it easy for users to access and compare alternative 
optimization methods? 

  Thanks,
  Spencer 

Hans W Borchers wrote:
 MORE GENERAL OPTIM ISSUES

   I'm considering creating a package 'optimMLE' that would automate 
 some of this and package it with common 'methods' that would assume that 
 sum(fn(...)) was either a log(likelihood) or the negative of a 
 log(likelihood), etc.  However, before I do, I need to make more 
 progress on some of my other commitments, review RSiteSearch(optim, 
 fun) to make sure I'm not duplicating something that already exists, 
 etc.  If anyone is interested in collaborating on this, please contact 
 me off-line. 

   Hope this helps. 
   Spencer
 

 Thanks for your tips on using `optim()'. I believe `optim' is a reasonable 
 good
 implementation of numerical optimization techniques such as quasi-Newton BFGS 
 or
 conjugate gradients. Maybe methods using modern line searches or trust regions
 can follow someday.

 Everybody applying `optim' should be aware that it is a *Local Optimization*
 (LO) approach. What you describe appears to be a step towards *Global
 Optimization* (GO) in R. And indeed more and more requests in to the R-help 
 list
 are about `optim' as a tool for global optimization, not always being fully
 aware of the differences.

 I am wondering whether it would be more useful to provide one or two global
 optimization approaches to the R community. And as this is an active research
 area, there are many and with different advantages and drawbacks.

 I would like to propose IPOPT as one of he newer and more advanced methods for
 global optimization. This powerful software package is open source and 
 available
 through the COIN-OR initiative and its Web pages:

 http://www.coin-or.org/Ipopt/documentation/

 ``Ipopt (Interior Point OPTimizer, pronounced I-P-Opt) is a software 
 package 
 for large-scale nonlinear optimization. Ipopt is written in C++ and is 
 released as open source code under the Common Public License (CPL). It is
 available from the COIN-OR initiative. The code has been written by Carl
 Laird (Carnegie Mellon University) and Andreas Wachter (IBM's T.J. Watson 
 Research Center), who is the COIN project leader for Ipopt.''

 PERHAPS the COIN project would agree for IPOPT to be integrated into the open
 source project R as a package. For testing it right now there is an AMPL-based
 interface to IPOPT at the NEOS solver:

 http://neos.mcs.anl.gov/neos/solvers/nco:Ipopt/AMPL.html

 There may be other rewarding projects in the COIN-OR initiative, such as
 `SYMPHONY' for solving mixed-integer linear programs (MILP, stronger than 
 `glpk'
 and `lp-solve'), or the BONMIN open source *non-linear* mixed integer
 programming (MINLP) solver. I could imagine R to be a good platform for
 integrating some of these algorithms.

 
 Hans W. Borchers
 Control and Optimization Group
 ABB Corporate Research Germany
 [EMAIL PROTECTED]

 __
 [EMAIL PROTECTED] 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-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] How to improve the OPTIM results

2008-04-06 Thread Dirk Eddelbuettel

On 6 April 2008 at 08:37, Spencer Graves wrote:
| moved to R-devel 
[...]
|   However, the comment from Hans Borchers (below) raises a related 
| question:  What might be the best way to build a collaboration with 
| existing optimization initiatives, possibly making R a platform of 
| choice for making it easy for users to access and compare alternative 
| optimization methods? 

Are you (used in the plural) aware of Kurt's more recent advances into OR?
There are new-ish packages RSymphony, Rglpk and other things at CRAN.

Dirk

--
Three out of two people have difficulties with fractions.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] How to improve the OPTIM results

2008-04-06 Thread Gabor Grothendieck
On Sun, Apr 6, 2008 at 12:59 PM, Kurt Hornik [EMAIL PROTECTED] wrote:
  Dirk Eddelbuettel writes:

  On 6 April 2008 at 08:37, Spencer Graves wrote:
  | moved to R-devel
  [...]
  |   However, the comment from Hans Borchers (below) raises a related
  | question:  What might be the best way to build a collaboration with
  | existing optimization initiatives, possibly making R a platform of
  | choice for making it easy for users to access and compare alternative
  | optimization methods?

  Are you (used in the plural) aware of Kurt's more recent advances into
  OR?  There are new-ish packages RSymphony, Rglpk and other things at
  CRAN.

 Not only by me: there's also Rcplex and TSP and there are at least three
 more COIN-OR package interfaces in the pipeline.


It would be nice if there were a CRAN Task View to pull all this together.

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] How to improve the OPTIM results

2008-04-06 Thread Kurt Hornik
 Dirk Eddelbuettel writes:

 On 6 April 2008 at 08:37, Spencer Graves wrote:
 | moved to R-devel 
 [...]
 |   However, the comment from Hans Borchers (below) raises a related 
 | question:  What might be the best way to build a collaboration with 
 | existing optimization initiatives, possibly making R a platform of 
 | choice for making it easy for users to access and compare alternative 
 | optimization methods? 

 Are you (used in the plural) aware of Kurt's more recent advances into
 OR?  There are new-ish packages RSymphony, Rglpk and other things at
 CRAN.

Not only by me: there's also Rcplex and TSP and there are at least three
more COIN-OR package interfaces in the pipeline.

-k

__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel


Re: [Rd] [R] How to improve the OPTIM results

2008-04-06 Thread Spencer Graves
in line

Gabor Grothendieck wrote:
 On Sun, Apr 6, 2008 at 12:59 PM, Kurt Hornik [EMAIL PROTECTED] wrote:
   
 Dirk Eddelbuettel writes:
   
 On 6 April 2008 at 08:37, Spencer Graves wrote:
 | moved to R-devel
 [...]
 |   However, the comment from Hans Borchers (below) raises a related
 | question:  What might be the best way to build a collaboration with
 | existing optimization initiatives, possibly making R a platform of
 | choice for making it easy for users to access and compare alternative
 | optimization methods?
   
 Are you (used in the plural) aware of Kurt's more recent advances into
 OR?  There are new-ish packages RSymphony, Rglpk and other things at
 CRAN.
   
 Not only by me: there's also Rcplex and TSP and there are at least three
 more COIN-OR package interfaces in the pipeline.

 

 It would be nice if there were a CRAN Task View to pull all this together.
   
How about R Wiki entries also?  The enormous advantage of a Wiki is that 
anyone can make contributions, subject to moderation when things get 
extreme.  I'd like to see copies of all the CRAN Task Views ported to 
the R Wiki, with emails sent to the maintainers of all the packages 
mentioned, inviting updates, comparisons, clarifications, 
amplifications, etc.  Similarly, I'd like to see people posting 
questions to R Wiki accompanied by a post to R-Help.  Then someone else 
would edit the question with an answer.  Officially designated R Wiki 
editors could notify people whose posts seem inappropriate for whatever 
reason that their entries may be removed unless clarified, etc.  With 
the right selection of editors and a little time, I think the R Wiki 
could become the most valuable documentation available on R. 
 __
 R-devel@r-project.org mailing list
 https://stat.ethz.ch/mailman/listinfo/r-devel


__
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel