<div dir="ltr"><div><div>Dear all,<br><br></div>I'm working on a B&Price algorithm for a minimization MIP and I realized that sometimes the algorithm generates already existing columns.<br><br></div><div><br>I have found a couple of similar cases in the mailing list archives and tried the suggestions found there:<br>
<br><ul><li>The delay flag of the pricer is set to TRUE, as is the initial flag for the new variables.</li><li>The variables are added via SCIPaddPricedVar.</li><li> The upper bound on the integer variables are set as SCIPinfinity. (the upper bound on binary variable are set as 1.0)<br>
</li><li>All constraints are set as modifiable</li><li> The solution status of the LP when the
      pricer is called by calling SCIPgetLPSolstat() is Optimal.<br></li></ul><p>However, when I checked SCIPvarIsInLP for the variable added in the previous iteration of the pricer, I got two different results:</p><ol><li>
For the repeated variable which are equal to an initial variable from the Restricted Master Problem, SCIPvarIsInLP() is sometimes FALSE! <br> I printed the name, the reduced cost and the LP value of all the active variables in the previous iteration of the pricer with SCIPvarIsActive(var), SCIPvarGetName(var) and SCIPgetVarRedcost(scip, var), SCIPgetSolVal(scip, NULL, var). I got printed the names of all the initial variables (including the one which is repeated) but with an initial "t_". Does that mean that they are "transformed variables" ?? I didn't expect that since I include the transformation of the variables in the initialization of the pricing (SCIP_DECL_PRICERINIT(ObjPricer::scip_init) by using SCIP_CALL(SCIPgetTransformedVar(scip, var, &var) . <br>
The reduced cost and the LP value of the initial repeated variable are negative and zero, respectively. <br></li><li>For the repeated variables which are equal to earlier added pricing variables, SCIPvarIsInLP() is always TRUE! When I printed the name, reduced cost and LP value for the earlier added pricing variables, the name of the variables are printed without "t_". The reduced cost and the LP value of the repeated variable are negative and zero, respectively. </li>
</ol><p>However, in both cases, the status of the repeated variable is not original when SCIPvarGetStatus(var).<br></p><p>Do you have any clue that can help me?</p><p>Thanks in advance,<br></p><div><div><br>-- <br>---<br>
Cristina Nuñez<br>
</div></div></div></div>