A platform benefit driven online dispatching method for online car hailing under position noise disturbance

CN116090589BActive Publication Date: 2026-09-29SOUTHEAST UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210971976.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-08-14
Publication Date
2026-09-29
Estimated Expiration
2042-08-14

AI Technical Summary

Technical Problem

主要解决了位置噪声影响下,网约车应用中的乘客请求和司机的实时匹配问题

Benefits of technology

[0019]1)本发明充分利用了网约车平台已有的历史请求数据,从中获取请求的历史位置分布,并抽象出二部图,相较于最近邻匹配或是随机匹配等短视方法具有更好的性能表现;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116090589B_ABST
    Figure CN116090589B_ABST
Patent Text Reader

Abstract

The application firstly models online matching of online car-hailing request with bipartite graph, and carries out offline initialization: setting LP constraint condition with system revenue as optimization target; initializing existence probability of all edges in bipartite graph as 1; establishing coefficient matrix, and using simplex method to obtain numerical solution of LP, then, online arrival of passenger request: adding noise obeying Laplace distribution to starting point and terminal point of request, and sending request to online car-hailing platform, finally, online car-hailing platform matches driver for request: calculating normalized probability vector based on numerical solution of LP, and randomly selecting a driver according to probability, and updating edge existence probability according to matching result. The application considers sensitivity of location information to passenger, protects location information of passenger, simultaneously can reduce influence brought by location noise as much as possible, improves practicability of matching algorithm, and can bring greater economic benefit for online car-hailing platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to stochastic algorithms, probability distributions, and graph theory. It abstracts a bipartite graph problem from the ride-hailing matching problem and creates an LP model; it adds Laplace distribution noise to passenger requests; and it designs allocation schemes based on the LP solution. This invention belongs to the fields of optimization decision-making, artificial intelligence, and operations research. Background Technology

[0002] Since the beginning of the 21st century, mobile devices and wireless communication technologies have experienced rapid growth and development. The penetration rate of mobile smart devices has greatly increased, and various mobile applications that provide internet services based on user location have emerged continuously. Ride-hailing is a typical location-based service application, bringing convenience to people's daily travel while also driving huge economic benefits.

[0003] The ride-hailing app market is vast, and ride-hailing companies all offer related applications. For ride-hailing platforms, passenger requests are not known in advance, and the online arrival process of a request is highly uncertain. The primary service provided by ride-hailing platforms is to assign a suitable driver to a passenger's ride request. This assignment decision should be real-time and should not take too long. Furthermore, once the assignment decision is made, it cannot be changed; that is, once a request is assigned to a specific driver, the platform cannot revoke the assignment.

[0004] The allocation problem can often be modeled using a bipartite graph. Drivers and trip requests are represented as two separate entities, distributed on opposite sides of the bipartite graph, with drivers typically considered as a resource to be allocated. If a type of request can be allocated to a certain type of driver, then an edge connects them in the bipartite graph. Many excellent algorithms, such as the Hungarian algorithm and the KM algorithm, have been proposed for matching problems in bipartite graphs, demonstrating good performance. However, these algorithms are only suitable for offline scenarios. The ride-hailing matching problem is an online allocation problem. At the start of allocation, the entire structure of the bipartite graph cannot be determined, meaning it's impossible to predict which requests will arrive online next. Decisions must be made based on limited known data, making offline matching algorithms unsuitable in this situation.

[0005] Several scholars have proposed methods to address the online ride-hailing problem. For example, the rank-based algorithm uses a priority level table for online decision-making; the Feldman algorithm utilizes the idea of ​​maximum network flow to optimize the online allocation scheme from a global perspective. However, directly applying these algorithms to the ride-hailing scenario often fails to achieve good performance because they do not consider the noise introduced by location privacy protection in ride-hailing matching. Location data, as a type of privacy data, is highly valued by most ride-hailing users. Therefore, in practical ride-hailing applications, the origin and destination of a user's ride request are usually processed by adding noise (such as Laplace noise) before being uploaded to the ride-hailing platform. If the received location information is simply treated as the actual location information, allocation is likely to fail. For instance, if the driver assigned by the platform is close to the user's noise-added origin but far from the user's actual origin, the allocation may result in a long wait time, and the user is likely to cancel the request.

