[Scip] Branching decisions not enforced in master problem during a Branch-and-Price implementation

Tobias Achterberg achterberg at zib.de
Tue Sep 23 16:01:48 MEST 2008


Hi Egberd,

> However, I'm left with one minor issue.. Sometimes SCIP generates the 
> same column twice in a row (i.e. pricer generates a column, immediately 
> after that the pricer is called again and then it generates the same 
> column again). I think this is caused by the fact that the dual problem 
> is not updated correctly after the first call to the pricer. I conclude 
> this from the fact that the dual solution is still the same after adding 
> the first column to the master, which should not be the case because an 
> extra column is generated for the primal/master problem and hence an 
> extra constraint is generated for the dual by which the previous dual 
> solution is not allowed anymore. However, after generating the same 
> column again the pricer is called once more and then it does not 
> generate that same column again, because now the dual solution is as it 
> should be. So, I'm a little confused here. How can such a thing happen? 
> I did make the appropriate calls to SCIPgetTransformedCons() and set 
> presol_maxrestarts to 0.

This looks like as if the column is added two times during the same pricing round. What is 
the value of the PRICER_DELAY variable in your pricer (the "delay" parameter of the 
ObjPricer() constructor in the C++ interface)? If this is FALSE, this would explain the 
behavior. If it is indeed FALSE, I can explain what in more detail what this parameter means.

If the "delay" parameter is set to TRUE, then this should not happen, at least if your 
pricer makes sure to not add the same column twice during the same pricing round.

In this case, in order to find out what is going on, it would be useful if you could add

   #define SCIP_DEBUG

to the beginning of the following files in scip/src/scip: solve.c, pricer.c, pricestore.c.

Then, send the output to me. Since this may be rather long, you should probably not send 
it to the SCIP list but directly to me.


Best, Tobias



More information about the Scip mailing list