[Coin-discuss] problem with OsiCpx getRowUpper

Michal Kaut mail at michalkaut.net
Wed Aug 13 13:29:03 EDT 2008


Better description of the issue:

On the first call of OsiCpxSolverInterface::getRowUpper(), OsiCpx 
creates a vector rowupper_ of rhs upper bounds and returns it.
The problem starts when I change some of the RHS and call the 
getRowUpper() - since rowupper_ exists from before, it is just returned 
as it is, i.e. with the values valid at the time of the first call.
Since rowupper_ is private, there is no chance to change or delete it.

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 would be a very minor change in the code...


Thanks.

Ragards,
Michal



Michal Kaut wrote:
> Hello,
> 
> I am having problem with getRowUpper and getRowLower when using OsiCpx - 
> they just return zero. When I switch to OsiCbc or OsiGlpk, everything 
> works OK. Setting the bounds also seems to work, though I can't directly 
> check the values.
> 
> I am using a trunk version of FlopCpp, which links to a trunk version of 
> Osi - but I have had the same problem a long time ago, but at that time 
> I "solved" it by using another solver...
> 
> 
> Is there some known workaround?
> 
> 
> Thanks,
> Michal
> _______________________________________________
> Coin-discuss mailing list
> Coin-discuss at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/coin-discuss



More information about the Coin-discuss mailing list