10.07.2015 Views

SDP Relaxation of the Max-Cut Problem

SDP Relaxation of the Max-Cut Problem

SDP Relaxation of the Max-Cut Problem

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSemidefinite relaxation <strong>of</strong> <strong>the</strong> max-cut problemA. Dudek, K. Ghobadi, E. Kim, S. Lin, R. Spjut, J. ZhuMSRI Workshop on Continuous Optimization and its ApplicationsJuly 17, 2007


3<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsProject Statement<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>Find <strong>the</strong> <strong>SDP</strong> relaxation <strong>of</strong> <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:1 Solve this relaxation using e.g. SeDumi with MATLAB.2 Use randomly generated, weighted, undirected graphs,e.g. W=sprandsym(60,.5).3 Can you streng<strong>the</strong>n <strong>the</strong> relaxation by adding additionalconstraints? (Hint: consider constraints <strong>of</strong> <strong>the</strong> typex i x 2 k x j = x i x j .)Let G = (V , E) be a graph and let w : E → R be an edgeweight function on G and set n = |V |.


3<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsProject Statement<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>Find <strong>the</strong> <strong>SDP</strong> relaxation <strong>of</strong> <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:1 Solve this relaxation using e.g. SeDumi with MATLAB.2 Use randomly generated, weighted, undirected graphs,e.g. W=sprandsym(60,.5).3 Can you streng<strong>the</strong>n <strong>the</strong> relaxation by adding additionalconstraints? (Hint: consider constraints <strong>of</strong> <strong>the</strong> typex i x 2 k x j = x i x j .)Let G = (V , E) be a graph and let w : E → R be an edgeweight function on G and set n = |V |.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsA Review <strong>of</strong> <strong>Max</strong>-cut<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instancew ij :={ w((i, j)) if (i, j) ∈ E0 o<strong>the</strong>rwiseLet W = ( )w ij , <strong>the</strong> matrix whose ij-th entry is wij .A cut is a partition <strong>of</strong> V into two sets C ⊂ V and V \ C. Itssize iss(C) :=∑i∈C,j∈V \Cw ijA cut C is maximal if ∀ ˜C ∈ 2 V , s(C) ≥ s( ˜C)<strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>For a weighted graph (V , E, w) find a maximal cut C.RemarkThe <strong>Max</strong>-<strong>Cut</strong> problem is NP-hard.4


5<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>We reforumlate <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>: Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Given any cut C, define{x := (x 1 , . . . , x n ) T 1 i ∈ C, x i :=−1 i ∉ C<strong>Max</strong>imize t = 1 ∑2 i


5<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>We reforumlate <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>: Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Given any cut C, define{x := (x 1 , . . . , x n ) T 1 i ∈ C, x i :=−1 i ∉ C<strong>Max</strong>imize t = 1 ∑2 i


5<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>We reforumlate <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>: Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Given any cut C, define{x := (x 1 , . . . , x n ) T 1 i ∈ C, x i :=−1 i ∉ C<strong>Max</strong>imize t = 1 ∑2 i


5<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>We reforumlate <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>: Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Given any cut C, define{x := (x 1 , . . . , x n ) T 1 i ∈ C, x i :=−1 i ∉ C<strong>Max</strong>imize t = 1 ∑2 i


5<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>We reforumlate <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem:<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an Instance<strong>Problem</strong>: Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Given any cut C, define{x := (x 1 , . . . , x n ) T 1 i ∈ C, x i :=−1 i ∉ C<strong>Max</strong>imize t = 1 ∑2 i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsReformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Some Equalities for t<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceSkip long string <strong>of</strong> equalities for t⎛ ⎛ ⎞ ⎛ ⎞⎞t = 1 ∑w ij (1 − x i x j ) = 1 ⎝2 ⎝ ∑ w ij⎠ − 2 ⎝ ∑ w ij x i x j⎠⎠24i


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: Equivalent Reformulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, rank(X) = 1, and X ≽ 0.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and Results<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceReformulation and <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong>Lemmat = x T Lx = trace(x T Lx) = trace(x T (Lx)) = trace((Lx)x T ) =trace(LX) = L • X, where X = xx T is a real symmetricmatrix, =⇒ X ≽ 0.diag(X) = e ⇐⇒ x 2i= 1 ⇐⇒ x i ∈ {−1, 1}.X = X T ≽ 0, rank(X) = 1 ⇐⇒ X = xx TW is <strong>the</strong> edge-weight matrix L = 1 4 (Diag(We) − W ) <strong>Problem</strong>: <strong>SDP</strong> <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e and X ≽ 0.


8<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSetting up an Instance<strong>Problem</strong> Statement and BackgroundReformulation and <strong>Relaxation</strong>Setting up an InstanceWe setup an instance <strong>of</strong> <strong>the</strong> <strong>Max</strong>-<strong>Cut</strong> problem in MATLAB with<strong>the</strong> following code:% Fix <strong>the</strong> dimension (number <strong>of</strong> vertices in graph)n=60;% Generate a weighted graphW=sprandsym(n,.5); W(1:n+1:n^2)=zeros(1,n);% Calculate <strong>the</strong> LaplacianL=1/4 * (diag(W*ones(n,1))-W);


9<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsInterfacing with SeDumiSeDumi Input FormatBasic <strong>Relaxation</strong>: Setting up <strong>the</strong> Input to SeDumiBasic <strong>Relaxation</strong>: Numerical ResultsTo be consistent with <strong>the</strong> notation <strong>of</strong> SeDumi’s documentationand interface, substitute “x” for “z”. The SeDumi primal form isMinimizesubject toc T zAz = b, for z ∈ Kwhere c, z, b ∈ R p , and A is a p × p matrix. In MATLAB,c=-L(:); % Format <strong>the</strong> Laplacian to vector form% Translate constraint diag(X)=e into vector format:A=sparse(1:n,1:n+1:n^2,ones(1,n),n,n^2);b=ones(n,1);% Tell SeDumi that X must be positive semidefiniteK.s=[n];[X,Y,INFO] = sedumi(A,b,c,K) % Run SeDumi


10% Tell SeDumi that X must be positive <strong>Problem</strong>semidefiniteSet-up SeDumi Input FormatK.s=[n];Solving Using SeDumi Basic <strong>Relaxation</strong>: Setting up <strong>the</strong> Input to SeDumiImproving <strong>the</strong> Implementation and Results Basic <strong>Relaxation</strong>: Numerical Results% Run SeDumi[X,Y,INFO] = sedumi(A,b,c,K)Interfacing with SeDumiA visual summary <strong>of</strong> Az = bIt may help to visualize <strong>the</strong> constraint:⎛⎜⎝1 0 . . . 0 0 0 0 . . . 0 0 0 0 . . . 00 0 . . . 0 0 1 0 . . . 0 0 0 0 . . . 00 0 . . . 0 0 0 0 . . . 0 0 0 1 . . . 0. .. .. . . . .. .. . . . .. .. .0 0 . . . 0 0 0 0 . . . 0 0 0 0 . . . 0. . .0 . . . 00 . . . 00 . . . 0.. .. .0 . . . 1⎞⎟⎠⎛n×n 2 ⎜⎜⎝x 11x 12.x 1nx 21x 22x 23.x 2nx 31x 32x 33.x 3n.x n1.x nn⎞⎟⎠n 2 ×1⎛=⎜⎝111.1⎞⎟⎠n×1


11<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSeDumi Input FormatBasic <strong>Relaxation</strong>: Setting up <strong>the</strong> Input to SeDumiBasic <strong>Relaxation</strong>: Numerical ResultsNumerical Results: Basic <strong>Relaxation</strong> G ( n, 1 2n Ratio50 6.292239e-0160 6.202113e-0170 6.067923e-0180 6.074731e-0190 5.980219e-01100 5.894269e-01110 5.849831e-01120 5.837704e-01130 5.793048e-01140 5.777026e-01150 5.749815e-01160 5.715093e-01170 5.702395e-01180 5.686022e-01190 5.675917e-01200 5.654331e-01250 5.591398e-01300 5.538571e-01350 5.506719e-01400 5.472742e-01450 5.441005e-01500 5.422019e-01600 5.390324e-01700 5.359528e-01800 5.337012e-01900 5.320470e-011000 5.303538e-01)


12<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTriangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAn idea proposed by Poljak and Rendl (1995), and fur<strong>the</strong>rdeveloped by Helmberg, Rendl, Vanderbei and Wolkowicz(1996):For each triple, x i , x j , x k ∈ {−1, 1} we havex ij + x jk + x ki ≥ −1 (1)x ij − x jk − x ki ≥ −1 (2)−x ij + x jk − x ki ≥ −1 (3)−x ij − x jk + x ki ≥ −1. (4)With (1)-(4), we have <strong>the</strong> streng<strong>the</strong>ned <strong>SDP</strong> relaxation:<strong>Problem</strong>: Streng<strong>the</strong>ned <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, X ≽ 0, and (1) − (4).


12<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTriangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAn idea proposed by Poljak and Rendl (1995), and fur<strong>the</strong>rdeveloped by Helmberg, Rendl, Vanderbei and Wolkowicz(1996):For each triple, x i , x j , x k ∈ {−1, 1} we havex ij + x jk + x ki ≥ −1 (1)x ij − x jk − x ki ≥ −1 (2)−x ij + x jk − x ki ≥ −1 (3)−x ij − x jk + x ki ≥ −1. (4)With (1)-(4), we have <strong>the</strong> streng<strong>the</strong>ned <strong>SDP</strong> relaxation:<strong>Problem</strong>: Streng<strong>the</strong>ned <strong>Relaxation</strong> <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, X ≽ 0, and (1) − (4).


13<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesTriangle InequalitiesReplacing Inequalities (1)-(4) with Equalities for SeDumi’s Input FormatIntroduce slack variables s ijkl ≥ 0 to get equalities for SeDumi.x ij + x jk + x ki − s ijk1 = −1x ij − x jk − x ki − s ijk2 = −1−x ij + x jk − x ki − s ijk3 = −1−x ij − x jk + x ki − s ijk4 = −1Considering (1)-(4) when a pair <strong>of</strong> i, j, k are <strong>the</strong> same isredundant.So we are concerned with “only” N := 2n(n − 1)(n − 2)/3slack variables.


13<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesTriangle InequalitiesReplacing Inequalities (1)-(4) with Equalities for SeDumi’s Input FormatIntroduce slack variables s ijkl ≥ 0 to get equalities for SeDumi.x ij + x jk + x ki − s ijk1 = −1x ij − x jk − x ki − s ijk2 = −1−x ij + x jk − x ki − s ijk3 = −1−x ij − x jk + x ki − s ijk4 = −1Considering (1)-(4) when a pair <strong>of</strong> i, j, k are <strong>the</strong> same isredundant.So we are concerned with “only” N := 2n(n − 1)(n − 2)/3slack variables.


13<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesTriangle InequalitiesReplacing Inequalities (1)-(4) with Equalities for SeDumi’s Input FormatIntroduce slack variables s ijkl ≥ 0 to get equalities for SeDumi.x ij + x jk + x ki − s ijk1 = −1x ij − x jk − x ki − s ijk2 = −1−x ij + x jk − x ki − s ijk3 = −1−x ij − x jk + x ki − s ijk4 = −1Considering (1)-(4) when a pair <strong>of</strong> i, j, k are <strong>the</strong> same isredundant.So we are concerned with “only” N := 2n(n − 1)(n − 2)/3slack variables.


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTriangle InequalitiesA visual summary <strong>of</strong> Az = bStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple Equalities0B@It may help to visualize <strong>the</strong> constraint:0n×N1 0 . . . 0 0 0 0 . . . 0 0 0 0 . . . 00 0 . . . 0 0 1 0 . . . 0 0 0 0 . . . 00 0 . . . 0 0 0 0 . . . 0 0 0 1 . . . 0... ... ... ... ... .. . ... ... ... ... .. . ... ..0 0 . . . 0 0 0 0 . . . 0 0 0 0 . . . 0−IN×N tempA N×n 2. . .140 . . . 00 . . . 00 . . . 0.. ... ..0 . . . 11CA0B@s1,2,3,1s1,2,4,1.s1,3,4,1s1,3,5,1. . .s2,3,4,1s2,3,5,1. . .sn−2,n−1,n,1s1,2,3,2. . .sn−2,n−1,n,2. . ....s1,2,3,4. . .sn−2,n−1,n,4x11x12.x1nx21x22x23.x2nx31x32x33.x3n.xn1.xnn1CAN+n 2 ×1=„ In×1−IN×1«n+N×1


15<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesNumerical Results: Triangle <strong>Relaxation</strong> G ( n, 1 2)n Ratio 1 Ratio 25 7.142857e-01 7.142857e-016 7.500000e-01 7.500000e-017 7.177745e-01 6.875000e-018 7.417858e-01 7.368421e-019 7.570369e-01 7.272727e-0110 6.978259e-01 6.709667e-0111 7.433614e-01 7.241379e-0112 6.845083e-01 6.808511e-0113 6.986989e-01 6.862745e-0114 6.655176e-01 6.615384e-0115 6.613215e-01 6.433655e-01


16<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsQuadruple EqualitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAn idea <strong>of</strong> Goemans developed by Anjos and Wolkowicz(2002):For each quadruple x i , x j , x j , x k ∈ {−1, 1} we have:x i x j x j x k = x i x 2j x k = x i x k . (5)With (5), we have <strong>the</strong> <strong>SDP</strong> formulation:<strong>Problem</strong>: An Equivalent Formulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, X ≽ 0, and x ij x jk = x ik .


16<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsQuadruple EqualitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAn idea <strong>of</strong> Goemans developed by Anjos and Wolkowicz(2002):For each quadruple x i , x j , x j , x k ∈ {−1, 1} we have:x i x j x j x k = x i x 2j x k = x i x k . (5)With (5), we have <strong>the</strong> <strong>SDP</strong> formulation:<strong>Problem</strong>: An Equivalent Formulation <strong>of</strong> <strong>Max</strong>-<strong>Cut</strong> <strong>Problem</strong><strong>Max</strong>imize L • Xsubject to diag(X) = e, X ≽ 0, and x ij x jk = x ik .


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSecond lifting/relaxationStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAfter liftingY = [ y y T ] , where y = vec(X)We have <strong>the</strong> max-cut problem:<strong>Max</strong>imize[ ] L 0• Y = L • Y0 011subject to diag(Y ) = e (S1)Y ≽ 0(S2)Y 11 = Y ii ∀i = 2, . . . , n (S3)diag(Y ij ) = Y (i,j)iie (S4)Y ij e j = Y 11 e i ∀j = 2, . . . n, i < j (S5)rank(Y ) = 1.(S6)TheoremThe second lifting relaxation provides a tighter upper bound.17


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSecond lifting/relaxationStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAfter liftingY = [ y y T ] , where y = vec(X)We have <strong>the</strong> max-cut problem:<strong>Max</strong>imize[ ] L 0• Y = L • Y0 011subject to diag(Y ) = e (S1)Y ≽ 0(S2)Y 11 = Y ii ∀i = 2, . . . , n (S3)diag(Y ij ) = Y (i,j)iie (S4)Y ij e j = Y 11 e i ∀j = 2, . . . n, i < j (S5)rank(Y ) = 1.(S6)TheoremThe second lifting relaxation provides a tighter upper bound.17


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSecond lifting/relaxationStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAfter liftingY = [ y y T ] , where y = vec(X)We have <strong>the</strong> max-cut problem:<strong>Max</strong>imize[ ] L 0• Y = L • Y0 011subject to diag(Y ) = e (S1)Y ≽ 0(S2)Y 11 = Y ii ∀i = 2, . . . , n (S3)diag(Y ij ) = Y (i,j)iie (S4)Y ij e j = Y 11 e i ∀j = 2, . . . n, i < j (S5)rank(Y ) = 1.(S6)TheoremThe second lifting relaxation provides a tighter upper bound.17


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSecond lifting/relaxationStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAfter liftingY = [ y y T ] , where y = vec(X)We have <strong>the</strong> max-cut relaxation:<strong>Max</strong>imize[ ] L 0• Y = L • Y0 011subject to diag(Y ) = e (S1)Y ≽ 0(S2)Y 11 = Y ii ∀i = 2, . . . , n (S3)diag(Y ij ) = Y (i,j)iie (S4)Y ij e j = Y 11 e i ∀j = 2, . . . n, i < j (S5)TheoremThe second lifting relaxation provides a tighter upper bound.17


<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsSecond lifting/relaxationStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesAfter liftingY = [ y y T ] , where y = vec(X)We have <strong>the</strong> max-cut relaxation:<strong>Max</strong>imize[ ] L 0• Y = L • Y0 011subject to diag(Y ) = e (S1)Y ≽ 0(S2)Y 11 = Y ii ∀i = 2, . . . , n (S3)diag(Y ij ) = Y (i,j)iie (S4)Y ij e j = Y 11 e i ∀j = 2, . . . n, i < j (S5)TheoremThe second lifting relaxation provides a tighter upper bound.17


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


18<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsTighter Upper Bound TheoremStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesSuppose that X ∗ is an optimal solution to <strong>the</strong> first liftingrelaxation.If Rank(X ∗ ) = 1, <strong>the</strong>n we have <strong>the</strong> optimal solution to <strong>the</strong>original max-cut problem.If Rank(X ∗ ) > 1, we will show that after lifting X ∗ toY = (yy T ), where y = vec X ∗ , Y is not feasible to <strong>the</strong>second relaxation.By contradiction, we assume that Y is feasible to <strong>the</strong> secondrelaxation, <strong>the</strong>n it satisfies (S4) and (S5), which implies thatXikX ∗kj ∗ = Xij ∗ for all i, j, k.Hence, X ∗ = xx T , where x = (X1k, ∗ X2k, ∗ · · · , Xnk), ∗ whichcontradicts Rank X ∗ > 1.Therefore, Y is not feasible to <strong>the</strong> second lifting relaxation.On <strong>the</strong> o<strong>the</strong>r hand, if Y is feasible to <strong>the</strong> second liftingrelaxation, by (S1) and (S2), diag(Y 11 ) = e and Y 11 ≽ 0.Then, Y 11 is feasible to <strong>the</strong> first lifting relaxation.□


19<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesNumerical Results: Comparison <strong>of</strong> AlgorithmsComparison <strong>of</strong> Algorithm Performancerelaxation n=4 n = 6 n = 8 n = 10<strong>SDP</strong> 2.00000000 6.43225787 9.52050490 17.0875592TRI 1.99999999 5.99999995 8.99999986 16.9999998QUAD 1.99999999 5.99999988 8.99999900 16.9999996


20Thanks!!<strong>Problem</strong> Set-upSolving Using SeDumiImproving <strong>the</strong> Implementation and ResultsStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Triangle InequalitiesStreng<strong>the</strong>ning <strong>the</strong> <strong>Relaxation</strong>: Quadruple EqualitiesThanks for your attention!Semidefinite relaxation <strong>of</strong> <strong>the</strong> max-cut problemA. Dudek, K. Ghobadi, E. Kim, S. Lin, R. Spjut, J. ZhuMSRI Workshop on Continuous Optimization and its ApplicationsJuly 17, 2007

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!