LP with Barrier (Method=2) and crossover disabled (i.e., Crossover=0) still stuck in crossover
Hi, I am solving a somewhat large LP with method set to Barrier and crossover disabled but, based on guessing from the log below, Gurobi is still stuck in crossover. Any clues as to what i should do to prevent crossover; that is, I would prefer to use the solution before crossover.
Here is the log:
Warning for adding constraints: zero or small (< 1e13) coefficients, ignored
Optimize a model with 13543306 rows, 13523098 columns and 61307888 nonzeros
Variable types: 13520697 continuous, 0 integer (0 binary)
SemiVariable types: 2401 continuous, 0 integer
Coefficient statistics:
Matrix range [1e+00, 1e+00]
Objective range [1e05, 3e+00]
Bounds range [0e+00, 0e+00]
RHS range [3e05, 1e+00]
Presolve removed 0 rows and 0 columns (presolve time = 25s) ...
Presolve removed 117035 rows and 610 columns (presolve time = 41s) ...
...
Presolve removed 117035 rows and 95149 columns (presolve time = 482s) ...
Presolve removed 117035 rows and 95149 columns
Presolve time: 482.34s
Presolved: 13426271 rows, 13427949 columns, 61096314 nonzeros
Variable types: 13427949 continuous, 0 integer (0 binary)
Root barrier log...
Ordering time: 0.00s
Barrier statistics:
Dense cols : 1791
AA' NZ : 4.767e+07
Factor NZ : 9.697e+07 (roughly 12.0 GBytes of memory)
Factor Ops : 5.464e+10 (roughly 3 seconds per iteration)
Threads : 16
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 1.28000036e+01 0.00000000e+00 1.18e+03 0.00e+00 1.96e01 813s
...
336 1.09865855e+00 1.09865803e+00 5.83e08 1.82e07 2.25e14 6653s
Barrier solved model in 336 iterations and 6653.31 seconds
Optimal objective 1.09865879e+00
Root crossover log...
12150781 variables added to crossover basis 6775s
17634481 variables added to crossover basis 6780s
20712081 variables added to crossover basis 6785s
20716100 variables added to crossover basis 6790s
3067352 DPushes remaining with DInf 2.2508732e+01 6825s
...
979199 DPushes remaining with DInf 1.8015835e+01 262142s

I'm not an expert but it seems you are solving a mixedinteger LP (MILP). Indications for this are that in the log it says "Root barrier log..." and "Root crossover log...".
I don't know exactly what algorithm is used in Gurobi to solve MILP problems, but generally In order to solve a MILP problem one first needs to find a basic feasible solution (the root) to then apply e.g. integer cuts to find a solution that satisfies all integer constraints.
The problem is that the barrier algorithm does not return a BFS but in general it returns a midface solution. Crossover is thus needed to get from the midface solution to a BFS.
So to answer your question, it seems that you have an integrality constraint somewhere in your problem formulation that requires you to do crossover. In order to avoid crossover you should try to get rid of the integrality constraints.
Please sign in to leave a comment.
Comments
1 comment