[0006] In this invention, we abstract a bipartite graph from the online ride-hailing allocation problem, perform a series of initializations and establish a logistic function (LP), construct a coefficient matrix and solve it using the simplex method, add noise to online arrival requests and send them to the platform, the platform calculates a normalized probability vector based on the noisy requests and the numerical solution of the LP, and randomly selects a driver according to the probability, and updates the edge existence probability in the bipartite graph according to the matching result. This method can protect the user's location privacy and achieve efficient matching under this premise, bringing greater economic benefits to the platform. Summary of the Invention

[0007] Technical Problem: The online matching method for ride-hailing requests proposed in this invention is driven by platform efficiency. It establishes a bipartite graph and a logistic regression (LP) model on the offline side based on historical request distribution information, and uses the numerical solution of the LP to guide online request allocation. It primarily solves the problem of real-time matching of passenger requests and drivers in ride-hailing applications under the influence of location noise. With increasing emphasis on privacy and security, location privacy is also a crucial factor for passengers. If request allocation efficiency can be maximized while protecting passenger location privacy using noise, it will bring significant benefits to the platform and give it a market advantage. On the offline side, a bipartite graph is abstracted from the historical request distribution, and an LP is created with the goal of maximizing system benefits. Then, a coefficient matrix is ​​established, and the numerical solution of the LP is obtained using the simplex algorithm, completing the offline side. On the online side, for passenger requests arriving online, noise following a Laplace distribution is added to the start and end points of the request, and the noisy request is sent to the platform. Based on the numerical solution of the LP and the noisy request, the platform selects drivers connected to the noisy request from the bipartite graph and calculates normalized probability vectors for these drivers. Finally, a driver is randomly selected for matching according to the normalized probability vector, and the edge existence probability in the bipartite graph is updated based on whether the matching result is successful.

[0008] This invention makes full use of the location distribution information observed in historical request data, which protects users' location privacy to a certain extent. On this basis, it reduces the impact of location noise on matching, solves the problem of efficient online matching of ride-hailing requests under location noise, and can bring higher revenue to ride-hailing platforms.

[0009] To achieve the above objectives, the technical solution of the present invention is as follows, and the process of the online matching method for ride-hailing requests described in the present invention is as follows:

[0010] Step 1) Obtain the location distribution of historical requests based on the information of historical requests, and abstract a bipartite graph;

[0011] Step 2) Based on the request-type nodes and driver-type nodes of the bipartite graph, establish the LP with the goal of optimizing system revenue;

[0012] Step 3) Establish the coefficient matrix and use the simplex method to obtain the numerical solution of LP, denoted as .

[0013] Step 4) Passenger requests online arrival. The local noise-adding module adds Laplace noise to the origin and destination of the passenger request, outputs the noisy passenger request, and sends it to the ride-hailing platform;

[0014] Step 5) Based on the numerical solution of LP and the noise request, the platform selects the driver class connected to the noise request class from the bipartite graph, and calculates the normalized probability vector for these driver classes.

[0015] Step 6) The platform randomly selects a driver class for matching based on the normalized probability vector;

[0016] Step 7) Update the edge existence probability in the bipartite graph based on whether the matching was successful or not (whether it was canceled). If the cumulative update count reaches a specified value, recalculate the numerical solution of LP and reset the cumulative update count to 0.

[0017] Step 8) If there are still unmatched requests arriving online in the system, return to Step 4; otherwise, the allocation process ends. This scheme constructs a bipartite graph from historical request data, creates a dynamic programming algorithm (LP) based on the bipartite graph with the objective of optimizing the system's expected revenue, and calculates a normalized probability vector based on the LP for online matching of drivers and requests. The bipartite graph is created from historical request data. The geographical location of the requests is obtained from the historical request data, the target area is gridded, and historical requests are classified using grid coordinates to construct the bipartite graph. Specific constraints and optimization objectives for the LP are created based on the bipartite graph, where both the conditions and objectives consider the probability of edge existence under the influence of location noise. The normalized probability vector is calculated based on the numerical solution of the LP, and a matching driver is randomly selected based on this vector. This invention takes the online matching of driver and passenger requests in ride-hailing applications as a scenario, aims to optimize the efficiency of ride-hailing platforms, and proposes a real-time allocation method that can reduce the impact of location noise using linear programming (LP). This method can protect passenger location privacy using noise perturbation while achieving the most efficient matching possible, enabling drivers and ride-hailing platforms to obtain higher system revenue.

