0% found this document useful (0 votes)
46 views5 pages

NING

This document presents a new algorithm for solving the degree-constrained minimum spanning tree (DCMST) problem based on a reduction technique. The DCMST problem involves finding a spanning tree with minimum total edge length while ensuring each vertex's degree does not exceed a given maximum. The algorithm first uses new mathematical properties to significantly reduce the problem size via a reduction algorithm. It then solves the smaller reduced problem using an edge exchange technique based on Kruskal's algorithm. The algorithm fully leverages the problem's mathematical structure to preprocess and solve it more efficiently compared to previous heuristic approaches.

Uploaded by

Tomiro Yisajor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views5 pages

NING

This document presents a new algorithm for solving the degree-constrained minimum spanning tree (DCMST) problem based on a reduction technique. The DCMST problem involves finding a spanning tree with minimum total edge length while ensuring each vertex's degree does not exceed a given maximum. The algorithm first uses new mathematical properties to significantly reduce the problem size via a reduction algorithm. It then solves the smaller reduced problem using an edge exchange technique based on Kruskal's algorithm. The algorithm fully leverages the problem's mathematical structure to preprocess and solve it more efficiently compared to previous heuristic approaches.

Uploaded by

Tomiro Yisajor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Available online at www.sciencedirect.

com

Progress in Natural Science 18 (2008) 495–499


www.elsevier.com/locate/pnsc

Special report

A new algorithm for degree-constrained


minimum spanning tree based on the reduction technique
Aibing Ning a,*, Liang Ma a, Xiaohua Xiong b
a
School of Management, University of Shanghai for Science and Technology, Shanghai 200093, China
b
College of Computer and Information, Shanghai Second Polytechnic University, Shanghai 201209, China

Received 29 October 2007; received in revised form 12 November 2007; accepted 12 November 2007

Abstract

The degree-constrained minimum spanning tree (DCMST) is an NP-hard problem in graph theory. It consists of finding a spanning
tree whose vertices should not exceed some given maximum degrees and whose total edge length is minimal. In this paper, novel math-
ematical properties for DCMST are indicated which lead to a new reduction algorithm that can significantly reduce the size of the prob-
lem. Also an algorithm for DCMST to solve the smaller problem is presented which has been preprocessed by reduction algorithm.
Ó 2007 National Natural Science Foundation of China and Chinese Academy of Sciences. Published by Elsevier Limited and Science in
China Press. All rights reserved.

Keywords: Degree-constrained minimum spanning tree; Reduction algorithm; Edge exchange technique; Combinatorial optimization

1. Introduction Lagrangian dual information, optimality of a solution can


be proven in several cases. Goemans [8] designed a polyno-
The minimum spanning tree (MST) problem is an mial-time approximation algorithm for the DCMST prob-
important problem in the design of communication net- lem with degree bound b for all vertices that finds a
works and it can be solved in polynomial time [1,2]. How- spanning tree of maximum degree at most b + 2 whose cost
ever, in real networks, vertices (or nodes) are usually is at most the cost of the optimum spanning tree of maxi-
subject to some degree constraints. For example, exchanges mum degree b. Volgenant [9], Knowles and Corne [10],
or switches can only be physically connected to a limited Krishnamoorthy et al. [11] and Raidl [12] presented and
number of linking wires. Also when designing a network compared several heuristics like simulated annealing
for maximum reliability, introducing a degree constraint approaches, evolutionary algorithms, Lagrangian relaxa-
limits the damage that may be caused by a single exchange tion and branch-and-bound methods on different classes
failure. Unlike the MST, the general degree-constrained of instances. Caccetta and Hill [13] also implemented a
minimum spanning tree (DCMST) is NP-hard [3–7]. standard branch-and-cut algorithm which solves the
Generally speaking, finding a DCMST is a difficult task DCMST problem exactly. We also reported an evolution-
[5], and several, mainly heuristic, solution approaches exist ary algorithm for DCMST [14].
in the literature. Ribeiro and Souza [3] implemented a var- Different from these measures, the algorithm presented
iable neighborhood search for generating good heuristic in this paper fully employs the mathematical properties
solutions for the DCMST. Recently, Andrade et al. [7] of the problem to get a reduction technique which reduces
present a fast and effective heuristic for its solution. Using the size of the problem. Then, based on the classic Krus-
kal’s algorithm, it employs the edge exchange technique
*
Corresponding author. Tel.: +86 21 50762101. to get an algorithm to solve the problem which has been
E-mail address: [email protected] (A. Ning). preprocessed by the reduction algorithm.

