29.11.2014 Views

The Central Tree Problem

The Central Tree Problem

The Central Tree Problem

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

GoBack


Heuristics for <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong><br />

Yury Nikulin<br />

Department of Mathematics, University of Turku


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong><br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 2/33


Distance Measure<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Let G = (V, E) be a connected graph and let<br />

T G := {T | T = (V, E T )} represent the set of all spanning trees<br />

of graph G.<br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 3/33


Distance Measure<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Let G = (V, E) be a connected graph and let<br />

T G := {T | T = (V, E T )} represent the set of all spanning trees<br />

of graph G.<br />

Definition. <strong>The</strong> distance between two spanning trees T 1 and T 2<br />

of a graph is defined as a half of cardinality of the symmetric<br />

difference between set of edges E T1 and E T2 :<br />

Dist(T 1 , T 2 ) = 1 ˙|T 1 △ T 2 |= 1 1 ∪ T 2 )\(T 1 ∩ T 2 ) |<br />

2 2˙|(T<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 3/33


Distance Measure<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Let G = (V, E) be a connected graph and let<br />

T G := {T | T = (V, E T )} represent the set of all spanning trees<br />

of graph G.<br />

Definition. <strong>The</strong> distance between two spanning trees T 1 and T 2<br />

of a graph is defined as a half of cardinality of the symmetric<br />

difference between set of edges E T1 and E T2 :<br />

Dist(T 1 , T 2 ) = 1 ˙|T 1 △ T 2 |= 1 1 ∪ T 2 )\(T 1 ∩ T 2 ) |<br />

