[Osi] milp support in OSI

Kipp Martin kmartin at chicagobooth.edu
Tue Apr 28 03:24:11 EDT 2009


Hi Ted:

> We've had fairly lengthy and detailed discussion about all of this in
> the past and I believe there was even a formal talk given with a
> preliminary design for a new OSI based on the OS spec. Before we
> re-invent the wheel, someone should dig all of that out, including the
> previous e-mail threads where I think the very same discussions has
> already been had. Might save us some time and energy :).

Indeed, Matt even create an Osi2 project on the Wiki

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

I submitted some code based on the discussion

https://projects.coin-or.org/Osi2/wiki/Osi2Discussion

that uses the "Command" design pattern.

There are also meeting notes

https://projects.coin-or.org/Osi2/attachment/wiki/Osi2Discussion/march20meeting.txt

Cheers,




> 
> Cheers,
> 
> Ted
> 
> On Fri, Apr 24, 2009 at 3:47 AM, Kipp Martin <kmartin at chicagobooth.edu> wrote:
>> Hi Matt:
>>> I've often thought that the OS spec would be a good starting point for
>>> this discussion.   I need to look into it some more, though.
>>
>>
>> There are four aspects to the OS spec:
>>
>> 1. OSInstance (along with readers and writers) -- the API to build
>> and/or access a very general model instance.  It has get, set, and
>> calculate (including forward and backward AD calls) methods.
>>
>> 2. OSOption (along with readers and writers) -- the API for solver options
>>
>> 3. OSResult (along with readers and writers) -- the API for solver results
>>
>> 4. OSModification -- the API for addition / modification / deletion.
>>
>> The first three are done. The last is obviously the most difficult and
>> we did not want to start without help/input/guidence/marching orders
>> from others (like the Osi mailing list).
>>
>> Cheers
>>
>>>> Cheers
>>>>>> --Laci
>>>>>>
>>>>>> On Thu, 23 Apr 2009, Matthew Galati wrote:
>>>>>>
>>>>>>> Currently OSI does support the branchAndBound function to solve a MILP.
>>>>>>> However, I don't see any access methods for MILP statistics afterwards (or
>>>>>>> any other MILP-type manipulation methods). Is there any intention to add
>>>>>>> this? For example, how do I get the number of nodes used, the gap, how do I
>>>>>>> set options specific to MILP for say, Cplex or Xpress calls?
>>>>>>>
>>>>>>> I can always cast an Osi to an OsiCpx and then get CpxLp and CpxEnv ptrs and
>>>>>>> then use Cpx directly -- but obviously all of this defeats the purpose of
>>>>>>> having OSI.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Matt
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Osi mailing list
>>>>>> Osi at list.coin-or.org
>>>>>> http://list.coin-or.org/mailman/listinfo/osi
>>
>> --
>> Kipp Martin
>> Visiting Professor
>> University of Cincinnati
>> College of Business
>> Dept. of QAOM
>> 525 Lindner Hall
>> Cincinnati, OH  45221-0130
>>
>> 513-556-0404
>>https://projects.coin-or.org/Osi2
>> kipp.martin at chicagogsb.edu
>> http://homepages.uc.edu/~martinrk/
>> https://projects.coin-or.org/OS
>> http://www.coin-or.org
>>
>> _______________________________________________
>> Osi mailing list
>> Osi at list.coin-or.org
>> http://list.coin-or.org/mailman/listinfo/osi
>>
> 
> 
> 


-- 
Kipp Martin
Visiting Professor
University of Cincinnati
College of Business
Dept. of QAOM
525 Lindner Hall
Cincinnati, OH  45221-0130

513-556-0404

kipp.martin at chicagogsb.edu
http://homepages.uc.edu/~martinrk/
https://projects.coin-or.org/OS
http://www.coin-or.org




More information about the Osi mailing list