[0018] Beneficial effects:

[0019] 1) This invention makes full use of the existing historical request data of the ride-hailing platform to obtain the historical location distribution of the requests and abstract a bipartite graph, which has better performance than short-sighted methods such as nearest neighbor matching or random matching.

[0020] 2) This invention takes into account the user's location privacy needs by adding noise to the online passenger arrival request, thus protecting the passenger's location privacy while meeting the passenger's needs;

[0021] 3) Driven by the interests of the platform, this invention fully considers the impact of location noise on the matching algorithm and designs an online request matching method based on LP to minimize the impact of location noise on algorithm performance and maximize the system benefits of the platform.

[0022] 4) This invention takes into account the dynamic change characteristics of the probability of voluntary cancellation of ride-hailing orders, and the scheduling scheme can flexibly adjust the LP guidance solution based on this characteristic, which can better adapt to the ride-hailing scheduling scenario with changing supply and demand. Attached Figure Description

[0023] Figure 1 This is a structural diagram of an online dispatching method for ride-hailing services driven by platform benefits under location noise disturbance. Detailed Implementation

[0024] To enhance understanding of the present invention, the following detailed description of the solution is provided in conjunction with the accompanying drawings and embodiments.

[0025] Example 1: See Figure 1 ,based on Figure 1 The method flow is described in detail below. A platform benefit-driven online dispatching method for ride-hailing services under location noise disturbance includes the following steps:

[0026] Step 1) Obtain the location distribution of historical requests based on the historical request information, and abstract a bipartite graph. The historical request data includes the origin (latitude and longitude), destination (latitude and longitude), driver's pick-up location (latitude and longitude), trip length (kilometers), trip time (minutes), etc.

[0027] Step 1-1) Data Filtering. Remove unreasonable data from historical requests caused by sensor malfunctions. This mainly includes requests with excessively short travel distances (less than 0.2 km), excessively short travel times (less than 1 minute), excessively long travel times (more than 300 minutes), and requests with unreasonable locations (located in rivers, lakes, or seas).

[0028] Steps 1-2) Grid the requested data by location. Grid the data along both longitude and latitude, starting with the smallest longitude position as grid point 0, and then dividing the data into grid points every 0.005 degrees of longitude; similarly, starting with the smallest latitude position as grid point 0, and then dividing the data into grid points every 0.0035 degrees of latitude.

[0029] Steps 1-3) Construct a set of driver node classes I. These classes are generated based on the grid points from Steps 1-2 and the driver pick-up locations from historical requests. Drivers with different longitude and latitude grid point numbers will be classified into two different driver classes.

[0030] Generate an integer B from the range [1, 200] according to a uniform random distribution. i , representing the number of individual drivers included in driver category i.

[0031] Steps 1-4) Construct the request node class set J. The construction process is similar to steps 1-3. For any two passenger request classes, if their four coordinates—starting longitude grid number, starting latitude grid number, ending longitude grid number, and ending latitude grid number—are not completely identical, they will be classified as two different passenger request classes.

[0032] Based on the request classes in steps 1-4, perform statistical analysis on the request data obtained in steps 1-2, and record the frequency of each j∈J as q. j Let T = 7200 represent the total number of passenger requests to arrive during the entire process, and let r be the denoted r. j =T×q j ,

[0033] Steps 1-5) Construct an edge set E. For any driver class i∈I and request class j∈J, if the absolute value of the difference in longitude and latitude between the grid point index of i and the starting grid point index of j is within 5, then add the edge e=(i,j) to E.

