This varies a lot depending on the model. For most models 4 cores and 32 GB of memory is adequate. However, most of our customers use an 8-core machine. That is, 8 physical cores -- not hyperthreads.

You can get a rough comparison of CPU performance by browsing the SPEC CPU2006 benchmarks. Specifically, the results in SPECfp2006 should help you compare single-threaded performance (simplex and root node of a MIP). Parallel performance (for barrier and MIP tree exploration) is highly problem dependent. SPECfp_rate2006 is useful to estimate the best-case parallel performance, but actual testing is required to determine real-world performance.

As for memory, you should have enough memory so that the model can be solved in physical memory - without using virtual memory.

Based on models that customers share with Gurobi, 32GB is sufficient for most models, and many can be solved with much less memory. Apart from cost considerations, having too much memory is no problem, while having too little can create severe problems for performance. Finally, if you are solving a MIP where you need to explore a large number of nodes, you can save memory by setting the NodefileStart parameter; this is much more efficient than relying on virtual memory.

## Comments

3 comments

Hi,

I am about to solve purely binary IP models, coming from mathematical problems, with roughly n*n (n squared) variables and constraints, and each constraint having n non-zero coefficients (say, the matrix is of size 900 by 900, and each row contains 30 non-zeros). Do you think that on a model like this, Gurobi could use well the resources of a super computer (say, an HP Apollo 8000 cluster that has 1056 Sandy Bridge CPU cores, accelerated by 90 Xeon Phi coprocessors, adding 5490 more cores to be available for computations)? On a regular PC (with a 4 core CPU) I do not get a solution after a couple of weeks of running time.

Thanks,

Tamás

Hi Tamás,

Your model seems to be rather small but nontheless difficult to get a feasible solution. I'm not sure whether a Xeon Phi does aid gurobi while solving but a more potent computer (compared to your desktop PC) with many cores should speed up the process.

If I understand you correctly, gurobi is not able to provide you with a feasible solution. You could try to adjust some parameters that shift the focus towards finding solutions:

If you have some hints for certain variables you can also provide these as (partial) solutions to gurobi which helps finding solutions using these values.

Hi Jakob,

Thanks a lot for the hints! Indeed, my first main problem is finding a solution (many times the existence of a solution, even if not proven to be optimal, is quite interesting in itself for me). So far I have spent only a little bit of time playing around with the parameters you suggested for smaller but similar models, let me give some feedback.

If I manage to experiment with a strong multi-core computer, I will also give you a feedback.

Article is closed for comments.