An optimization method for online ride-hailing driver-passenger matching based on the spatiotemporal characteristics of driver orders

By building a matching model based on the temporal and spatial characteristics of drivers' order acceptance and combining it with an improved KM algorithm, we optimize the matching of online ride-hailing drivers and passengers, solving the problem of drivers' personalized preferences not being taken into account in the existing system, and achieving more efficient matching of drivers and orders and improved satisfaction.

CN120218571BActive Publication Date: 2025-09-16ZHEJIANG UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202510695009.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-28
Publication Date
2025-09-16
Estimated Expiration
2045-05-28

AI Technical Summary

Technical Problem

The existing online ride-hailing matching system fails to effectively consider the drivers' personalized preferences, resulting in a decline in their enthusiasm for accepting orders and problems with transport capacity stability. It also lacks the ability to explore and quantify the drivers' multi-dimensional characteristics.

Method used

By obtaining the driver's historical order data, constructing the driver's feature vector, using the cosine similarity method to match new orders, combining the improved KM algorithm to optimize driver-passenger matching, building a matching model based on the driver's temporal and spatial characteristics of order acceptance, and comprehensively considering driver satisfaction and platform economic benefits.

Benefits of technology

It improves the matching degree and satisfaction between drivers and orders, optimizes the efficiency of driver-passenger matching, takes into account the interests of drivers, passengers and platforms, reduces the time complexity of the algorithm and improves its robustness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120218571B_ABST
    Figure CN120218571B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for optimizing online ride-hailing driver-passenger matching based on the spatiotemporal characteristics of driver order acceptance. The method comprises obtaining a driver's historical passenger order data and real-time new order information through an online ride-hailing platform, constructing feature vectors for each driver and new order, and then obtaining a comprehensive matching degree between each new order and all drivers based on all feature vectors of the driver and new order. Finally, a driver-passenger matching optimization model is constructed based on the comprehensive matching degree and solved using an improved KM algorithm to obtain matching results for each new order and driver per second. The method of the present invention achieves the beneficial effects of improving the matching degree between drivers and orders and drivers' satisfaction with orders, enhancing the efficiency of online ride-hailing driver-passenger matching, and providing support for the operation and management of online ride-hailing platforms.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the field of online car-hailing services, and specifically relates to an online car-hailing driver-passenger matching optimization method based on the temporal and spatial characteristics of the driver's order acceptance. Background Art

[0002] In recent years, the online ride-hailing industry has grown rapidly and has become a vital component of urban transportation systems. With growing travel demand, the scale of online ride-hailing platforms has continued to expand, attracting a large number of drivers to the industry. However, the current automated dispatch model primarily matches passenger demand, route optimization, and platform efficiency, with little consideration given to drivers' individual preferences and actual willingness to accept orders. Many drivers report that the system's dispatched orders do not meet their expectations, such as low revenue, undesirable routes, or remote destinations. This leads to a decrease in enthusiasm for accepting orders and even leads to driver attrition, impacting the stability of the platform's transportation capacity.

[0003] In existing research, online ride-hailing matching optimization mainly focuses on passenger demand forecasting, market supply and demand balance, and improving platform operational efficiency, while research on driver behavior is relatively insufficient. Most algorithms treat drivers as homogeneous resources and match them only based on basic indicators such as distance and time, ignoring individual differences among drivers, such as order acceptance habits, income expectations, and regional preferences. On a technical level, existing cluster analysis methods are mostly used for passenger classification, such as spatial clustering based on pick-up points, but lack the mining of multi-dimensional characteristics of drivers, such as driving behavior, historical order preferences, and service evaluations. In addition, although some studies have begun to focus on driver satisfaction, there is still a lack of scientific quantitative indicators. In particular, the mapping relationship between order characteristics and driver preferences has not yet been established, making it difficult for matching strategies to accurately meet driver needs. Summary of the Invention

[0004] In order to solve the problems existing in the background technology, the present invention provides an online car-hailing driver-passenger matching optimization method based on the temporal and spatial characteristics of the driver's order acceptance, which solves the technical problem of the lack of multi-dimensional feature mining of drivers in the existing technology.

[0005] The technical solution adopted in the present invention is:

[0006] 1. An Optimization Method for Online Ride-hailing Driver-Passenger Matching Based on the Spatiotemporal Characteristics of Driver Orders

[0007] S1. Obtain historical passenger order data of several drivers through the online ride-hailing platform, perform comprehensive processing on the historical passenger order data, and obtain several feature vectors for each driver.

[0008] S2. Obtain a number of new order information per second in real time through the online car-hailing platform, preprocess the new order information, and construct a number of feature vectors of the new order based on the preprocessed new order information.

[0009] S3. Based on all the feature vectors of the drivers and all the feature vectors of the newly dispatched orders, each newly dispatched order is matched with all the drivers using the cosine similarity method to obtain the comprehensive matching degree between each newly dispatched order and all the drivers.

[0010] S4. Determine the objective function and constraints based on the comprehensive matching degree between each new order and all drivers, and then build a driver-passenger matching optimization model. Use the improved KM algorithm to solve the driver-passenger matching optimization model to obtain the matching results of each new order and driver within each second.

[0011] The step S1 is specifically as follows:

[0012] S11. Obtain historical passenger order data for several drivers through the online ride-hailing platform. Each driver's historical order data includes driver ID, historical order ID, pick-up time, drop-off time, pick-up point longitude, pick-up point latitude, drop-off point longitude, and drop-off point latitude.

[0013] S12. Perform historical passenger order preprocessing on each driver's historical passenger order data to obtain corresponding preprocessed historical passenger order data. The historical passenger order preprocessing includes timestamp conversion, coordinate system conversion, and data cleaning;

