IPO Investigating Polyhedra by Oracles Matthias Walter - - PowerPoint PPT Presentation

ipo investigating polyhedra by oracles
SMART_READER_LITE
LIVE PREVIEW

IPO Investigating Polyhedra by Oracles Matthias Walter - - PowerPoint PPT Presentation

IPO Investigating Polyhedra by Oracles Matthias Walter Otto-von-Guericke Universit at Magdeburg Joint work with Volker Kaibel (OVGU) Aussois Combinatorial Optimization Workshop 2016 Motivation Finding Facets Adjacency Affine Hull


slide-1
SLIDE 1
slide-2
SLIDE 2

IPO – Investigating Polyhedra by Oracles

Matthias Walter Otto-von-Guericke Universit¨ at Magdeburg

Joint work with Volker Kaibel (OVGU)

Aussois Combinatorial Optimization Workshop 2016

slide-3
SLIDE 3

Motivation Finding Facets Adjacency Affine Hull

PORTA & Polymake Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 3 / 15

slide-4
SLIDE 4

Motivation Finding Facets Adjacency Affine Hull

PORTA & Polymake Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V All extr. points:    ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗    . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd Enumeration

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 3 / 15

slide-5
SLIDE 5

Motivation Finding Facets Adjacency Affine Hull

PORTA & Polymake Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V All extr. points:    ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗    . . . All facets: (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ . . . All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd Enumeration Convex hull tool

(e.g., double-description, lrs beneath&beyond,. . . )

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 3 / 15

slide-6
SLIDE 6

Motivation Finding Facets Adjacency Affine Hull

PORTA & Polymake Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V All extr. points:    ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗       ∗ . . . ∗    . . . All facets: (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ . . . All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd Enumeration Convex hull tool

(e.g., double-description, lrs beneath&beyond,. . . )

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 3 / 15

slide-7
SLIDE 7

Motivation Finding Facets Adjacency Affine Hull

IPO Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 4 / 15

slide-8
SLIDE 8

Motivation Finding Facets Adjacency Affine Hull

IPO Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 4 / 15

slide-9
SLIDE 9

Motivation Finding Facets Adjacency Affine Hull

IPO Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V Only some useful facets: (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ . . . All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 4 / 15

slide-10
SLIDE 10

Motivation Finding Facets Adjacency Affine Hull

IPO Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V Only some useful facets: (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ . . . All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd MIP solver

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 4 / 15

slide-11
SLIDE 11

Motivation Finding Facets Adjacency Affine Hull

IPO Approach

max c, x s.t. x ∈ ZE

+

x(δ(v)) = 1 ∀v∈V Only some useful facets: (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ (∗ . . . ∗)x ≤∗ . . . All equations: (∗ . . . ∗)x =∗ (∗ . . . ∗)x =∗ . . . Recognized class of facets: x(δ(S)) ≥ 1 ∀S ⊆ V , |S| odd MIP solver

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 4 / 15

slide-12
SLIDE 12

Motivation Finding Facets Adjacency Affine Hull

Facets

Finding Facets

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 5 / 15

slide-13
SLIDE 13

Motivation Finding Facets Adjacency Affine Hull

Quadratic Matching Polytopes

Consider the quadratic matching polytope of order n with one quadratic term: Pn := conv.hull

  • (χ(M), y) ∈ {0, 1}|En|+1 : M matching in Kn, y = x1,2x3,4
  • Matthias Walter

IPO – Investigating Polyhedra by Oracles Aussois 2016 6 / 15

slide-14
SLIDE 14

Motivation Finding Facets Adjacency Affine Hull

Quadratic Matching Polytopes

Consider the quadratic matching polytope of order n with one quadratic term: Pn := conv.hull

  • (χ(M), y) ∈ {0, 1}|En|+1 : M matching in Kn, y = x1,2x3,4
  • Hupp, Klein & Liers, ’15 obtained a bunch of facets:

x(δ(v)) ≤ 1 for all v ∈ Vn. xe ≥ 0 for all e ∈ En. y ≤ x1,2 and y ≤ x3,4. (Note that y ≥ x1,2 + x3,4 − 1 is no facet.)

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 6 / 15

slide-15
SLIDE 15

Motivation Finding Facets Adjacency Affine Hull

Quadratic Matching Polytopes

Consider the quadratic matching polytope of order n with one quadratic term: Pn := conv.hull

  • (χ(M), y) ∈ {0, 1}|En|+1 : M matching in Kn, y = x1,2x3,4
  • Hupp, Klein & Liers, ’15 obtained a bunch of facets:

x(δ(v)) ≤ 1 for all v ∈ Vn. xe ≥ 0 for all e ∈ En. y ≤ x1,2 and y ≤ x3,4. (Note that y ≥ x1,2 + x3,4 − 1 is no facet.) x(E[S]) + y ≤ |S|−1

2

for certain odd S. x(E[S]) ≤ |S|−1

2

for certain odd S. x(E[S]) + x(E[S \ {1, 2}]) + x3,4 − y ≤ |S| − 2 for certain odd S. x(E[S]) + x2,a + x3,a + x4,a + y ≤ |S|

2 for certain even S and nodes a.

x1,2 + x1,a + x2,a + x(E[S]) + x3,4 + x3,b + x4,b − y ≤ |S|

2 + 1 for certain

even S and certain nodes a, b.

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 6 / 15

slide-16
SLIDE 16

Motivation Finding Facets Adjacency Affine Hull

Some are Missing!

Excerpt from their paper:

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 7 / 15

slide-17
SLIDE 17

Motivation Finding Facets Adjacency Affine Hull

Some are Missing!

Excerpt from their paper:

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 7 / 15

slide-18
SLIDE 18

Motivation Finding Facets Adjacency Affine Hull

QMP: An IP Model

param n := 6; set V := { 1 to n }; set E := { <u,v> in V*V with u < v }; set F := { <1,2>,<3,4>,<1,5>,<2,5>,<3,6>,<4,6>,<1,3>,<2,4> }; var x[E] binary; var y binary; maximize weights: 10*x[1,2] + 10*x[3,4] + 2*x[1,5] + 2*x[2,5] + 2*x[3,6] + 2*x[4,6] + 4*x[1,3] + 4*x[2,4] -10*y + sum <u,v> in E-F: -1000*x[u,v]; subto degree: forall <w> in V: (sum <u,v> in E with u == w or v == w: x[u,v]) <= 1; subto product1: y <= x[1,2]; subto product2: y <= x[3,4]; subto product3: y >= x[1,2] + x[3,4] - 1;

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 8 / 15

slide-19
SLIDE 19

Motivation Finding Facets Adjacency Affine Hull

QMP: Running IPO

% ./ipo-facets product-matching-missing.zpl ... Dimension: 16 ... Found a new facet: x#1#2 + x#1#3 + x#1#4 + x#3#4 - y <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#4 + x#2#4 + x#3#4 - y <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#5 + x#2#5 <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#3#4 + x#3#6 + x#4#6 <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#3 + x#1#4 + x#2#3 + x#2#4 + 2*x#3#4 + x#3#6 + x#4#6 - y <= 2, certified by 16 points and 0 rays.

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 9 / 15

slide-20
SLIDE 20

Motivation Finding Facets Adjacency Affine Hull

QMP: Running IPO

% ./ipo-facets product-matching-missing.zpl ... Dimension: 16 ... Found a new facet: x#1#2 + x#1#3 + x#1#4 + x#3#4 - y <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#4 + x#2#4 + x#3#4 - y <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#5 + x#2#5 <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#3#4 + x#3#6 + x#4#6 <= 1, certified by 16 points and 0 rays. ... Found a new facet: x#1#2 + x#1#3 + x#1#4 + x#2#3 + x#2#4 + 2*x#3#4 + x#3#6 + x#4#6 - y <= 2, certified by 16 points and 0 rays. Last facet is not of the previous types!

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 9 / 15

slide-21
SLIDE 21

Motivation Finding Facets Adjacency Affine Hull

Adjacency of Vertices

Checking Adjacency of Vertices

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 10 / 15

slide-22
SLIDE 22

Motivation Finding Facets Adjacency Affine Hull

TSP Polytopes

Oracles

Oracle: concorde (famous TSP solver) Heuristic: nearest neighbor plus 2-opt, searching once from each node.

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 11 / 15

slide-23
SLIDE 23

Motivation Finding Facets Adjacency Affine Hull

TSP Polytopes

Oracles

Oracle: concorde (famous TSP solver) Heuristic: nearest neighbor plus 2-opt, searching once from each node. Results for 10, 000 random tests:

Nodes Adjacent Time/pair LP Heuristics Oracles Cache Tours Vertices 5 91.23 % 0.3 s 0.5 % 0.1 % 97.9 % 0.1 % 12 1.2 · 101 6 69.32 % 0.4 s 0.7 % 0.1 % 97.5 % 0.1 % 45 6.0 · 101 7 46.16 % 0.6 s 1.1 % 0.1 % 96.1 % 0.5 % 207 3.6 · 102 8 28.07 % 0.8 s 1.5 % 0.1 % 93.1 % 2.5 % 1,189 2.5 · 103 9 17.46 % 1.0 s 2.0 % 0.2 % 86.1 % 8.7 % 5,759 2.0 · 104 10 10.52 % 1.5 s 2.3 % 0.2 % 77.5 % 17.3 % 15,472 1.8 · 105 11 6.53 % 2.1 s 2.7 % 0.2 % 67.4 % 26.9 % 33,935 1.8 · 106 12 3.67 % 3.0 s 3.8 % 0.3 % 54.2 % 38.8 % 66,510 2.0 · 107 13 2.20 % 4.9 s 5.1 % 0.3 % 39.6 % 52.0 % 125,298 2.4 · 108 14 1.13 % 10.1 s 7.7 % 0.3 % 22.9 % 65.8 % 232,995 3.1 · 109 15 0.59 % 24.3 s 12.9 % 0.2 % 11.0 % 71.6 % 406,315 4.4 · 1010

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 11 / 15

slide-24
SLIDE 24

Motivation Finding Facets Adjacency Affine Hull

Affine Hull

Computing Affine Hulls

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 12 / 15

slide-25
SLIDE 25

Motivation Finding Facets Adjacency Affine Hull

Oracles for Large MIPs

Oracles

Oracle: SCIP-3.0.0-ex Heuristic: SCIP-3.1.1 with postprocessing

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 13 / 15

slide-26
SLIDE 26

Motivation Finding Facets Adjacency Affine Hull

Oracles for Large MIPs

Oracles

Oracle: SCIP-3.0.0-ex Heuristic: SCIP-3.1.1 with postprocessing

Postprocessing of solutions

Let I ⊆ [n] be the set of integral variables.

1

For x ∈ Qn, obtain x from x by rounding xi for all i ∈ I.

2

Compute optimal choice for x[n]\I using an exact LP solver, e.g., SoPlex.

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 13 / 15

slide-27
SLIDE 27

Motivation Finding Facets Adjacency Affine Hull

Constraint Dimensions

10 20 30 40 50 60 70 80 90 100 bell3b bell5 bm23 cracpb1 dcmulti egout flugpl misc01 misc02 misc03 misc05 misc07 mod013 p0033 p0040 p0291 pipex rgn sample2 sentoy stein15 stein27 stein45 stein9 vpm1 Original Instances < 0 % [40 %, 60 %) facets [0 %, 20 %) [60 %, 80 %) equations [20 %, 40 %) [80 %, 100 %) 10 20 30 40 50 60 70 80 90 100 bell3b bell5 bm23 cracpb1 dcmulti egout flugpl misc01 misc02 misc03 misc05 misc07 mod013 p0033 p0040 p0291 pipex rgn sample2 sentoy stein15 stein27 stein45 stein9 vpm1 Presolved Instances < 0 % [40 %, 60 %) facets [0 %, 20 %) [60 %, 80 %) equations [20 %, 40 %) [80 %, 100 %)

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 14 / 15

slide-28
SLIDE 28

Motivation Finding Facets Adjacency Affine Hull

Summary

Get it at http://polyhedra-oracles.bitbucket.org!

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 15 / 15

slide-29
SLIDE 29

Motivation Finding Facets Adjacency Affine Hull

Summary

Get it at http://polyhedra-oracles.bitbucket.org!

Functionality

Compute affine hull & dimension. Separate point by facet. Find facets helpful for objective. Check adjacency of vertices. Check if point is vertex.

Oracles & Heuristics

SCIP Own code (C++ interface) External code (Python interface): SCIP-ex, concorde, etc. Projections & faces of other

  • racles

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 15 / 15

slide-30
SLIDE 30

Motivation Finding Facets Adjacency Affine Hull

Summary

Get it at http://polyhedra-oracles.bitbucket.org!

Functionality

Compute affine hull & dimension. Separate point by facet. Find facets helpful for objective. Check adjacency of vertices. Check if point is vertex.

Oracles & Heuristics

SCIP Own code (C++ interface) External code (Python interface): SCIP-ex, concorde, etc. Projections & faces of other

  • racles

release party: tonight @ bar after dinner

Matthias Walter IPO – Investigating Polyhedra by Oracles Aussois 2016 15 / 15