Here are some suggestions on ways to reduce the memory used:
- For a continuous (LP, QP, SOCP) model, use the simplex algorithm (Method=1 or 0), which requires less memory than the barrier or concurrent algorithms.
- For a MIP that requires a large number of nodes, use node files, which are specially designed for optimization; they are more efficient than general-purpose virtual memory from the operating system. To use node files, set the NodeFileStart parameter to 0.5, so that nodes in the B&B tree are compressed and written to disk. Note: NodefileStart has no effect for continuous models or for MIP models that solve at or near the root node.
- Try decreasing the Threads parameter, since the default is to use all cores in the computer.
- Use the parameter PreSparsify to reduce the number of non-zeros in the presolved model.
- Try Gurobi Compute Server or Gurobi Cloud to offload the computing to another machine that has more memory.
Ideally, the best solution is simply to have enough memory. Memory is relatively inexpensive, and we recommend having sufficient memory so that the model can be loaded and solved in physical memory (RAM).