[0014] S13. Divide the entire day into several time periods according to activity patterns, and divide the destinations into several areas according to city functions. Obtain each driver's work time distribution, order duration, destination area distribution, and order mileage based on the divided time periods, divided areas, and each driver's pre-processed passenger order data;

[0015] S14. Obtain the corresponding driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector based on the driver's working time distribution, order duration, destination area distribution, and order mileage.

[0016] S15. Cluster the drivers using a clustering algorithm based on each driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector to obtain several cluster categories and the drivers included in each cluster category.

[0017] S16. According to each cluster category and the drivers included in the cluster category, obtain the time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector of the cluster center of the corresponding cluster category.

[0018] S17. Use the time feature vector, destination feature vector, order duration feature vector, and order mileage feature vector of the class center of each cluster category as the new time feature vector, new destination feature vector, new order duration feature vector, and new order mileage feature vector of all drivers included in the corresponding cluster category.

[0019] The time feature vector of the class center in step S16 is the average of the time feature vectors of all drivers included in the cluster category; the order duration feature vector of the class center is the average of the order duration feature vectors of all drivers included in the cluster category; the destination feature vector of the class center is the average of the destination feature vectors of all drivers included in the cluster category; the order mileage feature vector of the class center is the average of the order mileage feature vectors of all drivers included in the cluster category.

[0020] The step S2 is specifically as follows:

[0021] S21. Obtaining, in real time, a number of newly dispatched order information per second through the online ride-hailing platform. Each newly dispatched order information includes an order number, an estimated travel time, a pickup point longitude, a pickup point latitude, a drop-off point longitude, and a drop-off point latitude.

[0022] S22, performing new order data preprocessing on each new order information to obtain corresponding preprocessed new order information. The new order data preprocessing includes coordinate system conversion;

[0023] S23. Construct a time feature vector, a destination feature vector, an order duration feature vector, and an order mileage feature vector for the new order based on the preprocessed new order information.

[0024] The comprehensive matching degree of step S3 is set according to the following formula:

[0025] S ij =θ1S t +θ2S a +θ3S d +θ4S m

[0026] S t =cos(T vj ', T ri ')

[0027] S a =cos(A vj ', A ri ')

[0028] S d =cos(D vj ', D ri ')

[0029] S m =cos(M vj ', M ri ')

[0030] Among them, i and j both represent indexes; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver, θ1, θ2, θ3 and θ4 are weight coefficients; S t 、S a 、S d and S m They represent time matching, destination area matching, order duration matching, and order mileage matching respectively; cos() represents the cosine function; T vj ' and T ri 'represent the time feature vector of the class center to which the j-th driver belongs and the time feature vector of the i-th newly dispatched order; A vj ' and A ri 'represents the destination feature vector of the class center to which the j-th driver belongs and the destination feature vector of the i-th newly dispatched order; D vj ' and D ri 'represent the order duration feature vector of the class center to which the j-th driver belongs and the order duration feature vector of the i-th newly dispatched order; M vj ' and M ri 'represent the order mileage feature vector of the class center to which the j-th driver belongs and the order mileage feature vector of the i-th newly dispatched order.

[0031] The objective function and constraint conditions of the driver-passenger matching optimization model in step S4 are set according to the following formula:

[0032] MaxZ(X)=Max(α∑ j ∑ i W ij ·X ij +β∑ j ∑ i S ij ·X ij )

[0033] W ij =p·h i -c·(t ij +h i )

[0034] ∑ i X ij ≤1,∨j

[0035] ∑ j X ij ≤1,∨i

[0036] Where i and j are indices; Z(X) is the objective function; α and β are weight coefficients; W ij represents the efficiency of matching the i-th new order with the j-th driver; X ij Indicates whether the i-th new order matches the j-th driver; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver; p represents the average efficiency coefficient of the online car-hailing service; h i represents the estimated travel time of the i-th new order; c represents the average power or fuel consumption coefficient of the online car-hailing service; t ij Represents the estimated pick-up time; ∨j represents for any j, ∨i represents for any i; Max() represents the maximum value.

[0037] The improved KM algorithm in step S4 is specifically:

[0038] D1. Obtain the combined efficiency of each newly dispatched order and all drivers, and use the maximum combined return as the initial newly dispatched order index for the corresponding newly dispatched order. Initialize the driver indexes of all drivers and set and initialize the adjustment factor.

[0039] The initial new order index is set according to the following formula:

[0040] l(i)=Max j W(i,j)

[0041] W(i,j)=αW ij +βS ij

[0042] Where i and j are indexes; l(i) represents the new order index of the i-th new order; Max j (αW ij +βS ij ) represents the maximum comprehensive efficiency among the comprehensive efficiencies of the i-th newly dispatched order and all drivers; W(i,j) represents the comprehensive efficiency of the i-th newly dispatched order and the j-th driver; α and β both represent weight coefficients; W ij represents the efficiency of the i-th new order and the j-th driver; S ij It represents the comprehensive matching degree between the i-th newly dispatched order and the j-th driver; Max means taking the maximum value.

[0043] D2. For each newly dispatched order, aggregate the drivers corresponding to the first several highest comprehensive efficiencies to obtain a neighborhood.

[0044] D3. Set the index adjustment amount and search and match each new order with all drivers in the neighborhood until all new orders are matched or the index adjustment amount is less than the preset threshold. Then, the matching results of each new order and driver are finally obtained.

[0045] The search and matching in step D3 is performed in the following manner:

