[Coin-ipopt] Re: live CD including IPOPT code

Andreas Waechter andreasw at watson.ibm.com
Wed Aug 22 09:56:15 EDT 2007


Hi James,

(I'm copying my reply to the Ipopt mailing list, which is the best place 
for questions regarding Ipopt.  It might also help other people who might 
be looking for similar information.)

> We are planning to do a computer tutorial on parameter identification for the
> systems biology community, at the upcoming ICSB conference in California.
> Since our implementation replies on IPOPT, we'd like to ask for permission to
> put together a live CD for this purpose; it wasn't clear to me if this is
> allowed for CPL licensed softwares.

First of all, I think that's great, and I'm glad to hear you are finding 
Ipopt useful!

Let me start by writing that I'm not a lawyer, so I cannot give you legal 
advise.  I can only tell you my personal, non-binding assessment of the 
situation; if you want to know the exact legal situation, you need to talk 
to a lawyer.

However, having said that, here is what I think:

Since Ipopt is open source software available under the CPL, there is no 
problem distributing it in either in source code or object code form, as 
long as you adhere to the "Requirements" put forth in the CPL (see section 
3 in http://www.opensource.org/licenses/cpl1.0.php).

But you need to keep in mind that Ipopt relies on third-party code, which 
is not necessarily open source (ASL, Blas, Lapack, and a linear solver), 
and which will have to be distributed on your CD as well in order for 
Ipopt to work.

I think there is no problem to include ASL, Blas, or Lapack into something 
you distribute (many people have done this in the past in other numerical 
software) - but have a look at the license for the particular version you 
are going to use.

It is more tricky for the linear solver.  The only solver that is 
currently interfaced with Ipopt and does allow free redistribution is the 
MUMPS linear solver.  According to the MUMPS website (please read 
http://graal.ens-lyon.fr/MUMPS/avail.html), MUMPS is public domain, so you 
can distribute it, also as object code compiled into Ipopt.

Please note that based on some preliminary comparison, the linear solver 
MA27 from the Harwell Subroutine Library (HSL) seems to perform somewhat 
faster than MUMPS for small to medium-sized problems, but I think both 
solvers are pretty much equally robust.  However, if you want to 
distribute IPOPT to others, you currently have no choice but to use MUMPS 
(or to buy a license for HSL).  There are other linear solvers, namely 
Pardiso and WSMP, that are interfaced with Ipopt, but those are mainly for 
large to very large problems.

In summary, yes, I think you can (and should! ;-) ) include Ipopt on your 
live CD, but make sure you are using MUMPS as the linear solver.

Finally (addressing also anybody else using Ipopt): It would be really 
great if you could add an entry at the Ipopt "Success Stories" wiki page, 
describing what you use Ipopt for... (see 
https://projects.coin-or.org/Ipopt/wiki/SuccessStories).  Since Ipopt is 
open source, there is no reward for all the work we put into it except for 
acknowledgement of where the software is useful (and citations of the 
appropriate Ipopt journal publication.)  Thanks!!!!

I hope this helps,

Andreas




More information about the Coin-ipopt mailing list