Abstract
This paper presents a novel Multi-criteria Optimal Location Query (MOLQ), which can be applied to a wide range of applications. After providing a formal definition of the novel query type, we propose an Overlapping Voronoi Diagram (OVD) model that defines OVDs and Minimum OVDs (MOVDs), and an OVD overlap operation. Based on the OVD model, we design advanced approaches to answer the query in Euclidean space. Due to the high complexity of Voronoi diagram overlap computation, we improve the overlap operation by replacing the real boundaries of Voronoi diagrams with their Minimum Bounding Rectangles (MBR). Moreover, if there are changes to a limited number of objects, re-evaluating queries over updated object sets would be expensive. Thus, we also propose an MOVD updating model and an advanced algorithm to incrementally update MOVDs to avoid the high cost of query re-evaluation. Our experimental results show that the proposed algorithms can evaluate the novel query type effectively and efficiently.
































Similar content being viewed by others
References
Aurenhammer F (1991) Voronoi diagrams–a survey of a fundamental geometric data structure. ACM Comput Surv 23(3):345–405
Aurenhammer F, Klein R, Lee D-T (2013) Voronoi diagrams and delaunay triangulations. World Scientific Publishing Co Inc
Bajaj CL (1988) The algebraic degree of geometric optimization problems. Discret Comput Geom 3:177–191
Boissonnat J-D, Delage C (2005) Convex Hull and Voronoi diagram of additively weighted points. In: ESA, pp 367–378
Chandrasekaran R, Tamir A (1990) Algebraic optimization: the Fermat-Weber location problem. Math Program 46:219–224
Cheema MA, Zhang W, Lin X, Zhang Y, Li X (2012) Continuous reverse k nearest neighbors queries in euclidean space and in spatial networks. VLDB J 21(1):69–95
Chen Z, Liu Y, Wong RC-W, Xiong J, Mai G, Long C (2014) Efficient algorithms for optimal location queries in road networks. In: SIGMOD conference, pp 123–134
Farhana M, Choudhury J, Culpepper S, Sellis T, Cao X (2016) Maximizing bichromatic reverse spatial and textual K nearest neighbor queries. PVLDB 9(6):456–467
de Berg M, Cheong O, van Kreveld M, Mark O (2008) Computational geometry: algorithms and applications, 3rd edn. Springer
Demiryurek U, Shahabi C (2012) Indexing network Voronoi diagrams. In: The 17th International conference on database systems for advanced applications, DASFAA, pp 526–543
Devillers O (2002) On deletion in Delaunay triangulations. Int J Comput Geom Appl 12(03):193–205
Dinis J, Mamede M (2011) Updates on Voronoi Diagrams. In: ISVD, pp 192–199
Dong P (2008) Generating and updating multiplicatively weighted Voronoi diagrams for point, line and polygon features in GIS. Comput Geosci 34(4):411–421
Du Y, Zhang D, Xia T (2005) The optimal-location query. In: SSTD, pp 163–180
Finke U, Hinrichs KH (1995) Overlaying simply connected planar subdivisions in linear time. In: Proceedings of the eleventh annual symposium on computational geometry. ACM, pp 119–126
Fortune S (1986) A sweepline algorithm for Voronoi diagrams. In: Proceedings of the second annual symposium on computational geometry. ACM, pp 313–322
Fortune S (1992) Numerical stability of algorithms for 2D delaunay triangulations. In: Proceedings of the eighth annual symposium on computational geometry, pp 83–92
Gao Y, Zheng B, Chen G, Li Q (2009) Optimal-location-selection query processing in spatial databases. IEEE Trans Knowl Data Eng 21(8):1162–1177
Ghaemi P, Shahabi K, Wilson JP, Banaei-Kashani F (2012) Continuous maximal reverse nearest neighbor query on spatial networks. In: ACM SIGSPATIAL, pp 61–70
Green PJ, Sibson R (1978) Computing Dirichlet tessellations in the plane. Comput J 21(2):168–173
Green PJ, Sibson R (1978) Computing Dirichlet tessellations in the plane. Comput J 21(2):168–173
Guibas L, Stolfi J (1985) Primitives for the manipulation of general subdivisions and the computation of Voronoi. ACM Trans Graph (TOG) 4(2):74–123
Guibas LJ, Knuth DE, Sharir M (1992) Randomized incremental construction of Delaunay and Voronoi diagrams. Algorithmica 7(1):381–413
Guibas LJ, Stolfi J (1985) Primitives for the manipulation of general subdivisions and computation of Voronoi diagrams. ACM Trans Graph 4(2):74–123
Haldane JBS (1948) Note on the median of a multivariate distribution. Biometrika 35:414–415
Harn P-W, Ji Z, Sun M-T, Ku W-S (2016) A framework for updating multi-criteria optimal location query. In: ACM SIGSPATIAL
Jalal G, Krarup J (2003) Geometrical solution to the fermat problem with arbitrary weights. Annals OR 123(1–4):67–104
Karavelas MI, Yvinec M (2002) Dynamic additively weighted Voronoi diagrams in 2D. In: ESA, pp 586–598
Korn F, Muthukrishnan S (2000) Influence sets based on reverse nearest neighbor queries. In: SIGMOD conference, pp 201–212
Korn F, Muthukrishnan S, Srivastava D (2002) Reverse nearest neighbor aggregates over data streams. In: VLDB, pp 814–825
Liu R, Fu AW-C, Chen Z, Huang S, Liu Y (2016) Finding multiple new optimal locations in a road network. In: ACM SIGSPATIAL
Mostafavi MA, Gold C, Dakowicz M (2003) Delete and insert operations in voronoi/delaunay methods and applications. Comput Geosci 29(4):523–530
Mu L (2004) Polygon characterization with the multiplicatively weighted Voronoi diagram. Prof Geogr 56(2):223–239
Ohya T, Iri M, Murota K (1984) Improvements of the incremental method for the Voronoi diagram with computational comparison of various algorithms. J Oper Res Soc Japan 27(4):306–336
Okabe A, Boots B, Sugihara K, Chiu SN (2000) Spatial tessellations: concepts and applications of Voronoi diagrams. Probability and statistics, 2nd edn. Wiley, NYC
Pagliara F, Preston J, David S (2010) Residential location choice: models and applications. Springer
Qi J, Zhang R, Kulik L, Lin D, Xue Y (2012) The min-dist location selection query. In: ICDE
Morris JG, Love RF, Wesolowsky GO (1988) Facilities location models and methods
Stanoi I, Riedewald M, Agrawal D, El Abbadi A (2001) Discovery of influence sets in frequently updated databases. In: VLDB, pp 99–108
Sugihara K, Iri M (1992) Construction of the Voronoi diagram for’one million’generators in single-precision arithmetic. Proc IEEE 80(9):1471–1484
Tao Y, Papadias D, Lian X (2004) Reverse kNN search in arbitrary dimensionality. In: VLDB, pp 744–755
Tao Y, Papadias D, Lian X, Xiao X (2007) Multidimensional reverse k NN search. VLDB J 16(3):293–316
Tao Y, Yiu ML, Mamoulis N (2006) Reverse nearest neighbor search in metric spaces. IEEE Trans Knowl Data Eng 18(9):1239–1252
Üster H, Love RF (2002) A generalization of the rectangular bounding method for continuous location models. Comput Math Appl 44(1–2):181–191
Vardi Y, Zhang C-H (2001) A modified Weiszfeld algorithm for the Fermat-Weber location problem. Math Program 90:559–566
Verkhovsky BS, Polyakov YS (2003) Feedback algorithm for the single-facility minisum problem. Ann Europ Acad Sci 1:127–136
Weisbrod G, Ben-Akiva M, Lerman S (1980) Tradeoffs in residential location decisions: transportation versus other factors. Transp Polic Decis-Making, 1(1)
Weiszfeld E, Plastria F (2009) On the point for which the sum of the distances to n given points is minimum. Annals OR 167(1):7–41
Xia T, Zhang D, Kanoulas E, Du Y (2005) On computing top-t most influential spatial sites. In: VLDB, pp 946–957
Xiao X, Yao B, Li F (2011) Optimal location queries in road network databases. In: ICDE, pp 804–815
Yang C, Lin K-I (2001) An index structure for efficient reverse nearest neighbor queries. In: ICDE, pp 485–492
Yao B, Xiao X, Li F, Wu Y (2014) Dynamic monitoring of optimal locations in road network databases. In: VLDB, pp 697–720
Yiu ML, Papadias D, Mamoulis N, Tao Y (2006) Reverse nearest neighbors in large graphs. IEEE Trans Knowl Data Eng 18(4):540–553
Zhang D, Du Y, Xia T, Tao Y (2006) Progressive computation of the min-dist optimal-location query. In: VLDB, pp 643–654
Ji Z, Ku W-S, Jiang X, Qin X, Sun M-T, Lu H (2015) A framework for multi-criteria optimal location selection. In: ACM SIGSPATIAL
Ji Z, Ku W-S, Sun M-T, Qin X, Lu H (2014) Multi-criteria optimal location query with overlapping Voronoi diagrams. In: EDBT, pp 391–402
Acknowledgments
This research has been funded in part by the U.S. National Science Foundation grants IIS-1618669 (III) and ACI-1642133 (CICI).
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendix
Appendix
1.1 A.1 More OVD/MOVD properties
A number of OVD/MOVD properties can be derived from the OVD/MOVD definitions. These properties are the basis of the OVD/MOVD model utilized in our MOVD-based solution.
Theorem 7
\(|MOVD(\mathbb {E})| \leq |OVD(\mathbb {E})|\) = \({\prod }_{P_{i} \in \mathbb {E}} |P_{i}|\) .
By Eq. 19, OVRs are generated by a combination of selected Voronoi regions. The number of OVRs in \(OVD(\mathbb {E})\) is the product of the number of Voronoi regions in these Voronoi diagrams. Because all the possible empty sets have been removed, the size of \(MOVD(\mathbb {E})\) is less than or equal to \(OVD(\mathbb {E})\).
Theorem 8
Any MOVD fully covers the entire search space \(\mathbb {R}\) .
Proof
This theorem can be proved by contradiction. Assume that \(\exists q \in \mathbb {R}\), but \(q \notin MOVD(\mathbb {E})\). Then, by the property of Voronoi diagram, \(\forall P_{i} \in \mathbb {E}\), ∃pi ∈ Pi, q ∈ Dom(pi). By the definition of MOVD (19), q ∈ MOVD(E), which contradicts with the assumption that \(q \notin MOVD(\mathbb {E})\). This completes the proof. □
1.2 A.2 Algebraic structure of MOVD
After theoretically introducing the OVD/MOVD model, we will mainly focus on the overlap operation. We create an algebraic structure of MOVD by exploring MOVD space under the overlap operation and discuss its properties. The implementation details of the operation will be presented in Section 6.
1.2.1 A.2.1 MOVD space
MOVD space is a universal set of MOVDs that are fed into and produced by the overlap operation. Given a universal set of object sets \(\mathbb {E}=\{P_{1},...,P_{n}\}\), the universal set of MOVD(\(\mathbb {E}\)) is defined as
Take \(\mathbb {E}=\{P_{1},P_{2}\}\) for example, Ei is a subset of \(\mathbb {E}\). Ei could be ∅, {P1}, {P2}, or {P1, P2}. So, the universal space of MOVDs of \(\mathbb {E}\) is {MOVD(∅), MOVD({P1}), MOVD({P2}), MOVD({P1,P2})}.
Theorem 9
The overlapping area of two different OVRs is a subset of their common boundaries.
Proof
By Eq. 19, an OVR is the overlapping region of {\(Dom({p_{1}^{u}})\), ..., \(Dom({p_{n}^{v}})\)}. If we have two OVRs from an OVD such that \(OVR=\bigcap _{{p_{i}^{s}} \in \{{p_{1}^{u}},...,{p_{n}^{v}}\} } Dom({p_{i}^{s}})\), and \(OVR^{\prime }=\bigcap _{p_{i}^{s^{\prime }} \in \{p_{1}^{u^{\prime }},...,p_{n}^{v^{\prime }}\}} Dom(p_{i}^{s^{\prime }})\), then the overlapping area of OVR and OVR′ is
According to the properties of Voronoi diagrams, \(Dom({p_{i}^{s}})\) ∩ \(Dom(p_{i}^{s^{\prime }})\), where \({p_{i}^{s}} \neq p_{i}^{s^{\prime }}, \ {p_{i}^{s}}, \ p_{i}^{s^{\prime }} \in P_{i}\), is either their common boundaries or an empty set. Moreover, if OVR and OVR′ are different, there must exist a \({p_{i}^{s}}\) and \(p_{i}^{s^{\prime }}\) that are different. The boundaries of an OVR are comprised of the boundaries of corresponding Voronoi regions. Hence, the overlapping region of OVR and OVR′ is a subset of their common boundaries. □
Theorem 10
When \(\mathbb {E}\) is made up of only one object set \(\mathbb {E}=\{P\}\) , then
Proof
This theorem is straightforward. If \(\mathbb {E}\) has only one object set P, there is no other Voronoi diagram overlapped on VD(P). Obviously VD(P) does not have any empty regions. \(OVD(\mathbb {E})\) and \(MOVD(\mathbb {E})\) are identical to VD(P). This theorem not only states an extreme case of definitions, but also highlights basic units in the OVD/MOVD model. All OVDs are generated from these building blocks. □
Theorem 11
Given a type weight functionσt,object weight functionsσ=\(\{{\sigma ^{o}_{1}},...,{\sigma ^{o}_{n}}\}\),and a point q in OVR (\({p_{1}^{u}},...,{p_{n}^{v}}\)),the total weighted distance from q to the corresponding objectgroup\(G=\{{p_{1}^{u}},...,{p_{n}^{v}}\}\)isthe minimum weighted distance from q to all object combinationsG′,whereG′∈ P1 × ... × Pn.
Proof
If VD(P1) is generated by P1 and the weight function \({\sigma _{1}^{o}} \in \sigma \), a point q in \(OVR({p_{1}^{u}},...,{p_{n}^{v}})\) must fall in \(Dom({p_{1}^{u}})\) of VD(P1) so that \({p_{1}^{u}}\) is the closest point in P1 to q. WD(q, \({p_{1}^{u}}\), σt, \({\sigma ^{o}_{1}}\)) is the minimum weighted distance from q to any points in P1. We can get the same result in other sets \(P_{i} \in \mathbb {E}\). After summing them up, we obtain Theorem 11 that WGD(q,G,σt,σ) has the minimum distance. □
Theorem 12
An OVR may have one or more generators, or may not have any generators.
Proof
The overlapping operation decomposes Voronoi cells into smaller subregions. A generator can only fall in one subregion, and other subregions do not have any generators. It is possible that two generators from two Voronoi diagrams may be in the same subregion. For example, in Fig. 5c, p1 and q1 are in the top-left subregion, and the doubly shaded subregion does not have any generators. □
Theorem 13
\(|MOVD(\mathbb {E})|\)isbigger than or equal to |VD(Pi)|,where\(P_{i} \in \mathbb {E}\).
Proof
Overlapping two Voronoi diagrams is a process in which one Voronoi diagram is decomposed by another Voronoi diagram. Each Voronoi region is divided into a number of subregions, unless two Voronoi regions from different VDs are exactly the same, or one region contains the other. In these extreme cases, the Voronoi region remains unchanged. Thus, after overlapping Voronoi diagrams, the number of overlapping regions in an MOVD is either greater than or equal to the basic Voronoi diagrams. □
Theorem 14
The number of MOVDs existing in the universal space is as follows:
Proof
By definition, MOVD space consists of a number of MOVDs, each of which is generated by a subset of \(\mathbb {E}\); thus the number of MOVDs in the space equals the number of subsets in \(\mathbb {E}\), which is presented as Eq. 39. The case that i equals 0 indicates a special subset, the empty set, defined in Eq. 21. □
1.3 A.3 ⊕ operation properties
By properties of the union operation on sets, we can obtain the following three laws.
Theorem 15
Idempotent Law
Proof
By the idempotent law of union operation on sets, \(MOVD(E_{i} \bigcup E_{i})\) is equal to MOVD(Ei). Thus, overlaying two identical MOVDs produces the MOVD itself. □
Theorem 16
Commutative Law
Proof
By the commutative law of union operation on sets, \(MOVD(E_{i} \bigcup E_{j})\) is equal to \(MOVD(E_{j} \bigcup E_{i})\). Thus, swapping two operands does not change the result. □
Theorem 17
Associative Law
Proof
By the associative law of union operation on sets, MOVD ((Ei\(\bigcup \)Ej) \(\bigcup \)Ek) is equal to \(MOVD (E_{i} \bigcup (E_{j} \bigcup E_{k}))\). Thus, ⊕ operation can be performed in any order without ambiguity. □
Corollary 1
MOVD( E i ), where \(E_{i} \subseteq \mathbb {E}\) , is unique.
Proof
According to the commutative and associative laws of operation ⊕, the order of overlapping Voronoi diagrams does not cause the result to change. Thus MOVD(Ei) is unique. □
Theorem 18
MOVD(∅) is an identity element.
Proof
MOVD(∅) equals \(\{\mathbb {R}\}\) such that it leaves MOVDs unchanged under operation ⊕. The following equation can be easily proved by the definition of ⊕.
□
Theorem 19
Closure: the universal MOVD space of\(\mathbb {E}\)isclosed under operation ⊕.
Proof
By definition, given any MOVD(Ei) and MOVD(Ej), where \(E_{i},E_{j} \subseteq \mathbb {E}\), the result of overlapping them is MOVD(Ei ∪ Ej). Ei ∪ Ej is still a subset of \(\mathbb {E}\), so the result is an element of \(U(MOVD(\mathbb {E}))\). □
Definition 1
Sequential Overlap Operations
Definition 2
Partial Order
If MOVD(Ei) = MOVD(Ej) ⊕ MOVD(Ek) then,
The partial order definition formalizes a comparison model for evaluating how much information MOVDs maintain. In Eq. 45, MOVD(Ei) is generated by MOVD(Ej) and MOVD(Ek). MOVD(Ei) has more information (i.e., objects) than either MOVD(Ej) or MOVD(Ek). We use \(\gtrdot \) to denote the relationship.
Theorem 20
MOVD(Ei) ⊕ MOVD(Ej) =MOVD(Ei) ifMOVD(Ei) \(\gtrdot \)MOVD(Ej).
Proof
The following equation proves Theorem 20 by applying the partial order definition that decomposes MOVD(Ei) into MOVD(Ej) and MOVD(Ek), and the commutative and idempotent laws of operation ⊕. □
1.4 A.4 Analysis of object insertion operation to an MOVD
Since \(MOVD(\mathbb {E})\) would be more complex than MOVD({Q}), the proposed algorithms would be dominated by updating \(MOVD(\mathbb {E})\) rather than updating MOVD({Q}) in most cases. To accurately estimate the cost of MOVD updating algorithms, we further explore the object insertion operation over ordinary MOVDs (generated from ordinary Voronoi diagrams) after MOVD({Q}) has been updated. An alternative OVR merging method can be used in the insertion algorithm, the computational complexity of which is bounded at 3 × I (See Corollary 3). In addition, we also find that the computational complexity of the object deletion algorithm over general MOVDs can be bounded at O(I), where I denotes the number of OVRs in the dominance region of the deleted object, because every updated OVR is only needed to merge with at most one of its neighbor OVRs (See Theorem 22).
In this section, all the following theoretical analysis and examples are presented in a 2-dimensional space; however, they can be extended to higher-dimensional spaces in similar methods. We use \(\mathcal {S}\) to denote a subdivision of a search space \(\mathbb {R}\). We assume that \(\mathcal {S}\) can be abstracted by a set of vertices and line segments. \(\mathcal {V}\), \(\mathcal {E}\), and \(\mathcal {F}\) are used to denote the sets of vertices, edges, and faces in \(\mathcal {S}\). \(\mathcal {V^{\ast }}\) and \(\mathcal {E^{\ast }}\) indicate vertices and edges of \(\mathcal {S}\) in a convex set \(\mathcal {C}\). \(\mathcal {F^{\ast }}\) contains faces of \(\mathcal {S}\) overlapping \(\mathcal {C}\).
Lemma 1
Given a convex set \(\mathcal {C}\) in a search space and a subdivision \(\mathcal {S}\) of the space, let \(\mathcal {W^{\ast }}\) be the set of intersection points of \(\mathcal {S}\) and \(\mathcal {C}\) , \(\mathcal {V^{\ast }}\) be the vertices of \(\mathcal {S}\) in \(\mathcal {C}\) ( \(\mathcal {V^{\ast }}=\{v \in \mathcal {V} \ | \ v\) is inside \(\mathcal {C}\}\) ), and \(\mathcal {F^{\ast }}\) be the set of faces overlapped with \(\mathcal {C}\) ( \(\mathcal {F^{\ast }} = \{f \in \mathcal {F} \ | \ f\) overlaps \(\mathcal {C}\}\) ), if the degree of all vertices of \(\mathcal {S}\) is 3 ( \(deg(v) = 3, v \in \mathcal {V}\) ), then \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}| \leq 2 (|\mathcal {F^{\ast }}|-1)\) .
Lemma 1 cannot be applied to non-convex sets because a line of the subdivision may intersect with the boundary of a non-convex set at two or more points. \(|\mathcal {W^{\ast }}|\) may go up to infinity in extreme cases, and the upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\) does not exist. Figure 33 shows an example of Lemma 1, in which the search space is decomposed by an ordinary Voronoi diagram. We assume that the degree of all vertices in the figure is 3. The figure also shows a convex polygon \(\mathcal {C}\) as an example of convex sets, which intersects with the subdivision at \(\mathcal {W^{\ast }}=\{w_{1}, w_{2}, w_{3}, w_{4}\}\). v1 and v2 are two vertices inside \(\mathcal {C}\) (\(\mathcal {V^{\ast }}=\{v_{1}, v_{2}\}\)). The faces overlapping \(\mathcal {C}\) are \(\mathcal {F^{\ast }}\) = {Dom(p2), Dom(p3), Dom(p5), Dom(p6)}.
Proof
We prove this lemma using Euler’s formula, which states that v − e + f = 2 is always held for any connected planar graph with v vertices, e edges, and f faces. As shown in Fig. 34, we create a space \(\mathbb {R^{\prime }}\), which is limited by the boundary of the convex polygon \(\mathcal {C}\). All edges inside the polygon are edges in the space \(\mathbb {R^{\prime }}\). v1 and v2 are two inner vertices in \(\mathbb {R^{\prime }}\), and w1, w2, w3, and w4 are four vertices on the boundary of \(\mathbb {R^{\prime }}\). Euler’s formula cannot be applied directly to the subdivision in \(\mathbb {R^{\prime }}\) due to the existence of half-infinite edges [3]. Thus, we create an extra vertex v∞, which connects to the boundary points \(\mathcal {W^{\ast }}\), to convert the subdivision to a connected planar graph. Since each edge connects two vertices, the number of edges is equal to the half of the total degree of all vertices in \(\mathbb {R^{\prime }}\) (the number of edges is \(\frac {2 |\mathcal {W^{\ast }}| + 3 |\mathcal {V^{\ast }}| + deg(v_{\infty })}{2}\)). Then, according to Euler’s formula,
where “1” indicates the vertice v∞ and \(deg(v_{\infty }) = |\mathcal {W^{\ast }}|\). Finally, we obtain \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}| = 2 (|\mathcal {F^{\ast }}|-1)\) by simplifying (47). Moreover, the convex set \(\mathcal {C}\) may intersect with the subdivision at vertex v2 instead of w4, and there is one less boundary point in this case. To take the case into account, v2 is considered as an inner vertex because its degree is 3; while the degree of boundary points is always 2. Therefore, \(2 (|\mathcal {F^{\ast }}|-1)\) is an upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\), and this concludes the proof. □
Take Fig. 33 for example, there are four boundary points (\(\mathcal {W^{\ast }}=\{w_{1}, w_{2}, w_{3}, w_{4}\}\)), two inner vertices (\(\mathcal {V^{\ast }}=\{v_{1}, v_{2}\}\)), and four faces (\(\mathcal {F^{\ast }}\) = {Dom(p2), Dom(p3), Dom(p5), Dom(p6)}) overlapping with \(\mathcal {C}\). Thus, Lemma 1 is held in this example.
Theorem 21
Given a subdivision\(\mathcal {S}\)ina search space, a convex set\(\mathcal {C}\),and a space\(\mathbb {R^{\prime }}\)in\(\mathcal {C}\),the degree of vertices in the subdivision would range from 3 to k.Let\(\mathcal {V}_{i}^{\ast }\)denotethe set of vertices with degree i inside\(\mathcal {C}\),where 3 ≤ i ≤ k(\(|\mathcal {V^{\ast }}|\)=\({\sum }_{i = 3}^{k}|\mathcal {V}_{i}^{\ast }|\)),and\(\mathcal {F^{\ast }}\)bethe set of faces overlapping\(\mathcal {C}\),then
Proof
Similarly with the proof with Lemma 1, Euler’s formula can be applied to the cases presented in Theorem 21 by adding v∞. The difference is that the degree of vertices inside \(\mathcal {C}\) may be greater than 3; but the degree of boundary points in \(\mathcal {W^{\ast }}\) are still fixed at 2, and \(deg(v_{\infty }) = |\mathcal {W^{\ast }}|\) is also held. Thus, the total degree of vertices and boundary points is \(2 |\mathcal {W^{\ast }}| + deg(v_{\infty }) + {\sum }_{i = 3}^{k}(i \times |\mathcal {V}_{i}^{\ast }|)\), and the number of edges in \(\mathbb {R^{\prime }}\) is the half of the total degree. According to Euler’s formula, we get
Moreover, there might be less boundary points in \(\mathcal {W^{\ast }}\) in the cases when \(\mathcal {C}\) intersects with \(\mathcal {S}\) at inner vertices. Thus, after simplifying (49), we get (48), and this concludes Theorem 21. □
Theorem 21 studies the relation between vertices and faces in the overlapping region of a convex set and a subdivision. In Corollary 2, we will explore a specific case that a convex polygon overlaps a subdivision, and analyze the upper bound of the number of vertices and edges in the overlapping region.
Corollary 2
Given a subdivision\(\mathcal {S}\)ofa search space, in which the degree of vertices ranges from 3 to k,let\(\mathcal {F^{\ast }}\)bethe set of faces overlapping a convex polygon\(\mathcal {C}\)of m vertices, then the convex polygon contains atmost\( m + 2(|\mathcal {F^{\ast }}|-1)\)verticesand\(m + 3(|\mathcal {F^{\ast }}|-1)\)edges.
Proof
Similarly, we first create a vertex v∞ to convert the subdivision in the convex polygon to a connected planar graph. v∞ is connected to all boundary points in \(\mathcal {W^{\ast }}\) in the convex polygon, shown in Fig. 34. According to Theorem 21, we can get an upper bound of \(|\mathcal {W^{\ast }}| + |\mathcal {V^{\ast }}|\) in Eq. 48. Then, we create a new graph that consists of the inner vertices in \(\mathcal {V^{\ast }}\), inner edges, boundary points in \(\mathcal {W^{\ast }}\), vertices of \(\mathcal {C}\), and the boundary of \(\mathcal {C}\). v∞ is not included in the graph. For example, the new graph in Fig. 34 is made up of all vertices and edges in \(\mathcal {C}\) and on the boundary of C. The degree of inner vertices ranges from 3 to k; the degree of boundary points is always 3 in the graph (w1 connects to w2, v1, and b1), and the degree of vertices of the polygon ({b1,b2,b3,b4,b5}) is 2. Then, the total degree of all vertices in the new graph is \(2 m + 3 |\mathcal {W^{\ast }}| + {\sum }_{i = 3}^{k} (i \times |\mathcal {V}_{i}^{\ast }|)\). Thus, the number of edges in the graph is
By Theorem 21, the total number of vertices in \(\mathcal {C}\) is
Equations 50 and 51 conclude Corollary 2. Equations 50 and 51 are also held in cases if any point in \(\mathcal {W^{\ast }}\) happens to be a vertex of \(\mathcal {C}\), because the two upper bounds do not change in the cases. □
Since each boundary point breaks a line on the boundary of \(\mathcal {C}\) into two line segments, and the number of sides of \(\mathcal {C}\) is equal to the number of vertices of \(\mathcal {C}\), so the number of line segments on the boundary of \(\mathcal {C}\) is \(m + |\mathcal {W^{\ast }}|\), and the number of inner edges inside \(\mathcal {C}\) (the line segments on the boundary are excluded) is
If Corollary 2 is applied to the proposed MOVD updating operations, we can get the following corollary, in which MOVDs are considered as examples of subdivisions in a search space and the dominance region of an updated object is a convex polygon in ordinary MOVDs.
Corollary 3
Given an\(MOVD(\mathbb {E})\),a Voronoi diagramVD(Q) (\(Q \in \mathbb {E}\)),and an object q that is needed to insert into or deletefrom\(MOVD(\mathbb {E})\),letDom(q) be the dominance region of q after the insertion or before the deletion, thenDom(q) contains at most
where m is the number of vertices of Dom(q), \(\mathcal {F^{\ast }}\) denotes the set of OVRs overlapping Dom(q) in \(MOVD(\mathbb {E})\), and \(\mathcal {V}_{i}^{\ast }\) indicates the set of vertices with degree i inside Dom(q). The upper bound of the number of inner edges in Dom(q) (derived from Eq. 52) is
In addition to the analysis of the computational complexity of the proposed MOVD updating algorithms in Sections 7.3.2 and 7.3.3, Corollary 3 provides us with an upper bound of the computational complexity of ordinary MOVD updating. In the object insertion operation, the dominance region of an inserted object q and its neighbor OVRs are found by detecting the boundary points. The cost of the detection process is proportional to the total number of the boundary points and the number of vertices of Dom(q). When merging OVRs in the final step, we have analyzed the cost of one possible method that checks every pair of neighbor OVRs. The cost of the method is O(C × I), where C denotes the average number of neighbor OVRs of a given OVR, and I denotes the average number of OVRs in Dom(q). However, an alternative OVR merging method (for ordinary MOVDs) is iterating all the edges in Dom(q). Two OVRs will be merged if they share an edge and their group objects. Thus, the cost of the second OVR merging method is proportional to the number of inner edges in Dom(q), the upper bound of which is 3 × I specified in Eq. 54.
If an object p is deleted from an MOVD, the computational complexity of the object deletion algorithm is also bounded by O(C × I) at average cases, because every OVR inside Dom(q) is detected to merge with its neighbor OVRs outside Dom(q). If two OVRs have the same object group, they are merged in the deletion operation (See line 19 in Algorithm 8). However, we observe that, for any given OVR inside Dom(q), there is at most one neighbor OVR outside Dom(q) needed to merge with the given OVR. All other neighbor OVRs inside Dom(p) cannot share object groups with the given OVR, because they have been associated with different objects before deletion.
Lemma 2
Given anMOVD(E),whereE = {P1,...,Pn},and an object\({p_{i}^{k}} \in P_{i}\),Pi ∈ E,if\({p_{i}^{k}}\)isdeleted fromMOVD(E),then ∀ ovr inside\(Dom({p_{i}^{k}})\),there is at most one OVR needed to merge with ovr at line 19 in Algorithm8.
Proof
When the algorithm reaches line 19, given two updated OVRs, ovr and ovr′, there are two possible cases: (1) both ovr and ovr′ are in \(Dom({p_{i}^{k}})\). In this case, ovr and ovr′ are not merged, because they cannot share an object group. By the definition of MOVD, ovr and ovr′ are two OVRs before deletion; there must exist an object type j (j≠i); \({p_{j}^{s}}\) in the object group of ovr is different from \({p_{j}^{t}}\) in the object group of ovr′. Moreover, since there is not any object in Pj removed during the deletion operation, \({p_{j}^{s}}\) and \({p_{j}^{t}}\) are still in the object groups of ovr and ovr′ after deletion. Thus, ovr and ovr′ cannot be merged in the deletion operation. (2) if ovr is inside \(Dom({p_{i}^{k}})\) but ovr′ is outside \(Dom({p_{i}^{k}})\), Theorem 2 is also held, and the proof is by contradiction as follows. We assume that ovr is needed to merge with two OVRs, ovr′ and ovr″, outside \(Dom({p_{i}^{k}})\). Apparently, object groups of the three OVRs are the same after deletion. The deleted object \({p_{i}^{k}}\) is not in the object group of ovr′ or ovr″, and object groups of ovr′ and ovr″ do not change during the deletion. However, ovr′ and ovr″ are two OVRs outside \(Dom({p_{i}^{k}})\) before deletion; by the definition of MOVD, the object group of ovr′ must be different from that of ovr″, which contradicts with our assumption. Thus, there is at most one OVR needed to merge with ovr, and this concludes the proof. □
Moreover, from line 11 to 17 in Algorithm 8, we calcuate the boundaries of OVRs after q is removed from MOVD({Q}). The neighbor OVRs of q in MOVD({Q}) are kept in Updated_OVRs and all OVRs of MOVD(E) inside Dom(q) are in Removed_OVRs. Calculating the overlapping region of each pair of these OVRs are not necessary. The overlapping relation among these OVRs can be established when MOVD({Q}) is updated in line 9 and 10, because the new boundaries of OVRs in Updated_OVRs will go inside the OVRs in Removed_OVRs if they overlap with each other. Thus, we can obtain Lemma 3.
Lemma 3
Given anMOVD(E) and an object\({p_{i}^{k}}\)deletedfromMOVD(E),the number of times the overlapping region is calculated at line 12 in Algorithm8 is|MOVD(E)| in the worst case, where |MOVD(E)| denotes the number of OVRs inMOVD(E).
With Lemma 2 and 3, we get Theorem 22 as follows.
Theorem 22
Given anMOVD(E) and an object\({p_{i}^{k}}\)deletedfromMOVD(E),the computational complexity of Algorithm8 is |MOVD(E)| in the worst case, where |MOVD(E)| = nt, n denotes the number of objects in each type and t denotes the number of object types.
Rights and permissions
About this article
Cite this article
Zhang, J., Harn, PW., Ku, WS. et al. An overlapping Voronoi diagram-based system for multi-criteria optimal location queries. Geoinformatica 23, 105–161 (2019). https://doi.org/10.1007/s10707-018-00338-7
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10707-018-00338-7