[0046] If the new order and the driver meet the index conditions and the driver is not matched with other new orders, the current new order and the driver will be matched; if the driver is found to have been matched with other new orders when matching the new order and the driver, the new order and the driver will be placed in the conflicting new order set and the conflicting driver set respectively, and the new order index and the driver index will be adjusted according to the index adjustment amount.

[0047] The index condition is l(i) + l(j) = W(i,j); the new order index and driver index are adjusted according to the following formula:

[0048] l(i)′= l(i)-Δ

[0049] l(j)′= l(j)+Δ

[0050] Δ=Min i∈S,j$T (l(i)+l(j)-η′W(i,j))

[0051] η′=ηε

[0052] Where i and j are both indexes; l(i)′ and l(j)′ represent the newly dispatched order index of the i-th newly dispatched order and the driver index of the j-th driver after adjustment, respectively; l(i) and l(j) represent the newly dispatched order index of the i-th newly dispatched order and the driver index of the j-th driver, respectively, before adjustment; Δ represents the index adjustment amount; Min( ) represents the minimum; S is the set of conflicting newly dispatched orders, and T is the set of conflicting drivers; W(i,j) represents the comprehensive efficiency of the i-th order and the j-th driver; η′ represents the adjustment factor, and η represents the adjustment factor of the last adjustment; ε represents a constant; ∈ represents belongs; $ represents does not belong.

[0053] 2. A computer device comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of the above method when executing the computer program.

[0054] 3. A computer-readable storage medium having a computer program stored thereon, wherein the computer program implements the steps of the above method when executed by a processor.

[0055] The innovation of this invention lies in proposing a quantitative tool to measure the driver's satisfaction with orders from the perspective of the temporal and spatial characteristics of the driver's order acceptance, a driver-passenger matching optimization model that comprehensively considers the driver's satisfaction with orders and the platform's economic benefits, and an improved KM algorithm, which achieves the beneficial effect of optimizing the driver-passenger matching that takes into account the interests of drivers, passengers and the platform, and brings the advantages of improving the matching degree between drivers and orders, the driver's satisfaction with orders and the efficiency of online car-hailing driver-passenger matching.

[0056] Compared with the prior art, the present invention has the following beneficial effects:

[0057] 1. This paper extracts four features from the spatiotemporal characteristics of drivers' order acceptance: working time preference, destination area preference, order duration, and mileage preference. It then divides driver groups into different types using a clustering method, constructs a feature vector, and defines a matching index between drivers and orders, providing a quantitative tool for measuring driver satisfaction with orders.

[0058] 2. The present invention starts from the perspective of the driver's order-accepting behavior characteristics and constructs a driver-passenger matching optimization model that comprehensively considers the driver's order-accepting satisfaction and the platform's economic benefits. The economic benefits in the optimization target imply the interests of passengers, thus realizing the driver-passenger matching optimization that takes into account the interests of drivers, passengers and the platform.

[0059] 3. This invention utilizes an improved KM algorithm. By introducing a neighborhood, it significantly reduces the number of drivers required for each match, lowering time complexity and effectively meeting the real-time matching requirements of online ride-hailing drivers and passengers. Furthermore, it achieves better matching through comprehensive efficiency and index adjustment. The adjustment factor and conflict resolution mechanism employed enhance the robustness of the algorithm. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 Schematic diagram of dividing a city into three areas in the embodiment.

[0061] Figure 2 Graph showing the evaluation results of the silhouette coefficient versus the number of clusters in the embodiment.

[0062] Figure 3 Graph showing the evaluation results of the Calinski-Harabasz index (CH) versus the number of clusters in the examples.

[0063] Figure 4 This is a diagram showing the evaluation results of the Davies-Bouldin index (DB) on the number of clusters in the embodiment.

[0064] Figure 5 Statistical diagram of the number of drivers of each type working in each time period in the embodiment.

[0065] Figure 6This is a statistical chart of the number of drivers of each type working in each destination area throughout the day in the embodiment.

[0066] Figure 7 This is a statistical diagram of the number of drivers of each type working in each destination area during the period of 10:00-11:00 in the embodiment. DETAILED DESCRIPTION

[0067] The present invention is described in more detail below with reference to the accompanying drawings and examples. However, the present invention is not limited thereto. A person skilled in the art may make various improvements and modifications without departing from the principles of the present invention, and such improvements and modifications are considered to be within the scope of protection of the present invention. Any matters not described in detail in this specification constitute prior art known to those skilled in the art.

[0068] Example 1

[0069] The method for optimizing online ride-hailing driver-passenger matching in this embodiment includes the following steps:

[0070] S1. Utilizing a computer data link, a ride-hailing platform obtains historical passenger order data for several drivers and stores it on a data hard disk. A central processing unit (CPU) performs comprehensive processing on the historical passenger order data on the data hard disk to obtain several feature vectors for each driver. The ride-hailing platform is an app software that provides passengers with online ride-hailing services.

[0071] S11. Utilizing a computer data link, the online ride-hailing platform obtains historical passenger order data for several drivers within a predetermined area and stores the data on a data hard disk. Each driver's historical order data includes driver ID, historical order ID, pickup time, drop-off time, pickup point longitude, pickup point latitude, drop-off point longitude, and drop-off point latitude.

[0072] S12. Using the central processing unit, perform historical passenger order preprocessing on each driver's historical passenger order data stored in the data hard disk to obtain corresponding preprocessed historical passenger order data. The historical passenger order preprocessing includes timestamp conversion, coordinate system conversion, and data cleaning.