2 2˙|(T<br />

Definition. <strong>The</strong> distance between two spanning trees T 1 and T 2<br />

of a graph is defined as the number of edges presented in one<br />

tree but not in the other:<br />

Dist(T 1 , T 2 ) =| T 1 \T 2 |=| T 2 \T 1 | .<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 3/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong><br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Recall that the cospanning tree ¯T of a spanning tree T is the<br />

edge complement of T in G, i.e. ¯T = (V, E ¯T), E ¯T = E\E T .<br />

Also, if a graph G has n vertices and c connected components,<br />

then the rank ρ(G) of graph G is n − c.<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 4/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong><br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Recall that the cospanning tree ¯T of a spanning tree T is the<br />

edge complement of T in G, i.e. ¯T = (V, E ¯T), E ¯T = E\E T .<br />

Also, if a graph G has n vertices and c connected components,<br />

then the rank ρ(G) of graph G is n − c.<br />

Definition. [Deo, 1966]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> (shortly CTP) consists in finding central<br />

tree T ∗ such that the rank ρ( ¯T ∗ ) of cospanning tree ¯T ∗ is<br />

minimal, i.e.<br />

ρ( ¯T ∗ ) ≤ ρ( ¯T) ∀ T ∈ T G .<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 4/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong><br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Recall that the cospanning tree ¯T of a spanning tree T is the<br />

edge complement of T in G, i.e. ¯T = (V, E ¯T), E ¯T = E\E T .<br />

Also, if a graph G has n vertices and c connected components,<br />

then the rank ρ(G) of graph G is n − c.<br />

Definition. [Deo, 1966]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> (shortly CTP) consists in finding central<br />

tree T ∗ such that the rank ρ( ¯T ∗ ) of cospanning tree ¯T ∗ is<br />

minimal, i.e.<br />

ρ( ¯T ∗ ) ≤ ρ( ¯T) ∀ T ∈ T G .<br />

Thus, a central tree is a spanning tree whose edge removal<br />

leads to splitting graph G into the maximum number of<br />

components.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 4/33


<strong>The</strong> CTP vs. MDTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

<strong>The</strong> Maximally Distant <strong>Tree</strong> <strong>Problem</strong> (MDTP) consists in<br />

finding a pair of extremal trees with the largest distance.<br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 5/33


<strong>The</strong> CTP vs. MDTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> Maximally Distant <strong>Tree</strong> <strong>Problem</strong> (MDTP) consists in<br />

finding a pair of extremal trees with the largest distance.<br />

Definition. <strong>The</strong> goal of the CTP is to find a spanning tree such<br />

that the distance to maximally distant tree is minimized:<br />

min<br />

T ∈T G<br />

max<br />

T ′ ∈T G<br />

Dist(T, T ′ ) (1)<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 5/33


<strong>The</strong> CTP vs. MDTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> Maximally Distant <strong>Tree</strong> <strong>Problem</strong> (MDTP) consists in<br />

finding a pair of extremal trees with the largest distance.<br />

Definition. <strong>The</strong> goal of the CTP is to find a spanning tree such<br />

that the distance to maximally distant tree is minimized:<br />

min<br />

T ∈T G<br />

max<br />

T ′ ∈T G<br />

Dist(T, T ′ ) (1)<br />

Thus, CTP can be considered as dual to MDSTP<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 5/33


Short Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Figure 1: Initial graph G and extremal spanning trees<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 6/33


Short Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Figure 1: Initial graph G and extremal spanning trees<br />

Figure 2: Initial graph G, the central tree and the tree which is<br />

maximally distant to the central tree<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 6/33


Complexity of the CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

<strong>The</strong>orem. [ Bezrukov et al., 1996]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> is NP-hard<br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 7/33


Complexity of the CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong>orem. [ Bezrukov et al., 1996]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> is NP-hard<br />

To prove this fact the authors used transformation from Exact<br />

Cover by 3-set problem, which is known to be NP-Complete<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 7/33


Complexity of the CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong>orem. [ Bezrukov et al., 1996]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> is NP-hard<br />

To prove this fact the authors used transformation from Exact<br />

Cover by 3-set problem, which is known to be NP-Complete<br />

Thus, there is no polynomial algorithm for the CTP unless<br />

P = NP .<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 7/33


Complexity of the CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong>orem. [ Bezrukov et al., 1996]<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> is NP-hard<br />

To prove this fact the authors used transformation from Exact<br />

Cover by 3-set problem, which is known to be NP-Complete<br />

Thus, there is no polynomial algorithm for the CTP unless<br />

P = NP .<br />

A non-trivial class of graphs for which the CTP is known to<br />

have polynomial algorithm is a class of complete graphs.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 7/33


Applications<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> CTP can find its application in many real-life models. For example,<br />

in computer networking, spanning tree topologies can be<br />

efficiently used to model network configurations.<br />

Similar network problems have many applications in telecommunications,<br />

circuit analysis, facility allocation, and related domains<br />

in electric, gas, and sewer networks.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 8/33


Equivalence between 0 − 1 RSTP and CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

<strong>The</strong> following theorem establishes equivalence between 0 − 1<br />

RSTP and CTP.<br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 9/33


Equivalence between 0 − 1 RSTP and CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> following theorem establishes equivalence between 0 − 1<br />

RSTP and CTP.<br />

<strong>The</strong>orem. [Aron and Van Hentenryck, 2004] A spanning tree T ∈<br />

T G is a robust spanning tree of zero-one robust spanning tree<br />

problem if and only if it is a central tree of G.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 9/33


One more evidence of NP-hardness<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Averbakh and Lebedev proved in 2004 that the RSTP is<br />

NP-Hard even if the intervals of uncertainty are all equal to<br />

[0, 1]. <strong>The</strong>y also proved that the RSTP is polynomially solvable<br />

if the number of edges with uncertain lengths is fixed or<br />

bounded by the logarithm of a polynomial function of the total<br />

number of edges.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 10/33


Robust deviation for the central tree<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Thus for a central tree T ∗ , the robust deviation is expressed as:<br />

dev s T ∗<br />

T ∗<br />

= max<br />

T ∈T G<br />

Dist(T ∗ , T).<br />

Let T ∗ be a central tree and N T ∗<br />

comp be the number of<br />

components of G − E T ∗. <strong>The</strong>n the robust deviation dev s T ∗<br />

T ∗<br />

N T ∗<br />

comp are related as follows:<br />

and<br />

dev s T ∗<br />

T ∗<br />

+ N T ∗<br />

comp = |E T ∗| + 1 = |V |<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 11/33


MILP Formulation<br />

Corollary from the result by Yaman et al., 2001<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

min ∑<br />

ij∈E<br />

x ij −<br />

∑<br />

k∈V, k≠1<br />

[α k k − α k 1] − (n − 1)µ (2)<br />

Final Remarks<br />

subject to<br />

σij k ≥ αj k − αi k ∀{ij} ∈ A ∀k ∈ V \{1} (3)<br />

∑<br />

σij k + µ ≤ x ij ∀ij ∈ E (4)<br />

k≠1<br />

∑<br />

σji k + µ ≤ x ij ∀ij ∈ E (5)<br />

k≠1<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 12/33


MILP Formulation<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

∑<br />

{ij}∈A<br />

f ij −<br />

∑<br />

{ji}∈A<br />

f ji =<br />

{<br />

n-1, if i = 1<br />

-1, if i ∈ V \{1}<br />

(6)<br />

Heuristics for the<br />

CTP<br />

f ij ≤ (n − 1)x ij ∀ij ∈ E (7)<br />

Final Remarks<br />

f ji ≤ (n − 1)x ij ∀ij ∈ E (8)<br />

∑<br />

ij∈E<br />

x ij = n − 1 (9)<br />

f, σ, α ≥ 0, µ − unrestricted (10)<br />

x ij ∈ {0, 1} ∀ij ∈ E. (11)<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 13/33


Approximation for the CTP<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

For the CTP, any spanning tree represents an approximated solution<br />

with approximation ratio 2 in terms of the robust deviation,<br />

i.e.<br />

∀T ∈ T G dev s T<br />

T<br />

≤ 2dev s T 0<br />

T<br />

, 0<br />

where T 0 is a central tree.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 14/33


Case of two disjoint spanning trees<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong>orem 1. Let T 1 and T 2 be two edge-disjoint spanning trees in the graph<br />

G = (V, E). <strong>The</strong>n dev s T ∗<br />

T<br />

≥ ⌈ ∗<br />

|V |−1<br />

2<br />

⌉, where T ∗ is a central tree.<br />

In other words, theorem 1 states that if the graph contains two<br />

edge-disjoint spanning trees, then the central tree has at most<br />

|V |−1<br />

⌊<br />

2<br />

⌋ edges in common with the maximally distant tree, or<br />

|V |−1<br />

equivalently, the robust spanning tree has at most ⌊<br />

2<br />

⌋<br />

edges in common with the corresponding minimum spanning<br />

tree in the worst-case scenario associated with T ∗ .<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 15/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the CTP<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 16/33


MINCUT<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Algorithm MINCUT(G = (E, V ))<br />

Input: A connected graph G = (E, V )<br />

Output: A cut of minimum weight<br />

1. Let v 1 be any vertex of G and S = {v 1 }<br />

2. for i = 2 to |V |<br />

3. do v i = arg max {d(v, S)}<br />

v∈V \S<br />

4. S = S ∪ {v i }<br />

5. if |V | = 2 then return δ({v |V | })<br />

6. else<br />

7. G ′ is obtained from G by contracting {v |V |−1 , v |V | }<br />

in G<br />

8. C is returned by MINCUT(G ′ = (E ′ , V ′ ))<br />

9. Among C and δ(v |V | ) return the smallest cut in<br />

terms of weight<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 17/33


Greedy Construction Heuristic<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Algorithm Greedy Construction Heuristic(G = (E, V ))<br />

Input: A connected graph G = (E, V )<br />

Output: <strong>The</strong> edges E 0 of a potential central tree T 0<br />

1. Initialize G ′ = G, E 0 = {}, LC = [G]<br />

2. while |E 0 | < |V | − 1<br />

3. do Take an arbitrary element C from LC<br />

4. Apply MINCUT(C) and return the set of edges<br />

MINCUTSET(C)<br />

5. for all edges e ∈ MINCUTSET(C)<br />

6. do if E 0 + {e} does not contain cycles<br />

7. then E 0 = E 0 + {e}<br />

8. else do nothing<br />

9. Update LC by removing C and adding those<br />

components of C ′ = C − MINCUTSET(C) which<br />

are not an isolated vertex<br />

10. return E 0<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 18/33


Complexity of Greedy strategy<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

While running of the greedy strategy we perform the MINCUT<br />

procedure at most |V | − 1 times, so the complexity of our construction<br />

heuristic is O(|E||V | 2 + |V | 3 log|V |). Notice also that the<br />

actual running time of the algorithm may also depend on the way<br />

how the components are ordered in the list LC.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 18/33


Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 19/33


Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 19/33


Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 19/33


Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 19/33


Example<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 19/33


Open <strong>Problem</strong><br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Given graph G = (V, E). Is it true that if there exists<br />

a spanning tree T 0 and a sequence of MINCUTSETs<br />

MCS 1 , MCS 2 , ..., MCS k with |MCS 1 | + |MCS 2 | + |MCS k | =<br />

|V | − 1 where k is a number of iterations in GCH, such that T 0<br />

can be constructed as a union over all i of all edges e ∈ MCS i ,<br />

then T 0 is a central tree? In other words: suppose that when we<br />

execute GCH all the edges from the MINCUTSET are included in<br />

the final tree T 0 ; is it then true that T 0 is always a central tree?<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 20/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Fast Local Search Improvement<br />

Algorithm Fast Local Search Improvement(G = (E, V ), T )<br />

Input: A connected graph G = (E, V ), a spanning tree T<br />

Output: An improved potential central tree T 0<br />

1. Initialize T 0 = T<br />

2. Find a spanning tree ˆT which is maximally distant to T by solving<br />

minimum spanning tree problem for the worst-case 0 − 1 scenario<br />

associated with T<br />

3. for all edges e ∈ E ˆT<br />

\E T<br />

4. do Let V 1 and V 2 be vertex sets of two components of ˆT − e<br />

5. if ∃ ẽ ∈ E\{E T ∪ E ˆT<br />

} such that one endpoint of ẽ belongs to V 1<br />

and the other endpoint belongs to V 2 :<br />

6. then choose another edge e ′ ∈ E ˆT<br />

\E T<br />

7. else Find the fundamental cycle C of T ∪ {e}<br />

8. for all edges ē ∈ E C , ē ≠ e<br />

9. do Find the fundamental cycle ¯C of ˆT ∪ {ē}<br />

10. if ∃ e ∗ ∈ E ¯C, e ∗ ≠ ē such that e ∗ ∈ E T :<br />

11. then choose another ē<br />

12. else construct a new spanning tree T 0 by<br />

replacing edge ē with e<br />

13. break both cycles<br />

14. return T 0<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 21/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

L<br />

Instance A 30% 30%<br />

Instance B 30% 70%<br />

Instance C 70% 30%<br />

Instance D 70% 70%<br />

d<br />

Table 1: Instance generating parameters L and d.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 22/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

|V | 10 15 20 40<br />

Instance A 17 24 46 148<br />

Instance B 11 21 35 106<br />

Instance C 21 50 82 297<br />

Instance D 16 27 47 158<br />

Table 2: Number of edges.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 23/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

GCH 10 15 20 40<br />

Distance 6 6 11 33<br />

Running time (in sec.) 0.10 0.16 0.46 8.46<br />

GCH+FLSI 10 15 20 40<br />

Distance 5 6 11 31<br />

Running time (in sec.) 0.11 0.17 0.48 8.92<br />

SLS 10 15 20 40<br />

Distance 6 7 13 36<br />

Running time (in sec.) 0.32 0.94 30.64 1175.0<br />

ES 10 15 20 40<br />

Distance 5 6 - -<br />

Running time (in sec.) 14.92 486.0 - -<br />

Table 3: Instance sample A.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 24/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

GCH 10 15 20 40<br />

Distance 6 12 17 87<br />

Running time (in sec.) 0.07 0.34 0.82 38.35<br />

GCH+FLSI 10 15 20 40<br />

Distance 6 12 17 37<br />

Running time (in sec.) 0.07 0.37 0.88 38.72<br />

SLS 10 15 20 40<br />

Distance 7 13 19 39<br />

Running time (in sec.) 0.46 0.62 52.33 2888.0<br />

ES 10 15 20 40<br />

Distance 6 - - -<br />

Running time (in sec.) 195.0 - - -<br />

Table 4: Instance sample B.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 25/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

GCH 10 15 20 40<br />

Distance 2 7 12 29<br />

Running time (in sec.) 0.02 0.17 0.31 6.17<br />

GCH+FLSI 10 15 20 40<br />

Distance 2 6 12 26<br />

Running time (in sec.) 0.03 0.19 0.32 6.54<br />

SLS 10 15 20 40<br />

Distance 2 7 12 27<br />

Running time (in sec.) 0.07 0.59 3.79 453.9<br />

ES 10 15 20 40<br />

Distance 2 6 - -<br />

Running time (in sec.) 0.28 279.0 - -<br />

Table 5: Instance sample C.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 26/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

GCH 10 15 20 40<br />

Distance 6 8 15 34<br />

Running time (in sec.) 0.08 0.19 0.47 15.9<br />

GCH+FLSI 10 15 20 40<br />

Distance 5 8 13 33<br />

Running time (in sec.) 0.09 0.24 0.57 16.3<br />

SLS 10 15 20 40<br />

Distance 6 8 15 38<br />

Running time (in sec.) 0.31 2.25 28.46 2742.7<br />

ES 10 15 20 40<br />

Distance 5 - - -<br />

Running time (in sec.) 12.69 - - -<br />

Table 6: Instance sample D.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 27/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

|V | = 10 Instance A Instance B Instance C Instance D<br />

GCH 75 90 80 73<br />

GCH+FLSI 92 95 94 90<br />

Table 7: Average (over 100 runs) performance of GCH<br />

and.GCH+FLSI on instances with 10 vertices<br />

|V | = 15 Instance A Instance B Instance C Instance D<br />

GCH 7 9 8 7<br />

GCH+FLSI 9 9 9 8<br />

Table 8: Average (over 50 runs) performance of GCH and<br />

GCH+FLSI on instances with 15 vertices<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 28/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

|V | 50 100 150 200<br />

Instance A 15sec 1h 2h 6h<br />

Instance B 40sec 3h 6h 19h<br />

Instance C 13sec 50min 2h 6h<br />

Instance D 25sec 2h30min 7h 20h<br />

Table 9: Average (over 10 runs) running time of GCH+FLSI on<br />

large instances.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 29/33


Computational Experiments<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

|V | 50 100 150 200<br />

GCH 30 59 89 120<br />

GCH+FLSI 29 56 81 115<br />

Lower Bound 25 50 75 100<br />

Running time 6sec 110sec 10min 40min<br />

Table 10: Large instances with graphs containing the union of<br />

two edge-disjoint spanning trees.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 30/33


<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

Final Remarks<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 31/33


What to do next<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

■ Find new mechanisms which can be incorporated into the<br />

greedy strategy to make it deterministic and faster.<br />

■ Specify classes of graphs for which we can guarantee the<br />

quality of the solution found by the greedy construction<br />

heuristic (e.g. being at most a factor of 1.5 from the<br />

optimum). Here we measure in terms of the number of<br />

connected components in G − E T versus the number of<br />

connected components in G − E T ∗, where T ∗ is a central<br />

tree<br />

■ Develop new approximation algorithms with guaranteed<br />

approximation ratio better than 2 in terms of robust deviation.<br />

■ What is the worst case performance of the greedy<br />

construction heuristic in terms of the number of connected<br />

components in G − E T versus the number of connected<br />

components in G − E T ∗?<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 32/33


Conclusion<br />

<strong>The</strong> <strong>Central</strong> <strong>Tree</strong><br />

<strong>Problem</strong><br />

Heuristics for the<br />

CTP<br />

Final Remarks<br />

<strong>The</strong> results represent a very first attempt to attack the CTP with<br />

heuristics. <strong>The</strong> proposed approach can be efficiently used to<br />

solve zero-one RSTP. So, it may be considered as a first step<br />

towards general intention to create a powerful methodological arsenal<br />

to deal with interval RSTP of larger sizes.<br />

Heuristics for the <strong>Central</strong> <strong>Tree</strong> <strong>Problem</strong> Yury Nikulin - p. 33/33

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

Saved successfully!

Ooh no, something went wrong!