A constrained minimum spanning tree problem

https://doi.org/10.1016/S0305-0548(99)00061-1Get rights and content

Abstract

In this paper, we give an O(n2) algorithm for finding a point on a given line l which, if added to a given set of n points located on one side of l, will result in the minimum spanning tree.

Scope and purpose

The minimum spanning tree problem is one of the most important fundamental problems in combinatorial optimization. In this paper we consider a variant of such a problem which models a location problem. Given a line and a point set N located on one side of the line, the goal is to find just one point P on the line such that the minimum spanning tree for N∪{P} is the shortest possible, which is denoted as the constrained minimum spanning tree problem (CMSTP). This problem has many applications in the real world such as transportation, communication, or location of some facilities. We apply the divide-and-conquer technique to reduce the complexity of our problem and provide an O(n2) algorithm.

Introduction

Suppose there are some residential quarters on the same side of a river, and we want to establish a waterworks on the bank of the river to supply these quarters. Our goal is to find a location for the waterworks so that the length of pipe used is as short as possible.

Such a problem can be described as the following model. Let l be a straight line and N={A1,…,An} be a set of n points in the Euclidean plane. All points of N are located on the same side of l. The problem is to find a point P in l so that the length of T is minimum where T is the spanning tree of N∪{P}. We define this problem as the constrained minimum spanning tree problem (CMSTP) and T as the constrained minimum spanning tree (CM(N)).

It is known that the minimum spanning tree (MST) problem can be solved in O(nlogn) time when the points to be connected are on the plane, and the distance is the Euclidean distance [1]. For the CMSTP, it can be solved in polynomial time. If e1 and e2 are two edges connected to P in CM(N), the angle formed by e1 and e2 is at least 60°. Thus there are at most three points of N adjacent to P. Obviously an exhaustive O(n4logn) algorithm can be immediately derived.

In this paper we introduce a kind of partition of the line l which applies the technique of divide-and-conquer and give an efficient way to update a minimum spanning tree. Finally we present an O(n2) algorithm for the CMSTP, and two computational examples are given to show how the algorithm works.

Section snippets

Partitioning the line l

We regard l as a number axis. All points in N are located on the upper side of l. The coordinates of the leftmost point and the rightmost point are 0 and t, respectively. Then the point P we want to determine is in the interval [0,t].

Let θ1 and θ2 be two directions on the plane, we denote by k(x,θ1,θ2) the cone with vertex x and limiting angles θ1 and θ2, where x is a point on l and its coordinate denoted also by x is in [0,t]. The cone k(x,θ1,θ2) is shown in Fig. 1.

For any point AN, define

The modification of MST

Let R be one of the proximity intervals obtained from Section 2, and x∈R,C(R)={A,B,C}.

Theorem 3.1

In the MST of N∪{x},x is adjacent only with the point of C(R).

Proof

Let Q be an adjacent point of x in the MST of N∪{x} and QC(R). Without loss of generality, suppose Q and A both belong to k(x,0°,60°).

Case 1: x is not in the path from A to Q in the MST. Since x∈RN(A,0°,60°),|xA|<|xQ|. Substituting xQ by xA, we get a spanning tree of N∪{x} shorter than the MST. It is a contradiction.

Case 2: x is in the path from A

The O(n2) algorithm

Algorithm B:

Step 1: Find all proximity intervals for each point of N with respect to angles [0°,60°],[60°,120°] and [120°,180°], respectively.

Step 2: Overlaying these proximity intervals, we get a partitioning of l in which each interval R corresponds to a set C(R).

Step 3: Solve the minimum spanning tree problem for the points set N. Denote by T and l(T) the resulting tree and its length, respectively. For any pair i,j of points in N, denote by E(i,j) the longest edge in the path from i to j in

Computational examples

In this section, we present two examples to see how the algorithm B works.

Example 1

The set of given points is shown in Fig. 2. The coordinates of points are as follows:A1(0,0.8)A2(1,7.5)A3(1.3,8)A4(3.5,6.5)A5(4.2,7.2)A6(4.6,7),A7(7,0.6)A8(8,1.2)A9(9,1.5)A10(9.1,0.9)A11(11,1.5).

The computational results are presented as follows:

1. Get a partitioning of [0, 11] in which each interval R corresponds to a set C(R).R1=[0,0.4619],C(R1)={A7,A1},R2=[0.4619,6.6536],C(R2)={A7,A4,A1},R3=[6.6536,7.3072],C(R3)={A7,A8,A

Conclusions

In this paper, we consider a variant of minimum spanning tree problem in which given a straight line l and a points set N on one side of l, we are asked to find a point x from l such that the resulting spanning tree is the shortest. A related problem, called the 1-Steiner tree problem, is studied in [2] in which the authors give an O(n2) algorithm for finding the point on the plane which, if added to a given set of n points, will result in the shortest possible spanning tree. Observe that the

Acknowledgements

The authors wish to thank Prof. Rainer E. Burkard for valuable suggestions and two anonymous referees for helpful comments.

Guangting Chen received the B.S. degree in East China Normal University, and the M.S. degree from Zhejiang University, P. R. China. Now he is pursuing his Ph.D in Operational Research at Zhejiang University. He is also an Associate Professor in Hangzhou Institute of Electronics Engineering. His research intrest includes combinatorial optimization, Steiner tree problem, graph theory, etc.

References (2)

  • Preparata FP, Shamos MI. Computational Geometry – An Introduction. New York: Springer,...
  • G. Georgakopoulos, C. Papadimitriou, The 1-Steiner tree problem. Journal of Algorithms...

Cited by (10)

  • A new fast algorithm for solving the minimum spanning tree problem based on DNA molecules computation

    2013, BioSystems
    Citation Excerpt :

    The algorithm terminates in O(mnlogn) time, where m and n are the number of edges and vertex of the graph, respectively. In addition, Chen and Zhang (2000) also gave a O(n2) time algorithm for finding solutions of the minimum spanning tree problem. In our paper, the proposed algorithm requires a time cost that is linearly proportional to the instance size.

  • An Exact Algorithm for the Line-Constrained Bottleneck k-Steiner Tree Problem

    2024, Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
  • On the restricted k-Steiner tree problem

    2022, Journal of Combinatorial Optimization
  • 1-line minimum rectilinear steiner trees and related problems

    2022, Journal of Combinatorial Optimization
View all citing articles on Scopus

Guangting Chen received the B.S. degree in East China Normal University, and the M.S. degree from Zhejiang University, P. R. China. Now he is pursuing his Ph.D in Operational Research at Zhejiang University. He is also an Associate Professor in Hangzhou Institute of Electronics Engineering. His research intrest includes combinatorial optimization, Steiner tree problem, graph theory, etc.

Guochuan Zhang received his Ph.D in applied mathematics from the Chinese Academy of Science in 1995. He is currently an Associate Professor in the Department of Applied Mathematics at Zhejiang University, P. R. China. His research interests are in discrete optimization in particular, in packing, scheduling and approximation algorithms. He has published a number of papers in international journals such as Discrete Applied Mathmetics, Computing, Computers and Operations Research and Information Processing letters, etc.

This work has been supported by the National Natural Science Foundation of China (Grant No. 19801032) and National 973 Fundamental Research Project of China on Applied Theory and High-Performance Software for IT.

View full text