[CppAD] cppad-2013 ...

Brad Bell bradbell at seanet.com
Mon Jan 7 08:47:18 EST 2013


Version 2013 of cppad is now available.  Here is the first release for 
the corresponding stable version.
http://www.coin-or.org/download/source/CppAD/cppad-20130000.0.epl.tgz
http://www.coin-or.org/download/source/CppAD/cppad-20130000.0.gpl.tgz
The 2013 stable version will only get bug fixes from now on. The 2012 
stable version will no longer get any such updates.

A few of the significant changes during 2012 are mentioned below. Here 
is a more complete list of the changes:
     http://www.coin-or.org/CppAD/Doc/whats_new_12.xml

One significant change is the conversion from the auto-tools to using 
cmake for testing and installing CppAD, This makes CppAD easier to 
install on Windows and MAC machines; see the new instructions at
     http://www.coin-or.org/CppAD/Doc/install.xml
Note that the old Unix install instructions have been deprecated, but 
are still supported; see
     http://www.coin-or.org/CppAD/Doc/installunix.xml

Another important change is the interface between the Eigen linear 
algebra package and CppAD; see
     http://www.coin-or.org/CppAD/Doc/cppad_eigen.hpp.xml

Another is the new sparse Jacobian and Hessian calculations and 
interfaces; see
     http://www.coin-or.org/CppAD/Doc/sparse_jacobian.xml
     http://www.coin-or.org/CppAD/Doc/sparse_hessian.xml
These allow for more caching of information and reduction of work.

Another significant change is the new interface to the Ipopt optimizer, 
ipopt::solve; see
     http://www.coin-or.org/CppAD/Doc/ipopt_solve.xml
ipopt::solve makes use of the new sparse Jacobian and Hessian 
calculations. This makes the interface much simpler to use and faster 
than the old cppad_ipopt_nlp interface
     http://www.coin-or.org/CppAD/Doc/cppad_ipopt_nlp.xml

Here one speed comparison between cppad_ipopt_nlp and ipopt::solve when 
used to implement the program
http://moby.ihme.washington.edu/bradbell/dismod4/
The results were the same. Below are the times reported by Ipopt (where 
NDEBUG and -O2 were specified during compile time):
cppad_ipopt_nlp
Total CPU secs in IPOPT (w/o function evaluations)   =      0.606
Total CPU secs in NLP function evaluations           =     32.287
CppAD::ipopt::solve
Total CPU secs in IPOPT (w/o function evaluations)   =      0.465
Total CPU secs in NLP function evaluations           =      4.795









More information about the CppAD mailing list