AN EFFICIENT CUTTING PLANE ALGORITHM FOR THE SMALLEST ENCLOSING CIRCLE PROBLEM

. In this paper, we consider the problem of computing the smallest enclosing circle. An eﬃcient cutting plane algorithm is derived. It is based on ﬁnding the valid cut and reducing the problem into solving a series of linear programs. The numerical performance of this algorithm outperforms other existing algorithms in our computational experiments. subgra-dient approach, a randomized incremental algorithm, and a second order cone reformulation. It shows that the best algorithm is the quadratic programming scheme, whose numerical performance in their computational experiment outperforms the

This problem is arisen from various application areas such as location analysis, military operation, mechanical engineering (stress optimization), and computer graphics (ray tracing). The detailed descriptions of these applications can be found in [1,3,4,5,11]. For the special case of enclosing points, namely the case of r i = 0, there are a lot of efficient algorithms; see, e.g., Chrystal [2], Eliosoff and Unger [3], and Hearn and Vijan [6].
For the general cases of r i > 0, Xu, Freund, and Sun [12] survey four known approaches for this problem, including a quadratic programming scheme, a subgradient approach, a randomized incremental algorithm, and a second order cone reformulation. It shows that the best algorithm is the quadratic programming scheme, whose numerical performance in their computational experiment outperforms the 148 YI JIANG, CHUAN LUO AND SHENGGUI LING other three methods under MATLAB. The main idea is to formulate problem (1) into a linearly constrained quadratic programming problem as follows: In [12], it also shows that by introducing auxiliary variables x i +x = a i , y i +y = b i , and z i +r i = R, problem (1) can be reformulated as a second order cone optimization problem as follows: which was solved by SeDuMi ( [8]). In fact, from [7,10,9,13], we can see that there are many methods such as interior point algorithms can solve a second order cone optimization problem, then the related software CPLEX can solve it.
In this paper, an efficient cutting plane algorithm is proposed for the smallest enclosing circle problem. The main idea is to find the valid cut and solve the second order cone problem (3) as a series of linear programs. We implement this cutting plane method and the other two approaches for this problem, i.e., a second order cone reformulation solved by the CPLEX Solver and the quadratic programming scheme reported in [12]. Under C SHARP and CPLEX, the numerical performance of the cutting plane method outperforms the other two in our computational experiment.
2. The cutting plane method. Now, we give the algorithm for the smallest circle problem (3), which is equivalent to problem (1) (see [12]). The main idea is using linear programming to solve the second order cone optimization problem iteratively.
. Add the following valid cut into problem (4), that is Solve (6) by the CPLEX LP Solver, update k := k + 1, and obtain u ki = x i and v ki = y i .
In this algorithm, we first consider the relaxation problem (4). The constrain condition . Therefore, we should prove the cutting plane (5) is a valid cut, Algorithm 1 is convergent, and the optimal solution produced by Algorithm 1 is also the optimal solution to problem (3). Proof. In fact, we only need to prove that for any feasible solution of in problem (3), they also satisfy and in problem (6). Here, i = 1, ..., m. It is obvious that (7) implies inequalities (9)-(10) hold. By the Cauchy-Schwarz inequality, we have Then, inequality (7) yields Hence, inequality (8) It means that {| u k |} ∞ k=1 is decreasing monotone and lower bounded. By the same method, we can see that {| v k |} ∞ k=1 is also convergent. Therefore, {(u k , v k )} ∞ k=1 is convergent in normed spaces l 1 . (11) where ε is the predefined tolerance. Theorem 2.3. If (x * , y * , R * ) is an optimal solution produced by Algorithm 1, then (x * , y * , R * ) is also an optimal solution to problem (3).
Proof. If (x * , y * , R * ) is not an optimal solution of problem (3), then there exists an optimal solution (x, y, R) and R ≤ R * . By Theorem 2.1, we can see (x, y, R) belongs to the feasible region of problem (6). Because (x * , y * , R * ) is an optimal solution of problem (6), the convergence and the stop condition of Algorithm 1 yield R = R * , x = x * , and y = y * .
3. Computational results. In this section, we compare the numerical performance of the cutting plane method presented in this paper, the second order cone optimization method by CPLEX, and the quadratic programming method given in [12].
We implement the three methods to solve the smallest enclosing problem using C SHARP. We also use CPLEX to solve the second order cone optimization, the quadratic programming, and the linear programming formulation of this problem.
The test data is generated randomly. The coordinates of the center of each input circle are generated following an independent normal distribution N (0, 16), and the radius of each of them is generated according to a uniform distribution U (0, 1). Then we check these circles so that no circle are contained in any other. The tolerance ε is set to be 10 −6 in the cutting plane method presented in this paper. We test random instances with different sizes, ranging from 50 to 12800 circles, and 50 random instances are solved for each problem size using an Intel core 1.8 GHz personal computer with 4GB memory.
The numerical results are summarized in Tables 1-4. In these tables, m denotes the number of circles, k denotes the number of iterations on the cutting plane method, Average is the average value of iterations, Maximum is the maximum of iterations, Minimum is the minimum of iterations, Obj Value denote the value of the objective function, Time denotes the CPU time in millisecond for solving each problem. SOCP denotes the method to solve second order cone optimization (3) by CPLEX. QP is the best algorithm in [12]. Algorithm 1 is the cutting plane method presented in this paper. In Figure 1, we show a numerical example according to Algorithm 1. Giving eight circles, we can see that the smallest enclosing circle is derived, which encloses the eight circles accurately. The results reported in Table 1 show that taking the 12800 circles instance as an example, it takes four iterations to reach the final results. It is worth noting that the value of the objective function R and the center of the circles (x, y) at k = 3 is equal to the value of them at k = 4. Hence, Algorithm 1 is able to reach very good accuracy for moderately large problems.  Table 2, it gives the number of iterations on Algorithm 1. We test the random instances of different sizes, ranging from 50 to 12800 circles, and 50 random instances are solved for each problem size. The average value of iterations is about three. The maximum of iterations is up to seven and the minimum of iterations is only two. We can see that there is no relation between the number of iterations and the number of circles.
We next show the numerical performance of the cutting plane method presented in this paper, the second order cone optimization method by CPLEX, and the quadratic programming method given in [12]. The results reported in Table 3&4 show that Algorithm 1 performs very well. We can see from Table 3 that all algorithms are able to obtain good accuracy for moderately large problems. Moreover, Table 4 presents that Algorithm 1 use smaller CPU time than SOCP and QP. It is interesting to note that for the largest problems implemented, SOCP is about 1.7 times more expensive (in terms of CPU time) than Algorithm 1 and QP fails due to the excessive memory requirement. Therefore, Algorithm 1 is more efficient (in terms of CPU time) than SOCP and QP for all test problem scales.