[Os-project-managers] straw man

R. Kipp Martin kmartin at chicagobooth.edu
Mon Sep 19 18:18:11 EDT 2011


Hi Guys:


Proposal:

We have new class called OSSolver. The OSSolver.cpp and OSSolver.h files
will sit in src/OSSolverInterfaces. The OSSolver class is part of the OS 
library and
executables such as OSSolverService and OSAmplClient can link to it. It will
have two methods, a local solve method (which we overload with strings and
objects) and a remote solve method.

Here are the signatures for a local solve:


std::string osLocalSolve(std::string osil, std::string osol);
std::string osLocalSolve(OSInstance* osinstance, OSOption* osopt)

the osLocalSolve(std::string osil, std::string osol) will convert
the strings to the corresponding objects and then call
osLocalSolve(OSInstance* osinstance, OSOption* osopt)

This osinstance and osoption have the only information that a local solve
needs. By a local solve we mean that the OSSolver will call Clp, Cbc, 
Ipopt,
etc. in memory.

The remote solve has only one signature

std::string osRemoteSolve(osOptionsStruc *osoptions)

this method will throw an exception if the serviceLocation string is empty.
The osRemoteSolve manages the kill, send, solve, retrieve, getJobID, and
knock functions.

All three methods return an OSrL string.

The osRemoteSolve name is misleading in that it does a remote solve(), 
send(),
kill(), retrieve(), getJobID.

Some of the coding in the current OSSolverService would need to change. 
For example,
consider line 481, currently it is

knock()

this would change to

osoptions->serviceMethod="knock"
std::cout << osRemoteSolve( osoptions) << std::endl;


The above philosophy is also the philosphy of GAMS/GMASLinks. In the 
case of GAMS,
the GAMS option file .opt takes the palce of osoptions.

Cheers


-- 
Kipp Martin
Professor of Operations Research
and Computing Technology
Booth School of Business
University of Chicago
5807 South Woodlawn Avenue
Chicago, IL 60637
773-702-7456
kmartin at chicagobooth.edu
http://www.chicagobooth.edu/faculty/bio.aspx?person_id=12825325568
http://projects.coin-or.org/OS

Sent without Blackberry, Droid, iPhone, or any other
wireless device.
-- 


More information about the Os-project-managers mailing list