NING
NING
com
Special report
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
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
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
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.