[Osi-tickets] [COIN-OR Open Solver Interface] #39: different understandings of row basis status in Osi interfaces

COIN-OR Open Solver Interface coin-trac at coin-or.org
Wed Aug 8 08:05:23 EDT 2007


#39: different understandings of row basis status in Osi interfaces
----------------------------+-----------------------------------------------
 Reporter:  stefan          |       Owner:  mjs 
     Type:  defect          |      Status:  new 
 Priority:  minor           |   Milestone:      
Component:  Osi Base Class  |     Version:  0.96
 Keywords:                  |  
----------------------------+-----------------------------------------------
 Hi,

 I'm frequently using the trunk versions of !OsiClp and !OsiGlpk, and would
 like to use the same method to read the basis status from both classes.

 But there seem to be some misunderstanding about when a row is at its
 lower or its upper bound.
 Consider the following LP:
 {{{
 max  obj
 s.t. obj <= 1
 }}}

 Since OsiSolverInterface::optimalBasisIsAvailable() reports false, I use
 getWarmStart() to read the basis status of a solution.
 When I run Clp then !OsiClp reports CoinWarmStartBasis::atLowerBound for
 the status of the obj<=1 row, while running Glpk I get
 CoinWarmStartBasis::atUpperBound as status from !OsiGlpk.

 Would be nice to have the interfaces follow the same convention.

 See also the discussion at http://list.coin-or.org/pipermail/coin-discuss/
 2007-August/003048.html.

 Best,
 Stefan

-- 
Ticket URL: <https://projects.coin-or.org/Osi/ticket/39>
COIN-OR Open Solver Interface <http://projects.coin-or.org/Osi>
An API for a variety of LP and MIP solvers (and more).



More information about the Osi-tickets mailing list