1 Introduction

A classical problem in computer science is data clustering. One has to group a given set of data points such that every point in the same group is similar with respect to some optimizing criteria. This problem finds application in learning theory, data-mining, spatial range searching, etc. [10]. k-line center problem for a given set of points is a type of clustering problem. A set of points and a positive integer k are given as input. A set of k lines needs to be computed such that the maximum among the distances between each point to its nearest line is minimized. These lines are called the line centers for the given set of points. Many variants of this problem are well studied due to their enormous applications in the domain of facility location [18, 19], and machine learning [10], etc. In this paper, we study one such variant, where axis-parallel line centers are computed for a given point set in 2-dimension. We call this problem as k-ORTHOGONAL-LINE-CENTER (kOLC) problem. Some real-life applications of our problem are designing transport networks, where the tracks are orthogonal to each other, or to design circuit boards where the wires need to be embedded in orthogonal orientations. The kOLC is stated as follows. Here the distance between a line and a point is the perpendicular distance between them.

figure a

In order to solve kOLC we state another problem called k-ORTHOGONAL-LINE-CENTER-WITH-RADIUS (kOLCR) problem. In fact Lemma 1 shows that kOLC can be solved in polynomial time whenever kOLCR can be solved in polynomial time.

figure b

We state another problem to establish the hardness of kOLCR.

figure c

Consider the center of the squares (intersection point of two diagonals) and half of the side length of the squares in a given instance of SASS as the input point set and input radius to kOLCR respectively. Then SASS reduces to kOLCR. Observe that kOLCR has a solution if and only if SASS has a solution. SASS is known to be W[1]-hard [9]. This problem is a special case of a well known NP-hard problem of rectangle stabbing [12]. In the problem of rectangle stabbing, one has to find a set of lines for a given set of rectangles such that each rectangle is intersected by at least one line. This problem is well studied due to its applications in data analysis [8], sensor networks [14], radiotherapy [17] etc. The best known constant factor approximation algorithm for this problem is designed by Gaur et al [12], which uses linear programming (LP) to solve the problem. Dom et al. [9] presented a \((4k+1)^k n^{O(1)}\) time fixed-parameter tractable (FPT) algorithm for stabbing axis-parallel disjoint squares of the same size in the same paper in which they proved the W[1]-hardness of SASS.

Agarwal and Procopiuc [1] studied the problem of covering a point set in \(\mathbb {R}^d\) with k cylinders. For \(d=2\), they designed an \(O(nk^2 \log ^4 n)\) expected time randomized algorithm, when \(k^2\log k <n\) to compute \(O(k \log k)\) strips of width at most \(w^*\) that cover the given set of points. Here \(w^*\) is the optimal radius of the cylinders for the problem. But the expected running time is \(O(n^{\frac{2}{3}}k^{\frac{8}{3}}\log ^4 n)\) for higher values of k. The expected time is \(O(n^{\frac{3}{2}}k^{\frac{9}{4}} polylog(n))\), for \(d=3\). They also presented an \(O(dnk^3 \log ^4 n)\) expected time randomized algorithm to compute a set of \(O(dk \log k)\) d-cylinders of diameter at most \(8w^*\) for points in \(\mathbb {R}^d\). Aggarwal et al. [3] designed an \(O(n \log n)\) expected time randomized algorithm to find k cylinders of radius \((1 + \varepsilon )w^*\) that cover a set of n given points in \(\mathbb {R}^d\). The constant of proportionality depends on kd and \(\varepsilon \). Practical implementation and heuristics for these problems are also well-studied [4,5,6, 16]. Jaromczyk and Kowaluk [13] presented a \(O(n^2 \log ^2 n)\) time algorithm for a special case like computing 2 line center. An \( O(n(\log n + \varepsilon ^{-2} \log \frac{1}{\varepsilon }) + \varepsilon ^{-\frac{7}{2}} \log \frac{1}{\varepsilon })\) time \((1 + \varepsilon )\) approximation scheme for computing 2 line center is designed by Agarwal et al. [2]. Feldman et al. [10] presented a randomized linear time bi-criteria approximation for generalized k-center, mean and median problems.

One can devise a 2-factor approximation algorithm for solving kOLC by using the LP-based approach of Gaur et al. [12]. In this paper, we present a 2-factor approximation algorithm for kOLC, which is not LP-based. Next, we present a deterministic bi-criteria approximation algorithm for kOLC, based on our 2-factor approximation algorithm. To the best of our knowledge, the only deterministic bi-criteria approximation algorithm known for kOLC is a \((\frac{3}{2},16)\) bi-criteria approximation by Chakraborty et al. [7], which is based on local search technique.

