Thursday, April 14, 2011

Large MIP

I am working on this very large MIP model:


BLOCKS OF EQUATIONS          13     SINGLE EQUATIONS      172,124
BLOCKS OF VARIABLES          11     SINGLE VARIABLES      162,496
NON ZERO ELEMENTS       887,642     DISCRETE VARIABLES    157,506

I did not expect to get much performance out of this, but amazingly Gurobi solves this thing to a very small gap in a few hundred seconds on my laptop.

The model is still in development and not all conditions are yet properly formulated. I am almost sure we will get into trouble later on, but for now being able to solve these models in one shot is great.

At least we have exercised a fairly large part of the application: retrieving the data from the data base and we also checked plugging in an existing user-provided solution. That means we have stressed and verified a significant portion of the whole system.


  1. I have had some interesting experiences with CPLEX vs Gurobi. I still believe CPLEX has the edge, specially regarding MIP's, but Gurobi is becoming a viable solution (and cheaper!).


  2. I don't think it is that black-and-white. Gurobi has some great heuristics, while Cplex can often do very good work on the best bound. The relative performance between these two depends very much on the model and on the solution requirements (a very good solution quickly or a proven optimal solution).

  3. The overall feedback we've been getting is that we're a bit ahead. The nature of MIP is that each model can present a new and different set of challenges, though.

    Luis, if you have models you could share, we'd be happy to take a look at them.

  4. Hey, sorry for the delay on the reply.
    It's just a general feeling that I have. Can't say I have done many comparisons and I do admit that my latest tests were with Gurobi 3.0.
    If you have any studies comparing both solvers, I would love take a look.

    Will see if I can distribute any models.

  5. Hans Mittelmann publishes benchmarks at:

    In a recent benchmarkt he compared CPLEX, GUROBI 4.5.0, MOSEK and XPRESS 7.2.