Jump to content

Smallest-circle problem: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No edit summary
No edit summary
Line 35: Line 35:


'''Algorithm 1'''
'''Algorithm 1'''
1. Set <math>k = 1</math>. Construct a circle that covers S and passes through two points, say A and B, in S. Find the center of the circle and denote by <math>O_k</math>.
2. Set <math>S_k = {A,B}</math>. Find a point C that minimizes <math>\angle ADB</math> over D 2 S n Sk. If angle \ADB is obtuse, terminate the algorithm and the minimum circle has diameter AB.


Step 1. Set <math>k = 1</math>. Construct a circle that covers S and passes through two points, say A and B, in S. Find the center of the circle and denote by <math>O_k</math>.

Step 2. Set <math>S_k = \{A,B\}</math>. Find a point C that minimizes <math>\angle ADB</math> over <math>D\in S \setminus S_k</math>. If angle <math>\angle ADB</math> is obtuse, terminate the algorithm and the minimum circle has diameter AB.

Step 3. Set <math>k = k+1</math>. Construct the circle that passes through A, B and C, and denote its center by <math>O_k</math>. If triangle <math>\vartriangle ABC</math> is not obtuse, terminate the algorithm and <math>O^\ast = O_k</math>. Otherwise, <math>A = C<\math> if angle <math>\angle BAC</math> is obtuse or <math>B = C <\math> if angle <math>\angle ABC</math> is obtuse and go to Step 2.


==References==
==References==

Revision as of 19:59, 21 July 2009

1. Problem

The minimum covering circle problem is a mathematical problem of computing a smallest enclosing circle of a set S of given N points in Rn, which was initially proposed by Sylvester in 1987. This problem is also called minimum covering circle problem. In two dimensional space, the problem is a well known single facility location problem which locates a new facility to provide service to a number of customers or facilities. We can formulate the minimum covering circle problem as the minimax programming problem:

The problem can be reduced to the following minimization problem:

with subject to

where can be seen as the radius of the smallest covering circle, or equivalently

with subject to

2. Algorithms

From here on we will consider the minimum covering circle problem in two dimensional Euclidean space. Most of the geometric approaches for the problem look for points that lie on the boundary of the minimum circle and are based on the following simple facts:

- The minimum covering circle is unique. - The minimum covering circle can be determined by at most three points in S which lie on the boundary of the circle. If it is determined by only two points, then the line segment joining those two points must be a diameter of the minimum circle. If it is determined by three points, then the triangle consists of those three points is not obtuse.

We note that, according to the above facts, the problem can be solved in by enumerating all the triples of the points in S under a model in which square roots are calculated in constant time.

Algorithm 1

Step 1. Set . Construct a circle that covers S and passes through two points, say A and B, in S. Find the center of the circle and denote by .

Step 2. Set . Find a point C that minimizes over . If angle is obtuse, terminate the algorithm and the minimum circle has diameter AB.

Step 3. Set . Construct the circle that passes through A, B and C, and denote its center by . If triangle is not obtuse, terminate the algorithm and . Otherwise, Failed to parse (unknown function "\math"): {\displaystyle A = C<\math> if angle <math>\angle BAC} is obtuse or Failed to parse (unknown function "\math"): {\displaystyle B = C <\math> if angle <math>\angle ABC} is obtuse and go to Step 2.

References