[Os-project-managers] straw man

R. Kipp Martin kmartin at chicagobooth.edu
Tue Sep 20 14:19:47 EDT 2011


Hi Gus:

>> std::string osRemoteSolve(osOptionsStruc *osoptions)
>
> This could be improved, I think. If you call this method from
> OSAmplClient, where is the instance (and initial values etc.)? Do you
> package that into the osoptions object?

This is the osOptionsStruc we currently use in OSSolverService.  It has 
everything we need including stings for OSiL and OSoL. See

src/OSParsers/OSOptionsStruc.h

When we do a remote solve, we need strings.  So in this case there is a 
string for OSiL and a string for OSoL. The initial values go into the string

osoptions->osol

This how we currently work things in OSSolverService.
>
> Note that if you have an osil and an osol file for the remote solve,
> then you need to send strings, which you can get by simply reading the
> files. There is no need to create an osoption object, which you would
> then write out again to a string. If there are initial values for a
> million variable problem, you are potentially wasting a lot of time.

The idea is that the calling program fills in the osOptionsStruc. The 
calling program reads the file, creates the string, and passes a pointer 
to osOptionsStruc to osRemoteSolve.

I think the thing that is confusing is the naming, which is my fault. 
osOptionsSruc is not akin to an OSOption object, it is akin to the 
command line options, hence it includes the osil and osol, 
serviceLocation, serviceMethod, etc.
>
>> 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.
>
> I think for the remote methods, we should distinguish between solve/send
> (which do the same thing on the local server: send an instance and
> options and wait for an osrl file) and the other methods: retrieve,
> knock, kill, getJobID. I therefore think of OSSolver as having six
> methods: knock, kill, getJobID, retrieve, as well as localSolve and
> remoteSolveSend. (Don't get too hung up on the names --- I am not.)

I think all of the above can be taken care of inside osRemoteSolve. The 
osOptionsStruc has a serviceMember method. My thinking is along the 
lines is what Stefan is doing in GAMSLinks.

Cheers


>
> Cheers
>
> gus
>
>> 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.
>> --
>> _______________________________________________
>> Os-project-managers mailing list
>> Os-project-managers at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/os-project-managers
>>
>>
>
>
>
> -------------------------------------------------------
>
> Horand I. Gassmann, Professor
>
> School of Business Administration, Dalhousie University
> 6100 University Avenue
> Halifax, Nova Scotia, Canada , B3H 3J5
> ph. (902) 494-1844
> fax (902) 494-1107
>
> http://myweb.dal.ca/gassmann/
>


-- 
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