What's New In Gurobi 5.0. Dr. Edward Rothberg

Similar documents
Welcome to the Webinar. What s New in Gurobi 7.5

The Gurobi Optimizer. Bob Bixby

What's New in Gurobi 7.0

Gurobi Implementation

MOSEK Optimization Suite

Parallel and Distributed Optimization with Gurobi Optimizer

Gurobi Guidelines for Numerical Issues February 2017

Advanced Use of GAMS Solver Links

Research Interests Optimization:

Topics. Introduction. Specific tuning/troubleshooting topics "It crashed" Gurobi parameters The tuning tool. LP tuning. MIP tuning

Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding

Exploiting Degeneracy in MIP

Code Generation for Embedded Convex Optimization

Benders in a nutshell Matteo Fischetti, University of Padova

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

Welcome to the Webinar. Gurobi Enhancements to MATLAB and R

Package Rcplex. June 12, 2016

Civil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

A Lifted Linear Programming Branch-and-Bound Algorithm for Mixed Integer Conic Quadratic Programs

IBM ILOG CPLEX Optimization Studio Getting Started with CPLEX for MATLAB. Version 12 Release 6

mixed-integer convex optimization

13. Cones and semidefinite constraints

qpoases - Online Active Set Strategy for Fast Linear MPC

What s New in CPLEX Optimization Studio ?

Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014

EE/AA 578: Convex Optimization

Interactions between a Modeling System and Advanced Solvers. GAMS Development Corporation

Fundamentals of Integer Programming

A Brief Overview of Optimization Problems. Steven G. Johnson MIT course , Fall 2008

Linear programming and duality theory

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Modern Benders (in a nutshell)

Notes on the IFPRI Spatial Production Allocation NLP Model

Linear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?

Exact solutions to mixed-integer linear programming problems

Optimization Methods. Final Examination. 1. There are 5 problems each w i t h 20 p o i n ts for a maximum of 100 points.

Crash-Starting the Simplex Method

AIMMS Function Reference - GMPInstance Procedures and Functions

Mathematical Programming and Research Methods (Part II)

Package Rcplex. February 15, 2013

A Brief Overview of Optimization Problems. Steven G. Johnson MIT course , Fall 2008

IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference. Version 12 Release 7 IBM

NOTATION AND TERMINOLOGY

KNITRO NLP Solver. Todd Plantenga, Ziena Optimization, Inc. US-Mexico Workshop on Optimization January 2007, Huatulco, Mexico

Motivation for Heuristics

Recent Advances In The New Mosek 8

Recent Developments in the Gurobi Optimizer

Metaheuristic Optimization with Evolver, Genocop and OptQuest

BACK TO MATH LET S START EASY.

The Supporting Hyperplane Optimization Toolkit A Polyhedral Outer Approximation Based Convex MINLP Solver Utilizing a Single Branching Tree Approach

Optimization: beyond the normal

Constrained optimization

Tools for Modeling Optimization Problems A Short Course. Algebraic Modeling Systems. Dr. Ted Ralphs

MVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg

Submodularity Reading Group. Matroid Polytopes, Polymatroid. M. Pawan Kumar

State-of-the-Optimization using Xpress-MP v2006

A NEW SEQUENTIAL CUTTING PLANE ALGORITHM FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS

MATLAB: The greatest thing ever. Why is MATLAB so great? Nobody s perfect, not even MATLAB. Prof. Dionne Aleman. Excellent matrix/vector handling

optlang Documentation

Robust Optimization in AIMMS

Tutorial on Integer Programming for Visual Computing

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

LP SCIP NEOS URL. example1.lp 2.1 LP 1. minimize. subject to, bounds, free, general, binary, end. .lp 1 2.2

Xpress NonLinear. Manual. Release version FICO TM Xpress Optimization Suite. Last update 30 October,

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

Parallelizing the dual revised simplex method

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

On the Global Solution of Linear Programs with Linear Complementarity Constraints

Branch-and-cut implementation of Benders decomposition Matteo Fischetti, University of Padova

Convex Optimization. Lijun Zhang Modification of

David G. Luenberger Yinyu Ye. Linear and Nonlinear. Programming. Fourth Edition. ö Springer

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

Convex Functions & Optimization

The Alternating Direction Method of Multipliers

