I wrote a branch-and-price algorithm in Python 2.7 which solves several small LP and MIP models by Gurobi 8.1 in each node. The algorithm runs fine at first, it produces both lower bound and upper bounds, solves all of the mentioned models many times. However after solving roughly 200 nodes suddenly Gurobi returns an Out of Memory error!
I have 128 GB of RAM, of which 70% was free all the time during the algorithm execution. The models are written in different files and functions and called (imported) by the main file when necessary.
Is there any hidden option that limits the RAM usage for Gurobi? Is it possible that the previous model builds affect the current one, considering that all of them are in the separate files?
Update: I am using Window 10, Python 2.7.10 64-bit version and Gurobi 8.0.1 64-bit. I tried solving another single model with Gurobi and it could use the RAM without any problem. So I guess there is something wrong with my implementation.
Update2: I have a Class called "Node". During the algorithm I generate many instances of this class and assign three gurobi.Model instances to each them as their attributes. This obviously leads to excessive use of memory. Even frequently deleting Node instances by "del" command did not solve the problem. So I had to reorganize the algorithm to not store any of these gurobi.Model instances which significantly reduced the memory usage. This helped to avoid the Out of memory error. However, I am not sure what was causing the error.