Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 1 High-Contrast Algorithm Behavior Observation, Hypothesis, and Experimental Design Matthias.

Slides:



Advertisements
Similar presentations
Lecture 3 Linear Programming: Tutorial Simplex Method
Advertisements

Operation Research Chapter 3 Simplex Method.
Branch-and-Bound In this handout,  Summary of branch-and-bound for integer programs Updating the lower and upper bounds for OPT(IP) Summary of fathoming.
4/17/20151 Franc Brglez Raleigh, NC, USA Matthias F. Stallmann Raleigh, NC, USA Effective Bounding Techniques For Solving Unate and Binate Covering Problems.
Optimization of thermal processes2007/2008 Optimization of thermal processes Maciej Marek Czestochowa University of Technology Institute of Thermal Machinery.
EE 553 Integer Programming
MATH 685/ CSI 700/ OR 682 Lecture Notes
The number of edge-disjoint transitive triples in a tournament.
1.2 Row Reduction and Echelon Forms
Linear Equations in Linear Algebra
The Simplex Algorithm An Algorithm for solving Linear Programming Problems.
Computational problems, algorithms, runtime, hardness
DIMACS EAA:ICS 2006/04/041 Franc Brglez Raleigh, NC, USA Software Analysis via Data Analysis Xiao Yu Li Seattle, WA, USA Matthias F. Stallmann, 2006/04/04,
Totally Unimodular Matrices Lecture 11: Feb 23 Simplex Algorithm Elliposid Algorithm.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
Computational Methods for Management and Economics Carla Gomes
INTRODUCTORY MATHEMATICAL ANALYSIS For Business, Economics, and the Life and Social Sciences  2007 Pearson Education Asia Chapter 7 Linear Programming.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
MIT and James Orlin © Chapter 3. The simplex algorithm Putting Linear Programs into standard form Introduction to Simplex Algorithm.
Daniel Kroening and Ofer Strichman Decision Procedures An Algorithmic Point of View Deciding ILPs with Branch & Bound ILP References: ‘Integer Programming’
Decision Procedures An Algorithmic Point of View
Clearing Algorithms for Barter Exchange Markets: Enabling Nationwide Kidney Exchanges Hyunggu Jung Computer Science University of Waterloo Oct 6, 2008.
8. Linear Programming (Simplex Method) Objectives: 1.Simplex Method- Standard Maximum problem 2. (i) Greedy Rule (ii) Ratio Test (iii) Pivot Operation.
Simplex method (algebraic interpretation)
Duality Theory LI Xiaolei.
ECE 556 Linear Programming Ting-Yuan Wang Electrical and Computer Engineering University of Wisconsin-Madison March
Analysis of Algorithms
1© 2003 by Prentice Hall, Inc. Upper Saddle River, NJ Linear Programming: The Simplex Method.
CPS 270: Artificial Intelligence More search: When the path to the solution doesn’t matter Instructor: Vincent.
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Gomory Cuts Updated 25 March Example ILP Example taken from “Operations Research: An Introduction” by Hamdy A. Taha (8 th Edition)“Operations Research:
OR Chapter 8. General LP Problems Converting other forms to general LP problem : min c’x  - max (-c)’x   = by adding a nonnegative slack variable.
OR Chapter 7. The Revised Simplex Method  Recall Theorem 3.1, same basis  same dictionary Entire dictionary can be constructed as long as we.
CPS Computational problems, algorithms, runtime, hardness (a ridiculously brief introduction to theoretical computer science) Vincent Conitzer.
Custom Computing Machines for the Set Covering Problem Paper Written By: Christian Plessl and Marco Platzner Swiss Federal Institute of Technology, 2002.
Linear Programming: Formulations, Geometry and Simplex Method Yi Zhang January 21 th, 2010.
Linear Programming Chap 2. The Geometry of LP  In the text, polyhedron is defined as P = { x  R n : Ax  b }. So some of our earlier results should.
1 1.2 Linear Equations in Linear Algebra Row Reduction and Echelon Forms © 2016 Pearson Education, Ltd.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
(iii) Simplex method - I D Nagesh Kumar, IISc Water Resources Planning and Management: M3L3 Linear Programming and Applications.
TU/e Algorithms (2IL15) – Lecture 12 1 Linear Programming.
Chapter 4 The Simplex Algorithm and Goal Programming
Discrete Optimization MA2827 Fondements de l’optimisation discrète Material from P. Van Hentenryck’s course.
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Data Driven Resource Allocation for Distributed Learning
Lap Chi Lau we will only use slides 4 to 19
Integer Programming An integer linear program (ILP) is defined exactly as a linear program except that values of variables in a feasible solution have.
Chap 10. Sensitivity Analysis
Analysis of Algorithms
Topics in Algorithms Lap Chi Lau.
Perturbation method, lexicographic method
EMGT 6412/MATH 6665 Mathematical Programming Spring 2016
Gomory Cuts Updated 25 March 2009.
1.3 Modeling with exponentially many constr.
Chapter 6. Large Scale Optimization
Chapter 5. Sensitivity Analysis
Chap 3. The simplex method
Chapter 3 The Simplex Method and Sensitivity Analysis
Linear Equations in Linear Algebra
Linear Programming Duality, Reductions, and Bipartite Matching
Chapter 8. General LP Problems
1.3 Modeling with exponentially many constr.
Chapter 6 Network Flow Models.
Flow Feasibility Problems
Chapter 8. General LP Problems
Chapter 4 The Simplex Algorithm
Chapter 8. General LP Problems
Linear Equations in Linear Algebra
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Presentation transcript:

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 1 High-Contrast Algorithm Behavior Observation, Hypothesis, and Experimental Design Matthias F. Stallmann and Franc Brglez

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 2 Summary Two competing algorithms: int-dual - all-integer dual simplex old idea, only limited success cplex - industrial strength optimizer Restricted domain (logic minimization). Extreme differences across instances: time out for one algorithm vs. seconds for the other. Want to “profile” the instances, or at least explain the differences.

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 3 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work algorithms treated as black boxes int-dualcplex

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 4 a typical problem instance x1 + x4 >= 1 x2 + x3 + x4 >= 1 x1 + x2 + x4 >= 1 x1 – x4 >= 0 x2 – x4 >= 0 x3 – x4 >= 0 minimize x1 + x2 + x3 + x4 subject to x1 x2 x3 x4 constraint matrixpictorial representation

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 5 A pattern? algN/33med.meanstdev Int- dual N/a cplex0N/a Benchmark: e64.b (logic synthesis) -- a “canonical” picture # succ. completions, one hour original + 32 random row/col permutations dedicated fast processor

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 6 A pattern: Less pronounced algN/33med.meanstdev Int-dual cplex Benchmark: rot.b

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 7 A pattern: Not much of one algN/33med.meanstdev Int-dual0N/a cplex Benchmark: max1024

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 8 The pattern int-dualcplex Benchmark: e64.b Benchmark: max1024

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 9 Process for generating pictures crossing minimization (moves nonzeros close to the diagonal) may still look “random”

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 10 this is as good as it gets... This is max1024 after crossing minimization

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 11 Conversion to block structure does not improve performance crossing minimization int-dual performance: not necessarily improved underlying block structure... random permutations } better aggregate performance for int-dual e64 as posted: 27.5after minimization: 55.0 recall that median = 15.9

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 12 Basic idea  More underlying structure => better for int-dual  Less underlying structure => better for cplex Why is this interesting? e.g., optimum for e64.b was unknown prior to int-dual  What do we mean by structure?  More precise (and testable) hypothesis?

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 13 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 14 From observation to controlled experiment Behavior “in the wild”: algorithms on industrial instances Behavior “in captivity”: algorithms on carefully designed instances

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 15 Instances with pure blocks Create K copies of a small instance, arrange on diagonal, permute rows and columns randomly 32 times to obtain a class of equivalent instances.

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 16 Construction of blocks with added rows xxxx two pure blocks add new row(s) with random nonzeros below both blocks xxxx repeat xxx x apply same process to “new” blocks Create 32 instances with different random choices of the nonzeros; randomly permute each one row factor = # of rows added each step

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 17 Blocks used in results reported here  st15 - instance based on Steiner triples (15 vars, 35 const)  maincont - small logic synthesis instances (61 vars, 50 const)  f51m - slightly larger logic synthesis instance (175 vars, 187 const)

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 18 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 19 Details and reporting  Class of 32 random related instances  Intel(R) Xeon(TM) CPU 3.20GHz, 2 GB memory, 2048 KB cache  Report runtime only (seconds, time out = 600)  Here we report median only, but note number of successful completions, if not 32

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 20 results for st15, pure blocks blocks int-dual cplex > 10 hours

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 21 results for maincont, pure blocks blocks int-dual < cplex < > /32 completions > 600 between 24 and 28 blocks

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 22 results for f51m, pure blocks blocks int-dual cplex > 600 int-dual is roughly between O(n^2) and O(n^3) cplex is wildly exponential

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 23 added rows? blank = neither dominates, X = neither finishes in 1 hour I = int-dual dominates, C = cplex dominates next page...

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 24 results for maincont, added rows row fact N/ id >600 cplex N/ blocks with increasing row factor Wild distributions! mean = 59.9 stdev = 140.5

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 25 this is not going well not much hope of a statistically meaningful comparison between int-dual and cplex. too many variables: will anything hold up not clear what to measure domain already very limited...

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 26 all is not lost: let’s stick with what we know  int-dual performs well on pure blocks  cplex performs badly on pure blocks  int-dual gets worse as more random nonzeros are added (has been observed for columns, too) id >600

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 27 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 28 A viable hypothesis  int-dual runtime is predictable on pure-blocks instances and grows polynomially with increasing number of blocks  cplex runtime on pure-blocks instances becomes erratic as soon as an instance-dependent threshold is reached  int-dual runtime increases and/or becomes erratic as the number of nonzeros added to a pure-blocks instance is increased erratic = “heavy tail” distribution (stdev >> mean >> median) or time outs and overflows

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 29 why this is good  not dependent on comparison between the algorithms  not dependent on statistics  extreme contrasts are what we observed initially -- so we need to deal with them  appears to be true in a variety of circumstances  even though instances are artificial, may explain why int-dual has limited use

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 30 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 31 f51m, added rows row fact N/ id >600 cplex > N/32 distributions that are not erratic 3 blocks, increasing row factor

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 32 Outline  Observation in a limited domain  Initial experiments: design  Initial experiments: results  A hypothesis  More experimental evidence  Theoretical explanation  Summary and future work

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 33 All-Integer Dual Simplex vertex cover of a triangle x2x3 x – x1x3x2 e1 e2 e3 x1 + x2 >= 1 min x1 + x2 + x3 –e1= –x1 – x2 tableau

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 34 a pivot step 0111 – x1x3x2 e1 e2 e3 choose constraint to satisfy choose variable to do the trick – x3x2 e2 e3 swap them now x1=1, e1=0 e1 x1

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 35 example (continued) – –2 10–11 and another, but this one involves division by –2... another pivot...

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 36 oops: solution is not integral – –2 10–11 –3/21/2–1/2 1/2–1/23/21/2 –1/21 1/2–1/2–3/21/2 and we get fractions. The LP solution is x1 = 1/2, x2 = 1/2, x3 = 1/2

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 37 Maintaining an integer tableau – –2 10–11 0 x2 x1 x3e1 ct e2 e3 – –1 111–2 0– x2 x1 cte1 x3 e2 e3 add a new constraint that must be met by all integer solutions x1 = x3 = 1, cost = 2

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 38 int-dual: another look 0111 – in pivot row means no change in pivot column 0 in pivot column means no change in pivot row

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 39 int-dual on “pure blocks” this phenomenon is not affected by random permutation element of second block not changed by pivot in first block

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 40 why does int-dual work well on pure blocks?  because each block is solved independently  progress is made in whatever block contains the pivot One out of three parts (of the hypothesis) explained

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 41 part 2: cplex does badly on pure blocks branching tree for one block tree for two blocks Note: this is a gross oversimplification cplex is a “branch and bound” algorithm x y

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 42 Summary  Some observations about algorithm behavior on industrial benchmarks  Hypothesis specializes observations to a limited, verifiable domain  Extensive experiments consistent with hypothesis  Partial theoretical explanation for hypothesis  Aside: int-dual dates to 1960 ’ s; experiments in early 1970 ’ s deemed it good for small instances of set cover (but impractical otherwise)

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 43 Future work  better understanding of both algorithms to explain what’s going on  “pure” branch and bound instead of cplex  experiments to explore variations on variables (how to add rows, columns too, add –1 entries)  observations in other domains (particular where there has been success with int-dual)  other approaches to claiming one algorithm better than another where distributions are crazy  can we learn from outliers, i.e., easy and hard instances of a class

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 44 Thanks...  Xiao Yu Li, now at Amazon, started us down this path  Eric Sills, NCSU High Performance Computing Center, helped with hardware and software availability Source code for software and (eventually) instance classes and results at