A fast Voronoi-diagram algorithm with applications to ... - Springer Link

22 downloads 583 Views 861KB Size Report
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

Suggest Documents