[0073] In the specific implementation, the timestamp conversion is specifically: converting the timestamps in the historical passenger order data of all drivers into Beijing time; the coordinate system conversion is specifically converting the longitude and latitude in the Martian coordinate system into the longitude and latitude in the world geodetic coordinate system; the data cleaning is specifically deleting duplicate data, removing incomplete data and removing abnormal data (order records with order duration less than 3 minutes in the data, and data with order duration exceeding 120 minutes but mileage less than 25 kilometers).

[0074] S13. Divide the entire day into several time periods according to activity patterns, and divide the destinations into several areas according to city functions. Obtain each driver's working time distribution, order duration, destination area distribution, and order mileage based on the divided time periods, divided areas, and each driver's pre-processed passenger order data.

[0075] Working time distribution is the average working hours of the driver in each period; order duration is the average duration of the driver's order; destination area distribution is the number of times the destination of all orders appears in each destination area; order mileage is the average mileage of the driver's order.

[0076] In the specific implementation, the whole day is divided into several time periods, which are divided into four time periods according to the activity patterns: normal time (9:00-17:00), peak time (7:00-9:00, 17:00-19:00), night (19:00-24:00) and early morning (0:00-7:00); the destination is divided into several areas, which are divided into three categories according to the urban functional zoning: from the center to the periphery, they are the main urban area, suburban area and remote suburbs.

[0077] S14. Obtain the corresponding driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector based on the driver's working time distribution, order duration, destination area distribution, and order mileage.

[0078] S15. Cluster the drivers using a clustering algorithm based on each driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector to obtain several cluster categories and the drivers included in each cluster category.

[0079] In the specific implementation, the clustering algorithm adopts the K-means algorithm, and the highest value K of the silhouette coefficient is selected as the optimal number of clusters, thereby obtaining K cluster categories.

[0080] Furthermore, the clustering results can be evaluated using the Calinski-Harabasz index (CH) and the Davies-Bouldin index (DB) to select the optimal number of clusters.

[0081] S16. According to each cluster category and the drivers included in the cluster category, obtain the time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector of the cluster center of the corresponding cluster category.

[0082] The time feature vector of the class center is the average of the time feature vectors of all drivers included in the cluster category; the order duration feature vector of the class center is the average of the order duration feature vectors of all drivers included in the cluster category; the destination feature vector of the class center is the average of the destination feature vectors of all drivers included in the cluster category; the order mileage feature vector of the class center is the average of the order mileage feature vectors of all drivers included in the cluster category.

[0083] S17. Use the time feature vector, destination feature vector, order duration feature vector, and order mileage feature vector of the class center of each cluster category as the new time feature vector, new destination feature vector, new order duration feature vector, and new order mileage feature vector of all drivers included in the corresponding cluster category.

[0084] The driver set is constructed in the computer, and the new time feature vector, new destination feature vector, new order duration feature vector, and new order mileage feature vector of the driver in step S17 are set according to the following formula:

[0085] V'={v1,…,v j …, v m}

[0086] T vj '=(t vj,1 ,…,t vj,o …, t vj,p )

[0087] A vj '=(a vj,1 ,…,a vj,x …, a vj,y )

[0088] D vj '=(d vj , c)

[0089] M vj '=(m vj , c)

[0090] Among them, j, m, o, p, x and y are all indexes; V' represents the set of drivers; v1, v j and v m represent the first, jth and mth drivers respectively; T vj ' represents the time feature vector of the class center to which the jth driver belongs; t vj,1 , t vj,o and t vj,p A represents the average working hours of the j-th driver’s category center in the first, second, o-th, and p-th periods respectively; vj' represents the destination feature vector of the class center to which the jth driver belongs; a vj,1 、a vj,x and a vj,y Denotes the average number of orders from the j-th driver’s category center in the first, x-th, and y-th destination areas respectively; D vj ' represents the order duration feature vector of the class center to which the jth driver belongs; d vj M represents the average order duration of the center to which the jth driver belongs; vj ' represents the order mileage feature vector of the class center to which the jth driver belongs; m vj represents the average order mileage of the center to which the j-th driver belongs; c represents a preset non-zero constant.

[0091] S2. Use the computer's data link to obtain several new order information per second in real time through the online car-hailing platform and store it in the data hard disk. Use the central processing unit to preprocess the new order information in the data hard disk, and construct several feature vectors of the new order based on the preprocessed new order information.

[0092] S21. Utilize the computer's data link to obtain information on several new orders per second in a preset area in real time through the online car-hailing platform and store it in a data hard disk.

[0093] The information of each new order includes the order number, estimated travel time, longitude of the pickup point, latitude of the pickup point, longitude of the drop-off point, and latitude of the drop-off point.

[0094] S22: Using the central processing unit to pre-process each new order information in the data hard disk to obtain the corresponding pre-processed new order information. The new order data pre-processing includes coordinate system conversion.

[0095] S23. Construct a new order set and a time feature vector, a destination feature vector, an order duration feature vector, and an order mileage feature vector of the new order based on the preprocessed new order information.

[0096] The time feature vector, destination feature vector, order duration feature vector, and order mileage feature vector of new orders are set according to the following formula:

[0097] R'=(r1,…,r i ,…,r n )

[0098] T ri '=(t ri,1 ,…,t ri,o …, t ri,p )

[0099] A ri '=(ari,1 ,…,a ri,x …, a ri,y )

[0100] D ri '=(d ri , c)

[0101] M ri '=(m ri , c)

