[SCIP] Primal bound setting / Different presolved problems for the same instance (Using different ways to write the model, Read .lp file VS Build the model)

Shin, Jungeun jungeun4 at illinois.edu
Fri May 29 08:20:18 CEST 2020


Hi ,

I have two questions, which are irrelevant to each other.

1)   Can I set the Primal bound before solving Branch and Price algorithm?
I have an initial set of columns obtained from heuristics which are added to the root node and know a good IP solution using the existing columns.
I would like to use that IP solution as the primal bound before it starts so that some nodes with RMP LP obj exceeding the primal bound (known IP solution) can be pruned earlier.
To do this, should I create a solution using SCIPcreatesol or is there a simpler way to apply this ? ( For example, there is a lower bound pointer to store a valid lower bound. Can I do similar setting for the upper bound?)


2)   I have built a MILP problem using Python-SCIP interface and wrote it out to a .lp file.
Then, I found that the prosolved problems are different for the same instance when I solve it with the model code (written in python) VS solve it in a SCIP interactive shell by reading the .lp file.
This different presolved problem results in performance difference. A model written and solved within the code has taken twice longer time to optimality than the one solved within at SCIP interactive shell.
They are equivalent instances and I have check that all the parameters equally set to default values in both cases.

What could make this difference in the presolving part? Is this a problem of using Python interface ?
Is it possible that a model written in the code has more information that is not included in .lp file so that the presolved problem is different?
(I don't think this is the case since reading .lp file and solving it in a SCIP interactive shell was faster)

I have attached the result log of the initial presolving part below, if it helps to understand my question.

====Build a model and solve ======================================================================================================
presolving:
(round 1, fast)       9157 del vars, 9157 del conss, 0 add conss, 9157 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 27 clqs
(round 2, fast)       9157 del vars, 17473 del conss, 0 add conss, 9157 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 27 clqs
(round 3, exhaustive) 9157 del vars, 17473 del conss, 0 add conss, 9157 chg bounds, 0 chg sides, 0 chg coeffs, 6112 upgd conss, 0 impls, 27 clqs
   (1.0s) probing: 69/14877 (0.5%) - 0 fixings, 0 aggregations, 943 implications, 0 bound changes
   (1.0s) probing aborted: 50/50 successive totally useless probings
   Deactivated symmetry handling methods, since SCIP was built without symmetry detector (SYM=none).
presolving (4 rounds: 4 fast, 2 medium, 2 exhaustive):
9157 deleted vars, 17473 deleted constraints, 0 added constraints, 9157 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
7009 implications, 45 cliques
presolved problem has 21045 variables (14877 bin, 0 int, 0 impl, 6168 cont) and 35953 constraints
   6084 constraints of type <varbound>
      1 constraints of type <knapsack>
     27 constraints of type <setppc>
  29841 constraints of type <linear>
Presolving Time: 1.00

====Read a model file (.lp) and solve ================================================================================================
SCIP> read "SCIP_MIP.lp"
original problem has 15802 variables (502 bin, 0 int, 0 impl, 15300 cont) and 39010 constraints
SCIP> optimize

presolving:
(round 1, fast)       9141 del vars, 9141 del conss, 0 add conss, 9141 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 43 clqs
(round 2, fast)       9141 del vars, 25773 del conss, 0 add conss, 9141 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 43 clqs
   (0.0s) running MILP presolver
   (0.0s) MILP presolver (2 rounds): 0 aggregations, 636 fixings, 0 bound changes
(round 3, medium)     9777 del vars, 25773 del conss, 0 add conss, 9141 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 43 clqs
(round 4, fast)       9777 del vars, 26861 del conss, 0 add conss, 9141 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 43 clqs
(round 5, exhaustive) 9777 del vars, 26861 del conss, 0 add conss, 9141 chg bounds, 0 chg sides, 0 chg coeffs, 7110 upgd conss, 0 impls, 43 clqs
   (1.0s) probing cycle finished: starting next cycle
   Deactivated symmetry handling methods, since SCIP was built without symmetry detector (SYM=none).
presolving (6 rounds: 6 fast, 3 medium, 2 exhaustive):
9777 deleted vars, 26861 deleted constraints, 0 added constraints, 9141 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
110984 implications, 70 cliques
presolved problem has 6025 variables (401 bin, 0 int, 0 impl, 5624 cont) and 12149 constraints
   7066 constraints of type <varbound>
      1 constraints of type <knapsack>
     43 constraints of type <setppc>
   5039 constraints of type <linear>
transformed objective value is always integral (scale: 1)
Presolving Time: 1.0
===============================================================================================================================





Jungeun Shin, PhD candidate
Department of Industrial and Enterprise Systems Engineering
College of Engineering | University of Illinois, Urbana-Champaign
Jungeun4 at illinois.edu<mailto:Jungeun4 at illinois.edu> | 1-217-200-6772

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20200529/ab712dc7/attachment.html>


More information about the Scip mailing list