Originally posted by: EdKlotz
Unfortunately it is more difficult to predict the memory usage of a MIP model than an LP (or other type of continuous) model. Specifically, the size of the branch and bound tree could be small, or it could be huge. In addition, the size of some of CPLEX's internal MIP data structures (clique table, implication graph, cut table) can also very dramatically.
That being said, it may be possible to get some idea of how much memory CPLEX needs by looking at the node log of the 4 and 8 GB runs. Specifically,
1) How big is the presolved model? The node log includes dimensions for the presolved model before the optimization starts.
2) At what point does CPLEX run out of memory? Is it still at the root node, or has it been branching for a while? If the latter, what is the size of the branch and bound tree right before you get the out of memory messages. The node log contains that info as well.
3) How dense is the model? You mentioned the number of constraints and variables, but the actual number of nonzeros in the constraint matrix can play a role as well.
While the number of constraints is more important than the number of variables, my initial reaction is that 4 GB probably would not be enough memory to solve a MIP model of the size you describe. 8 GB might be enough, but I would not be surprised if more was needed. If you can provide some of the info I mention above, that may make it easier to assess how much memory is really needed here.
Ed
#DecisionOptimization#OPLusingCPLEXOptimizer