[OS] OSoL

Mike Steglich mike.steglich at berlin.de
Sun Jul 24 17:36:27 EDT 2011


Hi Kipp, 

As you have suggested I will implement this feature w/o the solver name and an internal translation. But it would be great to have the opportunity to define integer options for all supported solvers.

Thanks

Mike



Am 24.07.2011 um 22:59 schrieb "R. Kipp Martin" <kmartin at chicagobooth.edu>:

> Hi Mike:
> 
>> Thank you for your fast answer.
>> 
>> The reason for asking these things is a new CMPL feature. A CMPL user can define solver options using the following statement: %opt<solverName>  <optionName>  [<optionValue>]. CMPL transforms %opt statements into an OSoL file that is used automatically with the OSSolverservice.
>> (This feature will be also a part of the CMPL library we have talked about.)
>> 
>> So I've to reconsider this idea. Is there a complete list of the OSI solverOptions?
> 
> See the file
> 
> Osi/src/Osi/OsiSolverParamters.hpp
> 
> This is an interesting email. Gus, Jun, and I have had a number of discussions recently about solver options. We have also had discussions with Matt Saltzman and Lou Hafer about a new OSi interface.  In our discussions, one thing that has come up, is that it is not good for the interface to list or be aware of option names.
> 
> Our current OS implementation is going to cause you a problem in that if, for example, the solver is Glpk or Clp, then the solverName should be  Osi, but if the option is for Cbc then the solverName is Cbc. So the user is burdened with knowing this unless you do an internal translation. Also, as we have discussed, a user cannot give integer programming related options to Glpk. But for the short run you are probably stuck.
> 
> Cheers
> 
> 
>> 
>> Cheers
>> 
>> Mike
>> 
>> 
>> 
>> 
>> 
>> 
>> Am 24.07.2011 um 20:42 schrieb "R. Kipp Martin"<kmartin at chicagobooth.edu>:
>> 
>>> Hi Mike
>>>> 
>>>> Is it possible to define solver options using an OSoL file for all solvers that are supported by OS.  I tried an OSoL file for glpk and it seems that there is no impact on glpk.
>>>> 
>>> 
>>> In theory, yes. OS communicates options to Glpk through Osi. Therefore, OS is limited in its option communication with Glpk by the options 1) the options supported by Osi, 2) the options supported by the Glpk-Osi interface. For example, if I wanted to control the print level in Glpk I would do
>>> 
>>> <solverOption name="OsiDoReducePrint" solver="osi" type="OsiHintParam" value="true"/>
>>> 
>>> Notice that the solver is osi and NOT glpk. So if you tell OSSolverService to use Glpk as the solver and give an OS option file you would actually give the solver name as osi. I hope this makes sense.
>>> 
>>> Now a very serious problem is that Osi does not support for example integer programming options such as node limit, etc. Hence you could not communicate something like this to Glpk. You could however to Cbc since we treat Cbc differently than other Osi solvers.
>>> 
>>> Thanks
>>> 
>>> 
>>> 
>>> --
>>> 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
> 
> 
> -- 
> 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




More information about the OS mailing list