The paper is organized in the following manner. Section 2 consists of some definitions and the lemma showing the relation between the running times of kOLC and kOLCR. We devise a 2-factor approximation algorithm for kOLC in Sect. 3. A \((\frac{7}{4}, \frac{3}{2})\) bi-criteria approximation for the same is described in Sect. 4.

2 Preliminaries

A set of axis-parallel lines is said to be a set of line centers for a set of points with radius r, whenever the maximum among the distances between each point to its nearest line is at most r. Let \(\mathcal {C}\) be a set of line centers for \(\mathcal {S}\) with radius r. For a point p of \(\mathcal {S}\), c(p) denotes the nearest member of \(\mathcal {C}\) from p. We say that this line center is assigned to the point p and p is served by this line center. Thus Client set of a line center, l, where \(l \in \mathcal {C}\), denoted as s(l), is defined as \(\{p | p \in \mathcal {S} ~and~ c(p) = l\}\).

A set of line centers is called an \((\alpha , \beta )\) bi-criteria approximate solution for kOLC if the cardinality of the set is at most \(\alpha k\) and the radius is at most \(\beta \) times the optimal radius.

We show that the existence of a polynomial-time algorithm for kOLCR implies the existence of a polynomial-time solution for kOLC.

Lemma 1

kOLC can be solved in \(O((T+n) \log n)\) time, if kOLCR can be solved in O(T) time.

Proof

Let \(r^*\) be the maximum among all the distances between the points and the line centers in the optimal solution of kOLC. Consider a line center \(l^*\) in the optimal solution of kOLC, such that the distance between the farthest point from l in s(l) is \(r^*\). Then there must be two such points in s(l) such that they are at a distance \(r^*\) from \(l^*\). Otherwise, we can translate \(l^*\) towards the farthest one to reduce the distance. Thus the optimal radius is determined by two points in the given set \(\mathcal {S}\). Since \(|\mathcal {S}|= n\), we have \(O(n^2)\) possible candidates for the optimal radius. We can perform a binary search on them to get the optimal solution for kOLC by using the algorithm for kOLCR. We use the technique by Frederickson and Johnson [11] to determine the median element in the binary search which requires \(O(m \log (\frac{2n}{m}))\) time for a \(n \times m \) sorted matrix. Since our matrix is of order \(n \times n\) the running time is O(n) in our case. Thus the lemma holds.    \(\square \)

An (ijt)-grid is a set of i vertical and j horizontal lines where the distance between two consecutive lines of same orientation is t. We call it simply a grid and denote as W. Let l be a vertical line in a grid W and the x-coordinate of every point on l be \(x_l\). A right-shift operation on l by an amount \(\xi \) produces a new vertical line R(l) such that the x-coordinate of every point on R(l) is \(l_x + \xi \). Similarly a right-shift operation on an (ijt)-grid W produces another (ijt)-grid R(W) where every vertical line of R(W) is produced by performing right-shift operation on the vertical lines of W. Similarly we define a left-shift operation by an amount \(\xi \) on a vertical line l (or a grid W) to produce a new line L(l) (or a grid L(W)). We also define up-shift and down-shift operations on a horizontal line l as well as on a grid W by translating the horizontal lines vertically upward and downward respectively. The newly produced lines are denoted as U(l) and D(l) respectively and the newly produced grids are denoted as U(W) and D(W) respectively. Furthermore we define the composition of two shift operations. They are performed one after another on a grid. So an up-right-shift on a grid W produces a new grid UR(W), where UR(W) is obtained by performing an up-shift operation on R(W). Similarly we define the other combinations. Clearly these combinations are commutative and \(DU(W) = UD(W) = W\) and \(RL(W) = LR(W)= W\).

In Sect. 3 we design an algorithm that produces a 2-factor approximation for the kOLC problem in terms of the number of centers. The algorithm chooses a subset of the grid lines which serve as line centers for the given set of points. Let the difference between the x-coordinates of the leftmost and rightmost points of \(\mathcal {S}\) be w and the difference between the y-coordinates of the topmost and bottommost points of \(\mathcal {S}\) be h.

3 A 2-factor Approximation Algorithm

