stallmann/brglez, high contrast… expcs, 2007/06/14, san diego 1 high-contrast algorithm behavior...

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

Upload: collin-watkins

Post on 31-Dec-2015

214 views

Category:

Documents


0 download

TRANSCRIPT

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 1

High-Contrast Algorithm BehaviorObservation, Hypothesis, and Experimental Design

Matthias F. Stallmann and Franc Brglez

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

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.

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

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

algorithmstreatedas black boxes

int-dual cplex

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

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 matrix pictorial representation

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 5

A pattern?

alg N/33 med. mean stdev

Int-dual

29 15.9 N/a N/a

cplex 0 N/a N/a N/a

Benchmark: e64.b (logic synthesis) -- a “canonical” picture

# succ. completions, one hour

original + 32 random row/col permutations

dedicated fast processor

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 6

A pattern: Less pronounced

alg N/33 med. mean stdev

Int-dual 33 14.6 21.1 15.1

cplex 33 3.9 6.0 6.1

Benchmark: rot.b

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 7

A pattern: Not much of one

alg N/33 med. mean stdev

Int-dual 0 N/a N/a N/a

cplex 33 3.6 3.5 0.9

Benchmark: max1024

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 8

The pattern

int-dual cplexBenchmark: e64.b Benchmark: max1024

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

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”

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 10

this is as good as it gets...

This is max1024 after crossing minimization

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

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.5 after minimization: 55.0

recall that median = 15.9

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

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?

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

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

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

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

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

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.

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

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

xxxx

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

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

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)

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

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

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

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

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 20

results for st15, pure blocks

blocks 1 2 4 8 16

int-dual 0.1 0.3 1.0 4.1 29.8

cplex 0.02 0.9 > 10 hours

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 21

results for maincont, pure blocks

blocks 1 2 4 8 16 32

int-dual < 0.1 < 0.1 < 0.1 0.1 0.3 1.6

cplex < 0.1 < 0.1 < 0.1 0.2 0.5 > 600

29/32 completions

> 600 between 24 and 28 blocks

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 22

results for f51m, pure blocksblocks 1 2 4 8 16

int-dual 0.1 0.4 2.1 12.4 65.7

cplex 0.3 59.0 > 600 > 600 > 600

int-dual is roughly between O(n^2) and O(n^3)

cplex is wildly exponential

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

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...

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 24

results for maincont, added rows

row fact. 1 2 3 4 5 6 7 8

N/32 27 14 5 1

id 0.1 0.1 0.2 0.7 2.7 >600 >600 >600

cplex 0.2 0.3 0.4 1.4 9.6 20.9 71.1 90.0

N/32 31 23 31 31 30 27

8 blocks with increasing row factor

Wild distributions!mean = 59.9

stdev = 140.5

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 25

this is not going well

not much hope of a statisticallymeaningful comparison betweenint-dual and cplex.

too many variables: will anything hold up

not clear what to measure

domain already very limited

...

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

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 0.1 0.1 0.2 0.7 2.7 >600 >600 >600

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

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

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

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 increasederratic = “heavy tail” distribution (stdev >> mean >> median)

or time outs and overflows

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

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

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

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

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 31

f51m, added rows

row fact. 1 2 3 4 5 6 7 8

N/32 23 22 19 12 15 10 7

id 3.8 72.6 52.6 210.2 >600 >600 >600 >600

cplex >600 >600 260.2 70.2 17.4 11.0 9.3 6.4

1 9 23 31 N/32

distributions that are not erratic

3 blocks, increasing row factor

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

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

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 33

All-Integer Dual Simplex

vertex cover of a triangle

x2 x3

x1

0 1 1 1

–1 –1 –1 0

–1 –1 0 –1

–1 0 –1 –1

x1 x3x2

e1

e2

e3

x1 + x2 >= 1

min x1 + x2 + x3

–e1= –x1 – x2

tableau

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 34

a pivot step

0 1 1 1

–1 –1 –1 0

–1 –1 0 –1

–1 0 –1 –1

x1 x3x2

e1

e2

e3

choose constraint to satisfy

choose variable to do the trick

–1 1 0 1

1 –1 1 0

0 –1 1 –1

–1 0 –1 –1

x3x2

e2

e3

swap them

now x1=1, e1=0

e1

x1

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 35

example (continued)

–1 1 0 1

1 –1 1 0

0 –1 1 –1

–1 0 –1 –1

–1 1 0 1

0 –1 1 –1

–1 –1 1 –2

1 0 –1 1

and another, but this one involves division by –2 ...

another pivot...

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 36

oops: solution is not integral

–1 1 0 1

0 –1 1 –1

–1 –1 1 –2

1 0 –1 1

–3/2 1/2 –1/2 –1/2

1/2 –1/2 3/2 1/2

1/2 1/2 –1/2 1

1/2 –1/2 –3/2 1/2

and we get fractions. The LP solution is

x1 = 1/2, x2 = 1/2, x3 = 1/2

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 37

Maintaining an integer tableau

–1 1 0 1

0 –1 1 –1

–1 –1 1 –2

1 0 –1 1

–1 –1 0 –1

x2

x1

x3e1

ct

e2

e3

–2 0 0 1

1 0 1 –1

1 1 1 –2

0 –1 –1 1

1 1 0 –1

x2

x1

cte1

x3

e2

e3

add a new constraint that must be met by all integer solutions

x1 = x3 = 1, cost = 2

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 38

int-dual: another look

0 1 1 1

–1 –1 –1 0

–1 –1 0 –1

–1 0 –1 –1

–1 1 0 1

1 –1 1 0

0 –1 1 –1

–1 0 –1 –1

0 in pivot row means no change in pivot column

0 in pivot column means no change in pivot row

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

Stallmann/Brglez, High contrast… ExpCS, 2007/06/14, San Diego 39

int-dual on “pure blocks”

1 1 1 0 0 0

1 1 1 0 0 0

1 1 1 0 0 0

0 0 0 2 2 2

0 0 0 2 2 2

0 0 0 2 2 2

2 0 0 2 0 2

0 1 1 0 1 0

2 0 0 2 0 2

0 1 1 0 1 0

0 1 1 0 1 0

2 0 0 2 0 2

this phenomenon is not

affected by random permutation

element of second blocknot changed by pivotin first block

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

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

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

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

0

0

1

1

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

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)

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

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

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

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 athttp://people.engr.ncsu.edu/mfms/Software