[0034] Number all e = (i,j) starting from 1. For any e ∈ E, use w e This represents the expected revenue the platform can obtain after completing the request, and its value is set to 1.5 times the distance (in kilometers) between the starting and ending points of request j. (Using p...) e This represents the probability that an edge exists, i.e., the probability that the platform will match e = (i,j) and the match will not be canceled. All p... e They are all initialized to 1.

[0035] Step 2) Based on the request-type nodes and driver-type nodes of the bipartite graph, establish an LP (Limited Path) with the goal of optimizing system revenue, using E as the basis for each node. i and E j Let represent the set of edges connected to i and j in a bipartite graph.

[0036] Step 2-1) Set the decision variable as x e Let represent the expected number of assignments for edge e = (i,j).

[0037] Step 2-2) Driven by platform benefits, set the total system revenue target as follows:

[0038]

[0039] Steps 2-3) Set constraints for the LP:

[0040]

[0041]

[0042]

[0043] Step 3) Solve for LP, and denote the obtained numerical solution as .

[0044] Step 3-1) Create the coefficient vector of the system's profit objective, i.e., c = {p1w1, p2w2, p3w3, ...}

[0045] Step 3-2) Create a coefficient matrix M for the constraints of LP. The number of rows in this matrix is ​​the number of constraints, and the number of columns is the total number of edges in E (each column corresponds to one edge).

[0046] The first constraint creates a row constraint for each i, where for a fixed i, for each e∈E i Set the coefficient to p e The coefficients of the remaining edges are set to 0.

[0047] The second constraint creates a row constraint for each j, where for a fixed j, for each e∈E j Set the coefficient to 1, and set the coefficients of the remaining edges to 0.

[0048] The third constraint creates a row constraint for each edge e = (i,j) ∈ E, setting the coefficient of this edge to -1, and setting the coefficients of the other edges to 0.

[0049] The fourth constraint is to create a row constraint for each edge e = (i,j) ∈ E, with the coefficient of this edge set to 1 and the coefficients of the other edges set to 0;

[0050] Step 3-3) Establish the constraint value vector of the LP. The constraint value vector is a column vector, with the number of rows equal to the number of rows of constraints. The element value of each row corresponds to the constraint value on the right side of the constraint in the LP. Therefore, set the constraint value vector v = {B1,B2,…,r1,r2,…,0,0,…r1,r2,…} T .

[0051] Steps 3-4) Calculate the numerical solution of LP using the simplex method. This method is a general and common approach for calculating numerical solutions to linear programming problems, and relevant interfaces are available in Python and Matlab. Set the maximum number of iterations to 200, and use the matrix M and vectors c and v as input to the simplex to obtain the numerical solution.

[0052] Step 4) Passengers request online arrival. During the entire process, a total of T = 7200 passengers requested online arrival. Noise was added to these requests and sent to the platform.

[0053] Step 4-1) The local noise-adding tool adds noise following a Laplace distribution to the passenger's starting and ending points, respectively. Using N... h and N v Let represent the noise added to the longitude and latitude coordinates, respectively, and they satisfy the following distributions:

[0054] N h ~Lap(0,0.2)

[0055] Nv ~Lap(0,0.2)

[0056] That is, they all satisfy a one-dimensional Laplace distribution with a mean of 0 and an amplitude of 0.2. Let N be... h and N v Add to the longitude and latitude coordinates of the request start and end points.

[0057] Step 4-2) Send the noisy passenger request to the ride-hailing platform.

[0058] Step 5) The platform is based on LP numerical solutions And add noise request j′, from x * Obtain all e∈E j′ Corresponding Form a vector s. Calculate the sum of all elements in vector s, and divide each element in s by the sum to obtain the normalized probability vector s.

[0059] Step 6) The platform randomly selects one of the edges e = (i,j′) and matches the driver class i corresponding to it according to the probability in the normalized probability vector s.

[0060] Step 7) The platform updates the edge existence probability in the bipartite graph based on whether the matching is successful or not.

[0061] Step 7-1) If this allocation is not cancelled, the match is successful, and the B corresponding to i in step 6 is... i Decrease by 1. For edge e = (i, j′), increase the total number of matches and the total number of successful matches by 1.

