The MaxBRNN problem finds a region such that setting up a new service site within this region would guarantee the maximum number of customers by proximity. This problem assumes that each customer only uses the service provided by his/her nearest service site. However, in reality, a customer tends to go to his/her k nearest service sites. To handle this, MaxBRNN can be extended to the MaxBRkNN problem which finds an optimal region such that setting up a service site in this region guarantees the maximum number of customers who would consider the site as one of their k nearest service locations. We further generalize the MaxBRkNN problem to reflect the real world scenario where customers may have different preferences for different service sites, and at the same time, service sites may have preferred targeted customers. In this paper, we present an efficient solution called MaxFirst to solve this generalized MaxBRkNN problem. The algorithm works by partitioning the space into quadrants and searches only in those quadrants that potentially contain an optimal region. During the space partitioning, we compute the upper and lower bounds of the size of a quadrant's BRkNN, and use these bounds to prune the unpromising quadrants. Experiment results show that MaxFirst can be two to three orders of magnitude faster than the stateof-the-art algorithm.
I. INTRODUCTIONReverse Nearest Neighbor (RNN) and Bichromatic RNN (BRNN) queries (and their variants RkNN and BRkNN) have attracted much research attention [10], [11], [12], [1], [3], [15], [8], [14]. The optimal location problem [6] and the MaxBRNN problem [5], [13] are defined using BRNN queries.Given a set of objects O and a set of objects P in space S, a BRNN query [9] issued by an object p ∈ P finds the set of objects in O for which p is their nearest neighbor in P. The optimal location problem [6] aims to find a location point that maximizes the number of objects returned by BRNN. The MaxBRNN problem [5], [13], which is also called the optimal region problem, is to find the region Q such that any point in Q is an optimal location point.The MaxBRNN problem has many interesting applications. For example, given a set of customers and a set of service sites (e.g. base stations), MaxBRNN finds a region such that setting up a new service site within this region would guarantee the maximal number of customers by proximity.The state-of-the-art algorithm MaxOverlap [13] uses a technique called region-to-point transformation to solve the MaxBRNN problem. Each service site has a sphere of influence denoted by the nearest location circle (NLC). The MaxOverlap algorithm assumes that each NLC intersects with