[0102] Among them, i, n, o, p, x and y are indexes; R' represents the set of newly sent orders; r1, r i and r n Represent the first, i-th and n-th new orders respectively; T ri ' represents the time feature vector of the i-th new order; t ri,1 Indicates whether the i-th new order is in the first period; t ri,o Indicates whether the i-th new order is in the o-th time period; t ri,p Indicates whether the i-th new order is in the p-th time period; A ri ' represents the destination feature vector of the i-th new order; a ri,1 Indicates whether the drop-off point of the i-th new order is in the first destination area; a ri,x Indicates whether the drop-off point of the i-th newly dispatched order is in the x-th destination area; a ri,y Indicates whether the drop-off point of the i-th newly dispatched order is in the y-th destination area; D ri ' represents the order duration feature vector of the i-th newly dispatched order; d ri Table 1: Estimated travel time of the i-th new order; M ri ' represents the order mileage feature vector of the i-th newly dispatched order; m ri represents the order mileage of the i-th newly dispatched order; c represents a preset non-zero constant.

[0103] S3. The central processing unit performs similarity matching between each new order and all drivers using the cosine similarity method based on all the feature vectors of the drivers and all the feature vectors of the new orders, and obtains the comprehensive matching degree between each new order and all the drivers.

[0104] The comprehensive matching degree is set according to the following formula:

[0105] S ij =θ1S t +θ2S a +θ3S d +θ4S m

[0106] S t =cos(Tvj ', T ri ')

[0107] S a =cos(A vj ', A ri ')

[0108] S d =cos(D vj ', D ri ')

[0109] S m =cos(M vj ', M ri ')

[0110] Among them, i and j both represent indexes; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver, θ1, θ2, θ3 and θ4 are weight coefficients; S t 、S a 、S d and S m They represent time matching, destination area matching, order duration matching, and order mileage matching respectively; cos() represents the cosine function; T vj ' and T ri 'represent the time feature vector of the class center to which the j-th driver belongs and the time feature vector of the i-th newly dispatched order; A vj ' and A ri 'represents the destination feature vector of the class center to which the j-th driver belongs and the destination feature vector of the i-th newly dispatched order; D vj ' and D ri 'represent the order duration feature vector of the class center to which the j-th driver belongs and the order duration feature vector of the i-th newly dispatched order; M vj ' and M ri 'represent the order mileage feature vector of the j-th class center driver and the order mileage feature vector of the i-th newly dispatched order respectively.

[0111] S4. Based on the comprehensive matching degree between each newly dispatched order and all drivers, the objective function and constraints are determined to construct a driver-passenger matching optimization model. The central processing unit uses the improved KM (Kuhn-Munkres Algorithm) algorithm to solve the driver-passenger matching optimization model and obtain the matching results of each newly dispatched order and driver within each second.

[0112] The objective function and constraints of the driver-passenger matching optimization model are set according to the following formula:

[0113] MaxZ(X)= Max(α∑ j ∑i W ij ·X ij +β∑ j ∑ i S ij ·X ij )

[0114] W ij =p·h i -c·(t ij +h i )

[0115] ∑ i X ij ≤1,∨j

[0116] ∑ j X ij ≤1,∨i

[0117] Where Z(X) represents the objective function; α and β represent weight coefficients; i represents the index, which also represents the i-th newly dispatched order; j represents the index, which also represents the j-th driver; W ij represents the efficiency of matching the i-th new order with the j-th driver; X ij Indicates whether the i-th new order matches the j-th driver. The result is 1 or 0, 1 means match, 0 means no match; S ij represents the comprehensive matching degree between the i-th newly dispatched order and the j-th driver; p represents the average efficiency coefficient of the online car-hailing service (a known constant); h i represents the estimated travel time of the i-th new order calculated by the online car-hailing platform; c represents the average power or fuel consumption coefficient of the online car-hailing service; t ij Represents the estimated pickup time calculated by the online ride-hailing platform; ∨j represents any j, ∨i represents any i, and Max() represents the maximum value.

[0118] The improved KM algorithm is as follows:

[0119] D1. Obtain the combined efficiency of each newly dispatched order and all drivers, and use the maximum combined efficiency as the initial newly dispatched order index for the corresponding newly dispatched order. Initialize the driver index of all drivers to 0, and set and initialize the adjustment factor to 1.

[0120] The initial new order index is set according to the following formula:

[0121] l(i)=Max j W(i,j)

[0122] W(i,j)=αW ij +βS ij

[0123] Where i and j are indexes; l(i) represents the new order index of the i-th new order; Max j (αW ij +βS ij ) represents the maximum comprehensive efficiency among the comprehensive efficiencies of the i-th newly dispatched order and all drivers; W(i,j) represents the comprehensive efficiency of the i-th order and the j-th driver; α and β both represent weight coefficients; W ij represents the efficiency of the i-th new order and the j-th driver; S ij It represents the comprehensive matching degree between the i-th newly dispatched order and the j-th driver; Max means taking the maximum value.

[0124] D2. For each newly dispatched order, the drivers corresponding to the top several highest comprehensive efficiencies are aggregated to obtain a neighborhood. In specific implementation, the top several highest efficiencies are preset based on the specific situation.

[0125] D3. Set the index adjustment amount and search and match each new order with all drivers in the neighborhood until all new orders are matched or the index adjustment amount is less than the preset threshold. Then, the matching results of each new order and driver are finally obtained.

[0126] Search matching is performed as follows:

[0127] If the new order and the driver meet the index conditions and the driver is not matched with other new orders, the current new order and the driver will be matched; if the driver is found to have been matched with other new orders when matching the new order and the driver, the new order and the driver will be placed in the conflicting new order set and the conflicting driver set respectively, and the new order index and the driver index will be adjusted according to the index adjustment amount.

[0128] The index condition is l(i) + l(j) = W(i,j). The new order index and driver index are adjusted according to the following formula:

[0129] l(i)′= l(i)-Δ

