<div dir="ltr"><div><div><div><div><div>Dear all<br><br></div>1) There is a function in DIP called print, which prints the variables. It is implemented by starting as follows:<br><br>  double lb = getLowerBound();<br>   double ub = getUpperBound();<br>
   (*os) &lt;&lt; &quot;\nVAR c: &quot;   &lt;&lt; m_origCost<br>         &lt;&lt; &quot; rc: &quot;       &lt;&lt; m_redCost<br>         &lt;&lt; &quot; eff: &quot;      &lt;&lt; m_effCnt<br>         &lt;&lt; &quot; block: &quot;    &lt;&lt; m_blockId<br>
          &lt;&lt; &quot; colIndex: &quot; &lt;&lt; m_colMasterIndex;<br>.........<br></div>in the output always colIndex: always appears to be -1.  I have no idea what is this and why always appears as -1. <br>VAR c: 231 rc: 0 eff: 0 block: 0 <b>colIndex: -1</b><br>
<br></div><div>why m_colMasterIndex is always -1? Is that okay? something is missing?<br></div><div><br></div>2) When one initialized CG with initial columns, then one expects that dual values in the first iteration become meaningful (i.e. the redCost become meaningful). <br>
</div>But I always get  my redCost == OrgCost and the dual variable associated to the convex combination is always infinity in the first call to the solveRelaxed.<br><br></div>Moreover, it takes a lot of iterations until DIP show that it reports the initial columns as upper bound solution for the problem. Up to that point, the upper bound is always infinity.<br>
<div><br></div><div>3)  in DecompAlgo.cpp (6631)<br><br>   if ((!m_isColGenExact &amp;&amp; nNewVars &lt;= 0) || (m_param.SolveRelaxAsIp == 2)) {<br>.......<br>      assert(subprobSI);<br>      double   rcBestCol    = DecompInf;<br>
<br></div><div>a) If in at least one block I do not generate any further column, then this assert is hit and the program terminates. <br></div><div>But it seems logical to me that sometime one block does not generate any column but the other blocks keep proposing other improving solutions.<br>
<br></div><div>b) How DIP knows whether I the column generated in solveRelaxed is an optimal column or just an improving one?<br></div><div><br></div><div>Thank you<br></div><div>Shahin<br></div><div><br><br><br><br><br><br>
<br><br><br><br></div><div><br><br><br><br><br></div></div>