SDP based Branch & Bound for Max-Cut Franz Rendl, Giovanni - - PowerPoint PPT Presentation

sdp based branch bound for max cut
SMART_READER_LITE
LIVE PREVIEW

SDP based Branch & Bound for Max-Cut Franz Rendl, Giovanni - - PowerPoint PPT Presentation

SDP based Branch & Bound for Max-Cut Franz Rendl, Giovanni Rinaldi, Angelika Wiegele Alpen-Adria-Universit at Klagenfurt and IASI Rome Overview The problem Angelika Wiegele, SDP based Branch & Bound p.1/19 Overview The


slide-1
SLIDE 1

SDP based Branch & Bound for Max-Cut

Franz Rendl, Giovanni Rinaldi, Angelika Wiegele Alpen-Adria-Universit¨ at Klagenfurt and IASI Rome

slide-2
SLIDE 2

Overview

The problem

▽Angelika Wiegele, SDP based Branch & Bound – p.1/19

slide-3
SLIDE 3

Overview

The problem Some solution approaches

▽Angelika Wiegele, SDP based Branch & Bound – p.1/19

slide-4
SLIDE 4

Overview

The problem Some solution approaches Bounding routine

▽Angelika Wiegele, SDP based Branch & Bound – p.1/19

slide-5
SLIDE 5

Overview

The problem Some solution approaches Bounding routine Branching rules

▽Angelika Wiegele, SDP based Branch & Bound – p.1/19

slide-6
SLIDE 6

Overview

The problem Some solution approaches Bounding routine Branching rules Numerical results on Max-Cut, unconstrained 0-1 programs, Equipartitioning

Angelika Wiegele, SDP based Branch & Bound – p.1/19

slide-7
SLIDE 7

the Max-Cut problem

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n

▽Angelika Wiegele, SDP based Branch & Bound – p.2/19

slide-8
SLIDE 8

the Max-Cut problem

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n

−1 −1 1 1 1 −1

▽Angelika Wiegele, SDP based Branch & Bound – p.2/19

slide-9
SLIDE 9

the Max-Cut problem

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n

−1 −1 1 1 1 −1

▽Angelika Wiegele, SDP based Branch & Bound – p.2/19

slide-10
SLIDE 10

the Max-Cut problem

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n zmc = max xT Lx s.t. x2

i = 1,

1 ≤ i ≤ n

−1 −1 1 1 1 −1

Angelika Wiegele, SDP based Branch & Bound – p.2/19

slide-11
SLIDE 11

Solution approaches

LP based methods (Barahona, Jünger, Reinelt, 89)

▽Angelika Wiegele, SDP based Branch & Bound – p.3/19

slide-12
SLIDE 12

Solution approaches

LP based methods (Barahona, Jünger, Reinelt, 89) 2nd order cone programming (Muramatsu, Suzuki, 03)

▽Angelika Wiegele, SDP based Branch & Bound – p.3/19

slide-13
SLIDE 13

Solution approaches

LP based methods (Barahona, Jünger, Reinelt, 89) 2nd order cone programming (Muramatsu, Suzuki, 03) Branch & Bound with preprocessing (Pardalos, Rodgers, 90)

▽Angelika Wiegele, SDP based Branch & Bound – p.3/19

slide-14
SLIDE 14

Solution approaches

LP based methods (Barahona, Jünger, Reinelt, 89) 2nd order cone programming (Muramatsu, Suzuki, 03) Branch & Bound with preprocessing (Pardalos, Rodgers, 90) SDP based methods (Helmberg, Rendl, 98)

▽Angelika Wiegele, SDP based Branch & Bound – p.3/19

slide-15
SLIDE 15

Solution approaches

LP based methods (Barahona, Jünger, Reinelt, 89) 2nd order cone programming (Muramatsu, Suzuki, 03) Branch & Bound with preprocessing (Pardalos, Rodgers, 90) SDP based methods (Helmberg, Rendl, 98) Using a MIQP solver (Billionnet, Elloumi, 06)