[0130] l(j)′= l(j)+Δ

[0131] Δ=Min i∈S,j$T (l(i)+l(j)-η′W(i,j))

[0132] η′=ηε

[0133] Where i and j both represent indexes; l(i)′ and l(j)′ represent the new order index of the i-th new order and the driver index of the j-th driver after adjustment, respectively; l(i) and l(j) represent the new order index of the i-th new order and the driver index of the j-th driver, respectively, before adjustment; Δ represents the index adjustment amount; Min( ) represents the minimum; S is the set of conflicting new orders, T is the set of conflicting drivers; η′ represents the adjustment factor, η represents the adjustment factor of the last adjustment; ε represents a constant ε<1; ∈ represents belonging; $ represents not belonging; i∈S represents that the i-th new order belongs to the set of conflicting new orders; j$T represents that the j-th driver does not belong to the set of conflicting drivers.

[0134] In the specific implementation, the specific use process of the improved KM algorithm is as follows:

[0135] Obtain the set of idle drivers and the set of newly assigned orders within the current second. Calculate the comprehensive efficiency matrix W(i, j). Calculate the index l(i) of each newly assigned order. Set the initial index l(j) of all drivers to 0 and the initial adjustment factor η to 1. For each newly assigned order i, select the drivers with the highest comprehensive efficiency W(i, j) compared to all drivers, forming a neighborhood. Match the newly assigned order with the drivers in its neighborhood. If the comprehensive efficiency W(i, j) of newly assigned order i and driver j meets the index condition, and driver j has not yet been matched with another order, match newly assigned order i with driver j. If driver j has already been matched with another order, add newly assigned order i to the conflicting newly assigned orders set S, and add driver j to the conflicting drivers set T. Calculate the index adjustment amount and adjust the indexes of newly assigned order i and driver j. Continue traversing the newly assigned orders set S and the conflicting drivers set T, rematching based on the adjusted indexes. This process continues until all newly dispatched orders are matched with drivers, or the index adjustment Δ falls below the preset threshold ε. This means the algorithm has converged and the matching results are stable. Finally, the matching results for each newly dispatched order and driver are obtained. After the matching for the current second is completed, the process repeats for the next second.

[0136] In the specific implementation, there are cases where the new orders are not matched with drivers, and there are also cases where drivers are not matched with the new orders. The unmatched new orders or drivers will be matched in the next second.

[0137] After the central processing unit successfully matches a new order with a corresponding driver, it transmits the result to the ride-hailing platform via the computer's data link. The platform then immediately pushes the new order to the corresponding driver, who can then choose whether to accept the order based on their needs. If they click "accept", the driver immediately departs to pick up the passenger; if they click "reject", the new order and driver are matched again in the next second.

[0138] Furthermore, during the next second matching process, the online ride-hailing platform will default to no longer matching new orders that were previously successfully matched but rejected by the driver with the driver who clicked reject.

[0139] The improved KM algorithm adopted in the present invention has the following advantages: 1. The introduction of the neighborhood greatly reduces the number of drivers that need to be calculated for each matching, reduces the time complexity, and well meets the real-time matching of drivers and passengers in online car-hailing; 2. Better matching is achieved through comprehensive efficiency and index adjustment; 3. The adjustment factor and conflict handling mechanism adopted improve the robustness of the algorithm; 4. It is more suitable for large-scale, real-time online car-hailing matching scenarios.

[0140] Example 2

[0141] In this example, the driver data and newly dispatched order data were both based on a dataset from November 1 to November 30, 2016, from a certain city in the publicly available Didi Gaia development plan (a dataset of newly dispatched orders and drivers). These historical datasets were used to verify the beneficial effects of the method of the present invention.

[0142] This embodiment selects 1 hour in each time period for implementation: 10:00-11:00 in normal time, 17:00-18:00 in peak time, 21:00-22:00 at night, and 1:00-2:00 in the early morning.

[0143] like Figure 1 As shown, this embodiment divides a city into three categories according to urban function: from the center to the periphery, they are the main urban area, suburban area and remote suburbs;

[0144] Some parameter settings: The average speed of online ride-hailing vehicles is 26 km / h. The average efficiency coefficient for online ride-hailing vehicles is 0.99 per minute during normal hours, 1.38 per minute during peak hours (7:00-10:00 and 17:00-19:00), and 1.62 per minute during the night and early morning hours (00:00-7:00 and 23:00-00:00). The average power consumption coefficient for online ride-hailing vehicles is 0.1.

[0145] During implementation, this embodiment clusters the drivers and evaluates the number of clusters k using the silhouette coefficient, Calinski-Harabasz index (CH), and Davies-Bouldin index (DB). The results of the silhouette coefficient evaluation are as follows: Figure 2 The results of the Calinski-Harabasz index (CH) evaluation are shown in Figure 3 The results of Davies-Bouldin index (DB) evaluation are shown in Figure 4 As shown in . Finally, there are 6 types of drivers. Figure 5: is a statistical chart of the number of drivers of each category working in each time period in the embodiment, wherein the first column represents the number of drivers in category 1 working in normal time periods; Figure 6 : is a statistical chart of the number of drivers of each category working in each destination area throughout the day in the embodiment, wherein the first column represents the number of drivers of category 1 working in the main urban area throughout the day; Figure 7 This is a statistical chart of the number of drivers of each category working in various destination areas during the period of 10:00-11:00 in the embodiment, wherein the first column represents the number of drivers of category 1 working in the main urban area during the period of 10:00-11:00.

[0146] This embodiment uses the same method and concept as that of Example 1 to process the acquired data set, wherein the new order data is replaced by the historical new order data, and the historical new order data within each second is matched with the driver using the method of the present invention.

