graph finite

advertisement
1. Voronoi Diagram Basics
In Mathematics, a Voronoi Diagram is a way of dividing space into a number of regions.A set of
points (called seeds, sites, or generators) is specified beforehand and for each seed there will be a
corresponding region consisting of all points closer to that seed than to any other. British physician
John Snow used a Voronoi diagram in 1854 to illustrate how the majority of people who died in the
Soho cholera epidemic lived closer to the infected Broad Street pump than to any other water
pump.
Areas of Application: Climatology, Ecology, Computational Chemistry etc.
2. Formal Definition
Capacity Constrained Network Voronoi Diagram (CCNVD) partitions graph into set of contiguous
service areas that honor service center capacities and minimize the sum of distances from graphnodes allotted service centers.
Problem Definition:
Input: A transportation network G with is given which has set of nodes N, edges connected to it E,
set of service centers, constraints on the service centers and real weights on the edges.
Output: Capacity Constrained Network Voronoi Diagram (CCNVD)
Objective: Minimize the sum of distances from graph-nodes to their allotted service centers while
satisfying the constraints of the network.
Constraints: The nodes are assumed to be contiguous so that the effective paths can be calculated
that have maximum coverage and shortest paths.
3. Proof of NP - Hardness
CCNVD is NP-hard and it is challenging to solve with the large size of the transportation network
and with the constraint in the problem that the service centers (SAs) must be continuous in the
graph. The NP hardness of CCNVD follows from result about the NP-hardness of connected kpartition problem that partitions graph into k connected sub-graphs. Pressure Equalizer (PE)
algorithm has been used as one of the solution for the CCNVD problem.
4. Example of CCNVD? Illustration with diagram? TO Do - Include diagram from paper in doc
Figure 1 shows an example input of CCNVD consisting of a graph with 15 graph-nodes (A,B, . . . ,O)
and three service centers (X, Y , and Z) with capacities of 5 each. Figure 1(b) shows an example
output of CCNVD where the graph is partitioned such that 5 graph-nodes are allotted to each
service center as shown by the distinct colors.
Figure 1 : Input graph with service centers and initial information[1]
Figure 2: Output Capacity Constrained Network Voronoi Diagram with each service center serving
the apt amount of events according to their capacity[1]
5. Application Domain
Some of the example scenarios of usage for CCNVD are:
 Assigning evacuees to shelters
 Assigning consumers to gas stations in the aftermath of a disaster
 Assigning students to school districts
 Assigning patients to hospitals