[0062] Step 7-2) If this assignment is cancelled, the matching fails. For edge e = (i, j′), increment the total number of matches by 1.

[0063] Step 7-3) For the currently allocated e = (i, j′), update its p e The cumulative update count is incremented by 1 by dividing the total number of successful matches by the total number of matches. If the cumulative update count reaches 36,000, the numerical solution of LP in step 3 is recalculated for subsequent request matching.

[0064] Step 8) If there are still unmatched requests arriving online in the system, return to step 4; otherwise, the allocation process ends.

[0065] Finally, it should be noted that the above embodiments are only used to illustrate preferred embodiments of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications or equivalent substitutions can still be made to the technical solutions described in the foregoing embodiments. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A platform-benefit-driven online dispatching method for ride-hailing services under location noise disturbance, characterized in that, The method includes the following steps: Step 1) Obtain the location distribution of historical requests based on the information of historical requests, and abstract a bipartite graph; Step 2) Based on the request-type nodes and driver-type nodes of the bipartite graph, establish the LP with the goal of optimizing system revenue; Step 3) Establish the coefficient matrix and use the simplex method to obtain the numerical solution of LP, denoted as . ; Step 4) The passenger requests online arrival. The local noise-adding module adds Laplace noise to the origin and destination of the passenger request, outputs the noisy passenger request, and sends it to the ride-hailing platform. Step 5) Based on the numerical solution of LP and the noise request, the platform selects the driver class connected to the noise request class from the bipartite graph, and calculates the normalized probability vector for these driver classes. Step 6) The platform randomly selects a driver class for matching based on the normalized probability vector; Step 7) Update the edge existence probability in the bipartite graph based on whether the matching was successful or not, i.e. whether it was canceled. If the cumulative update count reaches a specified value, recalculate the numerical solution of LP and reset the cumulative update count to 0. Step 8) If there are still unmatched requests arriving online in the system, return to step 4; otherwise, the allocation process ends. Step 1) involves obtaining the location distribution of historical requests based on historical request information and abstracting a bipartite graph. The historical request data includes the origin latitude and longitude, destination latitude and longitude, driver's pick-up location latitude and longitude, trip length, and trip time of the trip request, as detailed below: Step 1-1) Data filtering: Remove unreasonable data from historical requests due to sensor malfunctions, including requests with too short a travel length, too short a travel time, too long a travel time, and unreasonable locations. Steps 1-2) Grid the location of the requested data in both longitude and latitude. The smallest longitude position is set as grid point 0, and then grid points are divided every 0.005 degrees of longitude. The smallest latitude position is set as grid point 0, and then grid points are divided every 0.0035 degrees of latitude. Steps 1-3) Construct a collection of driver node classes Based on the grid points in steps 1-2) and the driver pick-up locations in historical requests, a driver node class is generated. Drivers whose longitude and latitude grid point numbers are not completely the same will be divided into two different driver classes. According to a uniform random distribution, from Generate an integer within the range , indicating driver category The number of individual drivers included; Steps 1-4) Construct a collection of request node classes For any two passenger request classes, if their four coordinates—starting longitude grid number, starting latitude grid number, ending longitude grid number, and ending latitude grid number—are not completely identical, they will be classified into two different passenger request classes. Based on the request types in steps 1-4), perform statistical analysis on the request data obtained in step 1-2), and analyze each... Record its frequency of occurrence as ,make This represents the total number of passenger requests to arrive during the entire process, and is recorded as follows: ; Steps 1-5) Construct the edge set For any driver class and request class ,if Grid point number and If the absolute value of the difference between the grid point number of the starting point in longitude and latitude is within 5, then the edge will be... Join middle; For all Numbering starts from 1, for any ,use This represents the expected revenue the platform can obtain after completing the request; its value is set to the request value. The distance between the starting point and the ending point is 1.5 times. This represents the probability of an edge existing, i.e., the probability of the platform performing matching. And the probability of it not being canceled is all All were initialized to 1; Step 2) Based on the request-type nodes and driver-type nodes of the bipartite graph, establish an LP (Limited Path) with the goal of optimizing system revenue, and respectively... and Indicating bipartite diagrams and as well as The set of connected edges is as follows: Step 2-1) Set the decision variable as , indicating that for the edge The expected number of allocations; Step 2-2) Driven by platform benefits, set the total system revenue target as follows: Steps 2-3) Set constraints for the LP: ; Step 3) Solve for LP, and denote the obtained numerical solution as . The details are as follows: Step 3-1) Create the coefficient vector of the system's profit objective, i.e. ; Step 3-2) Create a coefficient matrix for the constraints of LP. The number of rows in this matrix is ​​equal to the number of constraints, and the number of columns is equal to the number of constraints. The total number of sides in the middle. The first constraint, for each Create a row constraint for a fixed value. For each Set the coefficient to The coefficients of the remaining edges are set to 0. The second constraint is for each Create a row constraint for a fixed value. For each Set the coefficient to 1, and set the coefficients of the remaining edges to 0. The third constraint is for each edge. Create a single-row constraint with its coefficient set to -1, and all other edge coefficients set to 0. The fourth constraint is for each edge. Create a single-row constraint with the coefficient of this edge set to 1, and the coefficients of all other edges set to 0. Step 3-3) Establish the constraint value vector of LP. The constraint value vector is a column vector, and the number of rows in the vector is equal to the number of rows in the constraints. The element value of each row corresponds to the constraint value on the right side of the constraint in LP. Therefore, set the constraint value vector. T ; Steps 3-4) Use the simplex method to calculate the numerical solution of LP. This method is a general and common method for calculating numerical solutions to linear programming problems. There are relevant interfaces available in Python and Matlab. Set the maximum number of iterations to 200, and use the aforementioned matrix... sum vector As input to the simplex, a numerical solution is obtained. .