[0147] Table 1

[0148] Time Match order quantity efficiency Time matching Destination area matching Order duration matching Order mileage matching Comprehensive matching degree 10:00-11:00 10752 195965.62 9821.85 10177.68 10510.83 10464.78 10243.79 17:00-18:00 11092 218492.36 3925.41 10350.31 10867.92 10804.28 8986.98 21:00-22:00 9129 137620.23 7322.56 8401.13 8883.01 8863.12 8367.46 1:00-2:00 2598 33848.58 2228.32 2349.81 2520.84 2516.49 2403.86

[0149] The results of efficiency, comprehensive matching, time matching, destination area matching, order duration matching and order mileage matching obtained during the matching process are shown in Table 1.

[0150] Comparative Example

[0151] This comparative example uses the same new order data within 1 hour in each time period and the same parameter settings as Example 2; the comprehensive matching degree, time matching degree, destination area matching degree, order duration matching degree and order mileage matching degree are obtained based on the matching results of the actual historical new order data within each second in the data set and the driver, and the results are shown in Table 2.

[0152] Table 2

[0153] Time Match order quantity Time matching Destination area matching Order duration matching Order mileage matching Comprehensive matching degree 10:00-11:00 10752 9443.99 10059.62 10478.36 10385.90 10091.96 17:00-18:00 11092 3559.37 10234.75 10833.64 10721.83 8837.40 21:00-22:00 9129 6106.60 8329.72 8871.14 8830.63 8034.52 1:00-2:00 2598 1752.82 2347.98 2519.42 2514.99 2283.80

[0154] Comparing Table 2 with Table 1, we can see that, by comparing the various matching degrees for each time period, the overall matching degree achieved by optimizing the matching using the method of the present invention in Example 2 is improved in each time period, and the matching degree of each feature is also improved. This demonstrates that the method proposed in the present invention can effectively improve the matching degree between drivers and orders, thereby increasing driver satisfaction.

[0155] The method of the present invention achieves the beneficial effects of improving the matching degree between drivers and orders, the driver's satisfaction with orders, and the efficiency of matching drivers and passengers in online car-hailing, and provides support for the operation and management of online car-hailing platforms.

[0156] The present invention is not limited to the embodiments described above. The above description of the specific embodiments is intended to describe and illustrate the technical solutions of the present invention. The above specific embodiments are merely illustrative and not restrictive. Without departing from the scope of the present invention and the scope of protection of the claims, those skilled in the art may make various specific modifications based on the teachings of the present invention, all of which fall within the scope of protection of the present invention.

Claims

1. A method for optimizing online car-hailing driver-passenger matching based on the temporal and spatial characteristics of driver orders, characterized by: The method comprises the following steps: S1. Obtain historical passenger order data of several drivers through the online ride-hailing platform, perform comprehensive processing on the historical passenger order data, and obtain several feature vectors for each driver; S2. Obtaining a certain number of new order information per second in real time through the online ride-hailing platform, preprocessing the new order information, and constructing a number of feature vectors of the new order based on the preprocessed new order information; S3. Based on all the feature vectors of the drivers and all the feature vectors of the newly dispatched orders, each newly dispatched order is matched with all the drivers using the cosine similarity method to obtain the comprehensive matching degree between each newly dispatched order and all the drivers. S4. Determine the objective function and constraints based on the comprehensive matching degree between each newly dispatched order and all drivers, and then construct a driver-passenger matching optimization model. Use the improved KM algorithm to solve the driver-passenger matching optimization model and obtain the matching results of each newly dispatched order and driver within each second. The improved KM algorithm in step S4 is specifically: D1. Obtain the combined efficiency of each newly dispatched order and all drivers, and use the maximum combined return as the initial newly dispatched order index for the corresponding newly dispatched order. Initialize the driver indexes of all drivers and set and initialize the adjustment factor. The initial new order index is set according to the following formula: l(i)=Max j W(i,j) W(i,j)=αW ij +βS ij Where i and j are indexes; l(i) represents the new order index of the i-th new order; Max j (αW ij +βS ij ) represents the maximum comprehensive efficiency among the comprehensive efficiencies of the i-th newly dispatched order and all drivers; W(i,j) represents the comprehensive efficiency of the i-th newly dispatched order and the j-th driver; α and β both represent weight coefficients; W ij represents the efficiency of matching the i-th new order with the j-th driver; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver; Max represents the maximum; D2. For each newly dispatched order, aggregate the drivers with the highest overall efficiency to obtain a neighborhood. D3: Set the index adjustment amount and search and match each newly dispatched order with all drivers in the neighborhood until all newly dispatched orders are matched or the index adjustment amount is less than the preset threshold. Finally, the matching results of each newly dispatched order and driver are obtained. The search and matching in step D3 is performed in the following manner: If the new order and driver meet the index conditions and the driver is not matched with other new orders, the current new order and driver will be matched; if the driver is already matched with other new orders during the matching process, the new order and driver will be placed in the conflicting new order set and conflicting driver set respectively, and the new order index and driver index will be adjusted according to the index adjustment amount; The index condition is l(i) + l(j) = W(i,j); the new order index and driver index are adjusted according to the following formula: l(i)′= l(i)-Δ l(j)′= l(j)+Δ Δ=Min i∈S,j$T (l(i)+l(j)-η′W(i,j)) η′=ηε Where i and j are both indexes; l(i)′ and l(j)′ represent the newly dispatched order index of the i-th newly dispatched order and the driver index of the j-th driver after adjustment, respectively; l(i) and l(j) represent the newly dispatched order index of the i-th newly dispatched order and the driver index of the j-th driver, respectively, before adjustment; Δ represents the index adjustment amount; Min( ) represents the minimum; S is the set of conflicting newly dispatched orders, and T is the set of conflicting drivers; W(i,j) represents the comprehensive efficiency of the i-th order and the j-th driver; η′ represents the adjustment factor, and η represents the adjustment factor of the last adjustment; ε represents a constant; ∈ represents belongs; $ represents does not belong.

