<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&#39;m finding some trouble in how it considers the ranged row constraints.<br>
<div><br></div><div><div>If I&#39;m correct, the OsiCpx interface considers this definition for the row constraints of type &#39;R&#39;:</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&gt;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 &#39;E&#39;), 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>