[Ipopt] [CppAD] Create a Libray wiht OS for calling it from an external tool???

Stefan Vigerske stefan at vigerske.de
Sat Nov 22 14:45:23 EST 2008


please send questions regarding OS to the OS mailing list.

>    I will try to explain just what I want to create.
>    EcosimPro is modeling and simulation tool where I model the optimization example (objetive funtion/constraints) asociated to some model that I have also model in EcosimPro. So my aim is to use an external librery for solving NLP/MINLP problems, just passing the external solver the current values of the objetive funtion,constraints, upper lmitis, lower limits, ... in each iteration. Now for solving NLP problems in EcosimPro I am using an algortihtm of NAG libraries which I called using a .lib file which I have created through an example of NAG.

If you want to provide only function callbacks, then I think OS would
not be able to do this. OS needs you to specify the functions in form of
expression trees and then does its own evaluation (using CppAD). So far,
there is no way to specify function callback in an OS instance (afaik),

>    So, what I want to is to create a pair of libraries one for IPOPT an one for BONMIN, using the projects included in OS.

This I do not understand. What are the "projects included in OS" that
can be "used" to build an Ipopt or Bonmin library?

> But I am not a fluent programmer and first of starting this task I should know if it is possible to create this .lib´s using for instance one example of IPOPT or BONMIN implemented using all the OS files.

What OS provides you is a kind of uniform interface to both Ipopt and
Bonmin. That is, if you specify your model in the OS Instance language
(OSiL), then you can let OS give it either to Ipopt or Bonmin to solve
it (well, NLPs should go to Ipopt and MINLPs to Bonmin). And the result
will come back in a standard format again (OSrL).
When you build OS with its dependencies (Ipopt and Bonmin, among
others), then you should get an libipopt.lib that is the Ipopt NLP
solver, a libbonmin.lib that is the Bonmin MINLP solver, and a libOS.lib
that should contain the routines for the OS layer (creating instance in
OSiL format, given it to Bonmin or Ipopt, translating the result back
into OSrL).
There is an example instanceGenerator coming with OS that shows how to
generate an instance in OSiL.


More information about the Ipopt mailing list