2. The online car-hailing driver-passenger matching optimization method according to claim 1, characterized in that: The step S1 is specifically as follows: S11. Obtain historical passenger order data of several drivers through the online ride-hailing platform; each driver's historical passenger order data includes driver ID, historical order ID, pick-up time, drop-off time, pick-up point longitude, pick-up point latitude, drop-off point longitude, and drop-off point latitude; S12. Perform historical passenger order preprocessing on each driver's historical passenger order data to obtain corresponding preprocessed historical passenger order data; the historical passenger order preprocessing includes timestamp conversion, coordinate system conversion, and data cleaning; S13. Divide the entire day into several time periods according to activity patterns, and divide the destinations into several areas according to city functions. Obtain each driver's work time distribution, order duration, destination area distribution, and order mileage based on the divided time periods, divided areas, and each driver's pre-processed passenger order data; S14. Obtain the corresponding driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector based on the driver's work time distribution, order duration, destination area distribution, and order mileage; S15. Clustering the drivers using a clustering algorithm based on each driver's time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector to obtain several cluster categories and the drivers included in each cluster category; S16. Based on each cluster category and the drivers included in the cluster category, obtain the time feature vector, order duration feature vector, destination feature vector, and order mileage feature vector of the cluster center of the corresponding cluster category; S17. Use the time feature vector, destination feature vector, order duration feature vector, and order mileage feature vector of the class center of each cluster category as the new time feature vector, new destination feature vector, new order duration feature vector, and new order mileage feature vector of all drivers included in the corresponding cluster category.

3. The method for optimizing online ride-hailing driver-passenger matching according to claim 2, characterized in that: The time feature vector of the class center in step S16 is the average of the time feature vectors of all drivers included in the cluster category; the order duration feature vector of the class center is the average of the order duration feature vectors of all drivers included in the cluster category; the destination feature vector of the class center is the average of the destination feature vectors of all drivers included in the cluster category; the order mileage feature vector of the class center is the average of the order mileage feature vectors of all drivers included in the cluster category.

4. The online car-hailing driver-passenger matching optimization method according to claim 1, characterized in that: The step S2 is specifically as follows: S21. Obtaining, in real time, a number of newly dispatched order information per second through the online ride-hailing platform; each newly dispatched order information includes the order number, estimated trip duration, longitude of the pickup point, latitude of the pickup point, longitude of the drop-off point, and latitude of the drop-off point; S22, performing new order data preprocessing on each new order information to obtain corresponding preprocessed new order information; the new order data preprocessing includes coordinate system conversion; S23. Construct a time feature vector, a destination feature vector, an order duration feature vector, and an order mileage feature vector for the new order based on the preprocessed new order information.

5. The method for optimizing online ride-hailing driver-passenger matching according to claim 1, characterized in that: The comprehensive matching degree of step S3 is set according to the following formula: S ij =θ1S t +θ2S a +θ3S d +θ4S m S t =cos(T vj ',T ri ') S a =cos(A vj ',A ri ') S d =cos(D vj ',D ri ') S m =cos(M vj ',M ri ') Among them, i and j both represent indexes; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver, θ1, θ2, θ3 and θ4 are weight coefficients; S t 、S a 、S d and S m They represent time matching, destination area matching, order duration matching, and order mileage matching respectively; cos() represents the cosine function; T vj ' and T ri 'represent the time feature vector of the class center to which the j-th driver belongs and the time feature vector of the i-th newly dispatched order; A vj ' and A ri 'represents the destination feature vector of the class center to which the j-th driver belongs and the destination feature vector of the i-th newly dispatched order; D vj ' and D ri 'represent the order duration feature vector of the class center to which the j-th driver belongs and the order duration feature vector of the i-th newly dispatched order; M vj ' and M ri 'represent the order mileage feature vector of the class center to which the j-th driver belongs and the order mileage feature vector of the i-th newly dispatched order.

6. The method for optimizing online ride-hailing driver-passenger matching according to claim 1, characterized in that: The objective function and constraint conditions of the driver-passenger matching optimization model in step S4 are set according to the following formula: MaxZ(X)=Max(α∑ j ∑ i W ij ·X ij +β∑ j ∑ i S ij ·X ij ) W ij =p·h i -c·(t ij +h i ) ∑ i X ij ≤1,∨j ∑ j X ij ≤1,∨i Where i and j are indices; Z(X) is the objective function; α and β are weight coefficients; W ij represents the efficiency of matching the i-th new order with the j-th driver; X ij Indicates whether the i-th new order matches the j-th driver; S ij represents the comprehensive matching degree between the i-th new order and the j-th driver; p represents the average efficiency coefficient of the online car-hailing service; h i represents the estimated travel time of the i-th new order; c represents the average power or fuel consumption coefficient of the online car-hailing service; t ij Represents the estimated pick-up time; ∨j represents for any j, ∨i represents for any i; Max() represents the maximum value.

7. A computer device comprising a memory and a processor, wherein the memory stores a computer program, wherein: When the processor executes the computer program, the steps of the method according to any one of claims 1 to 6 are implemented.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method according to any one of claims 1 to 6 are implemented.

Citation Information

Patent Citations

  • Logistics scheduling method and device

    CN112183938A