[Ipopt] How to "explode" a model with variable on multiple dimensions..

Andreas Waechter awaechter.iems at gmail.com
Wed Jun 27 13:00:59 EDT 2012


Hi Antonello,

A few comments:

1. If you want to use ADOL-C, the ADOL-C package already has examples 
how to use ADOL-C together with Ipopt, so I'd suggest to look at that 
before writing any ADOL-C related code 
(ADOL-C/examples/additional_examples/ipopt).

2. If you want to go to a C++ implementation because the problems are 
getting too big for GAMS to handle, they are probably also too big for 
ADOL-C to handle it efficiently.  So, you might end up having to code 
the derivative code yourself.  Depending on how nonlinear your model is, 
this might not be too painful. In any case, the derivative checking in 
Ipopt might be very handy here (and if possible, start with small 
examples!).

Regards,

Andreas Waechter

Associate Professor
Department of Industrial Engineering and Management Sciences
McCormick School of Engineering
Northwestern University
Evanston, IL 60208
USA
http://users.iems.northwestern.edu/~andreasw/

On 06/27/2012 02:47 AM, Antonello Lobianco wrote:
> Hi, thanks for your quick answer.
> About specifying the derivatives for the Jacobian and the Hessian I 
> was planning to use some AD packages, like ADOL-C.
> My needs for C++ are of two different nature:
> 1st) Aside the part of the model that is optimised we have other parts 
> of the model that aren't. These are getting bigger and bigger and 
> simply GAMS is not even closes to the 
> functionality/expressiveness/modularity provided by a generic 
> programming language.
> Of course a second option that I may have is to leave the optimisation 
> part in GAMS (or AMPL) and then simple update the data and call gams.
> However this lead to the second point:
> 2nd) I'd like this model to be freely available and that 
> people/organisations doesn't need to have a licence for a XY program 
> in order to be able tu run it. Currently to best of my knowledge there 
> are no "free" versions of programs that translate a model from a 
> simple-to-write mathematical formulation to the format required by 
> nonlinear solvers. If you know any, please step in :-)
>
> Antonello
>
>
> 2012/6/27 Hans Pirnay <hans.pirnay at rwth-aachen.de 
> <mailto:hans.pirnay at rwth-aachen.de>>
>
>     Hi Antonello,
>
>     'exploding' all your variables into one single x-array is your only
>     option if you want to use the C++ interface. In fact, you need to do
>     much more than that - you need to specify the first and second order
>     derivatives of your model equations, which is even more error-prone.
>     Therefore, implementing a nonlinear model by hand is a very bad
>     idea...
>
>     Can you give us the reason why you need to port your model to C++?
>
>     Hans
>
>
>
>
> -- 
> Antonello Lobianco
> INRA, Laboratoire d'Economie Forestière
> 14 Rue Girardet - 54000 Nancy, France
> Tel: +33.652392310
> Email: antonello.lobianco at nancy-engref.inra.fr 
> <mailto:antonello.lobianco at nancy-engref.inra.fr>
> http://antonello.lobianco.org <http://antonello.lobianco.org/>
>
>
> _______________________________________________
> Ipopt mailing list
> Ipopt at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/ipopt


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/ipopt/attachments/20120627/78a9cba6/attachment-0001.html>


More information about the Ipopt mailing list