1 Introduction This package contains software for solving the second-order cone programming (SOCP) problem minimize f T x subject to ka i x + b i kc T

Ellipsoid Algorithm :Algorithms in the Real World. Ellipsoid Algorithm. Reduction from general case

Penalty Alternating Direction Methods for Mixed- Integer Optimization: A New View on Feasibility Pumps

ILOG CPLEX 10.0 Interactive Optimizer January 2006

arxiv: v4 [math.oc] 4 Nov 2018

Major New Features in Gurobi 7.0

The AIMMS Outer Approximation Algorithm for MINLP

Contents. I Basics 1. Copyright by SIAM. Unauthorized reproduction of this article is prohibited.

Towards a practical simplex method for second order cone programming

Strategies for Using Algebraic Modeling Languages to Formulate Second-Order Cone Programs

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Learning a classification of Mixed-Integer Quadratic Programming problems

Cutting Planes for Some Nonconvex Combinatorial Optimization Problems

Benchmarking of Optimization Software

MVE165/MMG631 Linear and integer optimization with applications Lecture 7 Discrete optimization models and applications; complexity

Lecture 17 Sparse Convex Optimization

Aone-phaseinteriorpointmethodfornonconvexoptimization

25. NLP algorithms. ˆ Overview. ˆ Local methods. ˆ Constrained optimization. ˆ Global methods. ˆ Black-box methods.

Mixed-Integer SOCP in optimal contribution selection of tree breeding

Solving Linear Programs Using the Simplex Method (Manual)

High performance computing and the simplex method

The AIMMS Outer Approximation Algorithm for MINLP

Introduction to Modern Control Systems

Exact Algorithms for Mixed-Integer Bilevel Linear Programming

Optimization Services (OS) Jun Ma. -- A Framework for Optimization Software -- A Computational Infrastructure -- The Next Generation NEOS

3 Interior Point Method

Transcription:

What's New In Gurobi 5.0 Dr. Edward Rothberg

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 2

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 3

Agenda Overview of 5.0 Performance benchmarks Q&A 4

SOLVE NEW PROBLEM TYPES

Quadratic Constraints Main focus of Gurobi 5.0 We'll discuss them at the end 6

LAZY CONSTRAINTS 7

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

SUPPORT NEW TYPES OF USERS

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

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

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

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

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

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) 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) 15

INFEASIBLE MODELS

BARRIER HOMOGENEOUS ALGORITHM 17

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

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

FEASIBILITY RELAXATION 20

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

OTHER NEW FEATURES

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

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

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

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

QUADRATIC CONSTRAINTS

Problem Statement Quadratically Constrained Programming (QCP) Minimize: Subject To: (MIQCP): c'x + ½ x'qx Ax = b x'q i x + q i 'x <= b i l x u Some x j must be integral Different types of convex quadratic constraints: x'qx + q'x <= b, Q Positive Semi-Definite (PSD) S x j 2 y 2, y 0 (Second-Order Cone) S x j 2 yz, y, z 0 (Rotated Second-Order Cone) 28

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 29

APPLICATIONS 30

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 31

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 nonlinear programming problems as SOCP For more information: Applications of second-order cone programming, Lobo, Vandenberghe, Boyd, and Lebret, 1998 CVX (www.cvxr.com) 32

INTERFACES 33

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): C: 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"); 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

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

PERFORMANCE BENCHMARKS

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

LP Competitive Benchmarks 38

Mittelmann: LP Solve Times 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 39 39

MILP Competitive Benchmarks 40

Mittelmann (MIPLIB 2010): MILP Solve Times 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 41

Mittelmann: MILP Solvability 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 42

QP Competitive Benchmarks 43

Mittelmann: QP Solve Times 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 - 44

Gurobi gets Better as the Problems get Tougher

Mittelmann LP Benchmark Dual Simplex Gurobi Vs. CPLEX 3.0 2.78X 2.5 2.0 1.5 1.49X 1.0 0.97X 0.5 0.0 Both solvers <100s Full test set At least one solver >100s Gurobi 5.0 vs. CPLEX 12.4 46

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 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!) Application domains Lot sizing, Gas network transport, Mining, Satellite scheduling, p-median problem, Weighted n-queens Make sure to not just test us on easy models. Our best performance will likely be on your hardest models. 47

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: info@gurobi.com 48

Thanks For Coming Questions? Type Them Into the 'Questions' Pane