[Ipopt-tickets] [Ipopt] #91: Ipopt in R under Linux - a bug or complilation error?

Ipopt coin-trac at coin-or.org
Thu Feb 26 10:51:11 EST 2009


#91: Ipopt in R under Linux - a bug or complilation error?
--------------------------------+-------------------------------------------
  Reporter:  anton              |       Owner:  andreasw                          
      Type:  defect             |      Status:  assigned                          
  Priority:  normal             |   Component:  Ipopt                             
   Version:  3.5 (C++ Version)  |    Severity:  normal                            
Resolution:                     |    Keywords:  R, interface, Ipopt, Linux, x86-64
--------------------------------+-------------------------------------------
Comment (by anton):

 Hi Andreas,

 Both I (the developer) and the company where I work (the owner) are
 willing to make the Ripopt code publicly available. After some revision of
 the code, I will place it somewhere on the web.

 There are two versions of Ripopt, one is for Linux, and the other one is
 for Windows. I plan to publish the version for Linux first, because it is
 simpler. The current version of Ripopt for Windows involves some tricks
 related to file and standard output. To fix the output, I changed the code
 of Journalist.cpp. I believe that any changes in the core Ipopt code are
 better avoided by any Ipopt extension aimed at public usage. I would like
 to eventually release a version of Ripopt which fits both Linux and
 Windows and is free of "dirty tricks".

 Now let me announce the main Ripopt features.
 1) Ripopt is designed to replicate the functionality of the C++ interface
 to Ipopt. Some advanced features of the C++ interface are not supported by
 Ripopt, but this may be fixed in the future.
 2) Ripopt does not extend the functionality of Ipopt; in particular, it
 does not offer automatic computation of derivatives – the user is
 responsible for providing R functions for computing not only the values of
 objective and constraint functions, but also the values of their first and
 (possibly) second derivatives.
 3) The main part of Ripopt is written in C++ and is build as a DLL; though
 this DLL can be used directly by the R user, an R wrapper is supplied for
 the user’s convenience. This additional R code ensures correct type
 conversion between R and C++, and performs a simple test of the problem
 description.
 4) Data are sent between R and Ipopt by reference; unnecessary copying is
 avoided.

 As already mentioned, I use Ripopt primarily to solve regression problems.
 For this purpose, I have developed an extension to Ripopt, which solves
 the following box-constrained nonlinear least squares problem:
 Sum{y,,i,,-f(x,,i,,,p) : i=1,…,n}^2^ -> min,,p,,,   subject to p,,L,,(x,y)
 <= p <= p,,U,,(x,y),
 where n is the number of observations, y,,i,,’s are the observations of
 the regressand (real numbers), x,,i,,’s are observations of the regressor
 (may be of an arbitrary type), p is a vector of regression parameters
 (real numbers), and f is a given real-valued function, which must be twice
 continuously differentiable with respect to p. This tool is called
 !RipoptRegression (a better name is welcome), and will be published too.

 Best, Anton

-- 
Ticket URL: <https://projects.coin-or.org/Ipopt/ticket/91#comment:4>
Ipopt <http://projects.coin-or.org/Ipopt>
Interior-point optimizer for nonlinear programs.



More information about the Ipopt-tickets mailing list