Skip to main content

Out of memory error while running a large MIP problem

Ongoing

Comments

5 comments

  • Mario Ruthmair
    Gurobi Staff Gurobi Staff

    Hi Rainne,

    It seems that your model is very dense, there are more than 2.3 billions non-zeroes in the matrix.
    Your machine needs a substantial amount of memory to handle this.

    Here are a few comments on the solver parameters you set:

    • NodeFileStart=1: This would only help when the solver reaches the branch-and-bound phase and only if many thousands of open branch-and-bound nodes can be written to disk while waiting to be handled.
    • Presolve=0: For large models like this, I strongly recommend keeping presolving enabled to reduce the model. You could even consider more aggressive presolving with Presolve=2.
    • Threads=15: The model needs to be copied for each thread, so you might first try with Threads=1 and see whether you can save memory with this. Then, increase to 2 or 4 to see if it still fits into memory.

    Best regards,
    Mario

    0
  • Rainne Goncalves
    First Comment
    First Question

    Hi Mario, 

    Thank you for your tips!

    When I keep presolve enabled, it cannot find a feasible solution considering the time limit setted.

    Do you have any other suggestions that I can try to apply to my model?

     

    Set parameter TimeLimit to value 3600
    Set parameter NodefileStart to value 0.5
    Set parameter PreSparsify to value 2
    Set parameter Presolve to value 2
    Set parameter MIPFocus to value 3
    Set parameter Threads to value 1



    CPU model: Intel(R) Xeon(R) CPU E7- 2870  @ 2.40GHz, instruction set [SSE2]
    Thread count: 20 physical cores, 20 logical processors, using up to 1 threads

    Optimize a model with 760140 rows, 696802 columns and 2308170820 nonzeros
    Model fingerprint: 0xc006377b
    Variable types: 3261 continuous, 693541 integer (685181 binary)
    Coefficient statistics:
      Matrix range     [1e+00, 3e+05]
      Objective range  [1e+00, 1e+00]
      Bounds range     [1e+00, 1e+00]
      RHS range        [1e+00, 5e+02]
    Presolve removed 0 rows and 0 columns (presolve time = 248s) ...
    Presolve removed 0 rows and 0 columns (presolve time = 282s) ...
    Presolve removed 0 rows and 0 columns (presolve time = 312s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 394s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 424s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 467s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 497s) ...
    Presolve removed 3540 rows and 1771 columns (presolve time = 743s) ...
    Presolve removed 3540 rows and 1771 columns (presolve time = 827s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 857s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 899s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 929s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1061s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1084s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1114s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1156s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1186s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1241s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1323s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1724s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1883s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 1966s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2033s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2035s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2040s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2045s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2050s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2055s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2060s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2065s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2070s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2075s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2080s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2085s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2090s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2095s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2100s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2105s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2110s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2115s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2120s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2125s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2130s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2135s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2140s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2145s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2150s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2155s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2160s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2165s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2170s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2175s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2180s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2185s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2190s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2195s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2200s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2205s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2210s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2215s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2220s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2225s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2230s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2235s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2240s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2245s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2250s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2255s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2260s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2265s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2270s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2275s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2280s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2285s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2290s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2295s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2300s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2305s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2310s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2315s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2320s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2325s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2658s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2789s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 2902s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3015s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3124s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3125s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3130s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3135s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3140s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3145s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3150s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3155s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3160s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3165s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3170s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3175s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3180s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3185s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3190s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3195s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3200s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3205s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3210s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3215s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3220s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3225s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3230s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3235s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3240s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3245s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3250s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3255s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3260s) ...
    Presolve removed 108522 rows and 1771 columns (presolve time = 3560s) ...
    Presolve removed 108522 rows and 1771 columns
    Presolve time: 3559.70s

    Explored 0 nodes (0 simplex iterations) in 3892.70 seconds (2601.27 work units)
    Thread count was 1 (of 20 available processors)

    Solution count 0
    0
  • Mario Ruthmair
    Gurobi Staff Gurobi Staff

    Hi Rainne,

    With parameters

    Set parameter PreSparsify to value 2
    Set parameter Presolve to value 2

    you enabled aggressive presolving, which takes too much time for your model.
    What happens if you keep presolving at the default, i.e., remove those two settings?

    Best regards,
    Mario

    0
  • Rainne Goncalves
    First Comment
    First Question

    Hi Mario,

    It still cannot find a feasible solution considering the time limit setted.

     

    Set parameter TimeLimit to value 3600
    Set parameter NodefileStart to value 0.5
    Set parameter MIPFocus to value 3
    Set parameter Threads to value 1



    CPU model: Intel(R) Xeon(R) CPU E7- 2870  @ 2.40GHz, instruction set [SSE2]
    Thread count: 20 physical cores, 20 logical processors, using up to 1 threads

    Optimize a model with 765630 rows, 702268 columns and 2347653656 nonzeros
    Model fingerprint: 0xda7fb1ae
    Variable types: 3261 continuous, 699007 integer (690581 binary)
    Coefficient statistics:
      Matrix range     [1e+00, 3e+05]
      Objective range  [1e+00, 1e+00]
      Bounds range     [1e+00, 1e+00]
      RHS range        [1e+00, 5e+02]
    Presolve removed 0 rows and 0 columns (presolve time = 251s) ...
    Presolve removed 0 rows and 0 columns (presolve time = 286s) ...
    Presolve removed 0 rows and 0 columns (presolve time = 317s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 401s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 431s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 474s) ...
    Presolve removed 0 rows and 1 columns (presolve time = 505s) ...
    Presolve removed 3540 rows and 1771 columns (presolve time = 757s) ...
    Presolve removed 3540 rows and 1771 columns (presolve time = 844s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 874s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 917s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 947s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1084s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1107s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1137s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1179s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1210s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1263s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1346s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1750s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1913s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 1997s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2066s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2070s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2075s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2080s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2085s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2090s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2095s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2100s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2105s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2110s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2115s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2120s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2125s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2130s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2135s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2140s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2145s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2150s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2155s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2160s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2165s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2170s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2175s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2180s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2185s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2190s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2195s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2200s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2205s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2210s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2215s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2220s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2225s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2230s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2235s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2240s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2245s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2250s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2255s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2260s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2265s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2270s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2275s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2280s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2285s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2290s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2295s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2300s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2305s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2310s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2315s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2320s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2325s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2330s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2335s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2340s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2345s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2350s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2355s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2360s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2365s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2370s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2703s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2837s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 2952s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3066s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3177s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3180s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3185s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3190s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3195s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3200s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3205s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3210s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3215s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3220s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3225s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3230s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3235s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3240s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3245s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3250s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3255s) ...
    Presolve removed 103302 rows and 1771 columns (presolve time = 3260s) ...
    Presolve removed 103302 rows and 1771 columns
    Presolve time: 3260.30s

    Explored 0 nodes (0 simplex iterations) in 3600.71 seconds (2248.80 work units)
    Thread count was 1 (of 20 available processors)

    Solution count 0

    Time limit reached
    Best objective -, best bound -, gap -
    0
  • Mario Ruthmair
    Gurobi Staff Gurobi Staff

    Hi Rainne,

    This model seems to be tough.
    However, I also oversaw an important point: MIPFocus=3 is a meta-parameter and will automatically set Presolve=2. If you want to keep MIPFocus=3 (you should also try 1 and 2), then you could overrule it with Presolve=1 or PrePasses=1.

    0

Please sign in to leave a comment.