[OS] Linking with OS API

Kipp Martin Kipp.Martin at ChicagoGSB.edu
Mon Mar 24 09:42:54 EDT 2008


Hi Pete:

> <DefaultSolver.h> file which the trunk version did not.

Correct, there have been numerous changes since November when we 
released 1.0.0


> 
> What I am planning to do in the next is to take a GAMS .gms model
> input file, convert it to an AMPL .mod file, then convert it in to
> a .nl file for OS to read in and construct an OSExpressionTree. From
> here, I want to look in to doing symbolic manipulation on the tree,
> such as variable substitution, and expression transformation. This
> will be required later when I try to implement several global
> optimization algorithms. I was interested in using OS because it was
> able to interface with AMPL .nl files, thus any back-end solver I
> implement can be easily compared with other solvers under GAMS or
> AMPL. Am I right to say that this is one way OS was intended to be
> used?

Yes to your question, OS was intended to do this kind of thing. However, 
you are probably going to have to create a new OSExpressionTree from the 
old one, if I understand what you are saying above. There are not 
specific variable substitution or symbolic manipulation methods in the 
OSInstance API.

You can also work with the OSInstance directly in-memory to generate 
models and do not need AMPL or GAMS, although you may find a modeling 
language more convenient than the OSInstance API for model generation.

You may also wish to examine the project GAMSlinks, see

https://projects.coin-or.org/GAMSlinks

managed by Stefan Vigerske.

You can go directly from GAMS to OSiL with this project, although right 
now this may only be for linear (and if you are doing global 
optimization you obviously want nonlinear).  Stefan -- any comment here?

Cheers,

PS: are you Pete Cacioppi?

Cheers,



> 
> Kind Regards,
> 
> Pete
> 
> 
> 
> 
> 
> 
> On Mar 24, 3:39 pm, Kipp Martin <Kipp.Mar... at ChicagoGSB.edu> wrote:
>> Hi Pete:
>>
>> I just made an update to the OS User's Manual. Please see
>>
>> http://www.coin-or.org/OS/doc/osUsersManual_1.pdf
>>
>> and then page 71.  The two examples (Assuming COIN-OR is the root of the
>> trunk project) that illustrate the kind of thing you are trying to do in
>> your main() are
>>
>> COIN-OS/OS/examples/osTestCode  -- this generates an LP using the
>> OSInstance API and calls Clp
>>
>> COIN-OS/OS/examples/instanceGenerator -- this generates a nonlinear
>> program using the OSInstance API
>>
>> Hope this helps,
>>
>> Cheers,
>>
>> --
>> Kipp Martin
>> Professor of Operations Research
>> and Computing Technology
>> Graduate School of Business
>> University of Chicago
>> 5807 South Woodlawn Avenue
>> Chicago, IL 60637
>> 773-702-7456
>> kipp.mar... at chicagogsb.eduhttp://gsbkip.chicagogsb.eduhttp://www.coin-or.org
> > 


-- 
Kipp Martin
Professor of Operations Research
and Computing Technology
Graduate School of Business
University of Chicago
5807 South Woodlawn Avenue
Chicago, IL 60637
773-702-7456
kipp.martin at chicagogsb.edu
http://gsbkip.chicagogsb.edu
http://www.coin-or.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Optimization Services (OS)" group.
To post to this group, send email to optimizationservices at googlegroups.com
To unsubscribe from this group, send email to optimizationservices-unsubscribe at googlegroups.com
For more options, visit this group at http://groups.google.com/group/optimizationservices?hl=en
-~----------~----~----~----~------~----~------~--~---



More information about the OS mailing list