We begin with an instance of kOLCR, where the radius r is also given as input along with all other input of kOLC. We construct a \((\lceil \frac{w}{2r} \rceil , \lceil \frac{h}{2r} \rceil , 2r )\)-grid W. The leftmost vertical line of the grid passes through the leftmost member of \(\mathcal {S}\) and the topmost horizontal line passes through the topmost member of \(\mathcal {S}\). Then every point in \(\mathcal {S}\) lies between two horizontal and two vertical lines which are 2r distance apart from each other. This fact follows from the construction of the \((\lceil \frac{w}{2r} \rceil , \lceil \frac{h}{2r} \rceil , 2r )\)-grid W. Thus each of the points is within a distance r from at least one line of both orientations. Only the points which are equidistant from both lines of the same orientation are within a distance r from two lines of the same orientation. But a point can not be within a distance r from more than 2 lines of the same orientation as the lines are 2r distance apart from each other. We state this fact as an observation.

Observation 1

Every point in \(\mathcal {S}\) is within a distance r from at least one vertical line and at least one horizontal line of the grid W. A point in \(\mathcal {S}\) can be exactly at a distance r from at most two horizontal lines and at most two vertical lines.

Our algorithm finds a subset of the grid W (ie. a set of lines from the grid W) and returns that as a set of axis-parallel line centers for \(\mathcal {S}\) with radius r. So for a line l, where \(l \in W\), we define the client set of l in W as the set of points in \(\mathcal {S}\) such that they are within a distance r from l. We denote it by \(s_W(l)\). It follows from Lemma 1 that each point is assigned to at least one line of one orientation. But in our algorithm we do not assign a point to more than one line of the same orientation. In other words we want \(s_W(l_i) \cap s_W(l_j) = \phi \), for every \(l_i\) and \(l_j\) of the same orientation, i.e. both of them are either vertical or horizontal in W. It follows from the definition of \(s_W(l)\) that the points which are equidistant from two lines of same orientation in W, belong to the client sets of both the lines. We break the tie in the following manner.

Let Q be the set of points in \(\mathcal {S}\) such that every member in Q is at a distance r from two vertical lines of the grid W. We allot every points in Q in the client set of the line which is serving more points other than the points in Q. In case of tie we choose arbitrarily but we allot every member of Q to the same line. Similarly we allot points of \(\mathcal {S}\) which are equidistant from two horizontal lines. Thus a point only belongs to client sets of one vertical and one horizontal line, after this assignment.

Now we construct a graph with \(\lceil \frac{w}{2r} \rceil + \lceil \frac{h}{2r} \rceil \) vertices such that each vertex represents a unique line of W. Let \(l^v\) denote the corresponding line of W for a vertex v of the graph. Two vertices u and v have an edge between them if and only if they satisfy the following conditions:

  1. 1.

    \(l^u\) and \(l^v\) are of different orientations in W. In other words one of them is vertical and the other one is horizontal.

  2. 2.

    \(s_W(l^u) \cap s_W(l^v) \ne \phi \), where \(s_W(l^u)\) and \(s_W(l^v)\) are the client set of the lines of W, corresponding to u and v respectively.

We call this graph as the graph of W and denote it by G(W).

Lemma 2

The graph G(W), defined above, is a bipartite graph.

Proof

The edges of G(W) are given between two vertices u and v if they correspond to two lines of W in different orientations. We can divide the set of vertices of G(W) into two partitions, namely, the vertices corresponding to the vertical lines of W and the vertices corresponding to the horizontal lines of W, with no edge between two vertices in the same partition. Thus the graph G(W) is a bipartite graph.    \(\square \)

Now we show a relation between the vertex cover of G(W) and a set of line centers, chosen from W, for \(\mathcal {S}\). The following lemma states the relation, which helps us to choose a set of line centers for \(\mathcal {S}\) with radius r from the lines present in W.

Lemma 3

A subset C of W is a set of line centers for \(\mathcal {S}\) with radius r, if and only if the vertices in G(W), corresponding to the lines in C, form a vertex cover of G(W).

Proof

Every point of \(\mathcal {S}\) is assigned to a unique set \(s_W(l)\), where \(l \in W\), in one orientation. So exactly one horizontal and exactly one vertical line of W can serve a point p, where \(p \in \mathcal {S}\), as a center. This fact together with the structure of the graph G(W) imply that each point can be assigned to a unique edge in G(W). Let \(p^e\) denote the edge corresponding to a point p, where \(p \in \mathcal {S}\).

