what's new in gurobi 5 · feasibility relaxation for infeasible models, often useful to relax...
TRANSCRIPT
![Page 1: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/1.jpg)
What's New In Gurobi 5.0
Dr. Edward Rothberg
![Page 2: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/2.jpg)
Our Main Goals for Gurobi 5.0
Expand the reach of the product: ◦ New problem types:
Quadratic constraints:
QCP, SOCP, MIQCP
Massive numbers of constraints:
Through lazy constraints
◦ New types of users:
MATLAB
R
More options for working with infeasible models: ◦ Barrier homogeneous algorithm
◦ Feasibility relaxations
© 2012 Gurobi Optimization 2
![Page 3: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/3.jpg)
Our Main Goals for Gurobi 5.0
Improved performance and robustness: ◦ Barrier crossover improvements
◦ Concurrent optimizer control
◦ New simplex warm-start option
Plus a few other features: ◦ Retrieve variable/constraint by name
◦ Floating license usage detail
© 2012 Gurobi Optimization 3
![Page 4: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/4.jpg)
Agenda
Overview of 5.0
Performance benchmarks
Q&A
© 2012 Gurobi Optimization 4
![Page 5: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/5.jpg)
SOLVE NEW PROBLEM TYPES
![Page 6: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/6.jpg)
Quadratic Constraints
Main focus of Gurobi 5.0
We'll discuss them at the end
6 © 2012 Gurobi Optimization
![Page 7: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/7.jpg)
LAZY CONSTRAINTS
7 © 2012 Gurobi Optimization
![Page 8: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/8.jpg)
Models with Massive Constraint Counts
Some models have too many constraints to explicitly state
Gurobi 5.0 supports lazy constraints
◦ State core constraints up front
◦ Only add non-core constraints if/when they are violated
Important difference between Gurobi and CPLEX
◦ CPLEX lazy constraints force you to turn off important features
Parallel, dynamic search, …
You take two steps backward before you even start
◦ No need to turn off important features with our approach
New Traveling Salesman Problem (TSP) example
◦ Thorough demonstration of new feature
8 © 2012 Gurobi Optimization
![Page 9: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/9.jpg)
SUPPORT NEW TYPES OF USERS
![Page 10: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/10.jpg)
Gurobi Interfaces
In Gurobi 4.6, we support: ◦ Native:
C, C++, C#, Java, Python, VB
◦ Third-party:
AIMMS, AMPL, Frontline Solver (EXCEL), GAMS, MPL, Solver Foundation
What's missing? ◦ Two main target areas:
Engineering
Data analysis
10 © 2012 Gurobi Optimization
![Page 11: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/11.jpg)
Engineering
MATLAB extremely widely used in science and engineering
People already using Gurobi through MATLAB ◦ Open-source GurobiMex wrapper [Wotao Yin]
Advantages of Gurobi wrapper: ◦ Exposes more Gurobi features
◦ New Gurobi features supported immediately
E.g., quadratic constraints
◦ We handle integration
No need to compile anything
◦ We support it
11 © 2012 Gurobi Optimization
![Page 12: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/12.jpg)
Predictive Analytics Platforms
One measure of platform popularity: kaggle.com
◦ "Kaggle is a platform for data prediction competitions that allows organizations to post their data and have it scrutinized by the world's best data scientists"…
12 © 2012 Gurobi Optimization
![Page 13: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/13.jpg)
What is R?
"R is an open source programming language and software environment for statistical computing and graphics. The R language is widely used among statisticians for developing statistical software and data analysis." [wikipedia.org]
13 © 2012 Gurobi Optimization
![Page 14: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/14.jpg)
MATLAB and R Interfaces
Design goal: ◦ Seamless integration with languages
Key point: ◦ Languages are both matrix-oriented
KISS (Keep It Short and Simple) ◦ User builds constraint matrices using native language
features
◦ Gurobi function accepts matrices (A, Q) and vectors (obj, rhs, lb, ub, …)
14 © 2012 Gurobi Optimization
![Page 15: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/15.jpg)
Gurobi MATLAB and R Interfaces
MATLAB: model.A = sparse([1 1 0; 0 1 1])
model.obj = [1 2 3]
model.rhs = [1 1]
model.sense = ['<', '<']
result = gurobi(model)
disp(result.objval)
15 © 2012 Gurobi Optimization
R: model$A <- matrix(c(1,1,0,0,1,1),
nrow=2)
model$obj <- c(1,2,3)
model$rhs <- c(1,1)
model$sense <- c('<=', '<=')
result <- gurobi(model)
print(result$objval)
![Page 16: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/16.jpg)
INFEASIBLE MODELS
![Page 17: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/17.jpg)
BARRIER HOMOGENEOUS ALGORITHM
17 © 2012 Gurobi Optimization
![Page 18: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/18.jpg)
Barrier Homogeneous Algorithm
Standard barrier algorithm does not converge for infeasible/unbounded models
Homogeneous algorithm [Xu, Hung, and Ye, 1996] ◦ Converges:
To optimal solution for feasible & bounded models
To primal unboundedness proof for unbounded models
To dual unboundedness proof for infeasible models
◦ Downside:
One extra linear solve per iteration – performance cost
Slightly less numerically robust
18 © 2012 Gurobi Optimization
![Page 19: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/19.jpg)
Barrier Homogeneous Algorithm
Early termination ◦ No need to wait for convergence
◦ Stop as soon as you have an unboundedness proof
Interesting observation ◦ Standard barrier algorithm produces unboundedness proof
quite reliably
Nearly as reliably as homogeneous algorithm
Changes in Gurobi 5.0 barrier ◦ Standard algorithm now detects infeasibility and
unboundedness
◦ Homogeneous algorithm for missed cases
19 © 2012 Gurobi Optimization
![Page 20: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/20.jpg)
FEASIBILITY RELAXATION
20 © 2012 Gurobi Optimization
![Page 21: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/21.jpg)
Feasibility Relaxation
For infeasible models, often useful to relax constraints
We included a feasopt example with Gurobi 4.6
◦ Users wanted this as a feature
New feasibility relaxation routine feasRelax() ◦ feasRelax(relaxobjtype, minrelax, relax_bounds, relax_constrs)
relaxobjtype: linear, quadratic, or cardinality penalty
minrelax: just find minimum relaxation, or optimize original objective while minimizing relaxation
◦ Example:
model.feasRelax(GRB.FEASRELAX_LINEAR, true,
true, true)
model.optimize()
◦ More complex version allows you to specify penalties for individual bounds/constraints
21 © 2012 Gurobi Optimization
![Page 22: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/22.jpg)
OTHER NEW FEATURES
![Page 23: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/23.jpg)
Crossover Robustness
Significant improvement in barrier crossover robustness
Example: cont1_l (very difficult model)
◦ Version 4.6: …
Iteration Objective Primal Inf. Dual Inf. Time
173731 8.7407451e-03 1.065363e+03 0.000000e+00 43650s
173833 8.7463111e-03 1.054566e+03 0.000000e+00 43688s
173935 8.7527310e-03 1.053641e+03 0.000000e+00 43729s
174037 8.7574529e-03 1.059092e+03 0.000000e+00 43770s
174139 8.7623337e-03 1.053525e+03 0.000000e+00 43809s
174241 8.7673530e-03 1.063367e+03 0.000000e+00 43851s
174343 8.7729649e-03 1.052670e+03 0.000000e+00 43890s
...
◦ Version 5.0: …
Iteration Objective Primal Inf. Dual Inf. Time
3241 2.7703753e-03 0.000000e+00 0.000000e+00 7910s
3241 2.7703753e-03 0.000000e+00 0.000000e+00 9040s
Solved in 3241 iterations and 9040.65 seconds
Optimal objective 2.770375295e-03
23 © 2012 Gurobi Optimization
![Page 24: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/24.jpg)
Concurrent Optimizer Control
Concurrent allows you to apply multiple algorithms to an LP model ◦ First one that finishes returns result
◦ Useful for performance robustness
◦ Algorithm choices hard-coded in Gurobi 4.6
New detailed control: env0 = model.getConcurrentEnv(0)
env0.setParam("Method", 0)
env1 = model.getConcurrentEnv(1)
env1.setParam("Method", 1)
model.optimize()
24 © 2012 Gurobi Optimization
![Page 25: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/25.jpg)
Floating License Accounting
New 'gurobi_cl –-tokens' command:
Checking status of Gurobi token server 'server0'...
Token server functioning normally.
Maximum allowed uses: 10, current: 2
Tokens currently in use...
Client HostName Client IP Address UserName
------------------------------------------------
mars 192.168.1.34 rothberg
i7 192.168.1.23 bixby
25 © 2012 Gurobi Optimization
![Page 26: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/26.jpg)
Other Features
Retrieve by name: ◦ New methods:
v = getVarByName("varname");
c = getConstrByName("constrname");
◦ Implemented using a hash table
Constant time retrieval
Simplex warm-start from primal/dual vectors ◦ Previously only from a basis
26 © 2012 Gurobi Optimization
![Page 27: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/27.jpg)
QUADRATIC CONSTRAINTS
![Page 28: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/28.jpg)
Problem Statement
Quadratically Constrained Programming (QCP)
Minimize: c'x + ½ x'Qx
Subject To: Ax = b
x'Qix + qi'x <= bi
l ≤ x ≤ u
(MIQCP): Some xj must be integral
Different types of convex quadratic constraints: ◦ x'Qx + q'x <= b, Q Positive Semi-Definite (PSD)
◦ S xj2 ≤ y2, y ≥ 0 (Second-Order Cone)
◦ S xj2 ≤ yz, y, z ≥ 0 (Rotated Second-Order Cone)
© 2012 Gurobi Optimization 28
![Page 29: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/29.jpg)
Naming Confusion
Lots of different names: ◦ Second-Order Cone Programming (SOCP)
◦ Quadratically Constrained Programming (QCP)
◦ Quadratically Constrained Quadratic Programming (QCQP)
Gurobi 5.0 accepts any combination of… ◦ Second-order cone constraints
◦ Rotated second-order cone constraints
◦ General quadratic constraints with PSD Q
Gurobi 5.0 is an RSOQCQP solver (?) ◦ Concise labels don't work so well to capture QCP
capabilities
© 2012 Gurobi Optimization 29
![Page 30: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/30.jpg)
APPLICATIONS
30 © 2012 Gurobi Optimization
![Page 31: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/31.jpg)
Applications
Canonical example: portfolio optimization (Markowitz mean-variance model) ◦ Return is linear; risk is quadratic
◦ QP: minimize risk, lower bound on return
◦ QCP: maximize return, upper bound on risk
Surprisingly, canonical example rarely arises outside of Wall Street ◦ Most applications now in other domains…
© 2012 Gurobi Optimization 31
![Page 32: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/32.jpg)
Applications
Other domains: ◦ Robust linear programming
◦ Antenna array design
◦ FIR filter design
◦ Truss design
◦ Sparse signal recovery (L1-norm methods)
Can reformulate certain classes of convex non-linear programming problems as SOCP
For more information: ◦ Applications of second-order cone programming, Lobo,
Vandenberghe, Boyd, and Lebret, 1998
◦ CVX (www.cvxr.com)
© 2012 Gurobi Optimization 32
![Page 33: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/33.jpg)
INTERFACES
33 © 2012 Gurobi Optimization
![Page 34: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/34.jpg)
Interfaces
Three different interfaces, depending on language capabilities:
◦ Overloaded object-oriented (C++, .NET, Python):
model.addQConstr(x*x + y*y <= 1, "qc0");
◦ Object-oriented, no overloading (Java):
GRBQuadExpr qexpr = new GRBQuadExpr();
qexpr.addTerm(1.0, x, x);
qexpr.addTerm(1.0, y, y);
qexpr.addQConstr(qexpr, GRB.LESS_EQUAL, 1.0, "qc0");
◦ C:
qrow[0] = 0; qcol[0] = 0; qval[0] = 1.0;
qrow[1] = 1; qcol[1] = 1; qval[1] = 1.0;
GRBaddqconstr(model, 0, NULL, NULL, 2, qrow, qcol, qval,
GRB_LESS_EQUAL, 1.0, "qc0");
34 © 2012 Gurobi Optimization
![Page 35: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/35.jpg)
Convex Quadratic Constraint Forms
Gurobi accepts three different (convex) quadratic constraint forms: ◦ PSD Q:
model.addQConstr(x*x + x*y + y*y <= 2);
◦ Second-Order Cone:
model.addQConstr(x0*x0 + x1*x1 <= y*y);
◦ Rotated Second-Order Cone:
model.addQConstr(x0*x0 + x1*x1 <= y*z);
Gurobi automatically recognizes type
35 © 2012 Gurobi Optimization
![Page 36: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/36.jpg)
PERFORMANCE BENCHMARKS
![Page 37: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/37.jpg)
Benchmark Overview
Two kinds of benchmarks ◦ Internal
Robustness testing
Compare version-over-version improvements
◦ Competitive benchmarks
Extensive set of benchmarks maintained by Hans Mittelmann
http://plato.la.asu.edu/bench.html
Recently restructured, based upon MIPLIB 2010
37 © 2012 Gurobi Optimization
![Page 38: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/38.jpg)
LP Competitive
Benchmarks
38 © 2012 Gurobi Optimization
![Page 39: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/39.jpg)
Mittelmann: LP Solve Times
39 39
Gurobi 5.0 vs. Competition: Solve times
(> 1.0 means Gurobi faster)
Benchmark
CPLEX XPRESS
P=1 P=4 P=1 P=4
LP Dual Simplex 1.5X - 1.2X -
LP Barrier (plus Crossover) - 1.1X - 1.3X
LP Concurrent - 1.8X - 3.6X
© 2012 Gurobi Optimization
![Page 40: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/40.jpg)
MILP Competitive
Benchmarks
40 © 2012 Gurobi Optimization
![Page 41: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/41.jpg)
Mittelmann (MIPLIB 2010): MILP Solve Times
41
Gurobi 5.0 vs. Competition: Solve times (> 1.0 means Gurobi faster)
Benchmark CPLEX XPRESS
P=1 P=4 P=12 P=1 P=4 P=12
Optimality 1.2X 1.2X
Feasibility - 8.4X - - 2.1X -
Infeasibility - - 1.7X - - 3.0X
© 2012 Gurobi Optimization
![Page 42: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/42.jpg)
Mittelmann: MILP Solvability
42
Gurobi 5.0 vs. Competition: Hit time limit
Benchmark Gurobi CPLEX XPRESS
MIPLIB 2010 12 20 23
Feasibility 2 8 5
Infeasibility 1* 3 4
*Out of memory
© 2012 Gurobi Optimization
![Page 43: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/43.jpg)
QP Competitive
Benchmarks
43 © 2012 Gurobi Optimization
![Page 44: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/44.jpg)
Mittelmann: QP Solve Times
44
Gurobi 5.0 vs. Competition: Solve times
(> 1.0 means Gurobi is faster)
Benchmark
CPLEX XPRESS MOSEK
P=4 P=4 P=4
QP (continuous) 1.4X 1.0X 9.2X
MIQP 2.7X 1.7X -
SOCP (continuous) 2.9X - 1.4X
MIQCP 13.6X 4.1X -
© 2012 Gurobi Optimization
![Page 45: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/45.jpg)
Gurobi gets Better as the Problems get Tougher
![Page 46: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/46.jpg)
Mittelmann LP Benchmark
Gurobi 5.0 vs. CPLEX 12.4
46 © 2012 Gurobi Optimization
0.97X
1.49X
2.78X
0.0
0.5
1.0
1.5
2.0
2.5
3.0
Both solvers <100s Full test set At least one solver >100s
Dual Simplex Gurobi Vs. CPLEX
![Page 47: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/47.jpg)
Gurobi Solves 11 previously unsolved models
Tested against the MIPLIB 2010 Challenge Set in January 2012 ◦ Models previously unsolved by any commercial or academic code
◦ More at: http://miplib.zib.de
Application domains ◦ Lot sizing, Gas network transport, Mining, Satellite scheduling, p-Median
problem, Weighted n-Queens
47
b2c1s1 maxgasflow opm2-z10-s2
opm2-z11-s8 opm2-z12-s14 opm2-z12-s7
rmatr200-p10 satellites3-40-fs satellites3-40
wnq-n100-mw99-14 transportmoment (only 36s!)
© 2012 Gurobi Optimization
Make sure to not just test us on easy models. Our best performance
will likely be on your hardest models.
![Page 48: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/48.jpg)
For More Information…
All Gurobi documentation available at www.gurobi.com ◦ Quick Start Guide
◦ Reference Manual
◦ Example Tour
Download the product at www.gurobi.com ◦ Free for academics
◦ Free size-limited trial for commercial users
Contact Gurobi: ◦ [email protected]
48 © 2012 Gurobi Optimization
![Page 49: What's New In Gurobi 5 · Feasibility Relaxation For infeasible models, often useful to relax constraints We included a feasopt example with Gurobi 4.6 Users wanted this as a feature](https://reader034.vdocuments.us/reader034/viewer/2022042215/5ebb47d2b22f7c3cde646956/html5/thumbnails/49.jpg)
Thanks For Coming
Questions? Type Them Into the 'Questions' Pane