Mixed-Integer Programming for Cycle Detection in Non-reversible - - PowerPoint PPT Presentation
Mixed-Integer Programming for Cycle Detection in Non-reversible - - PowerPoint PPT Presentation
Mixed-Integer Programming for Cycle Detection in Non-reversible Markov Processes Isabel Beckenbach Leon Eifler Ambros Gleixner Jakob Witzig Mathematical Optimization, Zuse Institute Berlin Konstantin Fackeldey Andreas Grever Marcus Weber
Motivation
◮ Many chemical and biological
processes can be interpreted as a Markov State Models
- J. Witzig (ZIB): Cycle-Clustering
1 / 25
Motivation
◮ Many chemical and biological
processes can be interpreted as a Markov State Models
◮ After simulation (e.g.
Monte-Carlo) a discrete set of states S = {1, . . . , n} and a transition matrix P describe the underlying Markov process
- J. Witzig (ZIB): Cycle-Clustering
1 / 25
Motivation
◮ Many chemical and biological
processes can be interpreted as a Markov State Models
◮ After simulation (e.g.
Monte-Carlo) a discrete set of states S = {1, . . . , n} and a transition matrix P describe the underlying Markov process
◮ A clustering of the states can be
used to analyze the process
- J. Witzig (ZIB): Cycle-Clustering
1 / 25
Problem Description
◮ Let P ∈ Rn×n a transition matrix of a Markov process with stationary distribution
π ∈ Rn.
◮ A process is called reversible, if for all states i and j holds:
πipij = πjpji
- J. Witzig (ZIB): Cycle-Clustering
2 / 25
Problem Description
◮ Let P ∈ Rn×n a transition matrix of a Markov process with stationary distribution
π ∈ Rn.
◮ A process is called reversible, if for all states i and j holds:
πipij = πjpji Goal Find clustering C1, . . . , Cm, s.t. the process between two consecutive clusters is non-reversible and within each cluster coherent.
- J. Witzig (ZIB): Cycle-Clustering
2 / 25
Problem Description
◮ Let P ∈ Rn×n a transition matrix of a Markov process with stationary distribution
π ∈ Rn.
◮ A process is called reversible, if for all states i and j holds:
πipij = πjpji Goal Find clustering C1, . . . , Cm, s.t. the process between two consecutive clusters is non-reversible and within each cluster coherent.
- J. Witzig (ZIB): Cycle-Clustering
2 / 25
Problem Description
◮ Let P ∈ Rn×n a transition matrix of a Markov process with stationary distribution
π ∈ Rn.
◮ A process is called reversible, if for all states i and j holds:
πipij = πjpji Goal Find clustering C1, . . . , Cm, s.t. the process between two consecutive clusters is non-reversible and within each cluster coherent.
- J. Witzig (ZIB): Cycle-Clustering
2 / 25
Why is this interesting in practice?
◮ If a process is reversible the leading eigenvalues can be used to find a meaningful
clustering.
1Conrad, N. D., Weber, M., Schütte, C. (2016). Finding dominant structures of nonreversible Markov
- processes. Multiscale Modeling & Simulation, 14(4), 1319-1340.
2Weber, M., Fackeldey, K. (2015). G-PCCA: Spectral clustering for non-reversible Markov chains. ZIB
Rep, 15(35).
- J. Witzig (ZIB): Cycle-Clustering
3 / 25
Why is this interesting in practice?
◮ If a process is reversible the leading eigenvalues can be used to find a meaningful
clustering.
◮ If a process is non-reversible some of the leading eigenvalues are complex and close
to the unit circle1 ⇒ only meaningful interpretation for dominant cycles, but not in general.
1Conrad, N. D., Weber, M., Schütte, C. (2016). Finding dominant structures of nonreversible Markov
- processes. Multiscale Modeling & Simulation, 14(4), 1319-1340.
2Weber, M., Fackeldey, K. (2015). G-PCCA: Spectral clustering for non-reversible Markov chains. ZIB
Rep, 15(35).
- J. Witzig (ZIB): Cycle-Clustering
3 / 25
Why is this interesting in practice?
◮ If a process is reversible the leading eigenvalues can be used to find a meaningful
clustering.
◮ If a process is non-reversible some of the leading eigenvalues are complex and close
to the unit circle1 ⇒ only meaningful interpretation for dominant cycles, but not in general. State-of-the-art methods for non-reversible processes are, e.g.,
◮ Schur-decomposition2 ◮ “Fuzzy” clustering (i.e. assign fractions of states to clusters) and apply a rounding
heuristic but none of them can prove optimality or has some guarantee for the solution quality.
1Conrad, N. D., Weber, M., Schütte, C. (2016). Finding dominant structures of nonreversible Markov
- processes. Multiscale Modeling & Simulation, 14(4), 1319-1340.
2Weber, M., Fackeldey, K. (2015). G-PCCA: Spectral clustering for non-reversible Markov chains. ZIB
Rep, 15(35).
- J. Witzig (ZIB): Cycle-Clustering
3 / 25
Our Goal
- 1. Find a clustering C1, . . . , Cm, m ∈ N
given.
- 2. Maximize the net-flow between
consecutive clusters and the coherence within each cluster.
- J. Witzig (ZIB): Cycle-Clustering
4 / 25
Our Goal
- 1. Find a clustering C1, . . . , Cm, m ∈ N
given.
- 2. Maximize the net-flow between
consecutive clusters and the coherence within each cluster.
- 3. Should be applicable for all
non-reversible processes with stationary distribution.
- J. Witzig (ZIB): Cycle-Clustering
4 / 25
Our Goal
- 1. Find a clustering C1, . . . , Cm, m ∈ N
given.
- 2. Maximize the net-flow between
consecutive clusters and the coherence within each cluster.
- 3. Should be applicable for all
non-reversible processes with stationary distribution.
- 4. We want to be able to either prove
- ptimality or to measure the solution
quality.
- J. Witzig (ZIB): Cycle-Clustering
4 / 25
Cycle-Clustering MINLP
max net-flow + α ·
- t∈C
coherence of Ct s.t.
- t∈C
xit = 1 ∀i ∈ S (1)
- i∈S
xit ≥ 1 ∀t ∈ C (2) xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C
◮ Set of clusters C ◮ Discrete set of states S
- J. Witzig (ZIB): Cycle-Clustering
5 / 25
Cycle-Clustering MINLP
max net-flow + α ·
- t∈C
coherence of Ct s.t.
- t∈C
xit = 1 ∀i ∈ S (1)
- i∈S
xit ≥ 1 ∀t ∈ C (2) xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C
◮ Set of clusters C ◮ Discrete set of states S ◮ Binary variable xit = 1 ⇐
⇒ state i is assigned to cluster t
- J. Witzig (ZIB): Cycle-Clustering
5 / 25
Cycle-Clustering MINLP
max
- t∈C
ǫt + α ·
- t∈C
coherence of Ct s.t.
- t∈C
xit = 1 ∀i ∈ S (1)
- i∈S
xit ≥ 1 ∀t ∈ C (2) ǫt =
- i=j∈S
πipij(xitxjφ(t) − xiφ(t)xjt) ∀t ∈ C (3) xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C ǫt ∈ R≥0 ∀t ∈ C
◮ Set of clusters C ◮ Discrete set of states S ◮ Binary variable xit = 1 ⇐
⇒ state i is assigned to cluster t
◮ Cont. variable ǫt representing the net-flow between Ct and Cφ(t)
- J. Witzig (ZIB): Cycle-Clustering
5 / 25
Cycle-Clustering MINLP
max
- t∈C
ǫt + α ·
- t∈C
- i,j∈S
πipijxitxjt s.t.
- t∈C
xit = 1 ∀i ∈ S (1)
- i∈S
xit ≥ 1 ∀t ∈ C (2) ǫt =
- i=j∈S
πipij(xitxjφ(t) − xiφ(t)xjt) ∀t ∈ C (3) xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C ǫt ∈ R≥0 ∀t ∈ C
◮ Set of clusters C ◮ Discrete set of states S ◮ Binary variable xit = 1 ⇐
⇒ state i is assigned to cluster t
◮ Cont. variable ǫt representing the net-flow between Ct and Cφ(t)
- J. Witzig (ZIB): Cycle-Clustering
5 / 25
Linearizing the MINLP-Formulation
◮ automatic linearization by SCIP / textbook linearization
✗
- J. Witzig (ZIB): Cycle-Clustering
6 / 25
Linearizing the MINLP-Formulation
◮ automatic linearization by SCIP / textbook linearization
✗
◮ compact linearization for binary quadratic problems (L. Liberti, 2007)
✓/✗
- J. Witzig (ZIB): Cycle-Clustering
6 / 25
Linearizing the MINLP-Formulation
◮ automatic linearization by SCIP / textbook linearization
✗
◮ compact linearization for binary quadratic problems (L. Liberti, 2007)
✓/✗
◮ problem specific linearization which uses the cyclic structure
✓
- J. Witzig (ZIB): Cycle-Clustering
6 / 25
Linearizing the MINLP-Formulation
◮ automatic linearization by SCIP / textbook linearization
✗
◮ compact linearization for binary quadratic problems (L. Liberti, 2007)
✓/✗
◮ problem specific linearization which uses the cyclic structure
✓
◮ Set of relevant transitions: E := {(i, j) ∈ S × S : i = j, πipij + πjpji > 0} ◮ Binary variables yij = 1 ⇔ states i and j are in the same cluster, ∀i, j ∈ E : i < j ◮ Binary variables zij = 1 ⇔ states i ∈ Ct and j ∈ Cφ(t), ∀i, j ∈ E
- J. Witzig (ZIB): Cycle-Clustering
6 / 25
MIP Model
max
- (i,j)∈E
zij(πipij − πjpji) + α
- (i,j)∈E : i<j
yij(πipij + πjpji) s.t.
- t∈C
xit = 1 ∀i ∈ S
- i∈S
xit ≥ 1 ∀t ∈ C xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E yij + zij + zji ≤ 1 ∀(i, j) ∈ E : i < j xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C yij, zij, zji ∈ {0, 1} ∀(i, j) ∈ E : i < j
- J. Witzig (ZIB): Cycle-Clustering
7 / 25
MIP Model
max
- (i,j)∈E
zij(πipij − πjpji) + α
- (i,j)∈E : i<j
yij(πipij + πjpji) s.t.
- t∈C
xit = 1 ∀i ∈ S
- i∈S
xit ≥ 1 ∀t ∈ C xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E yij + zij + zji ≤ 1 ∀(i, j) ∈ E : i < j xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C yij, zij, zji ∈ {0, 1} ∀(i, j) ∈ E : i < j
- J. Witzig (ZIB): Cycle-Clustering
7 / 25
MIP Model
max
- (i,j)∈E
zij(πipij − πjpji) + α
- (i,j)∈E : i<j
yij(πipij + πjpji) s.t.
- t∈C
xit = 1 ∀i ∈ S
- i∈S
xit ≥ 1 ∀t ∈ C xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E yij + zij + zji ≤ 1 ∀(i, j) ∈ E : i < j xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C yij, zij, zji ∈ {0, 1} ∀(i, j) ∈ E : i < j
- J. Witzig (ZIB): Cycle-Clustering
7 / 25
MIP Model
max
- (i,j)∈E
zij(πipij − πjpji) + α
- (i,j)∈E : i<j
yij(πipij + πjpji) s.t.
- t∈C
xit = 1 ∀i ∈ S
- i∈S
xit ≥ 1 ∀t ∈ C xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 ∀t ∈ C, (i, j) ∈ E yij + zij + zji ≤ 1 ∀(i, j) ∈ E : i < j xit ∈ {0, 1} ∀i ∈ S, ∀t ∈ C yij, zij, zji ∈ {0, 1} ∀(i, j) ∈ E : i < j
- J. Witzig (ZIB): Cycle-Clustering
7 / 25
Facets of the Linearization
Theorem
Let (i, j) ∈ E, t ∈ C, and m ≥ 4. Then the inequalities xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 and xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 are facet-defining for the cycle-clustering polytope (CCP).
- J. Witzig (ZIB): Cycle-Clustering
8 / 25
Facets of the Linearization
Theorem
Let (i, j) ∈ E, t ∈ C, and m ≥ 4. Then the inequalities xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 and xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 are facet-defining for the cycle-clustering polytope (CCP). very technical proof
- J. Witzig (ZIB): Cycle-Clustering
8 / 25
Facets of the Linearization
Theorem
Let (i, j) ∈ E, t ∈ C, and m ≥ 4. Then the inequalities xit + xjt − yij + zij − xjφ(t) − xiφ−1(t) ≤ 1 and xit + xjφ(t) − zij + yij − xjt − xiφ(t) ≤ 1 are facet-defining for the cycle-clustering polytope (CCP). very technical proof Proof idea
- 1. Let ˆ
ax + ˆ by + ˆ cz ≤ ˆ δ facet-defining with {(x, y, z) ∈ CCP | ax + by + cz = δ} ⊆ {(x, y, z) ∈ CCP | ˆ ax + ˆ by + ˆ cz = ˆ δ}
- 2. Compare coefficients and show that ax + by + cz ≤ δ is a multiple of
ˆ ax + ˆ by + ˆ cz ≤ ˆ δ Follows the proof technique of Chopra and Rao (1993).
- J. Witzig (ZIB): Cycle-Clustering
8 / 25
Valid Inequalities
- 1. various types of triangle inequalities
◮ special case: m = 3 ◮ general case: m ≥ 4 (motivated by S. Chopra and M. R. Rao. (1993); M. Grötschel
and Y. Wakabayashi (1990))
- 2. subtour and path inequalities
◮ motivated by TSP subtour elimination inequalities
- 3. partitioning inequalities
◮ modification of M. Grötschel and Y. Wakabayashi (1990)
- J. Witzig (ZIB): Cycle-Clustering
9 / 25
Valid Inequalities
- 1. various types of triangle inequalities
◮ special case: m = 3 ◮ general case: m ≥ 4 (motivated by S. Chopra and M. R. Rao. (1993); M. Grötschel
and Y. Wakabayashi (1990))
- 2. subtour and path inequalities
◮ motivated by TSP subtour elimination inequalities
- 3. partitioning inequalities
◮ modification of M. Grötschel and Y. Wakabayashi (1990)
- J. Witzig (ZIB): Cycle-Clustering
9 / 25
Simple Triangle Inequalities
i k j i j k
special case m = 3: zij + zjk − zki ≤ 1 ∀(i, j), (j, k), (k, i) ∈ E holds in general: yij + yjk − yik ≤ 1 ∀(i, j), (j, k), (k, i) ∈ E
- J. Witzig (ZIB): Cycle-Clustering
10 / 25
Triangle Inequalities Involving 2 Clusters
k j i
k is in the successor cluster of i
k j i
k is in the predecessor cluster of i
- J. Witzig (ZIB): Cycle-Clustering
11 / 25
Triangle Inequalities Involving 2 Clusters
k j i
k is in the successor cluster of i yij + zik − zjk ≤ 1
k j i
k is in the predecessor cluster of i yij + zki − zkj ≤ 1
- J. Witzig (ZIB): Cycle-Clustering
11 / 25
Facet-Defining Triangle Inequalities
A combination of
◮ yij + yjk − yik ≤ 1 ◮ yij + zik − zjk ≤ 1 ◮ yij + zki − zkj ≤ 1
yield a facet-defining inequality.
i j k k j i k j i
- J. Witzig (ZIB): Cycle-Clustering
12 / 25
Facet-Defining Triangle Inequalities
A combination of
◮ yij + yjk − yik ≤ 1 ◮ yij + zik − zjk ≤ 1 ◮ yij + zki − zkj ≤ 1
yield a facet-defining inequality.
i j k k j i k j i
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E. Then the triangle inequality yij + yjk − yik + 0.5 (zij + zji + zjk + zkj − zik − zki) ≤ 1 is facet-defining for the cycle clustering polytope.
- J. Witzig (ZIB): Cycle-Clustering
12 / 25
Triangle Inequalities Involving 2 Clusters (cont.)
i j k
i is in the successor cluster of j and k zij + zik − yjk ≤ 1
i j k
i is in the predecessor cluster of j and k zji + zki − yjk ≤ 1
- J. Witzig (ZIB): Cycle-Clustering
13 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Facet-Defining Triangle Inequalities (cont.)
Theorem
Let i, j, k ∈ S with (i, j), (j, k), (i, k) ∈ E.
◮ If m > 4, then
zij + zik − yjk ≤ 1 and zji + zki − yjk ≤ 1 are facet-defining for the cycle clustering polytope.
◮ If m = 4, then
zij + zik − 2yjk − (zjk + zkj + zji + zki) ≤ 0 is facet-defining for the cycle clustering polytope.
i j k
- J. Witzig (ZIB): Cycle-Clustering
14 / 25
Valid Inequalities
- 1. various types of triangle inequalities
◮ special case: m = 3 ◮ general case: m ≥ 4 (motivated by S. Chopra and M. R. Rao. (1993); M. Grötschel
and Y. Wakabayashi (1990))
- 2. subtour and path inequalities
◮ motivated by TSP subtour elimination inequalities
- 3. partitioning inequalities
◮ modification of M. Grötschel and Y. Wakabayashi (1990)
- J. Witzig (ZIB): Cycle-Clustering
15 / 25
Subtour Elimination Inequalities
◮ Let K = {(i1, i2), (i2, i3), . . . , (is−1, is), (is, i1)} ⊂ E with 1 < |K| < m ◮ U ⊂ K, |U| ≤ |K| − 1
i1 i2 i3 zi1i2 zi2i3 zi3i1 yi1i2 zi2i3 zi3i4 zi4i1
- J. Witzig (ZIB): Cycle-Clustering
16 / 25
Subtour Elimination Inequalities
◮ Let K = {(i1, i2), (i2, i3), . . . , (is−1, is), (is, i1)} ⊂ E with 1 < |K| < m ◮ U ⊂ K, |U| ≤ |K| − 1
i1 i2 i3 zi1i2 zi2i3 zi3i1
- (i,j)∈K
zij ≤ |K| − 1
yi1i2 zi2i3 zi3i4 zi4i1
- J. Witzig (ZIB): Cycle-Clustering
16 / 25
Subtour Elimination Inequalities
◮ Let K = {(i1, i2), (i2, i3), . . . , (is−1, is), (is, i1)} ⊂ E with 1 < |K| < m ◮ U ⊂ K, |U| ≤ |K| − 1
i1 i2 i3 zi1i2 zi2i3 zi3i1
- (i,j)∈K
zij ≤ |K| − 1
yi1i2 zi2i3 zi3i4 zi4i1
- (i,j)∈K
zij +
- (i,j)∈U
yij ≤ |K| − 1
- J. Witzig (ZIB): Cycle-Clustering
16 / 25
Subtour Elimination Inequalities
◮ Let K = {(i1, i2), (i2, i3), . . . , (is−1, is), (is, i1)} ⊂ E with 1 < |K| < m ◮ U ⊂ K, |U| ≤ |K| − 1
i1 i2 i3 zi1i2 zi2i3 zi3i1
- (i,j)∈K
zij ≤ |K| − 1
yi1i2 zi2i3 zi3i4 zi4i1
- (i,j)∈K
zij +
- (i,j)∈U
yij ≤ |K| − 1
◮ none of them is facet-defining ◮ but can be separated in polynomial time
- J. Witzig (ZIB): Cycle-Clustering
16 / 25
Valid Inequalities
- 1. various types of triangle inequalities
◮ special case: m = 3 ◮ general case: m ≥ 4 (motivated by S. Chopra and M. R. Rao. (1993); M. Grötschel
and Y. Wakabayashi (1990))
- 2. subtour and path inequalities
◮ motivated by TSP subtour elimination inequalities
- 3. partitioning inequalities
◮ modification of M. Grötschel and Y. Wakabayashi (1990)
- J. Witzig (ZIB): Cycle-Clustering
17 / 25
Partition Inequalities
B A
- J. Witzig (ZIB): Cycle-Clustering
18 / 25
Partition Inequalities
Let A, B ⊂ S, A ∩ B = ∅. The partitioning inequality
- i∈A, j∈B
zij −
- i<j∈A
yij −
- i<j∈B
yij ≤ min{|A|, |B|} (4) is valid for the cycle clustering polytope.
B A
- J. Witzig (ZIB): Cycle-Clustering
18 / 25
Partition Inequalities
Let A, B ⊂ S, A ∩ B = ∅. The partitioning inequality
- i∈A, j∈B
zij −
- i<j∈A
yij −
- i<j∈B
yij ≤ min{|A|, |B|} (4) is valid for the cycle clustering polytope.
B A
Theorem
The partitioning inequalities of type (4) are facet-defining if m > 4 and ||A| − |B|| = 1.
- J. Witzig (ZIB): Cycle-Clustering
18 / 25
How do the inequalities perform in practice?
Our test instances:
- 1. Artificial potentials with
3, 4 or 6 minima
- 2. Repressilator (synthetic
genetic regulatory network)
- 3. Hindmarsh-Rose (simulate
membrane potential of cells in a human heart)
potential with 4 minima Repressilator (Elowitz and Leibler, 2000)
- J. Witzig (ZIB): Cycle-Clustering
19 / 25
Only one slide left before you see some numbers. . .
pA mA pB mB pC mC 5 10 15 pA mA pB mB pC mC pA mA pB mB pC mC ǫ1 ǫ2 ǫ3
Schur Clustering
pA mA pB mB pC mC 5 10 15 pA mA pB mB pC mC pA mA pB mB pC mC ǫ1 ǫ2 ǫ3
Cycle Clustering
(solutions of a repressilator instance)
- J. Witzig (ZIB): Cycle-Clustering
20 / 25
Computational Results: Impact of Inequalities
Inequ. time [s] nodes dual integral default 130.6
- 256.6
- 1213.3
- triangle
77.6 0.59 28.8 0.11 474.1 0.39 subtour 122.6 0.94 174.3 0.68 1036.4 0.85 partition 122.6 0.94 121.6 0.47 933.1 0.77 all 68.3 0.52 15.4 0.06 396.6 0.33
Test set of 176 instances with 50 – 250 states. Time limit 1h.
- J. Witzig (ZIB): Cycle-Clustering
21 / 25
Mixed Integer Programming is more than cutting planes. . .
Beside of three different type of cutting planes we designed primal heuristics to improve the primal side as well:
◮ greedy heuristic assigning states to clusters ◮ exchange heuristic that swaps states between clusters
(even if it gets worse in between)
◮ problem-tailored LP rounding heuristic
- J. Witzig (ZIB): Cycle-Clustering
22 / 25
Mixed Integer Programming is more than cutting planes. . .
Beside of three different type of cutting planes we designed primal heuristics to improve the primal side as well:
◮ greedy heuristic assigning states to clusters
−32% primal integral
◮ exchange heuristic that swaps states between clusters
−53% primal integral (even if it gets worse in between)
◮ problem-tailored LP rounding heuristic
−32% primal integral
- J. Witzig (ZIB): Cycle-Clustering
22 / 25
Now, put it all together
Solver solved time [s] primal int dual int SCIP 113 182.4 3274.8 1794.0 CC-SCIP 130 64.7 82.9 327.1 (out of competition) Gurobi 118 153.1 1236.6 1524.9
Test set of 176 instances with 50 – 250 states. Time limit 1h.
- J. Witzig (ZIB): Cycle-Clustering
23 / 25
Conclusion
Summary
◮ First MIP model for detecting cyclic clustering of non-reversible Markov State
Models
◮ Various (facet-defining) valid inequalities for the cycle-clustering polytope ◮ Very brief description of problem-tailored primal heuristics
References
◮ Model: Witzig, J., Beckenbach, I., Eifler, L., Fackeldey, K., Gleixner, A., Grever, A.,
& Weber, M. (2018). Mixed-Integer Programming for Cycle Detection in Nonreversible Markov Processes. Multiscale Modeling & Simulation, 16(1), 248-265.
◮ Methods: Master thesis of Leon Eifler, publication coming soon. . .
- J. Witzig (ZIB): Cycle-Clustering
24 / 25
The End Thank you for your attention. Questions?
- J. Witzig (ZIB): Cycle-Clustering
25 / 25