Let \(C'\) a vertex cover of G(W). Then \(p^e\) must have an end vertex, v(say), in \(C'\). Then from the structure of G(W) it follows that \(p \in s_W(l^v)\). This fact holds for all the points \(p \in \mathcal {S}\). Hence the lines in W corresponding to the vertices in \(C'\) is a set of line centers with radius r.

Conversely let C be a set of line centers for \(\mathcal {S}\) with radius r where \(C \subseteq W\). Consider an edge e of G(W). There exists a point p in \(\mathcal {S}\) such that \(e = p^e\). Now C being a set of line centers with radius r, a line of W must be present in C such that \(p \in s_W(l)\). In other words, one end vertex of e is present in the set of vertices corresponding to the lines in C. Since this fact holds for every edge of G(W), the vertices in G(W) corresponding to the lines of C in W form a vertex cover of G(W). Thus the lemma holds.    \(\square \)

Now we wish to choose a set of lines from the grid W to serve as centers for \(\mathcal {S}\) with radius r. We establish a relation between the lines in an optimal solution to a given instance of problem kOLCR and the line centers that can be chosen from the grid W for this instance. Let \(\mathcal {C}^*\) be an optimal solution consisting k orthogonal line centers for \(\mathcal {S}\). The following lemma states the relation between the lines in \(\mathcal {C}^*\) and a set of lines that can be chosen from W.

Lemma 4

Let \(l^*\) be any line belonging to \(\mathcal {C}^*\). At most 2 lines of W are sufficient to serve all the points in \(s(l^*)\) as centers with radius r, where these lines of W have the same orientation as \(l^*\). The vertices of G(W), corresponding to these lines also form a vertex cover.

Proof

Without loss of generality let \(l^*\) has vertical orientation. If it coincides with a vertical line of W then that line is sufficient to serve all members of \(s(l^*)\) as centers with radius r. Now we assume that \(l^*\) lies between two consecutive vertical lines of the grid W, say, \(l_i\) and \(l_{i+1}\). Let p be a point of \(\mathcal {S}\), such that \(p \in s(l^*)\). Since p lies within a distance r from \(l^*\), p must belong to either \(s_W(l_i)\) or \(s_W(l_{i+1})\). This imply \(s(l^*) \subseteq s_W(l_i) \cup s_W(l_{i+1})\). The property of forming a vertex cover follows from Lemma 3. Thus the lemma holds.    \(\square \)

Now we are in a position to devise an approximation algorithm to compute k axis-parallel line centers with radius r for \(\mathcal {S}\). We compute the grid W as mentioned above and compute the minimum vertex cover of the graph G(W). It follows from Lemma 3 that a minimum set of lines of W, which can serve \(\mathcal {S}\) with radius r, form a minimum vertex cover of G(W). Furthermore this minimum vertex cover is of size at most 2k if there exists a solution for kOLCR, by Lemma 4. We check the cardinality of the minimum vertex cover of G(W). For the cardinality more than 2k, there does not exist a set of orthogonal line centers with radius r for \(\mathcal {S}\), which has cardinality at most k. In that case, the algorithm returns “NOT POSSIBLE”. Otherwise, it returns the lines of W which corresponds to the vertices in the minimum vertex cover of G(W) as our output. Algorithm 1 describes the steps to compute a solution for problem kOLCR. The following lemma states the correctness of the algorithm as a 2-factor approximation for kOLCR.

figure d

Lemma 5

Algorithm 1 returns a 2-factor approximation of the problem kOLCR.

Proof

The proof follows from combining Lemma 3 and Lemma 4.    \(\square \)

Now we analyze the running time of Algorithm 1. Although there are \(\lceil \frac{w+h}{2r} \rceil \) grid lines, we compute only those grid lines which serve at least one point of \(\mathcal {S}\). Thus we only deal with O(n) lines of W. Also note that the number of edges in the graph is also O(n), since each member of \(\mathcal {S}\) corresponds to at most one edge. We can determine the graph by spending a constant amount of time with each member of \(\mathcal {S}\). This takes O(n) time as well as O(n) space. Then using the algorithm described in [15] we can compute the minimum vertex cover in \(O(n^{\frac{3}{2}})\) time and O(n) space. The rest steps of the algorithm can be done in constant time. So the overall running time of the algorithm is \(O(n^{\frac{3}{2}})\). Hence we conclude the following theorem.

Theorem 1

A 2-factor approximate solution for kOLC, described in Problem 1 for a given set with n points, can be computed in \(O(n^{\frac{3}{2}} \log n)\) time.

Proof

The proof follows from the above discussion and Lemma 1.    \(\square \)

In the following section, we design a bi-criteria approximation algorithm using the shifting of the grid W, as defined in Sect. 2.

4 A \((\frac{7}{4}, \frac{3}{2})\) bi-criteria approximation algorithm

We design a bi-criteria approximation algorithm in this section. We allow the radius of the centers to be within a constant factor of the given radius to achieve a tighter approximation factor in terms of the number of centers. We allow the radius of this new set of line centers to be \((r+ \frac{r}{2})\), ie. \(\frac{3r}{2}\) instead of r.

We begin with an instance of kOLCR as before. We initially construct a \((\lceil \frac{2w}{3r} \rceil , \lceil \frac{2h}{3r} \rceil , 3r)\)-grid, similar to the grid constructed in Sect. 3. The distance between two lines of the same orientation is 3r instead of 2r like the previous one. We denote this grid by W from now for notational simplicity. Clearly, these grid lines can serve the members of \(\mathcal {S}\) as centers with radius \(\frac{3r}{2}\). Then we construct 8 more \((\lceil \frac{2w}{3r} \rceil , \lceil \frac{2h}{3r} \rceil , 3r)\)-grids by performing the shift operations with amount r on W, defined in Sect. 2. We construct the corresponding bipartite graphs and check the cardinality of the minimum vertex covers. We return the lines corresponding to the vertex cover, which has the minimum cardinality among them, as output. We establish that this solution is a \((\frac{7}{4}, \frac{3}{2})\) bi-criteria approximation to kOLCR.

We use similar arguments as in Lemma 4 and conclude that at most two lines of W (as well as the other grids constructed by shift operations on W) are sufficient to serve the client set \(s(l^*)\) of a line center \(l^*\), present in the optimal solution \(\mathcal {C}^*\) of the given instance of kOLCR. Now we wish to reduce this number by locating a set of lines \(\mathcal {L}\), where \(\mathcal {L} \subseteq \mathcal {C}^*\), such that only one line from a grid is sufficient to serve \(s(l^*)\), for every \(l^* \in \mathcal {L}\). We show that \(|\mathcal {L}| \ge \frac{|\mathcal {C}^*|}{4}\) for at least one grid among all the nine grids we constructed. Note that the line centers in the optimal solution to the problem serve the points of \(\mathcal {S}\) with radius r and the lines of the grids serve them with radius \(\frac{3r}{2}\).

Now we analyze the changes in the client sets of the vertical lines when we perform a right-shift operation on W to produce R(W). Note that the client sets of the horizontal lines remain the same for W and R(W). Let \(\mathcal {C}^*_v\) and \(\mathcal {C}^*_h\) denote the set of vertical and horizontal line centers present in \(\mathcal {C}^*\) respectively. The following cases can happen in the shifted grid R(W).

  1. 1.

    \(s(l^*)\), which was served by a single vertical line in W, is still being served by a single vertical line in R(W). We denote the set of these lines, present in \(\mathcal {C}^*\), as \(\mathcal {C}_1\).

  2. 2.

    \(s(l^*)\), which was served by a single vertical line in W, needs two vertical lines in R(W) to be served. We denote the set of these lines, present in \(\mathcal {C}^*\), as \(\mathcal {C}_2\).

  3. 3.

    \(s(l^*)\), which was served by two vertical lines in W, can be served with by a single vertical line in R(W). We denote the set of these lines, present in \(\mathcal {C}^*\), as \(\mathcal {C}_3\).

  4. 4.

    \(s(l^*)\), which was served by two vertical lines in W, still requires two vertical lines in R(W) to be served. We denote the set of these lines, present in \(\mathcal {C}^*\), as \(\mathcal {C}_4\).

Since \(\mathcal {C}_1 \cup ~\mathcal {C}_2 \cup ~\mathcal {C}_3 \cup ~\mathcal {C}_4 = \mathcal {C}^*_v\), we can conclude that the cardinality of at least one of these four sets has at least one-fourth of the cardinality of \(\mathcal {C}^*_v\). Utilizing this fact we show in Lemma 6 that the client set of the vertical line centers of the optimal solution can be served with at most \(\frac{7}{4} |\mathcal {C}^*_v|\) vertical lines from one of the grids among W, R(W) and L(W).

Lemma 6

There is at least one grid among W, R(W) and L(W) such that at most \(\frac{7}{4}|\mathcal {C}^*_v|\) vertical lines from that grid is sufficient to serve all the points in the client set \(\cup _{l^* \in \mathcal {C}^*_v} s(l^*)\).

Fig. 1.
figure 1

Proof of Lemma 6

Proof

We prove this lemma by considering the cardinalities of the sets \(\mathcal {C}_1\), \(\mathcal {C}_2\), \(\mathcal {C}_3\) and \(\mathcal {C}_4\). The lemma holds for the grid W, if either \(|\mathcal {C}_1| \ge \frac{|\mathcal {C}^*_v|}{4}\) or \(|\mathcal {C}_2| \ge \frac{|\mathcal {C}^*_v|}{4}\). The lemma holds for the grid R(W), if \(|\mathcal {C}_3| \ge \frac{|\mathcal {C}^*_v|}{4}\). The only case left to consider is when \(|\mathcal {C}_4| \ge \frac{|\mathcal {C}^*_v|}{4}\) and \(|\mathcal {C}_1| < \frac{|\mathcal {C}^*_v|}{4}\), \(|\mathcal {C}_2| < \frac{|\mathcal {C}^*_v|}{4}\), \(|\mathcal {C}_3| < \frac{|\mathcal {C}^*_v|}{4}\).

Let l and \(l'\) be two vertical lines of W, which are necessary to serve \(s(l^*)\), for some \(l^* \in \mathcal {C}_4\), where l lies on the left of \(l^*\). Let R(l) and \(R(l')\) be the lines of R(W), which are necessary to serve \(s(l^*)\). This implies that \(l^*\) is not lying within a distance \(\frac{3}{2}r\) from l. Since the distance between l and \(l'\) is 3r, \(l^*\) is lying within a distance \(\frac{3}{2}r\) form \(l'\). This implies that \(L(l')\) can serve all members of \(s(l^*)\). Then the lemma holds for the grid L(W). The scenario is depicted in Fig. 1.    \(\square \)

We argue similarly and we can state the following lemma which states about serving all the points which are served by the members of \(\mathcal {C}^*_h\).

Lemma 7

There is at least one grid among W, U(W) and D(W) such that at most \(\frac{7}{4}|\mathcal {C}^*_h|\) horizontal lines from that grid is sufficient to serve all the points in the client set \(\cup _{l^* \in \mathcal {C}^*_h} s(l^*)\).

Proof

Proof follows from similar arguments in Lemma 6.    \(\square \)

Now consider all the possible shifting operations on W which consist of left, right, up, and down shifts as defined in Sect. 2. The following lemma states that we can locate a grid among them where at most \(\frac{7}{4}k\) lines are sufficient to serve all the points as line centers with radius \(\frac{3}{2}r\).

Lemma 8

There is at least one grid among W, U(W), D(W), R(W), L(W), LU(W), RU(W), LD(W), RD(W), such that at most \(\frac{7}{4}k\) lines from that grid is sufficient to serve all the points in the client set \(\cup _{l^* \in \mathcal {C}^*} s(l^*)\).

Proof

Proof follows by combining Lemma 6 and Lemma 7.    \(\square \)

Now we devise our bi-criteria approximation algorithm to compute k axis-parallel line centers with radius \(\frac{3}{2}r\) for \(\mathcal {S}\). We compute the grid W as mentioned in Sect. 3 but we keep 3r distance between two lines of the same orientation. Then we compute all eight other grids, mentioned in Lemma 8, by performing the shift operation on W. After that, we construct the nine corresponding graphs and compute their minimum vertex covers. We take that one which has minimum cardinality among all these nine sets. We return the lines of the corresponding grid as our output if the cardinality of the minimum vertex cover is less than or equal to \(\frac{7}{4}k\). Otherwise, we return “NOT POSSIBLE” as output as there does not exist a set of orthogonal line centers with radius r for \(\mathcal {S}\), which has cardinality at most k. Algorithm 2 describes the steps of the procedure. The correctness of the algorithm as a \((\frac{7}{4},\frac{3}{2})\) bi-criteria approximation for kOLCR follows from Lemma 8.

figure e

The running time analysis of Algorithm 2 is similar to Algorithm 1. We compute the graphs and their vertex covers 9 times in the same way. So the running time is still \(O(n^\frac{3}{2})\). Thus we conclude the following theorem.

Theorem 2

A \((\frac{7}{4}, \frac{3}{2})\) bi-criteria approximation algorithm for kOLC problem can be computed in \(O(n^{\frac{3}{2}} \log n)\) time.

Proof

Proof follows from the above discussion combining with Lemma 1.    \(\square \)