[Osi-tickets] [COIN-OR Open Solver Interface] #66: OsiCpx getRowUpper and getRowLower does not update on change

COIN-OR Open Solver Interface coin-trac at coin-or.org
Wed Aug 13 13:58:46 EDT 2008


#66: OsiCpx getRowUpper and getRowLower does not update on change
--------------------+-------------------------------------------------------
 Reporter:  mkaut   |       Owner:  mjs 
     Type:  defect  |      Status:  new 
 Priority:  minor   |   Milestone:      
Component:  OsiCpx  |     Version:  0.96
 Keywords:          |  
--------------------+-------------------------------------------------------
 On the first call of OsiCpxSolverInterface::getRowUpper(), OsiCpx
 creates a vector rowupper_ of rhs upper bounds and returns it.
 If the RHS is changed and getRowUpper() called again, it is just returns
 the existing rowupper_ vector, i.e. the values valid at the time of the
 first call.

 For other solvers (Clp, Glpk), things work as expected.

 Note that even if the user is aware of the problem, he can't do anything,
 as rowupper_ is private, so there is no chance to change or delete it.

 Suggested solution:
 I think that the best (and easiest) way of dealing with the problem is
 to do it the same way as in for ex. OsiGlpk: update the rowlower_ and
 rowupper_ vectors each time RHS is changed, i.e. in setRowLower,
 setRowUpper and setRowBounds methods (if the vectors exist).
 This should be a very minor change in the code.

-- 
Ticket URL: <https://projects.coin-or.org/Osi/ticket/66>
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