Switching is Easier Than You May Think

Switching solvers may seem like a daunting task, but it's typically quite straightforward. New customers regularly tell us that switching was easier than they expected, and that they are happy they made the switch to Gurobi. You'll just need to learn a few simple concepts to get started.

On the Gurobi Product Overview page, we mentioned four things we do to make it easy to get started with Gurobi:

  • provide a wide range of interfaces so you can work in the environment you are most comfortable with
  • keep the interfaces simple and intuitive to reduce your learning curve
  • include Quick Start and Reference Guides, and Video Overviews on using the Gurobi Optimizer
  • include support for both MPS and LP file formats

You may also be interested in learning about our Gurobi Python modeling and development environment. The Gurobi Python Environment combines the benefits a modeling language with the strengths a programming language. By embedding our set of high-level optimization modeling constructs in the very popular Python programming language, we’ve eliminated the need to choose between working in just a modeling language or just a programming language.

On our Download Center page, Academic users can download a free, full-featured, academic version of Gurobi and Commercial users can request a free, full-featured, evaluation version.

On this and the related switching from CPLEX™, switching from XPRESS™, switching from OPL™ and switching within a modeling language pages, we'll share some steps and information to help make migrating models to Gurobi as easy as possible.

Three Steps To Migration

No matter what programming language you use, you'll need to consider three points when starting a migration effort:

  1. Building the model: How do I build my optimization model? Do I build it one constraint at a time, or do I build an entire constraint matrix?
  2. Setting solver parameters: What solver parameters do I change? What effects are these changes intended to produce?
  3. Computing and extracting the solution: Am I looking for an optimal solution, or just a good feasible solution? How do I extract the solution produced by the solver? Do I extract the solution one variable at a time, or do I extract the entire solution vector?

We'll discuss each of these points in more detail on the switching from CPLEX™ and the switching from XPRESS™ pages.

Additional Resources

We've created a Model Migration .pdf where you can review with information on:

  • Migrating model files
  • Switching to Gurobi from within a modeling language
  • Porting existing code (covers both matrix- and object-oriented code)
  • Setting Gurobi parameters
  • Some additional advanced concepts

In addition, the following may be helpful as you look to migrate from CPLEX, XPRESS, or another solver to Gurobi:

We're Here To Help

While we can't do the migration for you, we're happy to answer questions. If you like, we can also put you in touch with external consultants who can directly assist with your migration. Contact us at your convenience.