Geometric facility location problems - PowerPoint PPT Presentation

1 / 90
About This Presentation
Title:

Geometric facility location problems

Description:

a set of clients originates demands for some kind of goods or services. ... Indyk (1999) and Bose et al (2003): linear in n and polynomial in 1/ e (1-median) ... – PowerPoint PPT presentation

Number of Views:27
Avg rating:3.0/5.0
Slides: 91
Provided by: san7154
Category:

less

Transcript and Presenter's Notes

Title: Geometric facility location problems


1
Geometric facility location problems
2
What is facility locating?
Client needs this kind of service.
Facility provides some kind of service.
GOOD SERVICE
3
Location 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.

4
The 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.

5
Problem statement
  • Select a set F of p facility positions in
    universe U that minimizes g(F,C).

6
Models 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.

8
Where 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)

9
Distance metric
  • Distance metric between two elements of the
    universe further differentiates between specific
    problems
  • Minkowski distance (Euclidean, Manhattan etc)
  • Network distance

10
Optimization 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.

11
p-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.
12
Euclidean p-center
3-center
13
Euclidean 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.

14
Summary
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)

15
Euclidean p-median
1-median
Minimize the average distance to the facility
16
Euclidean 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)

17
Euclidean 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
18
Two problems
  • Minimum enclosing circle problem (1-center
    problem).
  • Placing Base Stations Avoiding Forbidden Zone

19
Minimum enclosing circle problem
20
Problem Given a set of n points in the plane,
find the circle of minimum radius that contains
all of the n points.
21
Enclosing 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.
22
An enclosing circle touching one point
Move the center toward the point on the circle
while touching the point
23
An enclosing circle touching two points


Move the center along the perpendicular bisector
of the two points.
24
Special 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.
25
How 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.
26
Naive 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
27
Lemma 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.
28
Conclusion 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
29
Then, is there any point set which has O(n2)
enclosing circles?
To answer this question, we need several
observations.
30
Q1 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?
31
Q1 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
32
Any 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?
34
p
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.
35
Farthest-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)
36
Algorithm 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.
37
Some 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.
38
Observation 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
39
MiniDiscWithPoint(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
40
D2disc(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
41
7
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.
42
Worst 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
43
Worst 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
44
Worst 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.
45
Algorithm 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
46
MiniDiscWith2Points(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
47
Analysis 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)!
48
More 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)
49
Efficient Algorithm for Placing Base Stations
Avoiding Forbidden Zone
50
Problem 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
51
Problem 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
52
Some 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)
53
Some 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).
54
A 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
55
A 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)

56
Some 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)
57
Some 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.
58
Some 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)
59
Properties 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 ) .
60
Theme 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.

61
Time 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).
62
Problem 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)).

63
Example of Problem 2
v1
v2
vn
ei
vi-1
a
b
vi
64
Some 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

65
Some 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.
66
Preliminary 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
67
Algorithm
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 )
68
Algorithm 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.
69
Algorithm 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.
70
Algorithm 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.
71
Algorithm 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

72
Algorithm 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
73
Algorithm Contd.
v8
v7
v6
v9
v5
v10
v4
v11
r2
r1
v3
v12
v2
vo
v1
Here r1lt r2 so v11 enclose by C1
74
Algorithm Contd.
v8
v7
v6
Here r1gt r2
v9
v5
v10
v4
v11
r2
r1
v3
v12
v2
vo
v1
75
Algorithm Contd.
v8
v7
v6
Here r1gt r2
v9
v5
v10
r1
v4
r2
v11
v3
v12
v2
vo
v1
76
Algorithm Contd.
v8
v7
v6
Here r1lt r2
v9
v5
v10
r2
r1
v4
v11
v3
v12
v2
vo
v1
77
Algorithm Contd.
v8
v7
v6
v9
Here r1gt r2
v5
v10
r2
r1
v4
v11
v3
v12
v2
vo
v1
b
Direction of b
78
Algorithm 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
79
Algorithm Contd.
v7
v8
v6
v9
v5
r
r
v10
r
r
v4
v11
v3
v12
v2
a
vo
v1
b
80
Conclusion
Problem P1 and problem P2 can be solved in O(n)
time.
81
Thank you
82
Constrained Minimum Enclosing Circle with Center
on a Query Line Segment
83
Problem 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
84
Example
Observation 1 Some points are inside the circle
Question Are all the points in P required?
85
Convex Hull
Convex hull Minimum size convex polygon that
encloses P
Not Convex hull of P
Convex hull of P
86
Why Convex Hull ?
Answer Only the points on the convex hull are
the points of interest to solve those two
objectives
87
Some 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
88
Case 2

a
L
89
Our 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
  • Thank You
Write a Comment
User Comments (0)
About PowerShow.com