2. The online dispatching method for ride-hailing services driven by platform benefits under location noise disturbance as described in claim 1, characterized in that, Step 4) Passengers request online arrival. During the entire process, there are a total of... Each passenger requests online arrival. Noise is added to the request and sent to the platform, as follows: Step 4-1) The local noise-adding tool adds noise following a Laplace distribution to the passenger's origin and destination, respectively. and Let represent the noise added to the longitude and latitude coordinates, respectively, and they satisfy the following distributions: That is, they all satisfy a one-dimensional Laplace distribution with a mean of 0 and an amplitude of 0.

2. and Add to the longitude and latitude coordinates of the request's origin and destination. Step 4-2) Send the noisy passenger request to the ride-hailing platform.

3. The online dispatching method for ride-hailing services driven by platform benefits under location noise disturbance as described in claim 1, characterized in that, Step 5) The platform is based on LP numerical solutions. and noise request , from All obtained in Corresponding , forming vectors Calculate vector The sum of all elements in, and Divide each element in the matrix by the sum to obtain the normalized probability vector. .

4. The online dispatching method for ride-hailing services driven by platform benefits under location noise disturbance as described in claim 1, characterized in that, Step 6) The platform follows the normalized probability vector The probability of randomly selecting one of the edges. The corresponding driver class Perform a match.

5. The online dispatching method for ride-hailing services driven by platform benefits under location noise disturbance as described in claim 1, characterized in that, Step 7) The platform updates the edge existence probability in the bipartite graph based on whether the matching was successful or not, as follows: Step 7-1) If this assignment is not cancelled, the match is successful, and the process in step 6 continues. Corresponding Reduce by 1 for the edge The total number of matches and the total number of successful matches are incremented by 1. Step 7-2) If this assignment is cancelled, the matching fails for the edge. The total number of matches corresponding to it is increased by 1. Step 7-3) For this allocation Update it The total number of successful matches is divided by the total number of matches, and the cumulative update count is increased by 1. If the cumulative update count reaches 36,000, the numerical solution of LP in step 3 is recalculated for subsequent request matching.

Citation Information

Patent Citations

  • Personalized position privacy protection method based on differential privacy

    CN111556437A

  • Online car-hailing online order matching method based on dual-target LP

    CN113269341A