Angelika Wiegele, SDP based Branch & Bound – p.3/19

slide-16
SLIDE 16

Branch & Bound

At each node of the Branch & Bound tree: compute a feasible solution (lower bound)

▽Angelika Wiegele, SDP based Branch & Bound – p.4/19

slide-17
SLIDE 17

Branch & Bound

At each node of the Branch & Bound tree: compute a feasible solution (lower bound) compute an upper bound

▽Angelika Wiegele, SDP based Branch & Bound – p.4/19

slide-18
SLIDE 18

Branch & Bound

At each node of the Branch & Bound tree: compute a feasible solution (lower bound) compute an upper bound choose an edge (ij) and add the two nodes to the Branch & Bound tree

▽Angelika Wiegele, SDP based Branch & Bound – p.4/19

slide-19
SLIDE 19

Branch & Bound

At each node of the Branch & Bound tree: compute a feasible solution (lower bound) compute an upper bound choose an edge (ij) and add the two nodes

(ij) ∈ cut and

to the Branch & Bound tree

▽Angelika Wiegele, SDP based Branch & Bound – p.4/19

slide-20
SLIDE 20

Branch & Bound

At each node of the Branch & Bound tree: compute a feasible solution (lower bound) compute an upper bound choose an edge (ij) and add the two nodes

(ij) ∈ cut and (ij) / ∈ cut

to the Branch & Bound tree

Angelika Wiegele, SDP based Branch & Bound – p.4/19

slide-21
SLIDE 21

Bounding: SDP relaxation

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n zmc = max xT Lx s.t. x2

i = 1,

1 ≤ i ≤ n

▽Angelika Wiegele, SDP based Branch & Bound – p.5/19

slide-22
SLIDE 22

Bounding: SDP relaxation

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n zmc = max xT Lx s.t. x2

i = 1,

1 ≤ i ≤ n X := xxT

▽Angelika Wiegele, SDP based Branch & Bound – p.5/19

slide-23
SLIDE 23

Bounding: SDP relaxation

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n zmc = max xT Lx s.t. x2

i = 1,

1 ≤ i ≤ n X := xxT ⇒ zmc = maxL, X s.t. diag(X) = e rank(X) = 1 X 0, X ∈ Sn

▽Angelika Wiegele, SDP based Branch & Bound – p.5/19

slide-24
SLIDE 24

Bounding: SDP relaxation

G = (V, E), V (G) = {1, . . . , n}, |E(G)| = m, cij, x ∈ {±1}n zmc = max xT Lx s.t. x2

i = 1,

1 ≤ i ≤ n X := xxT ⇒ zmc−basic = maxL, X s.t. diag(X) = e rank(X) = 1

——————-

X 0, X ∈ Sn

Angelika Wiegele, SDP based Branch & Bound – p.5/19

slide-25
SLIDE 25

Bounding: triangle inequalities

X ∈ MET ⇐ ⇒

▽Angelika Wiegele, SDP based Branch & Bound – p.6/19

slide-26
SLIDE 26

Bounding: triangle inequalities

X ∈ MET ⇐ ⇒ xij + xik + xjk ≥ −1, xij − xik − xjk ≥ −1, −xij + xik − xjk ≥ −1, −xij − xik + xjk ≥ −1, ∀i < j < k.

▽Angelika Wiegele, SDP based Branch & Bound – p.6/19

slide-27
SLIDE 27

Bounding: triangle inequalities

X ∈ MET ⇐ ⇒ xij + xik + xjk ≥ −1, xij − xik − xjk ≥ −1, −xij + xik − xjk ≥ −1, −xij − xik + xjk ≥ −1, ∀i < j < k. zmc−met = max{L, X : X ∈ E, X ∈ MET}

▽Angelika Wiegele, SDP based Branch & Bound – p.6/19

slide-28
SLIDE 28

Bounding: triangle inequalities

X ∈ MET ⇐ ⇒ xij + xik + xjk ≥ −1, xij − xik − xjk ≥ −1, −xij + xik − xjk ≥ −1, −xij − xik + xjk ≥ −1, ∀i < j < k. zmc−met = max{L, X : X ∈ E, X ∈ MET} E = {X : diag(X) = e, X 0}

