Title: Geometric facility location problems
1Geometric facility location problems
2What is facility locating?
Client needs this kind of service.
Facility provides some kind of service.
GOOD SERVICE
3Location problems in most general form can be
stated as follows
- a set of clients originates demands for some
kind of goods or services. - the demands of the customers must be supplied by
one or more facilities. - the decision process must establish where to
locate the facilities. - issues like cost reduction, demand capture,
equitable service supply, fast response time etc
drive the selection of facility placement.
4The basic elements of location models are
- a universe, U, from which a set C of client
input positions is selected, - a distance metric, d U x U ? R, defined over
the universe R, - an integer, p 1, denoting the number of
facilities to be located, and - an optimization function g that takes as input a
set of client positions and p facility positions
and returns a function of their distances as
measured by the metric d.
5Problem statement
- Select a set F of p facility positions in
universe U that minimizes g(F,C).
6Models of the universe of clients and facilities
- Continuous space
- Universe is defined as a region, such that
clients and facilities may be placed anywhere
within the continuum, and the number of
possible locations is uncountably infinite.
7- Discrete space
- Universe is defined by a discrete set of
predefined positions. - Network space
- Universe is defined by an undirected weighted
graph. Client positions are given by the
vertices. Facilities may be located anywhere on
the graph.
8Where should the radio tower be located?
- Tower may be positioned anywhere
(continuous) - Tower may be positioned in five available slots
(discrete) - Tower may be located on the roadside
(network)
9Distance metric
- Distance metric between two elements of the
universe further differentiates between specific
problems - Minkowski distance (Euclidean, Manhattan etc)
- Network distance
10Optimization function sum or maximum
- The objective function is the most significant
characterization of a facility location problem. - p-center problem
- Given a universe U, a set of points C, a metric
d, and a positive integer p, a p-center of C is a
set of p points F of the universe U that
minimizes - maxjeC minieF dij.
11p-median problem Given a universe U, a set of
points C, a metric d, and a positive integer p, a
p-median of C is a set of p points F of the
universe U that minimizes SjeC minieF dij.
12Euclidean p-center
3-center
13Euclidean p-center
- (Megiddo and Supowit, 1984) p-center is
NP-hard. - (Feder and Green 1988) e-approximation remains
NP- hard for any e lt (1v7)/2 1.8229. - (Hwang, Lee and Chang 1993) p-center problem in
R2 can be solved in O(nvp) time.
14Summary
Time complexities of algorithmic solutions to the
Euclidean p-center problem
- Drezner 1984, Hoffmann 2005 (arbitrary p and d
1) - Megiddo 1983 (p1, d2)
- Agarwal et al 1993, Chazelle et al. 1995 (p 1
and d fixed) - Chan 1999 (p2, d2)
- Agarwal and Sharir 1998 (p2, d arbitrary)
- Agarwal and Procopuic 1998 (p fixed, d arbitrary)
15Euclidean p-median
1-median
Minimize the average distance to the facility
16Euclidean p-median
- Difficult to compute 1-median in the plane.
Bajaj(1987, p 177) states there exist no
exact algorithm under models of computation
where the root of an algebraic equation is
obtained using arithmetic operations and the
extraction of kth roots - Chandrasekhar and Tamir (1990) a polynomial
time algorithm for an e-approx of the 1-median. - Indyk (1999) and Bose et al (2003) linear in n
and polynomial in 1/ e (1-median)
17Euclidean p-median
- Hassin and Tamir(1991) O(pn) time solution for a
line. - Suppowit and Meggido (1984) Problem is NP-hard
in the plane, and can not be approximated to
within 3/2.
Summary of results
18Two problems
- Minimum enclosing circle problem (1-center
problem). - Placing Base Stations Avoiding Forbidden Zone
19Minimum enclosing circle problem
20Problem Given a set of n points in the plane,
find the circle of minimum radius that contains
all of the n points.
21Enclosing circle touching no point
Find a circle that contains all of points in its
interior
Starting from a sufficiently large circle, we
shrink the circle until it touches some point.
22An enclosing circle touching one point
Move the center toward the point on the circle
while touching the point
23An enclosing circle touching two points
Move the center along the perpendicular bisector
of the two points.
24Special case
A case in which the circle determined by the
diameter determined by two points is an enclosing
circle.
In this case, this circle is the
minimum enclosing circle.
25How many different enclosing circles?
A circle is defined by three points ? O(n3)
different circles
Hereafter, we only consider those circles passing
through three input points.
Are there so many circles?
If there are O(n3) different circles, a
triple-loop algorithm is reasonable to find the
minimum enclosing circle.
26Naive Algorithm
Algorithm Exhaustive-search P p1, p2, ... ,
pn D circle with infinite radius for i1 to
n-2 do for ji1 to n-1 do for kj1 to
n do Let D be the circle passing through
three points pi, pj, pk if radius(D) lt
radius(D) then check false
for h1 to n s.t. h ! i,j,k do
if ph lies outside the circle through pi, pj,
pk then check true
if check false (i.e., D is an enclosing
circle) then D D (update an
optimal solution) return D
27Lemma Let P be a set of points in the plane.
Fixed two points u and v in P. Then, there are
at most two enclosing circles that passes through
u, v, and another point of P.
28Conclusion There are O(n2) candidates for the
minimum enclosing circle since there are at most
two such candidates for each pair of points.
Algorithm Naive-2 P p1, p2, ... , pn D the
circle with the infinite radius for i1 to n-1
do for ji1 to n do if the circle Cij
with pipj being the diameter encloses all
the other points, then return it. D the
circle Cij for k1 to n do s.t. pk lies
outside Cij Let D be the circle passing
through pi, pj, pk if radius(D) lt
radius(D) then DD if D encloses all
points AND radius(D) lt radius(D) then
D D (update the current optimum) return D
O(n3)-time algorithm
29Then, is there any point set which has O(n2)
enclosing circles?
To answer this question, we need several
observations.
30Q1 Does the minimum enclosing circle always
passes through the point with the largest
y-coordinate?
NO
Q2 Does the minimum enclosing circle passes
through the two points that are farthest from
each other?
NO
Q3 When the minimum enclosing circle passes
through a point p, does it also pass through the
point q farthest from p?
NO
What is wrong?
31Q1 Does the minimum enclosing circle always
passes through the point with the largest
y-coordinate?
A point that is not maximal in any direction does
not contribute to the minimum enclosing circle.
Define a set of those maximal points.
red points are maximal in the directions specified
by arrows
32Any point in a triangle defined by three points
can be neglected.
v
p
w
u
Any circle passing through p cannot contain all
of u,v, and w. ? there is no enclosing circle
passing through p.
Prove that only maximal points can contribute to
the minimum enclosing circle.
33 A point with the largest y-coordinate is maximal.
Proof Let u be a point with the largest
y-coordinate. If u is not maximal, then there is
a triangle defined by three points of P that
contains the point u in its interior. But it is
impossible because the point u has the largest
y-coordinate.
Given a point set P, compute the convex hull and
remove all the points that are not maximal (not
on the convex hull).
Do all point pairs on the convex hull can
contribute to the minimum enclosing circle?
34p
The center of the circle for the three points is
the farthest point in the circle from the three
points.
c
r
q
How many such points that are equally distant and
farthest from three points? ? the number of
enclosing circles.
35Farthest-point Voronoi Diagram
point p in P V(p) the region in which p is
the farthest among P
V(4)
Point 3 is farthest in this region
V(3)
V(5)
1
of Voronoi vertices of enclosing circles
O(n) since the Voronoi diagram is a planar graph.
2
6
5
3
4
V(2)
V(6)
Prove the number of vertices of a Farthest-point
Voronoi diagram is O(n).
V(1)
36Algorithm based on Farthest-point Voronoi Diagram
Only the Voronoi vertices can be candidates for
the center of the minimum enclosing circle. No
need to check whether a circle encloses all
points. Just find the one minimizing the distance
to the farthest points (the distance is the
radius of the minimum enclosing circle). O(n)
vertices in a Farthest-point Voronoi diagram ?
the algorithm runs in O(n log n) time 1
construct a farthest-point Voronoi diagram O(n
log n) 2 find the vertex minimizing the
distance to the farthest points and
the minimum distance. O(n) In
total, O(n log n) time.
37Some useful observations.
Observation 1 If a triangle defined by three
points determining an enclosing circle is acute
(any internal angle is less than 90 degrees),
then it is the minimum enclosing circle.
Prove the observation.
38Observation 2 Pi p1, p2, ... , pi(a set
of the first i points) Di the minimum
enclosing circle for Pi Then, if pi is contained
in Di-1, Di Di-1. Otherwise, pi lies on the
boundary of Di.
The minimum-radius circle enclosing Pi-1 and
containing pi on the boundary
Algorithm MiniDisc(P) D2 the min.enclos. circle
for p1, p2 for i3 to n if pi is contained
in Di-1 then Di Di-1 else Di
MiniDiscWithPoint(Pi-1, pi) return Dn
pi
Di
39MiniDiscWithPoint(P, q) D1 min. enclos. circle
for q, p1 for j2 to P if pj is
contained in Dj-1 then Dj Dj-1
else Dj MiniDiscWith2Points(Pj-1, pj,
q) return Dn
q
pj
Dj-1
40D2disc(1,2) D3MDP(3,1,2) D1disc(3,1)
D2disc(3,1) 2 D3disc(3,1) D4MDP(4,1,2,3)
D1disc(4,1) D2disc(4,1) 2
D3disc(4,1) 2,3 D4disc(4,1) D5disc(4,1)
5 D6MDP(6,1,2,3,4,5)
7
6
8
1
5
2
4
3
417
D1disc(6,1) D2MDP2(6,2,1)
D0disc(6,2) D1disc(6,2) 1
D2disc(6,2) D3MDP2(6,3,1,2)
D0disc(6,3) D1disc(6,3)1
D2disc(6,3)1,2 D3disc(6,3)
D4MDP2(6,4,1,2,3) D0disc(6,4)
D1disc(6,4) 1 D2disc(6,4) 1,2
D3disc(6,4) 1,2,3 D4disc(6,4)
6
8
1
5
2
4
3
Give a similar example.
42Worst case analysis
Algorithm MiniDisc(P) time T(n) D2 the
minimum enclosing circle for p1, p2 for i3 to
n if pi is contained in Di-1 then Di
Di-1 else Di MiniDiscWithPoint(Pi-1,
pi) return Dn
MiniDiscWithPoint(P, q)time
T1(n) D1 the minimum enclosing circle for q,
p1 for j2 to P if pj is contained in
Dj-1 then Dj Dj-1 else Dj
MiniDiscWith2Points(Pj-1, pj, q) return Dn
43Worst case analysis
MiniDiscWith2Points(P, q1, q2) time
T2(n) D0 the minimum enclosing circle for q1,
q2 for k1 to P if pk is contained in
Dk-1 then Dk Dk-1 else Dk
disc(q1, q2, pk) return Dn
44Worst case analysis
computation time for MiniDisc(P)O(n3) worst
if Di is updated in each iteration
(invoking MiniDiscWithPoint(P, q)) Is there an
example that requires O(n3) time?
Just a small trick! Permute points randomly in
each iteration.
45Algorithm MiniDisc(P) Permute the point of P
randomly D2 the minimum enclosing circle for
p1, p2 for i3 to n if pi is contained in
Di-1 then Di Di-1 else Di
MiniDiscWithPoint(Pi-1, pi) return Dn
MiniDiscWithPoint(P, q) Permute the point of P
randomly D1 the minimum enclosing circle for
q, p1 for j2 to P if pj is contained in
Dj-1 then Dj Dj-1 else Dj
MiniDiscWith2Points(Pj-1, pj, q) return Dn
46MiniDiscWith2Points(P, q1, q2) Permute the point
of P randomly D0 the minimum enclosing circle
for q1, q2 for k1 to P if pk is
contained in Dk-1 then Dk Dk-1
else Dk disc(q1, q2, pk) return Dn
47Analysis of the computation time of MiniDisc
If the else part is never implemented then O(n)
time. Then, what is the probability that
MiniDiscWithPoint() is called? Using Backward
analysis Fix a subset p1, ... , pi . Let
Di be the circle enclosing p1, ... , pi and
passing thru q. When does the minimum enclosing
circle change? It happens only when we remove
one of three points on the boundary of Di .
Since q is one of the three points, the
probability that pi is one of those points is
2/i. Thus, the expected computation time is
That is, the expected computation time is O(n)!
48More detailed analysis
Worst case analysis T(n) 1 max(1,
T1(i)) T1(i) 1 max(1, T2(j))
T2(j) 1 max(1,1) j T2(j)j,
T1(i) 1i(i1)/2-1i(i1)/2 T(n)O(n3)
Analysis based on probability T(n) 1
1(1-3/i) T1(i)3/i T1(i) 1
1(1-2/j) T2(j)2/j T2(j) j T1(i) i
- 2 log i 2i 3i - 2 log i lt 3i T(n) lt n -
3 log n 3n O(n) Thus, T(n) O(n)
49Efficient Algorithm for Placing Base Stations
Avoiding Forbidden Zone
50Problem Definition
Q a convex Polygon. V(v1,v2,v3,vn) vertices
of Q E(e1,e2,e3,en-1 ) edges of Q B(Q)boundary
of Q Problem To enclose the polygon by one or
more circles with center at
B(Q) Objective Minimize the radius of the
circles
51Problem 1
Find a circle that encloses the polygon Q with
center at boundary B(Q) Objective to minimize
the radius of the circle among all such
enclosing circles
C optimum enclosing circle a center of
the circle, i.e., location of base station at
B(Q) r radius of the circle or the range
of base station
r
a
C
52Some Simple Observations
Observation 1 C must passes through at least a
vertex of Q. Observation 2 If C passes through
only one vertex vi of Q then line
segment via is perpendicular to edge ei ? Q
that contains a. Let r
dist(vi,a)
53Some Simple Observations (Contd.)
If C is passing through two points vi and vj
then center a lies on the perpendicular
bisector (Lij) of edge (vi, vj).
54A Simple Algorithm When Minimum Enclosing Circle
Passes Through Exactly One Vertex
When minimum enclosing circle is passing through
exactly one vertex of polygon Q For each point
vj of Q Take the perpendicular projection
to all the (n-2) nonadjacent edges of vj
Consider them as location of base station
and distance to vertex vi as range, verify
whether they are enclosing the polygon
Evaluate the minimum radius circle among them.
Complexity O(n3) time in worst case. But
minimum enclosing circle may not pass through
exactly one vertex
55A Simple Algorithm for General Case
- Take any pair of vertices (vi , vj) and compute
the points aij and bij generated due to
intersection between perpendicular bisector Lij
and B(Q). - Consider the circle center at aij with radius
dist(aij, vi) and verify whether that encloses
all other vertices of polygon Q. - Similarly consider the circle center at bij with
radius dist(bij, vi) and verify whether that
encloses all other vertices of polygon Q. - Compute the minimum one among all such valid
enclosing circle. - Time complexity O(n4)
56Some Notations
F(V) the furthest point Voronoi Diagram of V
V(vi) the convex region furthest from vi.
V(eij) the Voronoi edge which is a part of the
line segment of the perpendicular bisector (Lij)
of the vertices vi and vj.
V(e12)
57Some Results
- Center of C is at a ? e.
- a must be one of the following
- i) A point which is the projection of a vertex
on e. - ii) An intersection point between V(eij) and e.
- Furthest point voronoi diagram computations take
O(nlogn) time
Result P. Bose and G. Toussaint (1996) All
intersection points between V(eij) and B(Q) can
be computed in O(nlogn) time.
58Some Results (Contd.)
u1,u2,u3,uk1 be the intersection points between
V(eij) and B(Q) then kltn
It generates k polygonal chain c1, c2, ck where
ci is bounded by ui and ui1
V(v3)
V(v2)
v7
V(e12)
u2
v8
V(v4)
V(v1)
c1
v1
u1
V(v5)
v2
v3
V(v6)
V(v8)
V(v7)
59Properties of Furthest vertex from ci
index(ci )j whenever vj be the furthest vertex
from polygonal chain ci
Lemma 1 If index(cr ) is the least value among
all index values of ci (0 lt i ltk) then
index(cr)lt index(cr1 ) lt lt index(ck)lt
index(c0)lt lt index(cr-1 ) .
60Theme of Our Algorithm
- Identify the voronoi cell for each vertex of the
poygon in linear time using monotone matrix
searching technique as proposed by A. Agarwal and
D. Kravets. - Starts from vertex v0 that is in voronoi cell vi
(say) and let vertex v1 is in voronoi cell vr. - Compute perpendicular bisector of edge (vi,
vi1) and if it intersects the polygon on edge
(v0, v1) then note its intersection on polygon
boundary as u0. - Next, compute perpendicular bisector of edge
(vi1, vi2) and let it intersects the polygon
on edge (v0, v1). If intersection point is in
anti-clockwise direction of u0 then note its
intersection on polygon boundary as u1 otherwise
delete u0 and u0 will be the intersection point
of the perpendicular bisector of (vi, vi2)
This process continues upto edge (vr-1,vr). - Repeat the process by considering vertex v1, v2
in lieu of v0, v1 until all consecutive pair of
vertices are considered.
61Time complexity
Correctness of this algorithm can be proved using
the properties described along with the
properties of furthest point voronoi diagram. In
the algorithm, each polygonal edge is considered
atmost once to detect u0, u1, ..., uk. Number of
backtracking is also bounded by O(n) . Hence
overall complexity is O(n).
62Problem 2
- Find two points a, b? ei and a minimum range r
such that - For all x ? B(Q) we have Dist(a, x) lt r or
Dist(b, x) lt r or both. - Find two circles C1 and C2 of radius r1 and r2
with center at a, b? ei such that r
min(max(r1,r2)).
63Example of Problem 2
v1
v2
vn
ei
vi-1
a
b
vi
64Some Definitions
- ei as x-axis and ei (vi-1, vi).
- x(v) denotes the x-coordinate of the vertex v
and - x(vi-1) lt x(vi)
- u be the furthest among the vertices such that
x(u) lt x(vi-1) from vi-1 and dist(u, vi-1) r1 - u be the furthest among the vertices such that
x(u) gt x(vi) from vi and dist(u, vi) r2
65Some Results
r max(r1,r2).
Result1 The minimum radius of the circles are at
least r
Result2 If the minimum enclosing circles are of
radius r enclose the polygon then we can
determine it in O(n) time.
Next slides discuss the algorithm if the radius
of the minimum enclosing circles are greater
than r by an example.
66Preliminary Problem
Let me first discuss the solution of the
following problem.
- Find a point a? ei and a minimum range r such
that - For all x ? B(Q) we have Dist(a, x) ? r
- Find a circles C of radius r1 at a? ei such that
C encloses Q
v1
v2
C
vn
vi-1
vi
ei
a
67Algorithm
Insert the vertices of Q one at a time in
anticlockwise direction.
Only v2 is enclosed by C so a will be at v1
v3
v4
v2
v5
v1
v0
V(v2)
Assuming v3, v4, v5 are absent. So edge v0v1will
lie in the furthest point Voronoi region V(v2 )
68Algorithm Contd.
- Insert vertex v3.
- Update the furthest point Voronoi region on edge
v0v1
v3
v4
v2
v5
a
v1
v0
V(v2)
V(v3)
a is the center of C.
69Algorithm Contd.
- Insert vertex v4.
- Update the furthest point Voronoi region on edge
v0v1
v3
v4
Note that the V(v3) is deleted and will never
appear in future
v2
v5
a
v1
v0
V(v2)
V(v4)
a is the center of C.
70Algorithm Contd.
- Insert vertex v5.
- Update the furthest point Voronoi region on edge
v0v1
Note that a is moving from v1 towards v0
v3
v4
v2
v5
v1
v0
a
a is the center of C.
71Algorithm for Problem 2
- To solve the problem we will work with two
circles C1 and C2
- C1 encloses the vertices one be one in clockwise
direction from v0 -
- C2 encloses the vertices one by one in
anticlockwise direction from v1
72Algorithm Contd.
v8
v7
v6
v9
v5
v10
C2
v4
C1
v11
r2
r1
v3
v12
v2
vo
v1
Here r1gt r2 so insert v3 in C2
73Algorithm Contd.
v8
v7
v6
v9
v5
v10
v4
v11
r2
r1
v3
v12
v2
vo
v1
Here r1lt r2 so v11 enclose by C1
74Algorithm Contd.
v8
v7
v6
Here r1gt r2
v9
v5
v10
v4
v11
r2
r1
v3
v12
v2
vo
v1
75Algorithm Contd.
v8
v7
v6
Here r1gt r2
v9
v5
v10
r1
v4
r2
v11
v3
v12
v2
vo
v1
76Algorithm Contd.
v8
v7
v6
Here r1lt r2
v9
v5
v10
r2
r1
v4
v11
v3
v12
v2
vo
v1
77Algorithm Contd.
v8
v7
v6
v9
Here r1gt r2
v5
v10
r2
r1
v4
v11
v3
v12
v2
vo
v1
b
Direction of b
78Algorithm Contd.
v7
v8
v6
See only edge v7v8 remained uncovered
v9
v5
r1
r2
v10
r2
r1
v4
v11
v3
v12
v2
a
vo
v1
b
Direction of a
Solve a bi-quadratic equation to get a and b
79Algorithm Contd.
v7
v8
v6
v9
v5
r
r
v10
r
r
v4
v11
v3
v12
v2
a
vo
v1
b
80Conclusion
Problem P1 and problem P2 can be solved in O(n)
time.
81Thank you
82Constrained Minimum Enclosing Circle with Center
on a Query Line Segment
83Problem Definition
P(p1,p2,p3,,pn) set of n points. L a query
line segment Problem Preprocess P Objective 1
Enclose P by one circles with center on
L Objective 2 Minimize the radius of the circles
84Example
Observation 1 Some points are inside the circle
Question Are all the points in P required?
85Convex Hull
Convex hull Minimum size convex polygon that
encloses P
Not Convex hull of P
Convex hull of P
86Why Convex Hull ?
Answer Only the points on the convex hull are
the points of interest to solve those two
objectives
87Some Results
- Center of C is at a ? L.
- a must be one of the following
- Case 1 A point which is the projection of a
vertex on L. - Case 2 An intersection point between V(eij) and
L.
Case 1
88Case 2
a
L
89Our Result
Preprocessing time Complexity O(nlogn)
Preprocessing Space Complexity O(n)
Query Time
Result1 If case 1 is the solution then we can
find a in O(logn) time.
Result1 If case 2 is the solution then finding a
needs O(log2n) time.
90