1002-0071/$ - see front matter Ó 2007 National Natural Science Foundation of China and Chinese Academy of Sciences. Published by Elsevier Limited
and Science in China Press. All rights reserved.
doi:10.1016/j.pnsc.2007.11.014
496 A. Ning et al. / Progress in Natural Science 18 (2008) 495–499
( )
2. Notations and problem definition X
m
min zðxÞ ¼ wi xi jxi 2 T ð2Þ
i¼1
2.1. Notations

Let us introduce some of the basic vocabulary and If bj is the constraint on the degree dT(vj) of each vertex
notions of graph theory. We will use the vocabulary and vj in the graph T, then a degree-constrained minimum
notions in the following parts of the paper. spanning tree is defined as (3).
A path p(u, v) in a graph G = (V, E) from vertex u 2 V to ( )
vertex v 2 V is a list p(u, v) = (u, v1, v2, . . ., vk, v) of vertices X
m

of V such that (u, v1), (vk, v) 2 E, and (vi, vi+1) 2 E for min zðxÞ ¼ wi xi jd T ðvj Þ 6 bj ; vj 2 V ; xi 2 T ð3Þ
i¼1
i = 1, . . ., k  1. A path p(u, v) in G with u = v is called a cycle
in G. The length jp(u, v)j of a path p(u, v) = (u, v1, v2, . . ., vk, v)
is defined by k + 1, namely the number of edges between u 3. Algorithm
and v in p(u, v). If (v, w) 2 E, then we call w and v neighbors.
The neighbors of a vertex v is N(v) = {wj(v, w) 2 E}. For 3.1. Mathematical properties
u, v 2 V, we abbreviate N(u) [ N(v) with N(u, v).
N([v]) = N(v) [ {v} denotes the closed neighborhood of We introduce the properties of the problem that can be
v 2 V. The degree d(v) of v 2 V is defined by d(v) = jN(v)j. employed to reduce the size and the hardness of the
Let G = (V, E) be a graph and V1  V. GjV1 = problem.
(V1, E1), E1 = {(x, y)jx, y 2 V1 and (x, y) 2 E} is called the
Theorem 1. All the incident edges of the pendant vertices
restriction from G to V1. A graph G1 = (V1, E1) is called a
(vertices of degree 1) should be included in the degree-
subgraph of G = (V, E) if V1  V and E1  E. We denote
constrained minimum spanning tree T*.
the subgraph property with G1  G. For a graph
G = (V, E) and a vertex u 2 V we write G  u to denote
Proof. Since degree-constrained minimum spanning tree is
(Vn{u}, En{(x, y)jx = u or y = u}), the graph G without the
a connected graph, so all the incident edges of the pendant
vertex u. For a set V1 we write G  V1 for (VnV1,
vertices (vertices of degree 1) should be included in the T*
En{(x, y)jx  V1 or y  V1}).
and should be deleted from graph G. Otherwise, the tree T*
Let dT(vj) denote the degrees of the vertex vj in the graph
must be a non-connected graph. All pendant vertices and
T, bj denote the constraints on the degree dT(vj) of each ver-
their incident edges should be included in the degree-con-
tex vj in the graph T, w(va, vb) the weight or cost of the edge
strained minimum spanning tree. h
(va, vb), and T* a degree-constrained minimum spanning
tree of graph G.
Theorem 2. If G = (V, E) is a connected undirected graph,
V1 = {vijbi = 1 and vi 2 V}, E1 = {(vi, vj) jvi, vj 2 V1,
2.2. Problem definition (vi, vj) 2 E}, and jVj > 2 then any edge in E1 should be
excluded from T*.
The degree-constrained minimum spanning tree prob-
lem can be stated as follows: Proof. Suppose that an edge (vi, vj) 2 E1 and the edge (vi, vj)
Let G = (V, E) be a connected weighted undirected are in the T*, since bi = 1 and bj = 1, then vi, vj cannot be
graph, where V = {v1, v2, . . ., vn} is the vertex set of G, connected with any other vertex in T*, so any edge in E1
and E = {e1, e2, . . ., em} is the edge set of G. Let should be excluded from T*. h
W = {w1, w2, . . ., wm} represent the weight or cost of each
edge where the weight is restricted to be a non-negative real Theorem 3. Suppose vk is a degree-2 vertex in the graph G
number. with two neighbors vi and vj such that there do not exist
Any subgraph of G can be described using a vector any path p(vi, vj) which do not visit the vertex vk. That is,
X = (x1, x2, . . ., xm) where each element xi is defined by: there do not exist any path p(vi, vj) such that vk 62 p(u, v) in
 G. Then the edge (vk, vi) and the edge (vk, vj) must be included
1 if edge ei is part of the subgraph
xi ¼ ð1Þ in T*.
0 otherwise
Proof. Assume that edge (vk, vi) or edge (vk, vj) is excluded
Let S be a subgraph of G. S is said to be a spanning tree in
in T*, since there do not exist any path p(vi, vj) such that
G if
vk 62 p(vi, vj) in G, then there must not exist any path p(vi, vj)
in T*, and then T* is not a connected graph. So the edge
(1) S contains all the vertices of G.
(vk, vi) and the edge (vk, vj) must be included in T*. h
(2) S is connected and contains no cycles.
We can use the dynamic transitive closure algorithm
Now let T be the set of all spanning trees in G, a mini- [15,16] to decide whether there exist any path p(vi, vj) such
mum spanning tree is defined as (2). that vk 62 p(vi, vj).
A. Ning et al. / Progress in Natural Science 18 (2008) 495–499 497

3.2. Reduction algorithm edges from a tree, thus breaking the tree into two or more
than two subtrees, and then reconnects those subtrees into
Based on the above analysis, the reduction algorithm for one tree in a possible way [14,17]. Based on this idea, we
DCMST may be sketched as: use two edge exchange methods to improve the existing
degree-constrained tree.
Algorithm 1. Reduction_DCMST
(1) 1-opt edge exchange operator
Input: Graph G = (V, E), weight function w and degree
constraint b. Definition 1. Given a spanning tree T of graph G and two
Output: G = (V, E), T*. edges e 2 T and e1 62 T, the pair (e, e1) gives an admissible
begin exchange in T if T  e + e1 is a spanning tree.
1. Using Theorem 2 to remove all edges that satisfy the It can be seen that 1-opt edge exchange operation changes
conditions. the degree of vertex in spanning tree.
2. Using Theorem 1 to remove all pendant vertices (ver- (2) 2-opt edge exchange operator
tices of degree 1) and the corresponding edges from G Since 1-opt edge exchange operator changes the
and add the corresponding edges to T*. degree of vertex in spanning tree, the improved span-
3. Using Theorem 3 to remove all the edges that satisfy ning tree by 1-opt exchange operator might not sat-
the conditions from G and add all the edges to T*. isfy the degree constraint. The 2-opt edge exchange
end operation does not change degree of any vertex in
spanning tree, so the improved spanning tree by 2-
The worst case time complexity of step 1 is O(n2) where opt edge exchange operator will always satisfy the
n = jVj, step 2 is O(n), and step 3 is O(n3). So the worst case degree constraint.
time complexity of the entire algorithm is O(n3). T = (V, ET) is a spanning tree of graph G = (V, E).
Suppose that edge (i, i + 1) 2 ET, edge (j, j + 1) 2 ET,
edge (i, j) 2 G and edge (i, j) 62 ET, edge
3.3. Finding a degree-constrained tree
(i + 1, j + 1) 2 G and edge (i + 1, j + 1) 62 ET, and
w(i, j) + w(i + 1, j + 1) < w(i, i + 1) + w(j, j + 1). Then
A tree is a subgraph of G that does not contain any cir-
the edges (i, i + 1) and (j, j + 1) can be replaced by
cuits. As a result, there is exactly one path from each vertex
edges (i, j) and (i + 1, j + 1).
in the tree to each other vertex in the tree. A spanning tree
of a graph G is a tree containing all vertices of G. A mini-
mum spanning tree (MST) of an undirected, weighted
3.5. The algorithm and the time complexity
graph G is a spanning tree of which the sum of the edge
weights (costs) is minimal.
From the above analysis, the main algorithm for
There are several greedy algorithms for finding a mini-
DCMST may be sketched as:
mal spanning tree T* of a graph. The algorithms of Krus-
kal and Prim are well known of them. Algorithm 2. Main_DCMST
Kruskal’s algorithm. Repeat the following step until the
set T* has n  1 edges (initially T* is empty). Add to T* the Input: Graph G = (V, E), weight function w and degree
shortest edge that does not form a circuit with edges constraint b.
already in T*. Output: G* = (V*, E*), G* denote one degree-constrained
Prim’s algorithm. Repeat the following step until the set minimum spanning tree of G.
T* has n  1 edges (initially T* is empty): Add to T* the begin
shortest edge between a vertex in T* and a vertex not in 1. V* = V; E* = U; Start with a graph T* = (V*, E* = U)
T* (initially pick any edge of shortest length). consisting of only the vertices of G and no edges; This
Although both are greedy algorithms, they are different in can be viewed as n connected components, each ver-
the sense that Prim’s algorithm grows a tree until it becomes tex being one connected component.
the MST, whereas Kruskal’s algorithm grows a forest of 2. Executing the sub-algorithm reduction_DCMST
trees until the forest reduces to a single tree, the MST. {Step 3 to step 6 find a solution of G.}
In this paper, we find a degree-constrained tree using an 3. E1 = E;
algorithm based on the classic Kruskal’s algorithm to build 4. Select the smallest cost edge emin = (vk, vh) from E1.
a minimum spanning tree where it always keeps the degrees 5. If the edge emin connects two different connected com-
of all vertices satisfying all the degree constraints. ponents of T*, dT*(vk) < bk and also dT*(vh) < bh, then
{E* = E* + emin; E1 = E1  emin;}
3.4. Edge exchange technique else
{E1 = E1  emin; goto 4;}
Edge exchange technique was employed to improve a 6. if jE*j < n  1 then
spanning tree of graph. Firstly, edge exchange deletes some goto 4;
498 A. Ning et al. / Progress in Natural Science 18 (2008) 495–499

7. Using edge exchange techniques to improve the


solution.
end

The worst case time complexity of step 1 is O(n) where


n = jVj, step 2 is O(n3). The worst case time complexity
of steps 3–6 of the algorithm is also O(n). The worst case Fig. 4. Graph G (left) and tree T* (right).
time complexity of 2-opt is O(n2) and complexity of 1-opt
is O(n). So the worst case time complexity of the entire
algorithm is O(n3).

4. Experimental results and analysis

Example. Graph G and the weight of the edge are


presented in Fig. 1. The degree constraint b is be = bf = 1,
ba = bb = bd = bg = bh = bi = bj = 2, bc = 4.
Fig. 5. Graph G (left) and tree T* (right).
Analysis:
(4) According to Theorem 3, we remove edge (d, h) and
(1) V = V* = {a, b, c, d, e, f, g, h, i, j}, E* = U, E = {(a, b), edge (h, g) from the graph G and add them to tree
(b, c), (c, d), (c, e), (d, f), (d, g), (d, h), (e, f), (g, h), (g, i), T*, then the graph G and tree T* are shown in Fig. 4.
(g, j), (i, j)}, T* = (V*, E*), G = (V, E) (5) Find a solution of G by adding edges in the following
(2) According to Theorem 2, we remove edge (e, f) from order:
G, and then the graph G is shown in Fig. 2. a. Since edge (g, i) is the smallest edge in graph G
(3) According to Theorem 1, we remove the pendant ver- and satisfies all the other conditions, so add the
tices (vertices of degree 1) and corresponding edges edge (g, i) to T*. Then change E* and E by execut-
from the graph G and add the edges to tree T*, then ing the following operator:
the graph G and tree T* are shown in Fig. 3. E ¼ E þ ðg; iÞ; E ¼ E  ðg; iÞ
b. Since edge (i, j) is the smallest edge in graph G and
satisfies all the other conditions, so add the edge
(i, j) to T*. Then change E* and E by executing
the following operator:
E ¼ E þ ði; jÞ; E ¼ E  ði; jÞ
c. Since edge (c, f) is the smallest edge in graph G
and satisfies all the other conditions, so add the
Fig. 1. Graph G. edge (c, f) to T*. Then change E* and E by execut-
ing the following operator:
E ¼ E þ ðc; f Þ; E ¼ E  ðc; f Þ
d. Since edge (c, d) is the smallest edge in graph G
and satisfies all the other conditions, so add the
edge (c, d) to T*. Then change E* and E by execut-
ing the following operator:

Fig. 2. Graph G after removing edge (e, f). E ¼ E þ ðc; dÞ; E ¼ E  ðc; dÞ
Now, the graph G and tree T* are shown in Fig. 5.
(6) Since no better solution can be achieved by edge
exchange, so Fig. 5 is the final solution.

5. Conclusion

In this paper, we have proposed a new algorithm for


Fig. 3. Graph G (left) and tree T* (right). DCMST. The algorithm employs the properties of the
A. Ning et al. / Progress in Natural Science 18 (2008) 495–499 499

problem to reduce it’s size and hardness and the edge [7] Andrade R, Lucena A, Maculan N. Using Lagrangian dual
exchange technique to improve the existing solution. information to generate degree constrained spanning trees. Discrete
Appl Math 2006;154(5):703–17.
[8] Goemans MX. Minimum bounded-degree spanning trees. In: Pro-
Acknowledgements ceedings of the 47th annual IEEE symposium on foundations of
computer science; 2006. p. 273–82.
This work was supported by the National Natural Sci- [9] Volgenant A. A Lagrangian approach to the degree-constrained
minimum spanning tree problem. Eur J Oper Res 1989;39:325–31.
ence Foundation of China (Grant No. 70471065), Shang-
[10] Knowles JD, Corne DW. A new evolutionary approach to the
hai Leading Academic Discipline Project (Grant No. degree-constrained minimum spanning tree problem. IEEE Trans
T0502) and Shanghai Scientific Special Funds for Cultiva- Evol Comput 2000;4(2):125–34.
tion and Selection of Excellent Young Teaching Staffs of [11] Krishnamoorthy M, Ernst AT, Sharaiha YM. Comparison of
Higher Education (Grant No. 21012). algorithms for the degree constrained minimum spanning tree. J
Heuristics 2001;7:587–611.
[12] Raidl GR. An efficient evolutionary algorithm for the degree-
References constrained minimum spanning tree problem. In: Proceedings of
the 2000 congress on evolutionary computation; 2000. p. 104–11.
[1] Syslo MM, Deo N, Kowalik JS. Discrete optimization algo- [13] Caccetta L, Hill SP. A branch and cut method for the degree-
rithms. Englewood Cliffs: Prentice-Hall; 1983. constrained minimum spanning tree problem. Networks
[2] Graham R, Hell P. On the history of the minimum spanning tree 2001;37(2):74–83.
problem. Ann Hist Comput 1985;7:43–57. [14] Ning AB, Ma L, Xiong XH. Solving degree-constrained minimum
[3] Ribeiro CC, Souza MC. Variable neighborhood search for the spanning tree with a new algorithm. In: Proceedings of 2007
degree-constrained minimum spanning tree problem. Discrete Appl international conferences on managements science & engineering.
Math 2002;118(1–2):43–54. Harbin, China, August 20–22; 2007. p. 381–6.
[4] Markus B, Michael J, Frauke L. A primal branch-and-cut algorithm [15] Alberts D, Cattaneo G, Italiano G. An empirical study of dynamic
for the degree-constrained minimum spanning tree problem. In: graph algorithms. In: Proceedings of the 7th annual ACM-SIAM
Proceedings of 6th international workshop on efficient and experi- symposium on discrete algorithms. Atlanta, United States; 1992. p.
mental algorithms, Rome, Italy; 2007. 192–201.
[5] Garey MR, Johnson DS. Computers and intractability, a guide to the [16] King V, Sagert G. A fully dynamic algorithm for maintaining the
theory of NP-completeness. New York: W.H. Freeman and Com- transitive closure. In: Proceedings of the 31st ACM symposium on
pany; 1979. theory of computing; 1999. p. 492–8.
[6] Narula SC, Ho CA. Degree-constrained minimum spanning tree. [17] Lin S. Computer solutions of the traveling salesman problem. Bell
Comput Oper Res 1980;7(4):239–49. Syst Tech J 1965;44:2245–69.

You might also like