[Scip] Pricing runs / adding variables in pricing loop / linear indexing

Jan Berling berlingjan at googlemail.com
Tue Apr 8 15:15:35 CEST 2014


Dear all,

thanks for the help with the transformed constraints, the adding of
coefficients in the transformed problem now works fine.


Because I need linear indexing, I create (and add*) all variables at
the beginning. But only the start solution variables are added to the
set partitioning and knapsack constraints.

In the pricing loop, the reduced cost variables are added to the
corresponding constraints.

Unfortunately, the pricer stops after one round (because there are no
variables added). But I know, that there is another variable, which
should have reduced costs. Is it possible to continue pricing, even if
the variables are already added to the problem and only the
coefficients to the constraints are added in the pricing round?


I want to compute the lower bound as the lp relaxation of the complete problem.
If the lower bound is smaller than the dualbound, will the pricing
continue, even without adding vars?
Do I have to create another SCIP* problem for this? Is it possible to
set some variables as initial, or to deactivate them after computation
of the LP-Relaxation lower bound?
In my experience, fixing variables to zero or changing the bounds
leads to messy results in the transformed problem.



(*) I tried to add the priced variables only in the pricing round, but
I get an error:

in main():
- create all vars(f,d)
- capture all vars
- add only start solution vars  to the problem / constraints
- pass vars to pricerdata via SCIPpricerAtfmActivate(...,vars,...)
In pricer:
- pricerData->vars = vars;
- SCIPvarIsDeleted(pricerData->vars(f,d) gives zero
- SCIP_ERR( SCIPaddVar(scip,pricerData->vars(f,d)), "Error adding SCIP
variable to problem"); // gives error -9. (SCIPaddPricedVar -> same
error)

Does the variable has to be transformed before it can be added to the
transformed problem?

Best regards
Jan


More information about the Scip mailing list