Particular Real world scenario:
During hurricane Sandy, New Jersey residents had to “wait for hours to fill up car tanks and
containers for home generators”. There were large amounts of vehicles waiting in line for fuel at a
gas station and Figure 2(b) shows people waiting at a gas station, both in the New York-New Jersey
area.
In such a scenario, CCNVD can be used to figure out so that people will have to travel only very
short distance and also the capacity constraints such as maximum amount of fuel present at a gas
station can be considered. By considering the capacity constraints only people for whom the
resources can be made available will have to wait at the particular service center. All others don’t
have to waste time in waiting uselessly at a service center but can instead approach another service
center.
6. History of Research
The Capacity Constrained Network Voronoi Diagrams (CCNVD) problem is NP-Hard. Intuitively, this
problem is computationally challenging because of the large size of the transportation network and
the constraint that service areas must be contiguous in the graph to simplify communication of
allotments.
Earlier work on minimizing the sum of the distances between graph nodes and their allotted service
centers can be categorized into two groups: 1) honoring service center capacity constraints and 2)
service area (SA) contiguity. Prior work on honoring service center capacity constraints include mincost flow approaches. However, such approaches do not always preserve service area contiguity.
Previous work on SA contiguity include the creation of Network Voronoi diagrams (NVDs) by
assigning each node to the nearest service center. However, previous NVDs have not been designed
to account for capacity constraints of service centers. Later approach for creating Capacity
Constrained Network Voronoi Diagrams (CCNVD) honors both the capacity constraints of service
centers and SA contiguity while reducing the sum of the distances from graph-nodes to their
allotted service centers.
7. Pressure-Equalized (PE) Algorithm[1]
7.1 Pressure Equalizer Graph (PE-Graph)
A core idea in PE is the Pressure Equalization Graph (PE-Graph), which contains service centers in
the transportation network as PE-nodes. A PE-edge from PE-node s1 to PE-node s2 is inserted if any
allotted graph-node on s1 is connected to any allotted graph-node on s2. Pressure for a shelter s is
defined to be the difference between the capacity of s and the number of nodes allotted to s.
Positive values of pressure indicate overload and negative values indicate slack or available capacity.
Therefore, the PE-nodes are of three types: excess, deficit, and balanced. Let capacity(s) be the
capacity of a PE-node s and allotment(s) be the number of graph-nodes allotted to s. If allotment(s) >
capacity(s), s is referred to as an excess PE-node and allotment(s) − capacity(s) as the excess of the
PE-node s. On the other hand, if allotment(s) < capacity(s), s is said to be a deficit PE-node and
capacity(s) − allotment(s) as the deficit of the PE-node s. A PE-node s with allotment(s) = capacity(s)
is considered balanced. The collection of allotted graph-nodes for a PE-node s represents the
service area (SA) for s. We refer to SA(s) as the service area for s.
Figure 3 and 4 shows a Network Voronoi Diagram (NVD) together with its PE-graph. It has three PEnodes for service centers X, Y , and Z. PE-node X has an excess of 3 and PE-node Z has a deficit
of 3. There are two PE-edges showing that the service area of Y is adjacent to the service areas of X
and Z.
Figure 3
Figure 4
Figure 5
7.2 Algorithm
The Pressure Equalizer (PE) algorithm starts with the partitions of a Network Voronoi Diagram (NVD)
and iteratively adjusts the shelter allocation until capacity constraints are met for all service centers.
It tries to satisfy capacity constraints for every service center, maintain service area contiguity
constraints, and reduce the sum of the distances from graph-nodes to their allotted service centers
(PE-nodes).
The algorithm terminates in at most O(N) iterations, where N is the number of graph-nodes since
the sum of the excess at all service nodes is bounded by N.
Pseudo-code[1]
Algorithm 1. Pressure Equalizer (PE) Algorithm
Inputs:
- A transportation network (Graph(N,E)) with a set of graph-nodes N and edges E.
- A set of PE-nodes (service centers) S ⊂ N with their capacity C
- Every edge has a distance d(e)
Outputs: Capacity Constrained Network Voronoi Diagram (CCNV D)
Steps:
1: Compute all shortest distances from N to S.
2: Create Network Voronoi Diagram (NVD) and allot n ∈ N to the nearest service
center s ∈ S.
3: while Any PE-node s ∈ S has excess graph-nodes do
4: Create PE−Graph(S,Epe) where PE-edge epe ∈ Epe connects two adjacent SAs.
5: Find all boundary graph-nodes Nbdy ⊂ N and compute re-allotment cost for
Nbdy.
6: Find the best boundary graph-nodes Nbest−bdy ⊂ Nbdy.
7: Group all excess PE-nodes Sex ⊂ S with a super-source srcex and group all
deficit PE-nodes Sdf ⊂ S with a super-sink sinkdf .
8: Find the best PE-path p in terms of minimizing the sum of re-allotment costs
from srcex to sinkdf without fragmenting any service area (e.g., path and exit).
9: Re-allot the best boundary graph-nodes (nbest−bdy) on the best path p.
10: end while
11: return CCNVD. i.e, final allotment of graph-nodes to their service centers.
8. Capacity-Constrained Voronoi Diagram in Finite Spaces[4]
M. Balzer introduces an approach in [4] to generate Capacity-Constrained Voronoi Diagram in finite
spaces. The approach first arbitrarily partitions the graph, and then iteratively swap assignments of
points to sites based on an energy minimization that relates to the Voronoi diagram distance
function. The algorithm is proved to converge to a valid Voronoi diagram fulfilling the constraints.
9. Capacity-Constrained Voronoi Diagram in Continuous Spaces[5]
M. Balzer introduces two approaches in [5] to compute Capacity-Constrained Voronoi Diagram in
continuous space. One of the approaches is based on ordinary distance functions and meet the
constraints by a general optimization of the locations. The other utilizes weighted distance
functions and achieves the constraints by optimizing the weights.
10. References
[1] KwangSoo Yang, Apurv Hirsh Shekhar, Dev Oliver, Shashi Shekhar: Capacity-Constrained
Network-Voronoi Diagram: A Summary of Results. SSTD 2013: 56-73
[2] Advances in Spatial and Temporal Databases - 13th International Symposium, SSTD 2013 Munich,
Germany, August 2013 Proceedings
[3] http://en.wikipedia.org/wiki/Voronoi_diagram
[4] Balzer, M., "Capacity-Constrained Voronoi Diagrams in Continuous Spaces," Voronoi Diagrams,
2009. ISVD '09. Sixth International Symposium on , vol., no., pp.79,88, 23-26 June 2009
[5] Balzer, Michael. Capacity-constrained Voronoi diagrams in finite spaces. Bibliothek der
Universität Konstanz, 2008.
Download