<div dir="ltr"><span style="font-family:arial,sans-serif;font-size:13px">Hi,</span><div style="font-family:arial,sans-serif;font-size:13px">I have been working with the OsiCpx interface for a while, but I'm finding some trouble in how it considers the ranged row constraints.<br>
<div><br></div><div><div>If I'm correct, the OsiCpx interface considers this definition for the row constraints of type 'R':</div><div><i><br></i></div><div><i>range = upper bound - lower bound<br></i></div><div>
<i>rhs = lower bound</i></div><div><br></div><div>but the cplex callable library considers this definition:</div><div><br></div><div><i>range = upper bound - lower bound<br></i></div><div><i>if(range>0)</i></div><div><i> rhs = lower bound</i></div>
<div><i>else</i></div><div><i> rhs = upper bound</i></div><div><i>end</i></div><div><i><br></i></div><div>The problem with this, if that if I have an equality constraint (type 'E'), and I change the lower bound to a number greater than the upper bound, then the OsiCpx interface throws an error saying that in the function setType() there is a negative range detected (I will update the upper bound later, but it has to be in that order).</div>
<div><br></div><div>Does anybody see a solution for this without changing the fundamental structure of OsiCpx?</div></div><div><br></div><div><br></div><div>Regards</div><div>Rod Marambio</div></div></div>