[SCIP] Multiple LPs between two pricing iterations?

Marc Pfetsch pfetsch at mathematik.tu-darmstadt.de
Wed May 27 17:49:01 CEST 2020



Dear Christian,

I would guess that the pricing store of SCIP automatically adds columns
that have been stored. Similarly, some rows could be separated and
added. But one would need to dig deeper to see what is happening in your
case.

BTW: The Gurobi LPI is not beta anymore.

Best

Marc


On 27/05/2020 09.50, Franzen, Christian wrote:
> Hi SCIP team.
> 
> 
> I am currently working on a branch-and-price solver utilising SCIP 7.0.0
> and I have a question regarding the column generation part of my solver.
> I am using Gurobi as LP solver and in the output I see, that SCIP is
> solving two different LPs between two pricing iterations:
> 
> 
> ...
> 
> 08:42:03,246 DEBUG [ShortestPathPricer] - Added 23529 priced variables
> to MIP in node 1
> Gurobi Optimizer version 9.0.0 build v9.0.0rc2 (win64)
> Optimize a model with 48551 rows, 93664 columns and 1338605 nonzeros
> Model fingerprint: 0x72a2c96a
> Coefficient statistics:
>   Matrix range     [1e+00, 2e+03]
>   Objective range  [3e+01, 6e+05]
>   Bounds range     [1e+00, 1e+05]
>   RHS range        [1e+00, 2e+03]
> Presolve removed 34948 rows and 46357 columns
> Presolve time: 0.36s
> Presolved: 13603 rows, 47307 columns, 572120 nonzeros
> 
> Iteration    Objective       Primal Inf.    Dual Inf.      Time
>        0    3.0013561e+07   2.138206e+04   0.000000e+00      0s
> Extra 4629 simplex iterations after uncrush
>    39243    1.4968131e+08   0.000000e+00   0.000000e+00      5s
> 
> Solved in 39243 iterations and 4.82 seconds
> Optimal objective  1.496813123e+08
> Gurobi Optimizer version 9.0.0 build v9.0.0rc2 (win64)
> Optimize a model with 53040 rows, 98153 columns and 1367851 nonzeros
> Model fingerprint: 0xc710b0e7
> Coefficient statistics:
>   Matrix range     [1e+00, 2e+03]
>   Objective range  [3e+01, 6e+05]
>   Bounds range     [1e+00, 1e+05]
>   RHS range        [1e+00, 2e+03]
> Presolve removed 41331 rows and 53475 columns
> Presolve time: 0.35s
> Presolved: 11709 rows, 44678 columns, 555041 nonzeros
> 
> Iteration    Objective       Primal Inf.    Dual Inf.      Time
>        0    3.2305583e+07   2.006420e+04   0.000000e+00      0s
> Extra 3020 simplex iterations after uncrush
>    35045    1.4972126e+08   0.000000e+00   0.000000e+00      4s
> 
> Solved in 35045 iterations and 4.18 seconds
> Optimal objective  1.497212611e+08
>  time | node  | left  |LP iter|LP it/n|mem/heur|mdpt |frac |vars |cons
> |cols |rows |cuts |confs|strbr|  dualbound   | primalbound  |  gap   
>   242s|     1 |     0 |103574 |     - |   649M |   0 | 738 |  92k| 
> 53k|  69k|  53k|   0 |   0 |   0 |      --      | 1.562342e+08 |    Inf 
> 08:42:12,462 DEBUG [ShortestPathPricer] - Starting pricing interation #2
> in node 1...
> ...
> 
> 
> In my case, the second LP always has a few more columns and rows, but
> the optimal objective value is the same for both. Is this by intention
> or is this a bug (maybe in den Gurobi interface, which is in beta
> state)? If it is by intention, can you tell me what is the reason for that?
> 
> 
> Regards
> 
> Christian
> 
> 
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
> 


More information about the Scip mailing list