<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">Hi Christina,</div>
<blockquote
cite="mid:CAKuRvOHdvzFSVzkXoVCcn=iZ=Yf=LSL=mkhOsxNcmTe83W6B0g@mail.gmail.com"
type="cite">
<div dir="ltr">
<ul>
<li>The delay flag of the pricer is set to TRUE, as is the
initial flag for the new variables.</li>
</ul>
</div>
</blockquote>
What about the intial flag of the variables in the initial RMP? <br>
<blockquote
cite="mid:CAKuRvOHdvzFSVzkXoVCcn=iZ=Yf=LSL=mkhOsxNcmTe83W6B0g@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<ul>
<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>
</ul>
</div>
</div>
</blockquote>
Also for binary variables, an upper bound of 1 in the LP can cause
troubles. In order to avoid this, you should mark the bound to be
lazy using SCIPchgVarUbLazy(scip, var, 1.0), see
<a class="moz-txt-link-freetext" href="http://scip.zib.de/doc/html/scip_8h.php#ac0d20a8f3ae90d45d7ca0eadb7006d4a">http://scip.zib.de/doc/html/scip_8h.php#ac0d20a8f3ae90d45d7ca0eadb7006d4a</a><br>
<br>
<blockquote
cite="mid:CAKuRvOHdvzFSVzkXoVCcn=iZ=Yf=LSL=mkhOsxNcmTe83W6B0g@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<ul>
<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>
</ol>
</div>
</div>
</blockquote>
When you call SCIPgetTransformedVar(), SCIP generates the
transformed variable which gets "t_" as a prefix for the name. The
reduced cost is negative and the value of the variable is 0? What
are the bounds of the variables? If the LP was solved to optimality,
the upper bound of the variable should be 0. If this is the case,
your branching probably forbid this variable and you should also
take this into account in pricing. How do you do branching?<br>
<blockquote
cite="mid:CAKuRvOHdvzFSVzkXoVCcn=iZ=Yf=LSL=mkhOsxNcmTe83W6B0g@mail.gmail.com"
type="cite">
<div dir="ltr">
<div>
<ol>
<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>
</div>
</div>
</blockquote>
If you create a variable during solving, it is a transformed
variable from the beginning, but will not get the prefix "t_". For
the reduced cost and LP value, the same holds as above.<br>
<br>
Best,<br>
Gerald<br>
</body>
</html>