Gurobi Optimizer - Gurobi Optimization (original) (raw)
Gurobi Optimizer
The World's Fastest Solver
Input your complex business challenge as a mathematical model, and our Gurobi Optimizer software will output a detailed action plan.
Get More Than Speed
Speed is king—and we’ve backed it with enterprise features and expert support.
Support for All Major Problem Types
Responsive, Expert Support
Gurobi Optimizer Delivers Unmatched Performance
Unmatched Performance
With our powerful algorithms, you can add complexity to your model to better represent the real world, and still solve your model within the available time.
- The performance gap grows as model size and difficulty increase.
- Gurobi has a history of making continual improvements across a range of problem types, with a more than 75x speedup on MILP since version 1.1.
- Gurobi is tuned to optimize performance over a wide range of instances.
- Gurobi is tested thoroughly for numerical stability and correctness using an internal library of over 10,000 models from industry and academia.
- Gurobi Optimizer Delivers Support for All Major Problem Types
Support for All Major Problem Types
Model your problem the way that works best for you—including LP and MILP and convex and non-convex QP, MIQP, QCP, and MIQCP, as well as SOCP and bi-linear problems.
- Linear Programming (LP)
- Mixed-Integer Linear Programming (MILP)
- Quadratic Programming (QP)*
- Mixed-Integer Quadratic Programming (MIQP)*
- Quadratically Constrained Programming (QCP)*
- Mixed-Integer Quadratically Constrained Programming (MIQCP)*
(* Convex and non-convex) - Gurobi Optimizer Delivers Responsive, Expert Support
Responsive, Expert Support
Our PhD-level experts are here when you need them—ready to provide comprehensive guidance and technical support. They bring deep expertise in working with commercial models and are there to assist you throughout the process of implementing and using Gurobi.
- Tap into our team’s deep expertise—from implementation to tuning and more.
- We respond to customer inquiries in hours not days, helping to quickly resolve any issues you’re facing.
- We can help you fit and adapt your mathematical optimization application to your changing requirements.
- Gurobi Optimizer Delivers Flexible Licensing
Flexible Licensing
Deploy your model where and how you want. One user can solve a single model on one machine, or many users can solve multiple models using many machines. You can also solve models locally or on an internal or public cloud.
- Each license can be used for both development and deployment.
- Each license can run multiple applications.
- Licenses can be transferred from consulting developer to end user.
- License grows as chip capabilities grow.
- Web License Service
Web License Service
With the Gurobi Web License Service (WLS), you can deploy Gurobi almost anywhere—across Amazon Web Services (ECS and EKS) and Microsoft Azure (AKS) clouds and container environments on Docker and Kubernetes. Compared to other licensing options, WLS provides unique advantages for some use cases because:
It does not require the installation of any licensing tools on the client.
It is scalable and available out of the box using multiple worldwide servers.
It is dynamic and does not require you to register the container hosts.
Support for All Major Problem Types
Responsive, Expert Support
Ready. Set. Solve.
With Gurobi, the world's leading organizations make fast, confident, unbiased decisions every day—even amid rapid change and global disruption.
We Speak Your
Language
Lightweight Programming Interfaces
Integrate Gurobi into your applications easily, using the languages you know best. Our programming interfaces are designed to be lightweight, modern, and intuitive, to minimize your learning curve while maximizing your productivity.
- Object-oriented interfaces for C++, Java, .NET, and Python
- Matrix-oriented interfaces for C, MATLAB, and R
- Links to standard modeling languages: AMPL, GAMS, AIMMS, and MPL
- Links to Excel through Frontline Solvers
Rich Python Modeling Environment
Our Python API includes higher-level modeling constructs that make it easier to build optimization models. Choose from Anaconda Python distributions with pre-built libraries to support application development, Spyder for graphical development, and Jupyter for notebook-style development.
- Python interactive interface for powerful prototyping and quick testing
- Language extensions for easier coding of a model
- Documented best practices to get you started quickly
- Pre-built Python libraries support full application development
- Python Matrix API for matrix-oriented modeling using NumPy or SciPy matrices
“The increase in speed and flexibility impacts every piece of our business across multiple teams.” David Bendes
Vice President of Global Business Technology, Birchbox
“Now we can strategically invest that time in everything from building more personal customer experiences to decreasing our production costs.” David Bendes
Vice President of Global Business Technology, Birchbox
“With this new model, Birchbox has truly entered a new operating universe.” David Bendes
Vice President of Global Business Technology, Birchbox
Meet Your Powerhouse Solver
What makes a solver “robust”? Its numerical stability, the correctness of results, scalability with problem size and difficulty, and solve times over a range of model instances. But you can just call it, “Gurobi.”
Multi-Objective Optimization
Multiple Scenario Analysis
Piecewise-Linear Objectives and Constraints
Simple General Constraints
Gurobi Optimizer Delivers Non-Linear Solving
Nonlinear Solving
Nonlinear solving can help us find solutions to equations or systems of equations that involve nonlinear relationships between variables.
In mathematics, common examples of nonlinear expressions include equations with variables that are raised to powers greater than one, or that involve trigonometric functions, exponentials, logarithms, or other nonlinear operations.
- Gurobi Optimizer Delivers Parallel Optimization
Parallel Optimization
We designed our code to fully exploit parallelism. It’s not a sequential code that was parallelized, but a fundamentally parallel code that you can also choose to run sequentially.
- Gurobi Optimizer Delivers Distributed Optimization
Distributed Optimization
Distribute your computational load across several processing units, reducing your solve time and keeping costs low.
- Gurobi Optimizer Delivers Infeasibility Analysis
Infeasibility Analysis
Gurobi helps you quickly identify exactly where infeasibility exists in your model, so you can fix it and get back on track.
- Gurobi Optimizer Delivers Multi-Objective Optimization
Multi-Objective Optimization
Gurobi supports models with multiple, competing objectives—with flexibility in how they are prioritized.
- Gurobi Optimizer Delivers Multiple Scenario Analysis
Multiple Scenario Analysis
Use Gurobi as a “digital twin” for your business—enabling you to explore the business impact of certain decisions or what-if scenarios, before they happen.
- Gurobi Optimizer Delivers Parameter Tuning
Parameter Tuning
When confronted with the task of choosing parameter values that might lead to better performance on a model, the long list of Gurobi parameters may seem intimidating. To simplify the process, we include a simple automated parameter tuning tool
- Gurobi Optimizer Delivers Solution Pools
Solution Pools
While Gurobi is designed to identify your single, proven-optimal solution, you can also tweak the parameters so you can find other, non-optimal solutions along the way.
- Gurobi Optimizer Delivers Piecewise-Linear Objectives and Constraints
Piecewise-Linear Objectives and Constraints
Directly solve models with convex, piecewise-linear objective functions, to better capture certain non-linear problems.
- Gurobi Optimizer Delivers Function Constraints
Simple General Constraints
Express common modeling constructs like MIN/MAX, ABS, AND/OR, and IF/THEN at a higher level, making such models easier to build and maintain.
- Gurobi Optimizer Delivers General Constraints
General Constraints
By supporting variable relationships directly in the Gurobi API, we simplify the modeling process—performing the transformation to a corresponding MIP formulation automatically and transparently during the solution process.
- Gurobi Optimizer Delivers Platform Choice
Platform Choice
Gurobi Optimizer supports a broad range of computing platforms—across Windows, Mac, Linux, and AIX.
- Mixed-Integer Non-Linear Programming
- Multi-Objective Optimization
- Multiple Scenario Analysis
- Piecewise-Linear Objectives and Constraints
- Simple General Constraints
Get Gurobi,
Your Way
Our flexible licensing means you can use
Gurobi how and where you want—for both
development and deployment—across
local machines, clouds, and containers.