[Scip] SCIP changes variable bounds in solving stage
Horváth Markó
horvathmarko89 at gmail.com
Fri Aug 14 13:57:32 CEST 2015
Dear all,
I'm still dealing with a branch-and-price procedure for a problem with
binary variables, by using SCIP 3.2.0 with soplex 2.2.0.
The problem is that my pricer generates a column twice. More precisely,
in a non-root tree node generates a column already exists in the root.
1) the newly generated column has negative reduced cost (my reduced cost
calculation gives the same result as method SCIPgetVarRedcost) and it is
feasible according to branching rule.
2) the original column is in the LP (via SCIPvarIsInLP)
So, that was strange for me, but after some investigation
(http://listserv.zib.de/pipermail/scip/2014-August/002121.html) I
accepted it, and checked the bounds:
3) the original column has an upper bound equal to 0. And that is the
problem. Why does SCIP change the upper bound of the variable (since it
is clear that I need this variable)? Not my branching rule do this, but
SCIP. I have made a general event handler and I have followed the
corresponding variable, and I have got the following:
(general event handler) [lpsolved] LP of node 8 was completely solved
with cut & price
(general event handler) [lb/ub tightened/relaxed] the local lower/upper
bound of variable xnew_30379 has been increased/decreased
(general event handler) xnew_30379: llb: 0.000000 lub: 0.000000
(general event handler) [glb/gub changed] the global lower/upper bound
of variable xnew_30379 has been changed
(general event handler) xnew_30379: glb: 0.000000 gub: 0.000000
(general event handler) [lpsolved] LP of node 8 was completely solved
with cut & price
and it is interesting that I have got the message 'LP of node 8 was
completely solved with cut & price' twice.
So. I would like to ask why SCIP changes bounds of a variable (in
solving stage) and I would like to know if it is possible to turn it off.
Best regards,
Marko
More information about the Scip
mailing list