[Scip] SCIPchgVarObj and SCIPaddObjoffset

Sebastian Ruther Sebastian.Ruther at uon.edu.au
Thu Feb 10 04:45:33 MET 2011


  Hello,

in my branch and price algorithm I generate the pricing problem in 
scip_initsol while in scip_redcost I want to only update the objective 
function values of the pricing problem with the dual values from the 
master problem. Your examples always generate the whole pricing problem 
anew in each iteration - which is rather inefficient for non-small 
pricing problems.
Now the problem of course is that in scip_redcost the subscip is in 
stage-solved so it won't let me do this. Actually, even though it is in 
scip_redocst the problem is in the creation stage until you execute 
SCIPsolve(subscip) so in the first run you are allowed to use 
SCIPchgVarObj (no problem), SCIPaddObjoffset though creates an error:
ERROR: cannot call method <SCIPaddObjoffset > in problem creation stage
ERROR: <-8> in function call
In further iterations both trigger this error:
ERROR: cannot call method <SCIPchgVarObj> in solving stage
ERROR: <-8> in function call

The convexity constraint of the master problem is unrelated to any 
pricing problem variable so it is simply a constant that is added to the 
pricing problem objective function. That's why I use SCIPaddObjoffset.

What can I do?

Thank you
Sebastian


More information about the Scip mailing list