Angelika Wiegele, SDP based Branch & Bound – p.6/19

slide-29
SLIDE 29

Bounding: Lagrangian duality

zmc−met = max{L, X : X ∈ E, A(X) ≤ b}

▽Angelika Wiegele, SDP based Branch & Bound – p.7/19

slide-30
SLIDE 30

Bounding: Lagrangian duality

zmc−met = max{L, X : X ∈ E, A(X) ≤ b}

Lagrangian

L(X; γ) := L, X + γ, b − A(X)

▽Angelika Wiegele, SDP based Branch & Bound – p.7/19

slide-31
SLIDE 31

Bounding: Lagrangian duality

zmc−met = max{L, X : X ∈ E, A(X) ≤ b}

Lagrangian

L(X; γ) := L, X + γ, b − A(X)

and the dual functional

f(γ) := max

X∈E L(X; γ) = bT γ + max X∈E L − AT (γ), X

▽Angelika Wiegele, SDP based Branch & Bound – p.7/19

slide-32
SLIDE 32

Bounding: Lagrangian duality

zmc−met = max{L, X : X ∈ E, A(X) ≤ b}

Lagrangian

L(X; γ) := L, X + γ, b − A(X)

and the dual functional

f(γ) := max

X∈E L(X; γ) = bT γ + max X∈E L − AT (γ), X

z = min

γ≥0 f(γ)

Angelika Wiegele, SDP based Branch & Bound – p.7/19

slide-33
SLIDE 33

Bounding: dynamic bundle method

fappr(γ) := max{L(X; γ) : X ∈ conv(X1, . . . , Xk)} min

γ≥0 fappr(γ) + 1

2t||γ − ˆ γ||2

▽Angelika Wiegele, SDP based Branch & Bound – p.8/19

slide-34
SLIDE 34

Bounding: dynamic bundle method

fappr(γ) := max{L(X; γ) : X ∈ conv(X1, . . . , Xk)} min

γ≥0 fappr(γ) + 1

2t||γ − ˆ γ||2

Computational effort: iteratively solve the minimization problem by solving a sequence of convex quadratic problems, giving a new trial point γtest evaluate f at γtest, i.e. solving an SDP of order n and n linear equalities

Angelika Wiegele, SDP based Branch & Bound – p.8/19

slide-35
SLIDE 35

Branching rules

i and j such that they minimize n

k=1(1 − |xik|)2,

i.e. find two rows i and j in the primal matrix X, that are closest to a {±1} vector.

▽Angelika Wiegele, SDP based Branch & Bound – p.9/19

slide-36
SLIDE 36

Branching rules

i and j such that they minimize n

k=1(1 − |xik|)2,

i.e. find two rows i and j in the primal matrix X, that are closest to a {±1} vector. edge ij which minimizes |xij|, i.e. we fix the most difficult decision

▽Angelika Wiegele, SDP based Branch & Bound – p.9/19

slide-37
SLIDE 37

Branching rules

i and j such that they minimize n

k=1(1 − |xik|)2,

i.e. find two rows i and j in the primal matrix X, that are closest to a {±1} vector. edge ij which minimizes |xij|, i.e. we fix the most difficult decision “strong branching.” forecast on some potential branching edges and choose the most promising.

Angelika Wiegele, SDP based Branch & Bound – p.9/19

slide-38
SLIDE 38

Numerical results

until the early nineties...

n\d

10 20 30 40 50 60 70 80 90 100 20

  • 30
  • 40
  • 50
  • 60
  • 70
  • 80
  • 90
  • 100
  • 110

120

Angelika Wiegele, SDP based Branch & Bound – p.10/19

