Uploaded by hemrajraikwar

s10878-021-00796-0

advertisement
Journal of Combinatorial Optimization (2022) 44:2832–2852
https://doi.org/10.1007/s10878-021-00796-0
1-line minimum rectilinear steiner trees and related
problems
Jianping Li, Junran Lichen, Wencheng Wang, Jean Yeh, YeongNan Yeh,
Xingxing Yu, et al. [full author details at the end of the article]
Accepted: 13 August 2021 / Published online: 26 August 2021
© The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2021
Abstract
In this paper, motivated by many practical applications, we address the 1-line minimum
rectilinear Steiner tree (1L-MRStT) problem, which is a variation of the Euclidean
minimum rectilinear Steiner tree problem. More specifically, given n points in the
Euclidean plane R2 , it is asked to find the location of a line l and a Steiner tree
T (l), consisting only of vertical and horizontal line segments plus several successive
segments located on this line l, to interconnect these n points and at least one point
located onthe line l, the objective is to minimize total weight of this Steiner tree T (l),
i.e., min{ uv∈T (l) w(u, v) | T (l) is a Steiner tree mentioned-above}, where we define
a weight w(u, v) = 0 if the two endpoints u and v of that edge uv ∈ T (l) is located
on the line l and otherwise we define a weight w(u, v) as the rectilinear distance
between the two endpoints u and v of that edge uv ∈ T (l). Given a line l as an input
in R2 , we denote this problem as the 1-line-fixed minimum rectilinear Steiner tree
(1LF-MRStT) problem; Furthermore, when the Steiner points of T (l) are all located
on the fixed line l, we recall this problem as the 1-line-fixed-constrained minimum
rectilinear Steiner tree (1LFC-MRStT) problem. We provide three following main
contributions. (1) We design an algorithm AC to optimally solve the 1LFC-MRStT
problem, where the algorithm AC runs in time O(n log n); (2) We prove that this
algorithm AC is a 1.5-approximation algorithm to solve the 1LF-MRStT problem;
(3) Combining the algorithm AC for many times and a key lemma proved by some
techniques of computational geometry, we present a 1.5-approximation algorithm to
solve the 1L-MRStT problem, where this algorithm runs in time O(n 3 log n), and
we finally provide another approximation algorithm to solve a special version of the
1L-MRStT problem, where that new algorithm runs in lower time O(n 2 log n).
Keywords Combinatorial optimization · 1-line minimum rectilinear Steiner tree ·
1-line-fixed-constrained minimum rectilinear Steiner tree · Approximation
algorithms · Complexity
Extended author information available on the last page of the article
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2833
1 Introduction
In recent five decades, minimum spanning trees and related problems are very important and ubiquitous in the field of combinatorial optimization due to many applications
in our real life. Many efficient exact algorithms, such as the Kruskal algorithm (Kruskal
1956) and the Prim algorithm (Prim 1957), have been designed to solve the minimum
spanning tree problem. On the other hand, the Kruskal algorithm (Kruskal 1956) is
regarded as a special version of the Greedy algorithm (Korte and Vygen 2008; Schrijver 2003).
The Euclidean minimum spanning tree problem is treated as a special version of
the minimum spanning tree problem, and it is modelled as follows. Given a set P of n
points in the Euclidean plane R2 , it is asked to construct a tree T to span these n points,
the objective is to minimize the total length of the tree T , where the total length of T
is the sum of all Euclidean lengths of edges of that tree T . Clearly, we may use the
preceding exact algorithms to construct an Euclidean minimum spanning tree to span
these n points, each of which runs at least in time O(n 2 ). However, introducing a single
geometric structure called as the Voronoi diagram, which can be constructed in time
O(n log n), Shamos and Hoey (1975) designed an exact algorithm to construct such
an Euclidean minimum spanning tree, where the algorithm runs in time O(n log n).
On the other hand, the Euclidean minimum rectilinear spanning tree (MRST) problem is similarly modelled as follows. Given a set P of n points in R2 , it is asked to
construct a tree T , consisting of vertical and horizontal line segments, to span these
n points, the objective is to minimize the total length of the tree T , where the total
length of T is the sum of all rectilinear lengths of edges of that tree T . Constructing
a weighted graph depending on these n points in R2 , according to the rectilinear distance, we may use the preceding exact algorithms to construct an Euclidean minimum
rectilinear spanning tree to span these n points, each of which runs at least in time
O(n 2 ). Constructing a Delaunay triangulation and a Voronoi diagram as in Shamos and
Hoey (1975), Hwang (1979) presented an algorithm to construct an Euclidean minimum rectilinear spanning tree, where the algorithm runs in time O(n log n). However,
establishing a framework for minimum spanning tree construction due to Yao (1982)
which is based on a general concept of spanning graphs and not necessarily on a
Delaunay triangulation, Zhou et al. (2002) designed a sweep-line algorithm to resolve
the Euclidean minimum rectilinear spanning tree problem without using Delaunay
triangulation, where the algorithm runs still in time O(n log n).
The minimum Steiner tree (MStT) problem is a generalization of the minimum
spanning tree and the shortest path problem, and it has many applications in practical
scenarios. Bern and Plassmann (1989) showed that the MStT problem is max-SNPhard, even for unit weights. In recent three decades, the MStT problem and its variations
have been studied extensively, and there are many approximation algorithms to solve
these NP-hard problems mentioned-above, some of which may be found in those references (Aazami et al. 2012; Byrka et al. 2010; Hwang and Richards 1992; Williamson
and Shmoys 2011).
The Euclidean minimum Steiner tree (EMStT) problem is treated as a special version of the MStT problem, and it is modelled as follows. Given a set P of n points
in R2 , it is asked to construct a tree T to interconnect these n points, the objective
123
2834
Journal of Combinatorial Optimization (2022) 44:2832–2852
is to minimize the total length of the tree T , where the total length of T is the sum
of all Euclidean lengths of edges of that tree T . This tree T may contain some extra
points, called as Steiner points, different from these n points called as terminals. Garey,
Graham and Johnson (1977) proved that the EMStT problem still remains N P-hard.
There are some good approximation algorithms to solve the EMStT problem (Arora
1998; Cieslik 1998; Hwang and Richards 1992; Williamson and Shmoys 2011).
Georgakopoulos and Papadimitriou (1987) proposed the 1-Steiner tree problem,
which is modelled as follows. Given a set X = {r1 , r2 , . . . , rn } of n terminals in R2 , it
span the points in the set X ∪ {s}, the
is asked to find a new point s ∈ R2 and a tree T to
objective is to minimize the total length w(T ) = e∈T w(e) of the tree T . Using some
properties of Euclidean plane, Georgakopoulos and Papadimitriou (1987) presented
an exact algorithm to solve the 1-Steiner tree problem, where the algorithm runs in
time O(n 2 ).
We may mention the constrained Euclidean minimum spanning tree problem, which
is raised by Chen and Zhang (2000), and it is modelled as follows. Given a fixed line
l and a set P of n points located at same side of the line l in R2 , the objective is to
find just one point r located on the line l so that the minimum spanning tree for the
set P ∪ {r } is as shortest as possible. This problem is a variation of the Euclidean
minimum spanning tree problem. Introducing a kind of partition of the line l which
applies the technique of divide-and-conquer and presenting an efficient way to update
a minimum spanning tree, Chen and Zhang (2000) designed an exact algorithm to
solve this new problem, where the algorithm runs in time O(n 2 ).
Garey and Johnson (1977) reconsidered the Euclidean minimum rectilinear Steiner
tree (MRStT) problem, which is modelled as follows. Given a set P of n points in R2 ,
it is asked to find a tree T , consisting only of vertical and horizontal line segments,
to interconnect these n points with the shortest possible length, where the length of
each edge in T is the rectilinear distance between its two endpoints. The MRStT
problem has received many attentions, and it has some potential applications to wire
layout for printed circuit boards. Though Garey and Johnson (1977) have shown that
the MRStT problem is NP-complete, this problem has many practical applications
in making electric wire connections on a control panel in very large scale integrated
layout designs (VLSI layout designs) (Baratz 1983) and communication networks
(Imase and Waxman 1991; Richards 1989). Several heuristics for the MRStT problem
have been proposed and studied (Hwang and Richards 1992; Richards 1989). Many
practical applications of Steiner trees, especially rectilinear Steiner trees, in industries
may be found in the book which is edited by Cheng and Du (2001).
Holby (2017) proposed the 1-line minimum Steiner tree (1L-MStT) problem, where
we may find the addition of a “Steiner line” into Steiner points whose weight is
not counted in the resulting network. The 1L-MStT problem is a variation of the
Euclidean minimum Steiner tree problem and modelled as follows. Given a set P =
{r1 , r2 , . . ., rn } of n points in R2 , we are asked to find the location of a line l and a
Steiner tree T (l) to interconnect these n points in P and at least one point located
on the
line l, the objective is to minimize total weight of that Steiner tree T (l), i.e.,
min{ uv∈T (l) w(u, v) | T (l) is a Steiner tree mentioned-above}, where we define
weight w(u, v) = 0 if the two endpoints u and v of that edge uv ∈ T (l) are located
on this line l and otherwise we define weight w(u, v) to be the Euclidean distance
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2835
between the two endpoints u and v. Holby (2017) presented a heuristic algorithm to
produce a feasible solution for the 1L-MStT problem on larger sets and then presented
some related properties. Li et al. (2020) reconsidered the 1L-MStT problem, and they
designed a 1.214-approximation algorithm to resolve the 1L-MStT problem.
Motivated by the preceding problems and some practical applications in making
electric wire connections on a control panel in VLSI layout designs, we address the
1-line minimum rectilinear Steiner tree (1L-MRStT) problem, which is modelled as
follows. Given a set P = {r1 , r2 , . . ., rn } of n points in R2 , we are asked to find the
location of a line l and a Steiner tree T (l), consisting only of vertical and horizontal line
segments plus several successive segments located on this line l, to interconnect these
n points in P and at least one point located onthis line l, the objective is to minimize
total weight of the Steiner tree T (l), i.e., min{ uv∈T (l) w(u, v) | T (l) is a Steiner tree
mentioned-above}, where we define weight w(u, v) = 0 if the two endpoints u and
v of that edge uv ∈ T (l) are located on this line l and otherwise we define weight
w(u, v) to be the rectilinear distance between the two endpoints u and v. Given a
fixed line l as an input in R2 , we refer to this problem as the 1-line-fixed minimum
rectilinear Steiner tree (1LF-MRStT) problem. In addition, when the Steiner points of
T (l) are all located on the line l, we refer to this problem as the 1-line-fixed-constrained
minimum rectilinear Steiner tree (1LFC-MRStT) problem. For convenience, we refer
to such a Steiner tree T (l) as a 1-line minimum rectilinear Steiner tree in the 1L-MRStT
problem, a 1-line-fixed minimum rectilinear Steiner tree in the 1LF-MRStT problem,
and a 1-line-fixed-constrained minimum rectilinear Steiner tree in the 1LFC-MRStT
problem, respectively, depending on the context content.
We should know the following facts. (1) Given a set P = {r1 , r2 , . . ., rn } of n points
and a fixed line l as an input in R2 , a Steiner tree T (l) in the 1LF-MRStT problem is
really not a rectilinear Steiner tree on the set P, this Steiner tree T (l) consists only of
vertical and horizontal line segments plus the fixed line l, i.e., plus several successive
segments located on the fixed line l. (2) For the 1LF-MRStT problem, since costs (or
weights) of all segments located on this line l are 0, we need some costs to construct
a lot of rectilinear segments, and we may consider a fact that the fixed line l is placed
at that location in advance, then we may use this line l in the process of constructing
the Steiner tree T (l), paying no cost. (3) For the 1L-MRStT problem, it is for us
to provide a cost to construct a lot of rectilinear segments and no cost to construct
some successive segments located on the line l, where the cost of such a line l is at
the expense paid for by the higher authority. (4) In addition, if this line is parallel to
the coordinate axis, we indeed design an algorithm to produce a rectilinear Steiner
tree in R2 .
We pay attentions that the 1LF-MRStT problem and the 1L-MRStT problem have
many practical applications in our real life, respectively, such as transportation, communication, or VLSI layout designs. We hope that there will still be many problems to
satisfy the models of the 1LF-MRStT problem and the 1L-MRStT problem, respectively. In the sequel, we want to design an exact algorithm to solve the 1LFC-MRStT
problem, and then to approximate the 1LF-MRStT problem. Finally, we plan to present
an approximation algorithm to solve the 1L-MRStT problem, and then provide another
approximation algorithm in lower time to solve a special version of the 1L-MRStT
problem.
123
2836
Journal of Combinatorial Optimization (2022) 44:2832–2852
This paper is organized as follows. In Sect. 2, some terminologies, notations and fundamental lemmas are provided to ensure the correctness of approximation algorithms
designed; In Sect. 3, we design an exact algorithm in time O(n log n) to construct
a 1-line-fixed-constrained minimum rectilinear Steiner tree, then we can prove that
the same algorithm is also a 1.5-approximation algorithm to solve the 1LF-MRStT
problem; In Sect. 4, using the algorithm designed in Sect. 3 to solve the 1LFC-MRStT
problem for many times, a technique of finding linear facility location and Lemma 9
proved by using some techniques of computational geometry, we can provide a 1.5approximation algorithm in time O(n 3 log n) to solve the 1L-MRStT problem; in
addition, using key Lemma 10, we can present a new 1.5-approximation algorithm in
time O(n 2 log n) to solve a special version of the 1L-MRStT problem, where this line
l is parallel to either the x-axis or the y-axis; In Sect. 5, we provide our conclusion
and further research.
2 Terminologies, notations and fundamental lemmas
In this section, we provide some terminologies, notations and fundamental lemmas in
order to ensure our results in the sequel. Readers may find other materials not defined
here in these references (Berg et al. 2008; Schrijver 2003; Williamson and Shmoys
2011).
Given a set S of some points in the Euclidean plane R2 , we may consider the distance
between two points in the set S, which is either the rectilinear distance (sometimes,
referred as the Manhattan distance) or the Euclidean distance, depending on the context content. Concretely, if two points p and q in S are identified by their Cartesian
coordinates, i.e., p = (x p , y p ) and q = (xq , yq ), we denote by [ p, q]r , simply [ p, q],
the rectilinear segment between p and q, then we may define by r d( p, q) the rectilinear
distance between p and q as follows
r d( p, q) = |x p − xq | + |y p − yq |
(1)
Given a point p = (x p , y p ) in S and a fixed line l with its equation in the form
y = kx + b in R2 , where k is the slope of this fixed line l, we define the rectilinear
distance r d( p, l) between this point p and that fixed line l as follows
r d( p, l) = min{r d( p, q) | q is a point on this fixed line l}
(2)
Similarly, we may define the Euclidean distance between two points. Namely, given
two points p = (x p , y p ) and q = (xq , yq ) in S, we denote by pq the line segment,
simply segment, between p and q, and we define by d( p, q) the Euclidean distance
between p and q as follows
d( p, q) =
123
(x p − xq )2 + (y p − yq )2
(3)
Journal of Combinatorial Optimization (2022) 44:2832–2852
2837
Fig. 1 The positions of three points l p X , l pY and l p on the line l
Given a point p = (x p , y p ) in S and a fixed line l in R2 , we simply denote by pl
the perpendicular segment from this point p to that fixed line l, meanwhile we denote
by l p the vertical foot from this point p to that fixed line l, i.e., l p is the sole point as
the intersection of this fixed line l and the vertical line passing through the point p. In
this case, the line segment pl p between the point p and its vertical foot l p located on
the fixed line l is exactly the perpendicular segment pl from this point p to that fixed
line l. At the same time, we may define by d( p, l) the Euclidean distance between this
point p and that fixed line l as follows
d( p, l) = min{d( p, q) | q is a point at this fixed line l}
(4)
By the vertical foot l p and the Euclidean distance d( p, l) mentioned-above, we can
immediately obtain the fact d( p, l) = d( p, l p ).
In addition, if this fixed line l satisfies the equation y = kx + b in R2 , using some
techniques of Computational Geometry (Berg et al. 2008), we may obtain the fact that
the Euclidean distance d( p, l) between this point p and that fixed line l is equivalent
to the following
|y p − kx p − b|
(5)
d( p, l) =
√
k2 + 1
Given a point p = (x p , y p ) in S and a fixed line l in R2 , for convenience, we may
generally denote by l p X the intersection point of that fixed line l and the x-parallel
line which passes through the point p = (x p , y p ), and if this point l p X does not exist,
i.e., if the line l is in fact parallel to the x-axis, we denote r d( p, l p X ) = +∞. We
denote this point l p X as the x-parallel point located on the line l corresponding to
the point p, simply, l p X as the x-parallel point if no confusion. In addition, this line
segment pl p X is called as an x-parallel segment. On the other hand, substituting y for
x in the preceding notations, we may have the notations l pY , r d( p, l pY ), pl pY and
“an y-parallel segment”, respectively. By the way, the locations of the x-parallel point
l p X , the y-parallel point l pY and the vertical foot l p of each point p = (x p , y p ), which
are located on the fixed line l, are shown in Fig. 1.
123
2838
Journal of Combinatorial Optimization (2022) 44:2832–2852
Using the definition of rectilinear distance r d( p, l) and the preceding notations, we
can obtain the following lemmas in turn, where we omit the proofs in details.
Lemma 1 Given a point p = (x p , y p ) and a fixed line l in R2 , whose equation satisfies
the form y = kx + b, we obtain the following
r d( p, l) = min r d( p, l p X ), r d( p, l pY )
= min d( p, l p X ), d( p, l pY )
(6)
In addition, (i) when the slope k of the fixed line l satisfies |k| = 1, this value r d( p, l)
is attained at any point located on the line segment l p X l pY , (ii) when the slope k of the
fixed line l satisfies |k| > 1, this value r d( p, l) is attained at the point l p X , and (iii)
when the slope k of the fixed line l satisfies |k| < 1, this value r d( p, l) is attained at
the point l pY , where l p X and l pY are defined as mentioned-above.
Using Lemma 1, we obtain an important relation between the rectilinear distance
r d( p, l) and the Euclidean distance d( p, l) from a point p to that fixed line l as follows.
Lemma 2 Given a point p = (x p , y p ) and a fixed line l in R2 , whose equation satisfies
the form y = kx + b, we can obtain the following
d( p, l p ) d( p, l p ) ,
| cos α| | sin α|
1
1 ,
= d( p, l p ) · min
| cos α| | sin α|
r d( p, l) = min
(7)
where l p is the vertical foot from this point p to that fixed line l and α (0 ≤ α < π )
is the inclined angle between that fixed line l and the x-axis, satisfying tan α = k.
Given a weighted graph G = (V , E; w) equipped with a weighted function w :
E → R + , there are many polynomial-time exact algorithms to solve the minimum
spanning tree problem, one of which is the Kruskal algorithm (Kruskal 1956).
Lemma 3 (Kruskal 1956) The Kruskal algorithm optimally solves the minimum spanning tree problem, and this algorithm runs in time O(m log n), where n = |V (G)| and
m = |E(G)|.
We need an exact algorithm (Hwang 1979 ; Zhou et al. 2002) to solve the minimum
rectilinear spanning tree (MRspanT) problem, and we denote the MRspanT algorithm
as such an algorithm.
Lemma 4 (Hwang 1979; Zhou et al. 2002) Given a set P of n points in R2 , the
MRspanT algorithm can construct a minimum rectilinear spanning tree on the set P,
and this algorithm runs in time O(n log n).
√
Similar as the Euclidean Steiner ratio, which is conjectured as 2/ 3 ≈ 1.155 by
Gilbert and Pollak (1968), we need the rectilinear Steiner ratio 3/2 which is obtained
by Hwang (1976) and later by Salowe (1992), respectively.
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2839
Lemma 5 (Hwang 1976; Salowe 1992) Given a set P of n points in R2 , denote
by L M R ST (P) the total lengths of a minimum rectilinear spanning tree and by
L M R St T (P) the total lengths of a minimum rectilinear Steiner tree on the same set P,
respectively. Then we obtain the fact L M R ST (P) ≤ 3/2 · L M R St T (P).
Given a set P = {r1 , r2 , . . . , rn } of n points and a fixed line l in R2 , whose equation
satisfies the form y = kx + b, for the 1LFC-MRStT problem and for each bipartition
{P1 , P2 } of the set P, we denote δl∗ (P1 ) to be the set E 1 ∪E 2 , where E 1 = {[ri , r j ] | ri ∈
P1 and r j ∈ P2 are both located at same side of the line l} and either E 2 = {ri lri X |
lri X is the x-parallel point on the line l, corresponding to each terminal ri in P1 } for the
case |k| ≥ 1 or E 2 = {ri lri Y | lri Y is the y-parallel point on the line l, corresponding to
each terminal ri in P1 } for the case |k| < 1. Thus, given each point ri ∈ P1 , we have
either [ri , lri X ] = ri lri X for the case |k| ≥ 1 or [ri , lri Y ] = ri lri Y for the case |k| < 1.
Now, we can obtain the following lemma.
Lemma 6 Given a set P = {r1 , r2 , . . . , rn } of n points and a fixed line l in R2 , whose
equation satisfies the form y = kx + b, for the 1LFC-MRStT problem, then T (l) is
a 1-line-fixed-constrained minimum rectilinear Steiner tree if and only if, for every
edge [u, v] ∈ E(T (l)) which satisfies w(u, v) = 0, there exists a subset P1 (⊆ P)
consisting of all points in a connected component of T (l)\{[u, v]} such that [u, v] is
a shortest rectilinear segment of δl∗ (P1 ).
Proof In the following context, without loss of generality, we may assume that the
slope k of the fixed line l satisfies |k| ≥ 1. The same arguments will be true for the
case |k| < 1, by substituting ri lri Y for ri lri X in E 2 for each point ri ∈ P1 .
(Necessity) Since T (l) is a 1-line-fixed-constrained minimum rectilinear Steiner
tree, then for every edge [u, v] ∈ E(T (l)) as mentioned-above, we may choose a
subset P1 consisting of all points in a connected component of T (l)\{[u, v]} which
contains no points located on the line l. This shows that P1 indeed exists.
Suppose, to the contrary, that we may assume that there is a rectilinear segment
[ p, q] ∈ δl∗ (P1 ) to satisfy 0 < r d( p, q) < r d(u, v) for some edge [u, v] ∈ E(T (l)),
where P1 is the vertex set as mentioned-above and this rectilinear segment [ p, q]
from δl∗ (P1 ) connects the two connected components of T (l)\{[u, v]}. This shows
that this rectilinear segment [ p, q] is neither contained in such a Steiner tree T (l) to
interconnect these n points in P nor located on the fixed line l. Then T (l) ∪ {[ p, q]}
contains a cycle to pass through two rectilinear segments [ p, q] and [u, v], and we can
obtain a subgraph T (l) = (T (l)\{[u, v]})∪{[ p, q]}, which is a constrained rectilinear
Steiner tree. However, we have the fact w(T (l)) = w(T (l)) + w( p, q) − w(u, v)
= w(T (l)) + r d( p, q) − r d(u, v) < w(T (l)), contradicting our assumption that T (l)
is a 1-line-fixed-constrained minimum rectilinear Steiner tree.
(Sufficiency) Denote by T ∗ (l) a feasible 1-line-fixed-constrained rectilinear Steiner
tree such that, for every edge [u, v] ∈ E(T ∗ (l)) which satisfies w(u, v) = 0, [u, v]
is a shortest rectilinear segment in δl∗ (P1 ), where P1 is the vertex set of a connected
component of T − uv to contain no points on the fixed line l. We denote by T (l) a
1-line-fixed-constrained minimum rectilinear Steiner tree that maximizes the number
|E(T ∗ (l)) ∩ E(T (l))|. Then we shall prove the fact T ∗ (l) = T (l).
123
2840
Journal of Combinatorial Optimization (2022) 44:2832–2852
Suppose, to the contrary, that we may assume the fact T ∗ (l) = T (l). Choose an edge
[u, v] ∈ E(T ∗ (l))\E(T (l)), then we have w(u, v) = 0. Let P1 be the vertex set of a
connected component of T ∗ (l)\{[u, v]} that contains no points on the line l. Since T (l)
is a tree and our assumption [u, v] ∈
/ E(T (l)), there is a cycle C in the reduced graph
T (l) ∪ {[u, v]} such that at least one edge in this cycle C, denoted by [ p, q], belongs
to δl∗ (P1 ), too. (where [ p, q] may be an x-parallel segment). Since [u, v] ∈ E(T ∗ (l)),
we obtain r d(u, v) ≤ r d( p, q). Using the assumption that T (l) is an optimal solution
and [ p, q] ∈ E(T (l)), we obtain r d( p, q) ≤ r d(u, v), implying r d(u, v) = r d( p, q).
This shows that the tree T (l) = (T (l)\{[ p, q]}) ∪ {[u, v]} is another optimal solution
for the 1LFC-MRStT problem such that this tree (T (l)\{[ p, q]}) ∪ {[u, v]} contains
more one edge in E(T ∗ (l) than that in E(T (l)), contradicting the maximality of
|E(T ∗ (l)) ∩ E(T (l))|.
This completes the proof of the lemma.
3 The 1LF-MRStT problem
In this section, we consider the 1-line-fixed minimum rectilinear Steiner tree (1LFMRStT) problem. We plan to design an exact algorithm to optimally solve the 1-linefixed-constrained minimum rectilinear Steiner tree (1LFC-MRStT) problem, which
is a special version of the 1LF-MRStT problem, then we use the same algorithm to
approximatively solve the 1LF-MRStT problem.
We need the following lemma which plays important role to solve the 1LFC-MRStT
problem and the 1LF-MRStT problem, respectively. The proof to ensure this lemma
is simple and clear, and we may omit its proof in details.
Lemma 7 Given a set P of n points and a fixed line l in R2 , whose equation satisfies
the form y = kx + b, then we can obtain the following
(1) If ri si is a rectilinear segment in a 1-line-fixed-constrained minimum rectilinear
Steiner tree T for the 1LFC-MRStT problem, where ri is a terminal in P and si
is a Steiner point located on the fixed line l, then this point si may be chosen as
either the x-parallel point lri X (for the case |k| ≥ 1) or the y-parallel point lri Y
(for the case |k| < 1) on the line l.
(2) If ri si is a rectilinear segment in a 1-line-fixed minimum rectilinear Steiner tree T
for the 1LF-MRStT problem, where ri is either a terminal in P or a Steiner point
of T , which is not located on the fixed line l, and si is a Steiner point located on
the fixed line l, then this point si may be chosen as either the x-parallel point lri X
(for the case |k| ≥ 1) or the y-parallel point lri Y (for the case |k| < 1) on the line
l.
Given a set P of n points and a fixed line l in R2 , whose equation satisfies the form
y = kx + b, using Lemmas 1 and 7, we can design an algorithm to solve the 1LFCMRStT problem in the following strategies. (1) Use the MRspanT algorithm (Hwang
1979; Zhou et al. 2002) to produce a minimum rectilinear spanning tree T = (P, E T )
on the set P = {r1 , r2 , . . . , rn }; (2) Construct a weighted graph G = (P ∪ {r0 }, E; w),
where r0 is a new vertex to represent the fixed line l and E = {r0 ri | ri ∈ P} ∪ {ri r j |
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2841
[ri , r j ] ∈ E T is vertex-disjoint from that line l}, and for each point ri ∈ P, we denote
either w(r0 , ri ) = d(ri , lri X ) for the case |k| ≥ 1 or w(r0 , ri ) = d(ri , lri Y ) for the case
|k| < 1, and w(ri , r j ) = r d(ri , r j ) for each edge [ri , r j ] ∈ E T ; (3) Use the Kruskal
algorithm (Kruskal 1956) to find a minimum spanning tree TG in G equipped with a
weighted function w(·), then construct a 1-line-fixed-constrained rectilinear Steiner
tree from this minimum spanning tree TG of G.
Our algorithm AC to solve the 1LFC-MRStT problem is described as follows.
Algorithm: AC
Input: A set P = {r1 , r2 , . . . , rn } of n points and a fixed line l with its equation
y = kx + b;
Output: A 1-line-fixed-constrained minimum rectilinear Steiner tree T (l).
Begin
Step 1 Denote T (l) = (V ∗ , E ∗ ), where V ∗ = P and E ∗ = ∅;
Step 2 Use the MRspanT algorithm (Hwang 1979 ; Zhou et al. 2002) to find a
minimum rectilinear spanning tree T = (P, E T ) on the set P;
Step 3 Construct a weighted graph G = (P ∪ {r0 }, E, w) mentioned-above;
Step 4 Use the Kruskal algorithm (Kruskal 1956) to construct a minimum spanning
tree TG of G; and denote E ∗ := ∅;
Step 5 For each edge e ∈ E(TG ) do
(1) If (e = ri r j ∈ E(TG ), where i ≥ 1 and j ≥ 1) then
we denote E ∗ := E ∗ ∪ {[ri , r j ]}
(2) If (e = ri r0 ∈ E(TG ), where i ≥ 1) then
we denote E ∗ := E ∗ ∪ {[ri , si ]} and V ∗ := V ∗ ∪ {si }, where si is either
the point lri X (for the case |k| ≥ 1) or the point lri Y (for the case |k| < 1) on the
fixed line l;
Step 6 Output T (l) = (V ∗ , E ∗ ∪ E ∗∗ ), where E ∗∗ = {si s j | si and s j are two
successive vertices (in V ∗ ) on the fixed line l}.
End
By executing the algorithm AC on an instance of the 1LFC-MRStT problem, we
obtain the following theorem.
Theorem 1 Given an instance of the 1LFC-MRStT problem, which consists of a set
P = {r1 , r2 , . . . , rn } of n points and a fixed line l in R2 , Algorithm AC optimally
produces a 1-line-fixed minimum rectilinear Steiner tree, and this algorithm runs in
time O(n log n), where n is the number of points in the set P = {r1 , r2 , . . . , rn }.
Proof Given a set P = {r1 , r2 , . . . , rn } of n points and a fixed line l to satisfy the
equation y = kx + b in R2 , without loss of generality, we may assume that the slope k
of this fixed line l satisfies |k| ≥ 1, implying that, for each point ri ∈ P, we construct
an edge r0 ri in the weighted graph G = (P ∪ {r0 }, E, w) to represent the x-parallel
segment ri lri X with weight w(r0 ri ) = r d(ri , l) (= d(ri , lri X )) using Lemma 7, where
lri X is the x-parallel point located on the line l for the point ri in the set P. With the
following similar arguments, by substituting ri lri Y for ri lri X in E 2 (⊂ E) for each
point ri ∈ P1 , we will obtain the same result for the case where the slope k of this
fixed line l satisfies |k| < 1.
123
2842
Journal of Combinatorial Optimization (2022) 44:2832–2852
Using Lemma 6, we obtain the fact that T (l) is an optimal solution if and only if, for
every edge [u, v] ∈ E(T (l)) with w(uv) = 0, [u, v] is a shortest rectilinear segment
of δl∗ (P1 ), where P1 is the vertex set of a connected component of T (l)\{[u, v]} which
contains no points located on the fixed line l.
Suppose, to the contrary, that we may assume that there exists one edge e = [u, v] ∈
E(T (l)), which satisfies w(u, v) = 0, such that [u, v] is not the shortest rectilinear
segment in δl∗ (P1 ). For the choice of P1 and the fact that there exists some rectilinear
segment in δl∗ (P1 ) to connect two components of T (l)\{[u, v]}, we choose [ p, q] to
be a shortest rectilinear segment in δl∗ (P1 ), which satisfies w( pq) = 0, then we obtain
r d( p, q) < r d(u, v).
If the rectilinear segment [ p, q] = [ri , r j ] for two points ri , r j ∈ P, then [ri , r j ]
is a shortest rectilinear segment in δl∗ (P1 ). Since T is a minimum rectilinear spanning
tree on P by Step 2 of the AC algorithm (in fact, the MRspanT algorithm), using
Lemma 6, we can assume that [ri , r j ] belongs to E T , implying [ri , r j ] ∈ E. Then, we
have w(ri , r j ) < w(u, v) and that T = (T \{[u, v]}) ∪ {[ri , r j ]} is another rectilinear
spanning tree on P with w(T ) = w(T ) + w(ri , r j ) − w(u, v) < w(T ), contradicting
the fact that T is a minimum rectilinear spanning tree on P.
If the rectilinear segment [ p, q] = [ri , lri X ], where ri ∈ P and lri X is the x-parallel
point located on the line l of ri in P, we obtain ri r0 ∈ E. Using Lemma 6 and the
similar arguments mentioned-above, we can reach a contradiction to the fact that TG
is a minimum spanning tree in the weighted graph G.
The complexity of Algorithm AC is determined from the following. (1) By using
Lemma 4, the MRspanT algorithm (Hwang 1979 ; Zhou et al. 2002) at Step 2 needs
O(n log n) time to determine a minimum rectilinear spanning tree T = (P, E T )
on these n points in R2 . (2) Step 3 needs O(n) time to construct a weighted graph
G = (P ∪ {r0 }, E, w). (3) Since this spanning tree T = (P, E T ) has n − 1 edges,
the graph G has exactly n + 1 vertices and at most 2n − 1 edges, then the Kruskal
algorithm (Kruskal 1956) needs O(n log n) time to determine a minimum spanning
tree of the weighted graph G. (4) Since there are exactly n edges in E(TG ), Step 5 can
be implemented in O(n) time. Thus, the AC algorithm can be implemented in total
time O(n log n).
This completes the proof of the theorem.
Using the algorithm AC and Lemma 5 for many times, we obtain the following
theorem.
Theorem 2 The algorithm AC is a 1.5-approximation algorithm to solve the 1LFMRStT problem, and it runs in time O(n log n), where n is the number of points in the
set P = {r1 , r2 , . . . , rn }.
Proof Given a set P of n points and a fixed line l as an instance of the 1LF-MRStT
problem, without loss of generality, we may suppose that an optimal 1-line-fixed minimum rectilinear Steiner tree TS∗ (l) has exactly q Steiner points successively located
on that fixed line l, saying s1 , s2 , . . ., sq , meanwhile we may permit that there are other
Steiner points (if any) that are not located on the fixed line l.
At present, we consider all maximal rectilinear Steiner subtrees in the subgraph
TS∗ (l)\E(l), where the subgraph TS∗ (l)\E(l) is constructed by removing all edges
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2843
Fig. 2 The relationship between T (l) and TS∗ (l)
on the fixed line l from TS∗ (l). Given each integer i = 1, 2, . . . , q, without loss
of generality, we may assume that Ts∗i (l) is a maximal rectilinear Steiner subtree in
TS∗ (l)\E(l) to contain a sole point si located on the fixed line l. We can partition
the vertex-set of each maximal rectilinear Steiner subtree Ts∗i (l) into three parts as
follows: (1) a subset {si }, (2) a subset Psi = V (Ts∗i (l)) ∩ P, and (3) a subset Ssi =
V (Ts∗i (l))\(Psi ∪ {si }) (as shown in Fig. 2).
For each integer i = 1, 2, . . . , q, without loss of generality, we may denote by
(l) a minimum rectilinear spanning tree on the set Psi ∪ {si }. Using Lemma 5
Ts∗∗
i
on the set Psi ∪ {si }, we can obtain L M R ST (Psi ∪ {si }) ≤ 1.5 · L M R St T (Psi ∪ {si }),
(l)) ≤ 1.5 · w(Ts∗i (l)). Using the definition of weight w(si−1 si ) = 0
i.e., w(Ts∗∗
i
q
for each integer i = 2, 3, . . . , q, we can have w(TS∗ (l)) = i=1 L S (Psi ∪ {si }) =
q
∗
i=1 w(Tsi (l)).
At the same time, we can construct a 1-line-fixed rectilinear spanning tree T =
q
(l) ∪ {si−1 si | i = 2, 3, . . . , q} on the set P ∪ {s1 , s2 , . . . , sq }. It is easy to see
∪i=1 Ts∗∗
i
that this spanning tree T is actually a 1-line-fixed-constrained rectilinear Steiner tree to
contain all points in P and q Steiner points s1 , s2 , . . ., sq , where these q Steiner points
are all successively located on that fixed line l and there are no other Steiner points out
of that fixed line l. By using Theorem 1, the AC algorithm produces a 1-line-fixedconstrained minimum rectilinear Steiner tree T (l), thus we have w(T (l)) ≤ w(T ).
Finally, we can obtain the following
w(T (l)) ≤ w(T )
=
=
q
(l)) +
w(∪i=1 Ts∗∗
i
q
i=1
w(Ts∗∗
(l)) +
i
q
w(si−1 si )
i=2
q
w(si−1 si )
i=2
123
2844
Journal of Combinatorial Optimization (2022) 44:2832–2852
≤ 1.5 ·
q
w(Ts∗i (l)) + 1.5 ·
i=1
q
w(si−1 si )
i=2
= 1.5 · w(TS∗ (l))
(8)
All preceding arguments indeed show that the algorithm AC is a 1.5-approximation
algorithm to solve the 1LF-MRStT problem. And reusing Theorem 1, we obtain that
the algorithm AC runs in time O(n log n).
This completes the proof of the theorem.
4 The 1L-MRStT problem
In this section, we consider the 1-line minimum rectilinear Steiner tree (1L-MRStT)
problem. We need an optimization problem, which is raised by Morris and Norback
(1980), and a key lemmas (seeing Lemma 9), and then using the AC algorithm as a
subroutine for many times, we hope to design an approximation algorithm to solve
the 1L-MRStT problem.
Definition 1 (Morris and Norback 1980) Given a set Q consisting of m points q1 , q2 ,
. . ., qm in R2 , having their coordinates qi = (xi , yi ) and weights ci , the linear facility
is described by a line whose equation is y = kq x + bq , where (kq , bq ) is an optimal
solution to solve the optimization problem as follows
min f q (k, b) =
q∈Q
m
i=1
ci ·
|yi − kxi − b|
√
k2 + 1
(9)
equivalently, Formula 9 is asked to construct a line in R2 , whose equation is y =
kq x + bq , such that the sum of Euclidean distances from these m points q1 , q2 , . . .,
qm in Q to this chosen line is to be minimized.
Morris and Norback (1980) solved this optimization problem in Formula 9, where
an optimal solution of the problem can be found by using an algorithm in polynomial
time. For convenience, we denoted this algorithm as the Morris-Norback algorithm,
which is restated in the following lemma.
Lemma 8 (Morris and Norback 1980) Given a set Q consisting of m points q1 , q2 , . . .,
qm in R2 , having their coordinates qi = (xi , yi ) and weights ci , an optimal solution to
the optimization problem (seeing Formula 9) exists which is a line satisfying equation
y = kq x + bq to pass through at least two points in Q.
For the 1L-MRStT problem, we have the following result which is similar to
Lemma 8, and this result plays an important role to find an optimal solution for the
1L-MRStT problem.
Lemma 9 Given a set P of n points as an instance of the 1L-MRStT problem, there
exists an optimum solution in which we can choose a line l to pass through at least
two points in the set P.
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2845
Proof Given a set P = {r1 , r2 , . . . , rn } of n points as an instance of the 1L-MRStT
problem, we may assume that T (l1∗ ) is chosen to be an optimal 1-line minimum
rectilinear Steiner tree, satisfying the following three properties in turn
(1) w(T (l1∗ )) is minimized among all 1-line rectilinear Steiner trees in R2 ;
(2) under the choice of (1), the line l1∗ contains points in the set P as many as possible,
and
(3) under the choice of (2), T (l1∗ ) contains Steiner points (if any) as less as possible,
which are not on the line l1∗ .
Equivalently, we may find the location of a line l1∗ and a 1-line rectilinear minimum
Steiner tree T (l1∗ ) in R2 such that the two conditions (2) and (3) as mentioned-above
are satisfied in turn. We shall prove that this line l1∗ must contain at least two points in
the set P.
In the sequel, without loss of generality, we may assume that the slope k of the line
l1∗ satisfies |k| ≥ 1. Then, by using Lemmas 2 and 7, the rectilinear distance r d(rl1∗ , l1∗ )
from a point rl1∗ of T (l1∗ ) to the line l1∗ is at least r d(rl1∗ , lrl ∗ X ), and this minimum value
1
is attained at the point lrl ∗ X , where lrl ∗ X is the x-parallel point located on the line l1∗ .
1
1
(For the case |k| < 1, we may substitute the point lrl ∗ Y for the point lrl ∗ X in the sequel,
1
1
where lrl ∗ Y is the y-parallel point located on the line l1∗ . We may omit those details.)
√
1
, where d(rl1∗ , l1∗ ) is
Using Lemma 2 again, we obtain r d(rl1∗ , l1∗ ) = d(rl1∗ , l1∗ ) · 1+k
k
the Euclidean distance from the point rl1∗ to the line l1∗ . For convenience, we denote
√
2
f (k) = 1+k
, implying r d(rl1∗ , l1∗ ) = f (k) · d(rl1∗ , l1∗ ) = f (k) · d(rl1∗ , lrl ∗ ), where
k
1
the point lrl ∗ is the vertical foot from the point rl1∗ to the line l1∗ .
1
If this line l1∗ passes through at least two points in the set P, we are done. Otherwise,
we may assume that there is no optimal solution, which satisfies the choices of (1),
(2) and (3), to contain a line passing through two points in the set P.
Denote Pl1∗ = {rl1∗ ∈ P\V (l1∗ ) | rl1∗ lrl ∗ X ∈ E(T (l1∗ )), where lrl ∗ X is the x-parallel
2
1
1
point on the line l1∗ of rl1∗ } and Sl1∗ = {sl1∗ ∈ V (T (l1∗ ))\(P ∪ V (l1∗ )) | sl1∗ lsl ∗ X ∈
1
E(T (l1∗ )), where lsl ∗ X is the x-parallel point on the line l1∗ of sl1∗ }. Moreover, we
1
denote E ad j (l1∗ ) = {rl1∗ lrl ∗ X | rl1∗ ∈ Pl1∗ } ∪ {sl1∗ lsl ∗ X | sl1∗ ∈ Sl1∗ }, E on (l1∗ ) = {e ∈ T (l1∗ )
1
1
| the segment e of T (l1∗ ) is located on the line l1∗ } and E out (l1∗ ) = E(T (l1∗ ))\(E ad j (l1∗ )∪
E on (l1∗ )). This means that E out (l1∗ ) contains all rectilinear segments in the tree T (l1∗ ),
except (1) either the x-parallel segment rl1∗ lrl ∗ X or sl1∗ lsl ∗ X from the set E ad j (l1∗ ) and
1
1
(2) all segments of T (l1∗ ) located on the line l1∗ with weights 0. Equivalently, the set
of all edges in the tree T (l1∗ ) can be partitioned into three subsets E out (l1∗ ), E ad j (l1∗ )
and E on (l1∗ ) as above.
For convenience, we denote by Pl+∗ ∪ Sl+∗ (Pl−∗ ∪ Sl−∗ , respectively) the set of points
1
1
1
1
in Pl1∗ ∪ Sl1∗ which are all located at same side (another side, respectively) of the line
l1∗ . Similarly, we denote two sets P + and P − .
123
2846
Journal of Combinatorial Optimization (2022) 44:2832–2852
Using the partition of E(T (l1∗ )) into three subsets E out (l1∗ ), E ad j (l1∗ ) and E on (l1∗ ),
we can obtain the following
w(T (l1∗ ) = w(E out (l1∗ )) +
w(rl1∗ lrl ∗ X ) +
1
rl ∗ ∈Pl ∗
1
= w(E out (l1∗ )) + f (k) · (
1
sl ∗ ∈Sl ∗
1
rl ∗ ∈Pl ∗
1
d(rl1∗ , lrl ∗ ) +
1
1
1
1
sl ∗ ∈Sl ∗
1
w(sl1∗ lsl ∗ X ) + w(E on (l1∗ ))
d(sl1∗ , lsl ∗ )) + w(E on (l1∗ ))
1
1
(10)
where d(rl1∗ , lrl ∗ ) is the Euclidean distance between rl1∗ and lrl ∗ , and d(sl1∗ , lsl ∗ ) is the
1
1
1
Euclidean distance between sl1∗ and lsl ∗ , respectively.
1
Now, we shall show the following
Claim 1 This line l1∗ passes through at least one point in the set P.
Suppose, to the contrary, that we may assume that this line l1∗ contains no point in
the set P, i.e., this means that each point lrl ∗ X on the line l1∗ , which comes from a point
1
rl1∗ in Pl1∗ ∪ Sl1∗ , is a Steiner point of the tree T (l1∗ ) . In addition, using the assumption
that the slope k of the line l1∗ satisfies |k| ≥ 1, the choice of the point lrl ∗ X and the
1
minimum weight of the tree T (l1∗ ), we obtain the fact that each Steiner point lrl ∗ X on
1
the line l1∗ is exactly adjacent to one point rl1∗ in Pl1∗ ∪ Sl1∗ .
We only consider the case |Pl+∗ ∪ Sl+∗ | = |Pl−∗ ∪ Sl−∗ |. Otherwise, we may assume,
1
1
1
1
without loss of generality, that |Pl+∗ ∪ Sl+∗ | > |Pl−∗ ∪ Sl−∗ |, then we can slide this line l1∗ in
1
1
1
1
parallel toward the side of subset Pl+∗ ∪ Sl+∗ to construct a line l2∗ until this line l1∗ meets
1
1
the first point r in Pl+∗ ∪ Sl+∗ (as shown in Fig. 3). Thus, we can construct another 1-line
1
1
rectilinear Steiner tree T (l2∗ ) from E(T (l2∗ )) = E out (l1∗ ) ∪ E ad j (l2∗ ) ∪ E on (l2∗ )), where
E ad j (l2∗ ) = {rl2∗ lrl ∗ X | rl2∗ ∈ Pl1∗ } ∪ {sl2∗ lsl ∗ X | sl2∗ ∈ Sl1∗ } and E on (l2∗ ) = {e ∈ T (l2∗ ) | a
2
2
segment e is located on the line l2∗ }, to satisfy w(T (l2∗ )) < w(T (l1∗ )) by using Lemma 2
and the similar Formula 10, which contradicts the minimum weight of the tree T (l1∗ ).
In this case |Pl+∗ ∪ Sl+∗ | = |Pl−∗ ∪ Sl−∗ |, we can slide this line l1∗ in parallel toward the
1
1
1
1
side of subset Pl+∗ ∪ Sl+∗ to construct a line l3∗ until this line l1∗ meets the first point r in
1
1
Pl+∗ ∪ Sl+∗ (as shown in Fig. 4). Then, we can construct another 1-line minimum recti1
1
linear Steiner tree T (l3∗ ), which is similarly constructed as T (l2∗ ) as mentioned-above
to satisfy w(T (l3∗ )) = w(T (l1∗ )), such that either the line l3∗ has at least one point r in
P or this Steiner tree T (l3∗ ) has less Steiner points than that Steiner tree T (l1∗ ) does
(where this point r is at the line l3∗ and not a Steiner point out of the line l3∗ ), which
contradicts the choice (2) (or (3), respectively) of the tree T (l1∗ ).
This shows that Claim 1 indeed holds.
Using Claim 1 and our assumption that any optimal solution for the 1L-MRStT
problem contains no line to pass through two points in the set P, we may assume that
this line l1∗ passes through exactly one point in the set P, saying r1 .
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2847
Fig. 3 A process for first part in the proof of Claim 1
Fig. 4 A process for second part in the proof of Claim 1
We consider the set Q = {r1 } ∪ Pl1∗ ∪ Sl1∗ , where the line l1∗ passes through r1 in P.
Using Lemma 8 on the set Q, we can choose a line l4∗ to pass through at least two points
in Q, saying s and t, such that the sum of the Euclidean distances from all points in Q to
this line l4∗ is minimized, where the minimum is taken over all lines in R2 . We present
a comment that the Euclidean distance from each point r Q in Q to this line l4∗ is exactly
the length from r Q in Q to its vertical foot lr Q at the line l4∗ , i.e., d(r Q , l4∗ ) = d(r Q , lr Q ).
Using similar arguments of parallel shifting technique in the proof of Claim 1, we
obtain the following claim
Claim 2 This line l4∗ passes through at least one point in P, i.e., either s or t is in P.
In addition, using Claim 2 and our assumption that any optimal solution for the
1L-MRStT problem contains no line to pass through two points in the set P, we may
123
2848
Journal of Combinatorial Optimization (2022) 44:2832–2852
Fig. 5 A process for a proof of
Lemma 9
assume that this line l4∗ passes through exactly one point in the set P, saying s. This
implies that t is a Steiner point in Sl1∗ (as shown in Fig. 5).
Now, we can construct a graph G 4 reduced by the edge set E(T (l4∗ )) = E out (l1∗ ) ∪
E ad j (l4∗ ) ∪ E on (l4∗ )), where E ad j (l4∗ ) = {rl4∗ lrl ∗ Z | rl4∗ ∈ Pl1∗ } ∪ {sl4∗ lsl ∗ Z | sl4∗ ∈ Sl1∗ },
4
4
where Z ∈ {X , Y }, and E on (l4∗ ) = {e ∈ T (l4∗ ) | a segment e is on the line l4∗ }. Then, we
obtain the fact w(T (l4∗ )) ≤ w(T (l1∗ )). Since the reduced subgraph G 4 is connected, we
can construct another 1-line rectilinear Steiner tree T (l4∗ ) that is similarly constructed
as T (l2∗ ) as mentioned-above from G 4 , by deleting some edges at cycles in G 4 .
It is easy to see that the 1-line rectilinear Steiner tree T (l4∗ ) constructed from G 4
contradicts the one choice of (1), (2) and (3) of the tree T (l1∗ ).
This completes the proof of the lemma.
Using Lemma 9, we can design our algorithm to solve the 1L-MRStT problem,
which is denoted by the A1L algorithm.
Algorithm: A1L
Input: A set P = {r1 , r2 , . . . , rn } of n points in R2 ;
Output: A line l and a Steiner tree T (l).
Begin
Step 1 For i = 1 to n do:
For j = 1 to n ( j = i) do:
Choose a line li j to pass through the two points ri and r j ;
Execute the AC algorithm on the set P\{ri , r j } to construct
a 1-line-fixed-constrained minimum rectilinear Steiner tree T (li j );
Step 2 Choose a 1-line rectilinear Steiner tree T (li0 j0 ), where the two points ri0
and r j0 satisfy
w(T (li0 j0 )) = min{w(T (li j )) | 1 ≤ i ≤ n, 1 ≤ j ≤ n and j = i}
Step 3 Output “the line li0 j0 and the 1-line rectilinear Steiner tree T (li0 j0 ).”
End
Using the algorithm A1L , we obtain the following
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2849
Fig. 6 A process for the proof of Theorem 3
Theorem 3 The algorithm A1L is a 1.5-approximation algorithm for the 1L-MRStT
problem, and it runs in time O(n 3 log n), where n is the number of points given in R2 .
Proof Given a set P = {r1 , r2 , . . . , rn } of n points in R2 , without loss of generality,
we may suppose that T (l ∗ ) is an optimal 1-line minimum rectilinear Steiner tree in
R2 and T (li0 j0 ) is a 1-line rectilinear Steiner tree produced by the A1L algorithm.
Using Lemma 9, we may choose an optimal 1-line minimum rectilinear Steiner
tree T (l ∗ ), where this optimal solution contains a line l ∗ to pass through at least two
points in P, denoted by ri ∗ and r j ∗ (as shown in Fig. 6).
Given two points ri ∗ and r j ∗ in P, we may denote by Tri ∗ r j ∗ the 1-line-fixedconstrained minimum rectilinear Steiner tree for the line l ∗ . For the fixed line l ∗ which
passes through these two points ri ∗ and r j ∗ , using Theorem 2, we obtain the fact
w(Tri ∗ r j ∗ ) ≤ 1.5 · w(T (l ∗ )). Since the A1L algorithm enumerates all possibilities of
lines to pass any two points in P, and the A1L algorithm produces a 1-line rectilinear
Steiner tree T (li0 j0 ) with minimum weight, then we obtain the following
w(T (li0 j0 )) ≤ w(Tri ∗ r j ∗ ) ≤ 1.5 · w(T (l ∗ ))
(11)
implying that the A1L algorithm is a 1.5-approximation algorithm for the 1L-MRST
problem.
The complexity of the Algorithm A1L is determined as follows. (1) For each circulation at Step 1, since Theorem 1 shows that the AC algorithm runs in time O(n log n),
then we obtain that Step 1 is implemented in at most time O(n 3 log n); (2) The other
steps of the A1L algorithm run in time at most O(n 2 ). Thus, the A1L algorithm can
be implemented in total time O(n 3 log n).
In summary, we can obtain the conclusion of the theorem.
In the remainder, we consider a special version of the 1L-MRStT problem, where
this line l is asked to be parallel to either the x-axis or the y-axis. We need the following
result, whose proof is contained in the proof of Claim 1.
123
2850
Journal of Combinatorial Optimization (2022) 44:2832–2852
Lemma 10 Given a set P of n points as an instance of the 1L-MRStT problem for the
special version where this line l is parallel to either the x-axis or the y-axis, there
exists an optimum solution in which we can choose a line l to pass through at least
one point in the set P.
Using Lemma 10, we describe our new algorithm to solve the 1L-MRStT problem
for this special version, which is denoted as the Aaxis
1L algorithm.
Algorithm: Aaxis
1L
Input: A set P = {r1 , r2 , . . . , rn } of n points in R2 ;
Output: A line l parallel to either the x-axis or the y-axis and a Steiner tree T (l).
Begin
Step 1 For i = 1 to n do:
(1) Choose a line lix , which is parallel to the x-axis, to pass through the points
ri , and execute the AC algorithm on the set P\{ri } to construct a 1-line-fixedconstrained minimum rectilinear Steiner tree T (lix );
y
(2) Choose a line li , which is parallel to the y-axis, to pass through the points
ri , and execute the AC algorithm on the set P\{ri } to construct a 1-line-fixedy
constrained minimum rectilinear Steiner tree T (li );
Step 2 Choose a 1-line rectilinear Steiner tree T (li0 ), where the point ri0 satisfies
y
w(T (li0 )) = min{w(T (lix )), w(T (li )) | i = 1, 2, . . . , n} such that T (li0 ) is
y
x
either T (li0 ) or T (li0 );
Step 3 Output “the line li0 and the 1-line rectilinear Steiner tree T (li0 ), having the
value w(T (li0 )).”
End
Using the algorithm Aaxis
1L , we obtain the following result, whose proof is similar to
that of Theorem 3, and we omit the details.
Theorem 4 The algorithm Aaxis
1L is a 1.5-approximation algorithm for the special
version of the 1L-MRStT problem, where this line l is parallel to the coordinate axis,
and its time complexity is O(n 2 log n), where n is the number of points in R2 .
At the end of this section, we can obtain the conclusion that the Aaxis
1L algorithm
indeed produces a rectilinear Steiner tree in R2 .
5 Conclusion and further research
In this paper, we address the 1-line minimum rectilinear Steiner tree problem, and we
can obtain the following three main results.
(1) We design an algorithm AC to optimally solve the 1-line-fixed-constrained minimum rectilinear Steiner tree (1LFC-MRStT) problem, and this algorithm AC runs
in time O(n log n);
(2) We show that the AC algorithm is a 1.5-approximation algorithm to solve the
1-line-fixed minimum rectilinear Steiner tree (1LF-MRStT) problem;
(3) Using the algorithm AC and a key Lemma 9 for many times, we present a 1.5approximation algorithm A1L to solve the 1-line minimum rectilinear Steiner
123
Journal of Combinatorial Optimization (2022) 44:2832–2852
2851
tree (1L-MRStT) problem, and this algorithm A1L runs in time O(n 3 log n); In
addition, if this line l is asked to be parallel to the coordinate axis, using Lemma 10,
we provide a new 1.5-approximation algorithm Aaxis
1L to solve this special version
2
of the 1L-MRStT problem, and that algorithm Aaxis
1L runs in time O(n log n).
A challenging task for further research is to design some approximation algorithms
to solve the 1L-MRStT problem either with smaller performance ratios or in lower time
complexity, so as to design some polynomial-time approximation schemes (PTASs)
for the 1L-MRStT problem and its variations.
Acknowledgements The authors are indeed grateful to an anonymous editor and two anonymous reviewers
whose kind suggestions and comments have led to a substantially improved presentation for this manuscript.
This paper is supported by Project of the National Natural Science Foundation of China [Nos.11861075,
12101593], Project for Innovation Team (Cultivation) of Yunnan Province, Joint Key Project of Yunnan
Provincial Science and Technology Department and Yunnan University [No.018FY001014] and Program for Innovative Research Team (in Science and Technology) in Universities of Yunnan Province
[C176240111009]. Jianping Li is also supported by Project of Yunling Scholars Training of Yunnan
Province, and J.R. Lichen is also supported Project of Doctorial Fellow Award of Yunnan Province [No.
2018010514].
References
Aazami A, Cheriyan J, Jampani KR (2012) Approximation algorithms and hardness results for packing
element-disjoint Steiner trees in planar graphs. Algorithmica 63(1–2):425–456
Arora S (1998) Polynomial time approximation schemes for Euclidean traveling salesman and other geometric problems. J ACM 45(5):753–782
Baratz A (1983) Algorithms for integrated circuit signal routing. PhD thesis, Laboratory for Computer
Science, Massachusetts Institute of Technology, Cambridge
Berg M, Cheong O, Kreveld M, Overmars M (2008) Computational geometry: algorithms and applications.
Springer, New York
Bern M, Plassmann P (1989) The Steiner problem with edge lengths 1 and 2. Inf Process Lett 32(4):171–176
Byrka J, Grandoni F, Rothvoß T, Sanità L (2010) An improved LP-based approximation for Steiner tree.
In: Proceedings of the 2010 ACM International Symposium on Theory of Computing, pp 583–592
Chen G, Zhang G (2000) A constrained minimum spanning tree problem. Comput Oper Res 27(9):867–875
Cheng X, Du D (2001) Steiner Trees in Industry. Combinatorial Optimization 11, Springer US
Chung F, Graham R (1982) A new bound for Euclidean Steiner minimal trees. Ann New York Acad Sci
440(1):328–346
Cieslik D (1998) Steiner Minimal Trees. Kluwer Academic Publishers, Amsterdam
Garey M, Graham R, Johnson D (1977) The complexity of computing Steiner minimal trees. SIAM J Appl
Math 32(4):835–859
Georgakopoulos G, Papadimitriou CH (1987) The 1-Steiner tree problem. J Alg 8(1):122–130
Gilbert EN, Pollak HO (1968) Steiner minimal trees. SIAM J Appl Math 16(1):1–29
Holby J (2017) Variations on the Euclidean Steiner tree problem and algorithms. Rose-Hulman Undergrad
Math J 18(1):123–155
Hwang FK (1976) On Steiner minimal trees with rectilinear distance. SIAM J Appl Math 30(1):104–114
Hwang FK (1979) An O(n log n) algorithm for rectilinear minimal spanning trees. J ACM 26(2):177–182
Hwang FK, Richards DS (1992) Steiner tree problems. Networks 22(1):55–89
Imase M, Waxman BM (1991) Dynamic Steiner tree problem. SIAM J Dis Math 4(3):369–384
Johnson MR, Garey DS (1977) The rectilinear Steiner tree problem is NP-complete. SIAM J Appl Math
32(4):826–834
Korte B, Vygen J (2008) Combinatorial optimization: theory and algorithms. Springer, Berlin
Kruskal JB (1956) On the shortest spanning subtree of a graph and the traveling salesman problem. Proceed
Am Math Soc 7(1):48–50
123
2852
Journal of Combinatorial Optimization (2022) 44:2832–2852
Li JP, Liu SD, Lichen JR, Wang WC, Zheng YJ (2020) Approximation algorithms for solving the 1-line
Euclidean minimum Steiner tree problem. J Comb Opt 39(2):492–508
Morris JG, Norback JP (1980) A simple approach to linear facility location. Transp Sci 14(1):1–8
Prim RC (1957) Shortest connection networks and some generalizations. Bell Syst Tech J 36(6):1389–1401
Richards DS (1989) Fast heuristic algorithms for rectilinear Steiner trees. Algorithmica 4(1–4):191–207
Salowe JS (1992) A simple proof of the planar rectilinear Steiner ratio. Oper Res Lett 12(4):271–274
Schrijver A (2003) Combinatorial optimization: polyhedra and efficiency. Springer, Berlin
Shamos MI, Hoey D (1975) Closest-point problems. In: The 16th Annual Symposium on Foundations of
Computer Science. IEEE Computer Society, pp 151–162
Williamson DP, Shmoys DB (2011) The design of approximation algorithms. Cambridge University Press,
Cambridge
Yao AC (1982) On constructing minimum spanning trees in k-dimensional spaces and related problems.
SIAM J Comput 11(4):721–736
Zhou H, Shenoy N, Nicholls W (2002) Efficient minimum spanning tree construction without Delaynay
triangulation. Inf Proc Lett 81(5):271–276
Publisher’s Note Springer Nature remains neutral with regard to jurisdictional claims in published maps
and institutional affiliations.
Authors and Affiliations
Jianping Li1 · Junran Lichen2 · Wencheng Wang1 · Jean Yeh3 ·
YeongNan Yeh4 · Xingxing Yu5 · Yujie Zheng1
B
Jianping Li
jianping@ynu.edu.cn
Junran Lichen
junranlichen@hotmail.com
Wencheng Wang
wencheng2018a@163.com
Jean Yeh
chunchen.yeh@gmail.com
YeongNan Yeh
mayeh@math.sinica.edu.tw
Xingxing Yu
yu@math.gatech.edu
Yujie Zheng
zyj15837625043@163.com
1
Department of Mathematics, Yunnan University, South Outer Ring Road, East University Town,
Chenggong District, Kunming 650504, Yunnan Province, P.R. China
2
Institute of Applied Mathematics, Academy of Mathematics and Systems Science, Chinese
Academy of Sciences, No. 55, Zhongguancun East Road, Haidian District, Beijing 100190, P.R.
China
3
Department of Mathematics, National Kaohsiung Normal University, Kaohsiung City, Taiwan
4
Institute of Mathematics, Academia Sinica, Taipei, Taiwan
5
School of Mathematics, Georgia Institute of Technology, Atlanta, USA
123
Download