and which they call the "quaternary incremental method" [14] was found ..... Spring Conference of the OR Society of Japan, C-2, pp.92-93. [9] Iri, M., et al. .... 66 4z 41 s6 4o. 0. 1. 2. 3. 4. 5. @. ®. Fig.A4. Example of bucketing 66 generators.
A FAST V O R O N O I - D I A G R A M A L G O R I T H M
WITH APPLICATIONS TO
GEOGRAPHICAL OPTIMIZATION PROBLEMS Masao Iri University of Tokyo, Tokyo, Japan Kazuo Murota University of Tsukuba,
Ibaraki, Japan
Takao Ohya Central Research Institute of Electric Power Industry,
Abstract
Tokyo, Japan
There are many kinds of facility location problems,
"geographical optimization problems",
which are appropriately
lated in terms of the Voronoi diagram.
or formu-
Except few quite special
problems, we can get a solution to a problem of that kind only by means of numerical approach which involves a large number of function evaluations, where each evaluation requires constructing
the Voronoi diagram
for a tentative distribution of facilities and computing integrals with reference to that diagram.
In such a case,
the practical feasibility of
the numerical solution of the problem depends largely upon the efficiency of the algorithi to be used for constructing the Voronoi diagram.
In
this paper, we shall formulate a class of location problems and show that, if we use the Voronoi-diagram algorithm recently proposed by the authors, we can numerically solve considerably large problems within a practicable time. i. Introduction The location problem has many difficult "faces", "combinatorial
face" would be the most essential.
deal with the problem in the continuum,
i.e., in the two-dimensional
Euclidean plane, we may encounter another, it.
among which the
However, when we
no less difficult,
face of
In fact, the objective function to be minimized or maximized of
a problem is often defined in terms of the Voronoi diagram for the given location of facilities
(or the like),
i.e. the partition of the
entire plane into the territories of the facilities.
Naturally,
have to resort to some numerical approach to the solution, very few particular cases,
and the numerical
except for
solution will ordinarily
consist of iterative evaluation of the objective of its partial derivatives.
we
function as well as
274 If, as is w i d e l y believed, for given n points for n large,
of the Voronoi
diagram
in the plane were itself a big c o m p u t a t i o n a l
problem
an a l g o r i t h m which calls a subroutine
diagram construction However,
in c o m p u t a t i o n a l
g e o m e t r y has p r o d u c e d a number
for the Voronoi diagram,
for the p o s s i b i l i t y of b r i n g i n g
location p r o b l e m into the p r a c t i c a l l y In the following, problems,
for the Voronoi-
many times w o u l d be far from being practical.
recent progress
of fast algorithms prospect
the c o n s t r u c t i o n
w h i c h gives us a b r i g h t
the numerical
tractable
we shall formulate a fundamental
or "geographical
optimization
problems",
can be solved n u m e r i c a l l y w i t h i n a p r a c t i c a b l e one hundred points or facilities, which is fast enough.
solution of the
family. class of location
and show that they
time for as many as over
if we use a V o r o n o i - d i a g r a m
The a l g o r i t h m w h i c h the authors
and which they call the "quaternary
incremental
algorithm
recently proposed
method"
[14] was found
to be q u a l i f i e d as such one. 2. M a t h e m a t i c a l
and C o m p u t a t i o n a l
Background
for the Voronoi D i a g r a m
For n distinct points x i = [ x ~]~ (i=l,...,n) Euclidean polyhedral
space R N
(~=I,...,N),
regions V i (i=l,...,n)
in such a way that every point x = [ x K]
in V i is closer to x i than to any other xj Vi = j:j~i~ {x I ~x - .iU
given in the N - d i m e n s i o n a l
we define a partition of R N into n convex
(j~i):
< ~x - *jlI}.
(2.1)
Obviously we have Uv i = R N
22)
l V i is a kind of "territory"
of point x i and is called the Voronoi r@gion
belonging
to x.. The p a r t i t i o n determines in an obvious manner a polyl hedral complex, which is called the V o r o n o i d i a g r a m for the given n points xi's.
We shall denote the common b o u n d a r y of V i and Vj by
Wij = 8V i s ~Vj. In the t w o - d i m e n s i o n a l of a Voronoi
(2.3) case,
i.e.
in R2,
diagram is a p l a n a r graph,
call the V o r o n o i points and the edges
the o n e - d i m e n s i o n a l
section
of w h i c h the vertices we shall
the V o r o n o i edges.
The points
x.'s will be called generators. A Voronoi edge is part of the perpen1 dicular bisector of some couple of generators, and a Voronoi point is the excenter of some triple of generators. point,
as a v e r t e x of the graph,
Since the degree of a Voronoi
is three except for the degenerate
we may consider the dual graph whose vertices
are g e n e r a t o r s
case,
and w h i c h
275 has an edge between two generators have a b o u n d a r y edge in common. triangulation
iff the c o r r e s p o n d i n g
Voronoi
regions
The dual graph is called the Delaunay
of R2.
The Voronoi
diagram,
as well as the Delaunay
been r e c o g n i z e d as a concept of fundamental problems
in geography,
urban planning,
biology,
ecology,
[2],
etc.
rithms for c o n s t r u c t i n g
[3],
[9],
triangulation,
importance
environmental [16].
has now
in m a n y kinds of
control,
physics,
Many c o m p u t a t i o n a l
algo-
the Voronoi d i a g r a m have also been proposed,
it has been known that the V o r o n o i diagrams
in a space whose dimension-
ality is higher than two are rather hard to construct practically, we are usually concerned with more than hundreds However,
the diagrams with very many points,
or even thousands
if we confine ourselves
primitive
incremental
in number.
a l g o r i t h m such as the one proposed
and several
divide-and-conquer
type with the w o r s t - c a s e
"theoretically
(and with the linear space complexity and g e n e r a l i z e d paper
[7],
[i0],
It is interesting
O(n))
time 0(n)
In fact,
on the average
nonuniformity
large digital
of the
O(n log n) improved
of the e p o c h - m a k i n g
for almost all
situations,
type can be improved optimal
algorithms
the more primi-
to run substanof the divide-
the a l g o r i t h m of the incremental
tree
type which
(which was proposed by the authors
[14] and will be outlined "in Appendix) on a typical
a rather
[5] sometimes
have been proposed,
in practical
tially faster than the t h e o r e t i c a l l y makes use of a q u a t e r n a r y
[i].)
algorithms
time c o m p l e x i t y
in this context to see that,
tive a l g o r i t h m of the incremental type.
in
as say
geometry.
that we might encounter
and-conquer
optimal"
[ii], since the appearance
[15] in c o m p u t a t i o n a l
problems
(See, e.g.,
to the case of two dimensions,
works fairly well,
but
more specifically, computer
of the d i s t r i b u t i o n
[13],
has been proved to run in linear in about 2.5 ms per point
and to be quite robust against
of points
[14].
3. Problem F o r m u l a t i o n To be specific,
let us consider n
i!
at points x I ..... x n of the N - d i m e n s i o n a l O = 100
/
S-A
A:
v " S-G m: H-A e:
/ /
M-G
4J 114
!
//
i*
!
10
/
,g
/
/
4.1 0
L ,)F'Search Direction S: Steepest descent M: Modified by approx. Hessian Line Search A: Arithmetical progression G: Geometrical p r o g r e s s i o n
//I /
Q}
-,4 4J
4
~0.1
,I
,
L,
,
32
16
I
'
•
64
128
256
number of poLnts n Fig.3.
C o m p a r i s o n of the c o m p u t a t i o n by different
solution
times
algorithms
and the other in an "geometric progression" G:
~(i) = 2i
(Incidentally,
(0).
(6.4)
we set e(0)=l
In the following,
rather arbitrarily,
we shall abbreviate
and assumed e(-l)=0.)
the line search based on
(6.3) as
"A", and that b a s e d on (6.4) as "G". For the simplest search direction d (V) , we took the d i r e c t i o n of "steepest
descent"
specifically
(see
(to be a b b r e v i a t e d
as "S" inthe following"),
or more
(5.9)) ,
S: d (V) = -VxF(I(V)), x!~+l)
We also i n v e s t i g a t e d
(9) ~ .-(9) = xi + ~ (xi
a more s o p h i s t i c a t e d
is o b t a i n e d by m o d i f y i n g approximation Hessian
(see
_ x!~)).~(Vi) i
(5.7) and
(5.12))
(6.5)
direction d = -H-I'?x F, which
the s t e e p e s t - d e s c e n t
H of the Hessian
"
(2nx2n matrix)
d i r e c t i o n with a certain of F.
is too c o m p l i c a t e d
Since the exact
to incorporate
in the
283
iteration
process, we adopted the part H ii