slide-39
SLIDE 39

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 120 0.3 10 168 1263 4667 120 0.8 6 322 3909 9898 150 0.3 1 6789 150 0.8 – 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-40
SLIDE 40

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 120 0.8 6 322 3909 9898 150 0.3 1 6789 150 0.8 – 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-41
SLIDE 41

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 10 48 339 1016 120 0.8 6 322 3909 9898 150 0.3 1 6789 150 0.8 – 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-42
SLIDE 42

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 10 48 339 1016 120 0.8 6 322 3909 9898 10 386 2650 7577 150 0.3 1 6789 150 0.8 – 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-43
SLIDE 43

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 10 48 339 1016 120 0.8 6 322 3909 9898 10 386 2650 7577 150 0.3 1 6789 6 342 1492 3305 150 0.8 – 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-44
SLIDE 44

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 10 48 339 1016 120 0.8 6 322 3909 9898 10 386 2650 7577 150 0.3 1 6789 6 342 1492 3305 150 0.8 – 6 4451 13214 17081 200 0.3 –

▽Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-45
SLIDE 45

Numerical results: UQBP

Comparison with Billionnet, Elloumi 06 CPU time (sec) CPU time (sec)

n d

solved min avg. max solved min avg. max 100 1.0 10 27 372 1671 10 122 331 853 120 0.3 10 168 1263 4667 10 48 339 1016 120 0.8 6 322 3909 9898 10 386 2650 7577 150 0.3 1 6789 6 342 1492 3305 150 0.8 – 6 4451 13214 17081 200 0.3 – 1 2345

Angelika Wiegele, SDP based Branch & Bound – p.11/19

slide-46
SLIDE 46

Numerical results: Max-Cut

min-time avg-time max-time min avg max

n d

solved h:min h:min h:min nodes

G0.5

100 0.5 10 9 1:07 5:29 52 617 3036

G−1/0/1

100 0.99 10 10 1:52 3:47 66 640 1810

G[−10,10]

100 0.5 10 11 44 1:35 58 406 866 100 0.9 10 3 1:25 5:20 14 686 2568

G[1,10]

100 0.5 10 16 1:02 2:36 104 599 1546 100 0.9 10 22 1:02 2:08 168 465 998

Angelika Wiegele, SDP based Branch & Bound – p.12/19

slide-47
SLIDE 47

Numerical results: Physics

torus graphs with gaussian distribution Problem Branch & Cut B & B number times (sec) times (sec) 2 dimensional

10 × 10

0.15 0.14 0.18 9 43 16

15 × 15

0.44 0.78 0.67 443 480 485

20 × 20

1.70 3.50 2.61 – – – 3 dimensional

5 × 5 × 5

2.68 3.29 3.07 16 60 59

6 × 6 × 6

20.56 37.74 27.30 200 1531 179

7 × 7 × 7

95.25 131.34 460.01 828 539 –

Angelika Wiegele, SDP based Branch & Bound – p.13/19

slide-48
SLIDE 48

Numerical results: Physics

Ising instances (dense graphs) Problem Branch & Cut & Price B & B number times (h:min:sec) times (h:min:sec) 3.0-100 4:52 0:24 7:31 3:58 1:31 1:23 3.0-150 2:36:46 4:49:05 3:48:41 11:59 13:32 9:18 3.0-200 9:22:03 32:48:03 8:53:26 29:17 1:14:55 1:01:28 3.0-250 21:17:07 7:42:25 17:30:13 5:11:26 2:48:24 4:18:45 3.0-300 17:20:54 10:21:40 18:33:49 6:32:19 3:47:56 17:49:49

▽Angelika Wiegele, SDP based Branch & Bound – p.14/19

slide-49
SLIDE 49

Numerical results: Physics

Ising instances (dense graphs) Problem Branch & Cut & Price B & B number times (h:min:sec) times (h:min:sec) 3.0-100 4:52 0:24 7:31 3:58 1:31 1:23 3.0-150 2:36:46 4:49:05 3:48:41 11:59 13:32 9:18 3.0-200 9:22:03 32:48:03 8:53:26 29:17 1:14:55 1:01:28 3.0-250 21:17:07 7:42:25 17:30:13 5:11:26 2:48:24 4:18:45 3.0-300 17:20:54 10:21:40 18:33:49 6:32:19 3:47:56 17:49:49 Problem Branch & Cut & Price B & B number times (h:min:sec) times (h:min:sec) 2.5-100 18:22 6:27 10:08 3:21 1:30 59 2.5-150 21:28:39 23:35:11 31:40:07 14:17 14:57 28:19 2.5-200 24:34 57:30 1:45:45

