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