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.