Angelika Wiegele, SDP based Branch & Bound – p.14/19

slide-50
SLIDE 50

Numerical results: OR library

n

100 200

d

10 20 30 40 50 60 70 80 90 100 10 20 30 40 BHT05

  • BiEl06
  • B & B

n

250

d

10 10 10 10 10 10 10 10 10 10 BHT05

  • BiEl06

B & B

  • BHT05. . . Boros, Hammer, Tavares 05
  • BiEl06. . . Billionnet, Elloumi 06

▽Angelika Wiegele, SDP based Branch & Bound – p.15/19

slide-51
SLIDE 51

Numerical results: OR library

n

100 200

d

10 20 30 40 50 60 70 80 90 100 10 20 30 40 BHT05

  • BiEl06
  • B & B
  • n

250

d

10 10 10 10 10 10 10 10 10 10 BHT05

  • BiEl06

B & B

  • BHT05. . . Boros, Hammer, Tavares 05
  • BiEl06. . . Billionnet, Elloumi 06

▽Angelika Wiegele, SDP based Branch & Bound – p.15/19

slide-52
SLIDE 52

Numerical results: OR library

n

100 200

d

10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 BHT05

  • BiEl06
  • B & B
  • n

250

d

10 10 10 10 10 10 10 10 10 10 BHT05

  • BiEl06

B & B

  • BHT05. . . Boros, Hammer, Tavares 05
  • BiEl06. . . Billionnet, Elloumi 06

Angelika Wiegele, SDP based Branch & Bound – p.15/19

slide-53
SLIDE 53

Numerical results: Equipartitioning

best known

n d

bound

|Ecut|

124 0.02 12.01 13

  • 124

0.04 61.22 63 124 0.08 170.93 178 124 0.16 440.08 449 250 0.01 26.06 29

▽Angelika Wiegele, SDP based Branch & Bound – p.16/19

slide-54
SLIDE 54

Numerical results: Equipartitioning

best known

n d

bound

|Ecut|

124 0.02 12.01 13

  • 124

0.04 61.22 63

  • 124

0.08 170.93 178

  • 124

0.16 440.08 449

  • 250

0.01 26.06 29

  • Angelika Wiegele, SDP based Branch & Bound – p.16/19
slide-55
SLIDE 55

Numerical results

n\d

10 20 30 40 50 60 70 80 90 100 20

  • 30
  • 40
  • 50
  • 60
  • 70
  • 80
  • 90
  • 100
  • 110

120

▽Angelika Wiegele, SDP based Branch & Bound – p.17/19

slide-56
SLIDE 56

Numerical results

n\d

10 20 30 40 50 60 70 80 90 100 20

  • 30
  • 40
  • 50
  • 60
  • 70
  • 80
  • 90
  • 100
  • 110
  • 120
  • Angelika Wiegele, SDP based Branch & Bound – p.17/19
slide-57
SLIDE 57

Summary

strong branching too expensive

▽Angelika Wiegele, SDP based Branch & Bound – p.18/19

slide-58
SLIDE 58

Summary

strong branching too expensive SDP based Branch & Bound code, that . . . solves any instance of size up to n = 100

▽Angelika Wiegele, SDP based Branch & Bound – p.18/19

slide-59
SLIDE 59

Summary

strong branching too expensive SDP based Branch & Bound code, that . . . solves any instance of size up to n = 100 . . . solves sparse instances and instances of special structure up to n = 300

Angelika Wiegele, SDP based Branch & Bound – p.18/19

slide-60
SLIDE 60

the end Thank you for your attention!

Angelika Wiegele, SDP based Branch & Bound – p.19/19