<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html  xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><head>
<title></title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<meta http-equiv="Content-Style-Type" content="text/css"/>
</head>
<body>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">I have noticed some discrepancies between solutions obtained from OSLSE and COIN (e.g. using the 
KandW3 example and others). to investigate this issue further I have looked more closely to the results of 
readSMPS (among other things). what seems strange is the following: &#160;</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">if the row sense in the core-file is 'G' or 'L', the stoch-file uses the REPLACE option and the RHS is 
stochastic &quot;osiStoch-&gt;getRowSense()&quot; returns 'R' rather than 'G' or 'L' (see code excerpt from unitTest.cpp 
below). I understand that 'R' could be used on purpose to indicate that the RHS is stochastic/random. but 
'R' does not appear if the row sense is 'E' or the RHS is non-stochastic.&#160; </span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">in addition, the RHS of 'L' constraints <i>is not replaced</i> by the stoch-file entry. the RHS of 'G' constraints <i>is</i> 
replaced!&#160; </span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">another observation: using ADD in the the stoch-file does not change 'G' or 'L' to 'R' (as above) but the 
stochastic RHS <i>is not added</i> to the RHS from the core-file. it is only added for equality constraints ('E'). </span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">has anyone else made similar observations?&#160; how can this problem be resolved? </span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt">~~Alois </span></font></div>
<div align="left"><font face="Times New Roman"><span style="font-size:12pt"><br />
</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">{</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; // test SMPS files KandW3R</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; printf(&quot; *** testing KandW3.\n&quot;);</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; SmiScnModel smi; &#160;</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; smi.readSmps(&quot;../../Mps/Stochastic/KandW3R&quot;); &#160; &#160; &#160; &#160;</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; OsiClpSolverInterface *clp = new OsiClpSolverInterface();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; smi.setOsiSolverHandle(*clp);</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; OsiSolverInterface *osiStoch = smi.loadOsiSolverData();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160;</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; //+AG*</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; int nrows = osiStoch-&gt;getNumRows();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; int ncols = osiStoch-&gt;getNumCols();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; const char * rs &#160;= osiStoch-&gt;getRowSense();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; const double * rhs = osiStoch-&gt;getRightHandSide();</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt"><br />
</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; int i; &#160; &#160;</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; for (i=0;i&lt;nrows;i++){</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; printf(&quot;i %d rs %c rhs %f\n&quot;,i,rs[i],rhs[i]);</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; }</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160; //-AG*</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt"><br />
</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160;osiStoch-&gt;initialSolve(); &#160; &#160;</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; &#160; &#160; &#160;assert(fabs(osiStoch-&gt;getObjValue()2613.0) &lt; 0.0001);</span></font></div>
<div align="left"><font face="Courier New" size="2"><span style="font-size:10pt">&#160; &#160; &#160; }</span></font></div>
</body>
</html>