GRBaddnodefile failed
AnsweredHello,
I'm currently trying to solve a rather large MILP (~4.3 million nonzeros after presolve) with Gurobi 9.0.0 on 8 threads with 16 GB RAM. I formulated the problem in MATLAB. As the solution is nowhere near the root node, I set up a nodefile directory and a start parameter. This works fine at first, but after some time i get the error "GRBaddnodefile failed". Is there a way of finding out what causes GRBaddnodefile to fail? A shortened log is attached below.
Best wishes,
Lukas
Presolve time: 74.79s
Presolved: 1348128 rows, 1272872 columns, 4260917 nonzeros
Variable types: 174136 continuous, 1098736 integer (16525 binary)
Root barrier log...
Elapsed ordering time = 10s
Elapsed ordering time = 16s
Elapsed ordering time = 20s
Elapsed ordering time = 25s
Elapsed ordering time = 30s
Elapsed ordering time = 35s
Ordering time: 49.93s
Barrier statistics:
Dense cols : 114
AA' NZ : 3.460e+06
Factor NZ : 1.496e+07 (roughly 1.2 GBytes of memory)
Factor Ops : 6.738e+09 (less than 1 second per iteration)
Threads : 7
Objective Residual
Iter Primal Dual Primal Dual Compl Time
0 5.02357477e+13 -4.62287976e+17 3.72e+10 8.41e+02 4.05e+12 190s
[shortened]
100 2.66598656e+10 2.66598654e+10 2.34e-06 2.95e-06 4.94e-08 613s
101 2.66598656e+10 2.66598656e+10 1.19e-07 7.75e-08 9.65e-11 617s
Barrier solved model in 101 iterations and 617.45 seconds
Optimal objective 2.66598656e+10
Root crossover log...
[shortened]
Root relaxation: objective 2.665987e+10, 639027 iterations, 835.91 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 2.6660e+10 0 28469 - 2.6660e+10 - - 3725s
0 0 2.6660e+10 0 28557 - 2.6660e+10 - - 4292s
0 0 2.6660e+10 0 28580 - 2.6660e+10 - - 6780s
0 0 2.6660e+10 0 28582 - 2.6660e+10 - - 7283s
0 0 2.6660e+10 0 28583 - 2.6660e+10 - - 9824s
0 0 2.6660e+10 0 28581 - 2.6660e+10 - - 9827s
0 0 2.6660e+10 0 28572 - 2.6660e+10 - - 12336s
0 0 2.6660e+10 0 28574 - 2.6660e+10 - - 12339s
0 0 2.6660e+10 0 28574 - 2.6660e+10 - - 14533s
0 0 2.6660e+10 0 28574 - 2.6660e+10 - - 16782s
0 2 2.6660e+10 0 28574 - 2.6660e+10 - - 21969s
1 4 2.6660e+10 1 12456 - 2.6660e+10 - 132093 21977s
3 8 2.6660e+10 2 1122 - 2.6660e+10 - 46819 22179s
7 16 2.6660e+10 3 1120 - 2.6660e+10 - 20070 22310s
15 24 2.6660e+10 4 1122 - 2.6660e+10 - 9732 22316s
23 32 2.6660e+10 4 1120 - 2.6660e+10 - 6351 22370s
39 48 2.6660e+10 6 1116 - 2.6660e+10 - 3821 22375s
55 86 2.6660e+10 7 1114 - 2.6660e+10 - 2710 22386s
85 166 2.6660e+10 10 1110 - 2.6660e+10 - 1755 22405s
165 262 2.6660e+10 20 1107 - 2.6660e+10 - 905 22430s
261 358 2.6660e+10 31 1106 - 2.6660e+10 - 573 22453s
357 454 2.6660e+10 43 1100 - 2.6660e+10 - 419 22476s
453 550 2.6660e+10 55 1097 - 2.6660e+10 - 331 22501s
Created node file directory 'C:\Users\USER\Documents\MATLAB\GurobiNodeFiles/grbnodes0'
549 646 2.6660e+10 67 1091 - 2.6660e+10 - 274 22527s
645 742 2.6660e+10 79 1085 - 2.6660e+10 - 233 22556s
[shortened]
38252 31170 2.6660e+10 1950 294 - 2.6660e+10 - 10.8 49447s
38412 31330 2.6660e+10 1960 294 - 2.6660e+10 - 10.8 49491s
GRBaddnodefile failed
Explored 38572 nodes (1881248 simplex iterations) in 49497.35 seconds
Thread count was 8 (of 32 available processors)
Solution count 0
Solve interrupted (error code 10019)
Best objective -, best bound 2.665986588113e+10, gap -
-
Official comment
This post is more than three years old. Some information may not be up to date. For current information, please check the Gurobi Documentation or Knowledge Base. If you need more help, please create a new post in the community forum. Or why not try our AI Gurobot?. -
Hi Lukas,
Do you have enough space on the local disc you are using? This error may occur when there is not enough space on disc. This might happen when your MATLAB working directory is space limited due to, e.g., cluster restrictions or similar. Could you try to re-run the optimization and track the disc usage?
Best regards,
Jaromił0 -
Hello Jaromił,
thanks for your fast response! Running out of space on the disc was also my first guess, but I discarded this thought because there should be 100+GB available. However, I did not think of limitations for a certain directory. I will get in contact with our server admin for that.
In the meantime, do you know if the number of nodefiles generated, and therefore disc capacity required, reduces if I reduce the number of threads? I understand that I reduce the memory required since every thread needs a copy of the problem. But I could imagine that the total number of nodefiles stored is the same at some point, and that just the speed at which they are generated varies with the number of threads. Is this line of thinking correct or am I missing something here?
Best wishes,
Lukas0 -
Hi Lukas,
You are correct. Lowering the number of threads only reduces the required memory but not the disc space needed to store the nodefiles.
Best regards,
Jaromił0
Post is closed for comments.
Comments
4 comments