Topics. Introduction. Specific tuning/troubleshooting topics "It crashed" Gurobi parameters The tuning tool. LP tuning. MIP tuning
|
|
- Agnes Rice
- 5 years ago
- Views:
Transcription
1 Tuning II
2 Topics Introduction Gurobi parameters The tuning tool Specific tuning/troubleshooting topics "It crashed" The importance of being specific LP tuning The importance of scaling MIP tuning Performance variability Tuning improvements in 7.0 Model-building runtime Diagnosing Infeasibility
3 Gurobi Parameters
4 Gurobi parameters Version 7.0 has 117 parameters Can be grouped by function: Termination: control termination of the solvers Example: TimeLimit Tolerances: control solver tolerances Example: FeasibilityTol Simplex: affect the operation of the simplex algorithms Example: SimplexPricing Barrier: affect the operation of the barrier algorithm Example: Crossover MIP: affect the operation of the MIP algorithm Example: MIPFocus MIP Cuts: affect the MIP cutting planes Example: CutPasses Tuning: affect the operation of the automatic parameter tuner Example: TuneTimeLimit Distributed: affect the behavior of the distributed algorithms Example: WorkerPool Other
5 Gurobi parameters Of these 117, 57 are related to performance Multiple possible values for most We could tell you when each is appropriate Except that would take all day And we often don't know ourselves Better to use the Gurobi parameter tuning tool
6 The Gurobi Parameter Tuning Tool
7 Parameter tuning basics Parameter changes can have a big effect Parameter tuning tool captures simple rules of thumb "Always try primal, dual, and barrier for an LP" "Don't vary barrier parameters if you are using simplex" "If presolve consumes most of the runtime, try Presolve=1 Plus brute force More important than you might expect
8 grbtune: parameter tuning tool Automatically finds sets of parameters that give good performance Two criteria Primary: fastest time to optimality Secondary: Smallest MIP gap in a fixed amount of time is default Optional: best feasible, best bound Can run distributed across multiple computers An API is available
9 Tuning tool Tuning is harder than it may first appear We'll return to this topic later
10 Specific Troubleshooting/Tuning Topics
11 "It Crashed"
12 "It crashed" User definitions of "crash" (from actual support cases) Windows "blue screen" Segmentation fault (Linux, Mac) Fails to start optimization Solver returned no solution Binary variable took a value of Solution violated constraint by Solution objective was 0.002% above mathematical optimum No log entries for a long time Ran for a really long time
13 "It crashed" Resolution Windows "blue screen" Hardware problem: user program can't crash OS Segmentation fault (Linux, Mac) Problem in user program Fails to start optimization License issue Solver returned no solution Infeasible model, no status check Binary variable took a value of Tolerances (IntFeasTol) Solution violated constraint by Tolerances (FeasibilityTol) Solution objective was 0.002% above mathematical optimum Tolerances (MIPGap) No log entries for a long time Large and difficult model Ran for a really long time Large and difficult model Rarely: Bug in Gurobi libraries
14 "It crashed" Try to be specific Helps us figure out what's going on Often helps you to resolve the issue
15 Performance Variability and Tuning
16 Demonstration MIP tuning We use a model named acc-tight1.mps Apply tuning with TuneTrials=1 and TuneTimeLimit=30 Interactive shell commands: m = read( c:/users/*/desktop/acc-tight1.mps ) m.params.tunetrials = 1 m.params.tunetimelimit = 30 m.tune() Command Line Tool: grbtune TuneTrials=1 TuneTimeLimit=30 acc-tight1
17 Performance variability Output (grbtune TuneTrials=1 TuneTimeLimit=30 acc-tight1): Baseline parameter set: runtime 0.58s Improved parameter set 1 (runtime 0.20s): Method 0 MIPFocus 2 CutPasses 3 Improved parameter set 2 (runtime 0.22s): Method 0 MIPFocus 2
18 Tuning tips performance variability Good news! Model runs almost 3X faster with tuning First question does it make sense? Most important tuned parameter (Method=0) uses primal simplex for root solve Default Method setting: Root relaxation: objective e+00, 1617 iterations, 0.09 seconds Method=0: Root relaxation: objective e+00, 3204 iterations, 0.13 seconds Well that's strange
19 Tuning tips performance variability Second question: do benefits of parameter tuning survive small perturbations? Change random number seed (with Method=0 and MIPFocus=2): Seed=default: Seed=1: Seed=10: Seed=100: Seed=1000: Explored 0 nodes (3550 simplex iterations) in 0.22 seconds Explored 0 nodes (3168 simplex iterations) in 0.40 seconds Explored 0 nodes (3766 simplex iterations) in 1.90 seconds Explored 0 nodes (4061 simplex iterations) in 0.44 seconds Explored 0 nodes (3489 simplex iterations) in 0.29 seconds Performance very sensitive to small perturbations
20 Tuning tips performance variability A closer look Nodes Current Node Objective Bounds Work Expl Unexpl Obj Depth IntInf Incumbent BestBd Gap It/Node Time s s s s H % - 1s Optimization stops as soon as heuristic finds a solution Heuristics highly influenced by random effects Recipe for large runtime variations
21 Tuning tips performance variability That's why we perform multiple random trials What happens when we vary TuneTrials for this model? Variance is model dependent For model misc07: 3 trials: baseline runtime 0.40s, best runtime 0.25s 5 trials: baseline runtime 0.35s, best runtime 0.29s 10 trials: baseline runtime 0.32s, best runtime 0.30s 1 trial: baseline runtime 1.49s, best runtime 0.50s 3 trials: baseline runtime 1.44s, best runtime 0.51s 5 trials: baseline runtime 1.48s, best runtime 0.47s 10 trials: baseline runtime 1.51s, best runtime 0.44s Important to avoid over-tuning
22 Over-tuning
23 Tuning tips Tuning tool reports all potential improvements Even when improvement is very small For misc07 with TuneTrials=10, best reported parameter set: Improved parameter set 1 (runtime 0.45s): SimplexPricing 0 NormAdjust 2 Heuristics 0 VarBranch 1 Cuts 0 Possibilities to overtune are everywhere Parameter changes can produce random effects small benefits benefits that are specific to one instance, not your whole family of models
24 Tuning tips Tip #1: tune over multiple models grbtune misc05.mps misc06.mps misc07.mps Note that this will tune over the sum of the runtimes Models that take more time will have more influence Tip #2: less is more - pick the important parameters Tuning tool will report an efficient frontier Best results with 1 parameter change, 2 parameter changes, 3 Diminishing returns Stop when the marginal improvement gets small Tip #3: retune with each Gurobi release We work hard to make the default settings as effective as possible Changing a parameter takes you away from this default behavior
25 Tuning Improvements In 7.0
26 Tuning improvements A few tuning improvements in 7.0, based on user requests Can now tune with a MIP start Can now tune for specific criteria: Minimize gap (v6.5 behavior) Best incumbent objective Best lower bound
27 Scaling
28 Importance of scaling Scaling has a huge impact on performance A poorly scaled model can lead to Slow runtimes Feasibility violations In extreme cases, inability to find a feasible solution Signs of scaling trouble: Coefficient statistics: Matrix range [5e-05, 2e+04] Objective range [2e-03, 2e+09] Bounds range [4e-04, 4e+08] RHS range [3e+01, 9e+04] A few rules of thumb Spread between smallest and largest matrix coefficient < 1e6 (1e8 if you are feeling lucky) Largest bound and objective coefficient < 1e8
29 Importance of scaling Simple program to create a rescaled version of any model scaling = for var in model.getvars(): if var.vtype == GRB.CONTINUOUS: scale = random.uniform(scaling/2.0, scaling*2.0) flip = random.randint(0,3) if flip == 0: scale = 1.0 elif flip == 1: scale = 1.0/scale col = model.getcol(var) for i in range(col.size()): coeff = col.getcoeff(i) row = col.getconstr(i) model.chgcoeff(row, var, coeff*scale) var.obj = var.obj*scale if var.lb > -GRB.INFINITY: var.lb = var.lb/scale if var.ub < GRB.INFINITY: var.ub = var.ub/scale
30 Importance of scaling For LP model pds-20 with original scaling: With scaling=1e4: Coefficient statistics: Matrix range [1e+00, 1e+00] Objective range [3e+01, 1e+05] Bounds range [8e+00, 2e+04] RHS range [3e+01, 9e+04] Solved in iterations and 0.97 seconds Optimal objective e+10 Coefficient statistics: Matrix range [5e-05, 2e+04] Objective range [2e-03, 2e+09] Bounds range [4e-04, 4e+08] RHS range [3e+01, 9e+04] Solved in iterations and 2.15 seconds Optimal objective e+10
31 Importance of scaling With scaling=1e5: Coefficient statistics: Matrix range [5e-06, 2e+05] Objective range [2e-04, 2e+10] Bounds range [4e-05, 4e+09] RHS range [3e+01, 9e+04] Solved in iterations and 1.35 seconds Infeasible model
32 Importance of scaling Can parameter tuning fix this? Tuning tool results for model pds-20 with scaling=1e4: Improved parameter set 1 (runtime 1.80s): NormAdjust 1 PrePasses 8 Improved parameter set 2 (runtime 1.92s): NormAdjust 1 Aggressive scaling (ScaleFlag=2) does help (tuning tool won't find everything): Solved in iterations and 1.36 seconds Optimal objective e+10
33 Importance of scaling What about ScaleFlag=2 for scaling=1e5 model? Iteration Objective Primal Inf. Dual Inf. Time e e e+07 0s Warning: 1 variables dropped from basis e e e+09 5s e e e+10 11s e e e+10 16s e e e+09 20s e e e+10 26s e e e+09 31s e e e+18 56s e e e+18 60s e e e+09 65s e e e+00 65s Solved in iterations and seconds Optimal objective e+10 Warning: unscaled dual violation = e-05 and residual = e-06
34 Why is scaling so important? Computers use finite-precision floating-point arithmetic Trivial example: compute If results are computed to 4 digits: = =.1 To three digits, result is 0 When solving a linear system of equations, these round-off errors happen all over the place Potential for accumulated errors is captured in matrix condition number The larger the condition number, the less accurate the results
35 Importance of scaling Default Gurobi tolerances are ~1e-6 We need at least 6 accurate digits Otherwise, can't tell the difference between model feasibility problems and floating-point errors In modern computers, roughly 16 digits of accuracy in computed results IEEE 754 floating-point standard Simple interpretation of condition number: Multiply smallest floating-point error by condition number to get linear solve error Example: 2e-16 IEEE error * 1e8 condition number = 2e-8 linear solve error For model pds-20: scaling=1e2: condition number of optimal basis ~2e6 scaling=1e4: condition number of optimal basis ~1e10
36 Importance of scaling Why can't Gurobi recover the original scaling? We try, but it's a very difficult problem
37 Model Building Runtime
38 Time to build a model Fairly common type of support question " I set up a problem with +/ rows and columns in an internal data structure. Then I push this to Gurobi. The calls to GRBModel.addConstr( ) in total take 4 seconds. The call to optimize() later also takes 4 seconds. So it seems there is a lot of time lost by constructing Java wrappers to write the GRBModel to the underlying library." TL;DR: Why is the Gurobi API so slow?
39 Time to build a model Simple demonstration: Build a model with 100K constraints, 1M vars, and 1M non-zero coefficients: m = Model() for n in range( ): m.addvar(vtype=grb.binary) m.update() vars = m.getvars() for n in range(100000): expr = sum(vars[10*n:10*(n+1)]) m.addconstr(expr <= 1) On my laptop, above Python code takes 7.6s Python is our slowest API (Python is an interpreted language) C version is >10X faster No reason for a well-written program to spend significant time in Gurobi model building
40 Common model building pitfalls Common pitfall: too frequent calls to update() m = Model() for n in range( ): m.addvar(vtype=grb.binary) m.update() vars = m.getvars() for n in range(100000): expr = sum(vars[10*n:10*(n+1)]) m.addconstr(expr <= 1) m.update() Program now takes 1000+s (versus 7.6s) Only call update() when you need to look at the result of previous changes API change in Gurobi 7.0: most programs will never need to call update()
41 Common model building pitfalls Common pitfall: time not actually spent in Gurobi calls Simple approach to tracking this down Use Gurobi recording (Record parameter) Run your program with Record=1 Produces a recording000.grbr file Next, replay the recording file: gurobi_cl recording000.grbr Replays same sequence of Gurobi API calls exactly Produces runtime summary at the end *Replay* Gurobi API routine runtime: 2.12s *Replay* Gurobi solve routine runtime: 23.92s
42 Common model building pitfalls Common pitfall: not enough memory A model with 1M variables isn't going to solve on a machine with 4GB of memory Even if you remove all variable names Even if you store your coefficients in single precision BTW, never store your coefficients in single precision Surprising (to us) how frequently people run into this No simple rule to predict how much memory a model will require Best approach: Collect problems of different sizes Measure memory use versus problem size Use this to extrapolate to desired problem size
43 Infeasibility
44 Infeasibility detection tools Irreducible Inconsistent Subsystem (IIS) Finds a minimal set of constraints that conflict Attributes indicate what cannot be satisfied Useful for model development feasrelax Finds a solution with the minimum constraint violation Retrieve added artificial slack variables to find violations Useful for deployed application
45 More resources Sections in the Reference Manual Logging Parameter Guidelines Parameter Tuning Gurobi Examples Tuning example Infeasibility examples (particularly workforce4) Gurobi support:
Gurobi Guidelines for Numerical Issues February 2017
Gurobi Guidelines for Numerical Issues February 2017 Background Models with numerical issues can lead to undesirable results: slow performance, wrong answers or inconsistent behavior. When solving a model
More informationMotivation for Heuristics
MIP Heuristics 1 Motivation for Heuristics Why not wait for branching? Produce feasible solutions as quickly as possible Often satisfies user demands Avoid exploring unproductive sub trees Better reduced
More information3 INTEGER LINEAR PROGRAMMING
3 INTEGER LINEAR PROGRAMMING PROBLEM DEFINITION Integer linear programming problem (ILP) of the decision variables x 1,..,x n : (ILP) subject to minimize c x j j n j= 1 a ij x j x j 0 x j integer n j=
More informationAgenda. Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions!
Modeling 2 Agenda Understanding advanced modeling techniques takes some time and experience No exercises today Ask questions! Part 1: Overview of selected modeling techniques Background Range constraints
More informationInteger Programming Chapter 9
1 Integer Programming Chapter 9 University of Chicago Booth School of Business Kipp Martin October 30, 2017 2 Outline Branch and Bound Theory Branch and Bound Linear Programming Node Selection Strategies
More informationExploiting Degeneracy in MIP
Exploiting Degeneracy in MIP Tobias Achterberg 9 January 2018 Aussois Performance Impact in Gurobi 7.5+ 35% 32.0% 30% 25% 20% 15% 14.6% 10% 5.7% 7.9% 6.6% 5% 0% 2.9% 1.2% 0.1% 2.6% 2.6% Time limit: 10000
More informationAlgorithms II MIP Details
Algorithms II MIP Details What s Inside Gurobi Optimizer Algorithms for continuous optimization Algorithms for discrete optimization Automatic presolve for both LP and MIP Algorithms to analyze infeasible
More informationThe Gurobi Optimizer. Bob Bixby
The Gurobi Optimizer Bob Bixby Outline Gurobi Introduction Company Products Benchmarks Gurobi Technology Rethinking MIP MIP as a bag of tricks 8-Jul-11 2010 Gurobi Optimization 2 Gurobi Optimization Incorporated
More informationUsing Multiple Machines to Solve Models Faster with Gurobi 6.0
Using Multiple Machines to Solve Models Faster with Gurobi 6.0 Distributed Algorithms in Gurobi 6.0 Gurobi 6.0 includes 3 distributed algorithms Distributed concurrent LP (new in 6.0) MIP Distributed MIP
More informationUnit.9 Integer Programming
Unit.9 Integer Programming Xiaoxi Li EMS & IAS, Wuhan University Dec. 22-29, 2016 (revised) Operations Research (Li, X.) Unit.9 Integer Programming Dec. 22-29, 2016 (revised) 1 / 58 Organization of this
More informationThe MIP-Solving-Framework SCIP
The MIP-Solving-Framework SCIP Timo Berthold Zuse Institut Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 23.05.2007 What Is A MIP? Definition MIP The optimization problem
More informationParallel and Distributed Optimization with Gurobi Optimizer
Parallel and Distributed Optimization with Gurobi Optimizer Our Presenter Dr. Tobias Achterberg Developer, Gurobi Optimization 2 Parallel & Distributed Optimization 3 Terminology for this presentation
More informationIntroduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs
Introduction to Mathematical Programming IE496 Final Review Dr. Ted Ralphs IE496 Final Review 1 Course Wrap-up: Chapter 2 In the introduction, we discussed the general framework of mathematical modeling
More informationSection Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017
Section Notes 5 Review of Linear Programming Applied Math / Engineering Sciences 121 Week of October 15, 2017 The following list of topics is an overview of the material that was covered in the lectures
More informationRead: H&L chapters 1-6
Viterbi School of Engineering Daniel J. Epstein Department of Industrial and Systems Engineering ISE 330: Introduction to Operations Research Fall 2006 (Oct 16): Midterm Review http://www-scf.usc.edu/~ise330
More informationFundamentals of Integer Programming
Fundamentals of Integer Programming Di Yuan Department of Information Technology, Uppsala University January 2018 Outline Definition of integer programming Formulating some classical problems with integer
More informationMath Models of OR: The Simplex Algorithm: Practical Considerations
Math Models of OR: The Simplex Algorithm: Practical Considerations John E. Mitchell Department of Mathematical Sciences RPI, Troy, NY 12180 USA September 2018 Mitchell Simplex Algorithm: Practical Considerations
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 18 All-Integer Dual Algorithm We continue the discussion on the all integer
More informationWelcome to the Webinar. What s New in Gurobi 7.5
Welcome to the Webinar What s New in Gurobi 7.5 Speaker Introduction Dr. Tobias Achterberg Director of R&D at Gurobi Optimization Formerly a developer at ILOG, where he worked on CPLEX 11.0 to 12.6 Obtained
More informationIntroduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Module - 05 Lecture - 24 Solving LPs with mixed type of constraints In the
More informationILOG CPLEX 10.0 Interactive Optimizer January 2006
ILOG CPLEX 10.0 Interactive Optimizer January 2006 ILOG CPLEX 10.0 INTERACTIVE OPTIMIZER COMMANDS 1 COPYRIGHT NOTICE Copyright 1987-2006, by ILOG S.A. and ILOG, Inc., All rights reserved. General Use Restrictions
More informationThe Ascendance of the Dual Simplex Method: A Geometric View
The Ascendance of the Dual Simplex Method: A Geometric View Robert Fourer 4er@ampl.com AMPL Optimization Inc. www.ampl.com +1 773-336-AMPL U.S.-Mexico Workshop on Optimization and Its Applications Huatulco
More informationPrimal Heuristics in SCIP
Primal Heuristics in SCIP Timo Berthold Zuse Institute Berlin DFG Research Center MATHEON Mathematics for key technologies Berlin, 10/11/2007 Outline 1 Introduction Basics Integration Into SCIP 2 Available
More informationWhat's New In Gurobi 5.0. Dr. Edward Rothberg
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
More informationSolving a Challenging Quadratic 3D Assignment Problem
Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment Problem
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture 16 Cutting Plane Algorithm We shall continue the discussion on integer programming,
More informationComputational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs
Computational Integer Programming Lecture 12: Branch and Cut Dr. Ted Ralphs Computational MILP Lecture 12 1 Reading for This Lecture Wolsey Section 9.6 Nemhauser and Wolsey Section II.6 Martin Computational
More informationGUROBI 1 GUROBI Installation 2 GUROBI Using the Matlab Interface 3 GUROBI Features 4 GUROBI Appendix A 5 GUROBI Appendix B 13 GUROBI Appendix C 19
GUROBI PDF generated using the open source mwlib toolkit. See http://code.pediapress.com/ for more information. PDF generated at: Sat, 21 Jan 2012 17:27:25 UTC Contents Articles GUROBI 1 GUROBI Installation
More informationSelected Topics in Column Generation
Selected Topics in Column Generation February 1, 2007 Choosing a solver for the Master Solve in the dual space(kelly s method) by applying a cutting plane algorithm In the bundle method(lemarechal), a
More informationAdvanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras
Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture - 35 Quadratic Programming In this lecture, we continue our discussion on
More informationPure Cutting Plane Methods for ILP: a computational perspective
Pure Cutting Plane Methods for ILP: a computational perspective Matteo Fischetti, DEI, University of Padova Rorschach test for OR disorders: can you see the tree? 1 Outline 1. Pure cutting plane methods
More informationLinear Programming. Course review MS-E2140. v. 1.1
Linear Programming MS-E2140 Course review v. 1.1 Course structure Modeling techniques Linear programming theory and the Simplex method Duality theory Dual Simplex algorithm and sensitivity analysis Integer
More informationJulian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study
Parallel matrix inversion for the revised simplex method - A study Julian Hall School of Mathematics University of Edinburgh June 5th 006 Parallel matrix inversion for the revised simplex method - a study
More informationLinear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.
University of Southern California Viterbi School of Engineering Daniel J. Epstein Department of Industrial and Systems Engineering ISE 330: Introduction to Operations Research - Deterministic Models Fall
More informationSolving lexicographic multiobjective MIPs with Branch-Cut-Price
Solving lexicographic multiobjective MIPs with Branch-Cut-Price Marta Eso (The Hotchkiss School) Laszlo Ladanyi (IBM T.J. Watson Research Center) David Jensen (IBM T.J. Watson Research Center) McMaster
More information16.410/413 Principles of Autonomy and Decision Making
16.410/413 Principles of Autonomy and Decision Making Lecture 17: The Simplex Method Emilio Frazzoli Aeronautics and Astronautics Massachusetts Institute of Technology November 10, 2010 Frazzoli (MIT)
More informationThe Simplex Algorithm
The Simplex Algorithm April 25, 2005 We seek x 1,..., x n 0 which mini- Problem. mizes C(x 1,..., x n ) = c 1 x 1 + + c n x n, subject to the constraint Ax b, where A is m n, b = m 1. Through the introduction
More informationColumn Generation Based Primal Heuristics
Column Generation Based Primal Heuristics C. Joncour, S. Michel, R. Sadykov, D. Sverdlov, F. Vanderbeck University Bordeaux 1 & INRIA team RealOpt Outline 1 Context Generic Primal Heuristics The Branch-and-Price
More informationOptimization Methods in Management Science
Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing
More informationMVE165/MMG630, Applied Optimization Lecture 8 Integer linear programming algorithms. Ann-Brith Strömberg
MVE165/MMG630, Integer linear programming algorithms Ann-Brith Strömberg 2009 04 15 Methods for ILP: Overview (Ch. 14.1) Enumeration Implicit enumeration: Branch and bound Relaxations Decomposition methods:
More information/ Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang
600.469 / 600.669 Approximation Algorithms Lecturer: Michael Dinitz Topic: Linear Programming Date: 2/24/15 Scribe: Runze Tang 9.1 Linear Programming Suppose we are trying to approximate a minimization
More informationWhat's New in Gurobi 7.0
What's New in Gurobi 7.0 What's New? New employees New features in 7.0 Major and minor Performance improvements New Gurobi Instant Cloud 2 The newest members of the Gurobi team Daniel Espinoza Senior Developer
More informationIntroduction. Linear because it requires linear functions. Programming as synonymous of planning.
LINEAR PROGRAMMING Introduction Development of linear programming was among the most important scientific advances of mid-20th cent. Most common type of applications: allocate limited resources to competing
More informationThe Heuristic (Dark) Side of MIP Solvers. Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL
The Heuristic (Dark) Side of MIP Solvers Asja Derviskadic, EPFL Vit Prochazka, NHH Christoph Schaefer, EPFL 1 Table of content [Lodi], The Heuristic (Dark) Side of MIP Solvers, Hybrid Metaheuristics, 273-284,
More informationAlgorithms for Decision Support. Integer linear programming models
Algorithms for Decision Support Integer linear programming models 1 People with reduced mobility (PRM) require assistance when travelling through the airport http://www.schiphol.nl/travellers/atschiphol/informationforpassengerswithreducedmobility.htm
More informationApplied Mixed Integer Programming: Beyond 'The Optimum'
Applied Mixed Integer Programming: Beyond 'The Optimum' 14 Nov 2016, Simons Institute, Berkeley Pawel Lichocki Operations Research Team, Google https://developers.google.com/optimization/ Applied Mixed
More informationExact solutions to mixed-integer linear programming problems
Exact solutions to mixed-integer linear programming problems Dan Steffy Zuse Institute Berlin and Oakland University Joint work with Bill Cook, Thorsten Koch and Kati Wolter November 18, 2011 Mixed-Integer
More informationCSE 40/60236 Sam Bailey
CSE 40/60236 Sam Bailey Solution: any point in the variable space (both feasible and infeasible) Cornerpoint solution: anywhere two or more constraints intersect; could be feasible or infeasible Feasible
More informationSolving Large-Scale Energy System Models
Solving Large-Scale Energy System Models Frederik Fiand Operations Research Analyst GAMS Software GmbH GAMS Development Corp. GAMS Software GmbH www.gams.com Agenda 1. GAMS System Overview 2. BEAM-ME Background
More informationHeuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX)
Andrea Tramontani CPLEX Optimization, IBM CWI, Amsterdam, June 12, 2018 Heuristics in Commercial MIP Solvers Part I (Heuristics in IBM CPLEX) Agenda CPLEX Branch-and-Bound (B&B) Primal heuristics in CPLEX
More informationThis is the search strategy that we are still using:
About Search This is the search strategy that we are still using: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false Let
More informationSolving a Challenging Quadratic 3D Assignment Problem
Solving a Challenging Quadratic 3D Assignment Problem Hans Mittelmann Arizona State University Domenico Salvagnin DEI - University of Padova Quadratic 3D Assignment Problem Quadratic 3D Assignment Problem
More information5.4 Pure Minimal Cost Flow
Pure Minimal Cost Flow Problem. Pure Minimal Cost Flow Networks are especially convenient for modeling because of their simple nonmathematical structure that can be easily portrayed with a graph. This
More informationFebruary 19, Integer programming. Outline. Problem formulation. Branch-andbound
Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland February 19,
More informationUsing CONOPT with AMPL
Using CONOPT with AMPL AMPL/CONOPT is an optimization system for nonlinear mathematical programs in continuous variables. It has been developed jointly by AMPL Optimization LLC, responsible for the AMPL/CONOPT
More informationGurobi Implementation
Gurobi Implementation Outlines Introduction Installing Gurobi Creating a visual studio C++ project for Groubi Building and solving Gurobi model page: 2 Introduction (1/4) Gurobi is a state-of-the-art solver
More informationMost nonzero floating-point numbers are normalized. This means they can be expressed as. x = ±(1 + f) 2 e. 0 f < 1
Floating-Point Arithmetic Numerical Analysis uses floating-point arithmetic, but it is just one tool in numerical computation. There is an impression that floating point arithmetic is unpredictable and
More informationCivil Engineering Systems Analysis Lecture XIV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics
Civil Engineering Systems Analysis Lecture XIV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Today s Learning Objectives Dual 2 Linear Programming Dual Problem 3
More informationAdvanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs
Advanced Operations Research Techniques IE316 Quiz 2 Review Dr. Ted Ralphs IE316 Quiz 2 Review 1 Reading for The Quiz Material covered in detail in lecture Bertsimas 4.1-4.5, 4.8, 5.1-5.5, 6.1-6.3 Material
More informationExploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report
Exploring Performance Tradeoffs in a Sudoku SAT Solver CS242 Project Report Hana Lee (leehana@stanford.edu) December 15, 2017 1 Summary I implemented a SAT solver capable of solving Sudoku puzzles using
More informationMarginal and Sensitivity Analyses
8.1 Marginal and Sensitivity Analyses Katta G. Murty, IOE 510, LP, U. Of Michigan, Ann Arbor, Winter 1997. Consider LP in standard form: min z = cx, subject to Ax = b, x 0 where A m n and rank m. Theorem:
More informationAM 121: Intro to Optimization Models and Methods Fall 2017
AM 121: Intro to Optimization Models and Methods Fall 2017 Lecture 10: Dual Simplex Yiling Chen SEAS Lesson Plan Interpret primal simplex in terms of pivots on the corresponding dual tableau Dictionaries
More informationNew Directions in Linear Programming
New Directions in Linear Programming Robert Vanderbei November 5, 2001 INFORMS Miami Beach NOTE: This is a talk mostly on pedagogy. There will be some new results. It is not a talk on state-of-the-art
More informationlpsymphony - Integer Linear Programming in R
lpsymphony - Integer Linear Programming in R Vladislav Kim October 30, 2017 Contents 1 Introduction 2 2 lpsymphony: Quick Start 2 3 Integer Linear Programming 5 31 Equivalent and Dual Formulations 5 32
More informationLinear programming II João Carlos Lourenço
Decision Support Models Linear programming II João Carlos Lourenço joao.lourenco@ist.utl.pt Academic year 2012/2013 Readings: Hillier, F.S., Lieberman, G.J., 2010. Introduction to Operations Research,
More informationInteger Programming Theory
Integer Programming Theory Laura Galli October 24, 2016 In the following we assume all functions are linear, hence we often drop the term linear. In discrete optimization, we seek to find a solution x
More informationCloud Branching MIP workshop, Ohio State University, 23/Jul/2014
Cloud Branching MIP workshop, Ohio State University, 23/Jul/2014 Timo Berthold Xpress Optimization Team Gerald Gamrath Zuse Institute Berlin Domenico Salvagnin Universita degli Studi di Padova This presentation
More informationParallel Branch & Bound
Parallel Branch & Bound Bernard Gendron Université de Montréal gendron@iro.umontreal.ca Outline Mixed integer programming (MIP) and branch & bound (B&B) Linear programming (LP) based B&B Relaxation and
More informationChapter 4: The Mechanics of the Simplex Method
Chapter 4: The Mechanics of the Simplex Method The simplex method is a remarkably simple and elegant algorithmic engine for solving linear programs. In this chapter we will examine the internal mechanics
More informationPackage Rcplex. February 15, 2013
Version 0.3-1 Date 2013-02-13 Title R interface to CPLEX Package Rcplex February 15, 2013 Author Hector Corrada Bravo, with contributions from Stefan Theussl and Kurt Hornik Maintainer Hector Corrada Bravo
More informationMLR Institute of Technology
Course Name : Engineering Optimization Course Code : 56021 Class : III Year Branch : Aeronautical Engineering Year : 2014-15 Course Faculty : Mr Vamsi Krishna Chowduru, Assistant Professor Course Objective
More informationAlgorithms for Integer Programming
Algorithms for Integer Programming Laura Galli November 9, 2016 Unlike linear programming problems, integer programming problems are very difficult to solve. In fact, no efficient general algorithm is
More informationCSc 545 Lecture topic: The Criss-Cross method of Linear Programming
CSc 545 Lecture topic: The Criss-Cross method of Linear Programming Wanda B. Boyer University of Victoria November 21, 2012 Presentation Outline 1 Outline 2 3 4 Please note: I would be extremely grateful
More informationGAMS. How can I make this work... arrgghh? GAMS Development Corporation
GAMS How can I make this work... arrgghh? Jan-H. Jagla Lutz Westermann jhjagla@gams.com lwestermann@gams.com GAMS Software GmbH GAMS Development Corporation www.gams.de www.gams.com Introduction GAMS at
More informationInteger Programming! Using linear programming to solve discrete problems
Integer Programming! Using linear programming to solve discrete problems Solving Discrete Problems Linear programming solves continuous problem! problems over the reai numbers.! For the remainder of the
More informationMVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms
MVE165/MMG631 Linear and integer optimization with applications Lecture 9 Discrete optimization: theory and algorithms Ann-Brith Strömberg 2018 04 24 Lecture 9 Linear and integer optimization with applications
More informationBenders Decomposition
Benders Decomposition Using projections to solve problems thst@man.dtu.dk DTU-Management Technical University of Denmark 1 Outline Introduction Using projections Benders decomposition Simple plant location
More informationLinear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming
Linear Programming 3 describes a broad class of optimization tasks in which both the optimization criterion and the constraints are linear functions. Linear Programming consists of three parts: A set of
More informationComparing Implementations of Optimal Binary Search Trees
Introduction Comparing Implementations of Optimal Binary Search Trees Corianna Jacoby and Alex King Tufts University May 2017 In this paper we sought to put together a practical comparison of the optimality
More informationBasic Search Algorithms
Basic Search Algorithms Tsan-sheng Hsu tshsu@iis.sinica.edu.tw http://www.iis.sinica.edu.tw/~tshsu 1 Abstract The complexities of various search algorithms are considered in terms of time, space, and cost
More informationCivil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics
Civil Engineering Systems Analysis Lecture XV Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics Today s Learning Objectives Sensitivity Analysis Dual Simplex Method 2
More informationCMPSCI611: The Simplex Algorithm Lecture 24
CMPSCI611: The Simplex Algorithm Lecture 24 Let s first review the general situation for linear programming problems. Our problem in standard form is to choose a vector x R n, such that x 0 and Ax = b,
More informationLECTURE 6: INTERIOR POINT METHOD. 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm
LECTURE 6: INTERIOR POINT METHOD 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm Motivation Simplex method works well in general, but suffers from exponential-time
More informationWireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition
Wireless frequency auctions: Mixed Integer Programs and Dantzig-Wolfe decomposition Laszlo Ladanyi (IBM T.J. Watson Research Center) joint work with Marta Eso (The Hotchkiss School) David Jensen (IBM T.J.
More informationReals 1. Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method.
Reals 1 13 Reals Floating-point numbers and their properties. Pitfalls of numeric computation. Horner's method. Bisection. Newton's method. 13.1 Floating-point numbers Real numbers, those declared to be
More informationEcon 172A - Slides from Lecture 8
1 Econ 172A - Slides from Lecture 8 Joel Sobel October 23, 2012 2 Announcements Important: Midterm seating assignments. Posted tonight. Corrected Answers to Quiz 1 posted. Quiz 2 on Thursday at end of
More information4 Integer Linear Programming (ILP)
TDA6/DIT37 DISCRETE OPTIMIZATION 17 PERIOD 3 WEEK III 4 Integer Linear Programg (ILP) 14 An integer linear program, ILP for short, has the same form as a linear program (LP). The only difference is that
More informationLinear & Integer Programming: A Decade of Computation
Linear & Integer Programming: A Decade of Computation Robert E. Bixby, Mary Fenelon, Zongao Gu, Irv Lustig, Ed Rothberg, Roland Wunderling 1 Outline Progress in computing machines Linear programming (LP)
More informationGeneralized Network Flow Programming
Appendix C Page Generalized Network Flow Programming This chapter adapts the bounded variable primal simplex method to the generalized minimum cost flow problem. Generalized networks are far more useful
More informationIBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference. Version 12 Release 7 IBM
IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference Version 12 Release 7 IBM IBM ILOG CPLEX Optimization Studio CPLEX Parameters Reference Version 12 Release 7 IBM Copyright notice Describes
More information56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998
56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998 Part A: Answer any four of the five problems. (15 points each) 1. Transportation problem 2. Integer LP Model Formulation
More informationChapter II. Linear Programming
1 Chapter II Linear Programming 1. Introduction 2. Simplex Method 3. Duality Theory 4. Optimality Conditions 5. Applications (QP & SLP) 6. Sensitivity Analysis 7. Interior Point Methods 1 INTRODUCTION
More informationA Simplex Based Parametric Programming Method for the Large Linear Programming Problem
A Simplex Based Parametric Programming Method for the Large Linear Programming Problem Huang, Rujun, Lou, Xinyuan Abstract We present a methodology of parametric objective function coefficient programming
More informationConflict Analysis in Mixed Integer Programming
Konrad-Zuse-Zentrum für Informationstechnik Berlin Takustraße 7 D-14195 Berlin-Dahlem Germany TOBIAS ACHTERBERG Conflict Analysis in Mixed Integer Programming URL: http://www.zib.de/projects/integer-optimization/mip
More informationLinear and Integer Programming :Algorithms in the Real World. Related Optimization Problems. How important is optimization?
Linear and Integer Programming 15-853:Algorithms in the Real World Linear and Integer Programming I Introduction Geometric Interpretation Simplex Method Linear or Integer programming maximize z = c T x
More informationBenders in a nutshell Matteo Fischetti, University of Padova
Benders in a nutshell Matteo Fischetti, University of Padova ODS 2017, Sorrento, September 2017 1 Benders decomposition The original Benders decomposition from the 1960s uses two distinct ingredients for
More informationBayesian network model selection using integer programming
Bayesian network model selection using integer programming James Cussens Leeds, 2013-10-04 James Cussens IP for BNs Leeds, 2013-10-04 1 / 23 Linear programming The Belgian diet problem Fat Sugar Salt Cost
More informationSection Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018
Section Notes 4 Duality, Sensitivity, and the Dual Simplex Algorithm Applied Math / Engineering Sciences 121 Week of October 8, 2018 Goals for the week understand the relationship between primal and dual
More informationHow to use your favorite MIP Solver: modeling, solving, cannibalizing. Andrea Lodi University of Bologna, Italy
How to use your favorite MIP Solver: modeling, solving, cannibalizing Andrea Lodi University of Bologna, Italy andrea.lodi@unibo.it January-February, 2012 @ Universität Wien A. Lodi, How to use your favorite
More informationOutline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014
5/2/24 Outline CS38 Introduction to Algorithms Lecture 5 May 2, 24 Linear programming simplex algorithm LP duality ellipsoid algorithm * slides from Kevin Wayne May 2, 24 CS38 Lecture 5 May 2, 24 CS38
More information