[Scip] Pricing generates an already existing column
Cristina Núñez del Toro
cristina.nunez at upc.edu
Mon May 19 14:10:26 CEST 2014
Dear all,
I'm working on a B&Price algorithm for a minimization MIP and I realized
that sometimes the algorithm generates already existing columns.
I have found a couple of similar cases in the mailing list archives and
tried the suggestions found there:
- The delay flag of the pricer is set to TRUE, as is the initial flag
for the new variables.
- The variables are added via SCIPaddPricedVar.
- The upper bound on the integer variables are set as SCIPinfinity. (the
upper bound on binary variable are set as 1.0)
- All constraints are set as modifiable
- The solution status of the LP when the pricer is called by calling
SCIPgetLPSolstat() is Optimal.
However, when I checked SCIPvarIsInLP for the variable added in the
previous iteration of the pricer, I got two different results:
1. For the repeated variable which are equal to an initial variable from
the Restricted Master Problem, SCIPvarIsInLP() is sometimes FALSE!
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) .
The reduced cost and the LP value of the initial repeated variable are
negative and zero, respectively.
2. 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.
However, in both cases, the status of the repeated variable is not original
when SCIPvarGetStatus(var).
Do you have any clue that can help me?
Thanks in advance,
--
---
Cristina Nuñez
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20140519/78c3dd38/attachment.html>
More information about the Scip
mailing list