A dynamic matching method and system for online car-hailing and carpooling

By using ride-sharing request clustering and the Stackelberg master-slave pricing matching algorithm to dynamically adjust the fare standard, the problem of balancing the interests of drivers and passengers in ride-sharing was solved, achieving efficient and fair matching and pricing, and improving service quality and passenger experience.

CN120145063BActive Publication Date: 2026-04-17LANZHOU JIAOTONG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
LANZHOU JIAOTONG UNIV
Filing Date
2025-01-22
Publication Date
2026-04-17

AI Technical Summary

Technical Problem

In ride-hailing scenarios, the strategic choices made by drivers and passengers make it difficult to achieve a balance of interests. Existing technologies struggle to provide an efficient, fair, and dynamic matching and pricing mechanism, thus affecting matching efficiency and service quality.

Method used

A dynamic matching method for ride-sharing is adopted. By clustering ride-sharing requests, filtering matching vehicles, and using the Stackelberg master-slave pricing matching algorithm, a multi-round iterative dynamic process is constructed to adjust the fare standard in order to maximize the interests of both drivers and passengers and optimize service quality.

Benefits of technology

This improves matching efficiency, ensures the maximization of passenger utility, and reasonably satisfies driver income, thus achieving an optimal balance of interests between drivers and passengers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120145063B_ABST
    Figure CN120145063B_ABST
Patent Text Reader

Abstract

This invention relates to a dynamic matching method and system for ride-hailing, belonging to the field of dynamic matching technology. It utilizes a ride-hailing request clustering algorithm to rationally divide dispersed ride-hailing request sets based on the starting location and destination of the requests, effectively reducing the scale of subsequent processing and thus improving matching efficiency. By employing a vehicle selection algorithm, based on the clustering results and considering constraints such as vehicle seating capacity, driving direction, and passenger waiting time, it selects a set of vehicles nearby that can provide services for each request set, avoiding invalid matching. Based on master-slave pricing matching, driver-passenger matching is constructed as a multi-round iterative dynamic process. In each iteration, the ride-hailing service adjusts its pricing based on the matching status, and passengers reselect vehicles based on the new price and service information. This continuous adjustment of strategies gradually approaches the optimal matching state, ultimately maximizing passenger utility while ensuring that the driver's revenue demands are reasonably met, achieving an optimal balance of interests between the driver and passenger.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of dynamic matching technology, and in particular to a dynamic matching method and system for ride-hailing. Background Technology

[0002] With the rapid development of the internet and the continuous upgrading of smart terminal devices, more and more real-time ride-hailing apps have emerged, utilizing Global Positioning System (GPS) and wireless communication technology, giving rise to some ride-sharing platforms. Traditional taxi services can no longer meet the diverse needs of passengers. For example, some taxi drivers may take longer routes, and passengers cannot monitor taxi drivers in the way they can with real-time ride-hailing apps, leading to increased travel costs and time.

[0003] Against this backdrop of social development, problems such as traffic congestion, low vehicle utilization, energy consumption, and environmental pollution are becoming increasingly prominent. The booming sharing economy, however, has brought new ideas and opportunities to the transportation sector. Ride-sharing plays an effective role in alleviating urban traffic congestion. Reasonable and transparent pricing methods, intelligent route matching, and user-friendly dispatching solutions enable a wider range of drivers and passengers to participate in ride-sharing. The higher the proportion of ride-sharing in urban transportation, the lower the real-time number of vehicles on urban roads, thereby alleviating traffic congestion.

[0004] Ride-sharing can reduce the travel costs for individual passengers and increase the income of drivers per trip. By aggregating multiple passengers with similar travel requests into one vehicle, not only can the vehicle avoid repeatedly traversing the same routes, thus reducing operating costs, but it can also satisfy the interests of both passengers and drivers. This results in lower fares for each passenger and higher income for the driver. However, because both drivers and passengers exhibit strategic choices during the matching process, achieving a balance between their interests presents numerous challenges. The key question is how to develop an efficient, fair, and dynamic matching and pricing mechanism in real-time ride-sharing scenarios to maximize the benefits of both drivers and passengers' strategic behaviors and achieve a balanced optimization of service quality. Summary of the Invention

[0005] In order to overcome the shortcomings of existing ride-hailing services that make it difficult to achieve a dynamic balance between the interests of both parties, the main objective of this invention is to provide a dynamic matching method and system for ride-hailing.

[0006] To achieve the above objectives, the present invention adopts the following technical solution: a dynamic matching method for ride-hailing, comprising the following steps:

[0007] Obtain passenger ride-sharing requests, and cluster the ride-sharing requests based on their origin, destination, and number of passengers to obtain the clustering results;

[0008] According to ride-hailing services By analyzing ride-sharing requests and obtaining passenger waiting times, and combining this with ride-hailing services... Based on the clustering results, an initial set of matching ride-hailing vehicles corresponding to the clustering results is obtained.

[0009] Get ride-hailing The set distance-cost ratio and time-cost ratio are combined with the clustering results and the initial set of matched ride-hailing vehicles corresponding to the clustering results. ;

[0010] Based on the preliminary pricing set and combined with a multi-factor effect model, the effect value of ride-sharing requests matched by ride-hailing services is obtained. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted until the effect value of the ride-sharing request matched by the ride-hailing service is reached. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. If they are equal, the pricing is determined based on the distance cost ratio and the time cost ratio at this time, serving as a cost constraint for each ride-sharing request;

[0011] Based on the cost constraints of each ride-sharing request, the effect value of the ride-hailing vehicles matched for each ride-sharing request is obtained and sorted. Under the same ride-sharing request, the vehicle with the largest effect value is selected as the target vehicle to obtain the dynamic matching result of ride-hailing vehicles.

[0012] After selecting the vehicle with the largest effect value among ride-hailing vehicles as the target vehicle, the process also includes:

[0013] Update the total effect value of the clustering results corresponding to the initial matching set of ride-hailing vehicles for each ride-hailing vehicle. Combine this with the introduction of a fairness index to obtain the fairness index 'a' corresponding to the total effect value of the clustering results corresponding to the initial matching set of ride-hailing vehicles for the target vehicle and the fairness index 'b' of the travel utility value of each ride-sharing request issued by the passenger. Adjust the ratio of distance cost to time cost until the fairness index 'a' and the fairness index 'b' converge to 1. At this point, the dynamic matching result of ride-hailing vehicles is obtained.

[0014] The clustering of carpooling requests includes the following steps:

[0015] Randomly select the location vector of each common multiplication request as the first cluster center, and obtain the distance from the location vector of each of the remaining common multiplication requests to the first cluster center, denoted as . The formula is expressed as:

[0016]

[0017] set up The set representing the cluster centers; Represents position vector To date, there are existing cluster centers The Euclidean distance;

[0018] Introduce a selection mechanism, combined with The probability of a location vector being selected as a cluster center is obtained by the following formula:

[0019]

[0020] in, Represents position vector The squared distance to the existing cluster centers, and This represents the sum of distances from all requests to the existing cluster centers;

[0021] Based on the probability that a position vector is selected as a cluster center, the remaining cluster centers are identified until a cluster center is obtained. Cluster center;

[0022] All position vectors are categorized, and the selected vectors are derived from the position vectors. Clustering of cluster centers Then the vector Assign it to the cluster corresponding to the nearest cluster center ;

[0023] The average value of all position vectors in each cluster is used as the new cluster center coordinates until the clustering results have converged, thus obtaining the determined cluster center coordinates.

[0024] Obtaining the initial pricing set includes the following steps:

[0025] Obtain the distance-based fare percentage set by the ride-hailing service, including the fare percentage per unit distance for shared rides. The cost per unit distance when not sharing a ride, and the proportion of the cost per unit distance shared by the ride-sharing service. The formula is expressed as:

[0026]

[0027] in, This represents a percentage of the cost per unit distance for shared transportation. This represents the fee a single passenger must pay the driver per unit distance for a non-carpooling travel request. This represents the cost per unit distance that a single passenger must pay to the driver for their travel request in a ride-sharing scenario.

[0028] The proportion of cost per unit distance for shared rides The cost per unit distance, not exceeding the cost of not sharing a ride, is expressed by the formula:

[0029]

[0030]

[0031] in, The upper limit of the ratio set for the platform;

[0032] Obtain the time-based fare percentage set by the ride-hailing service, including the fare percentage per unit distance traveled over time. Unit time cost when not sharing a ride The ratio of time-based cost per unit distance traveled together. The formula is expressed as:

[0033]

[0034] The unit time cost when not sharing a ride The formula is expressed as:

[0035]

[0036]

[0037] And by combining the clustering results and the initial matching set of ride-hailing vehicles corresponding to the clustering results, a preliminary pricing set is obtained.

[0038] The fairness index is used to measure the travel utility of passengers, and the formula is expressed as:

[0039]

[0040] in, For the first The resources possessed by each passenger, which are associated with the passenger's travel utility. The total number of users, the index ranges from [ ];

[0041] The fairness index of passenger travel utility The formula is expressed as:

[0042]

[0043] in, This indicates the number of carpooling groups, with each group consisting of one vehicle and a group of passengers.

[0044] The effect value of ride-sharing requests matched by ride-hailing services is obtained based on the preliminary pricing set and combined with a multi-factor effect model. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles.

[0045] The multi-factor effect model is expressed by the following formula:

[0046]

[0047] in, For the first The utility value of each factor For the first The values ​​of each factor, for The maximum value that can be achieved, Will follow The increase of decreases;

[0048] The utility value of each passenger in making a ride-sharing request includes the passenger's travel cost utility value. And the travel time utility value of passengers ;

[0049]

[0050] in, This indicates the weight of the waiting time. Indicates the weight of travel expenses; No. i The utility value of a co-op request;

[0051] The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. They are represented as follows:

[0052]

[0053]

[0054] in, This indicates the initial matching set of ride-hailing vehicles. ride-hailing vehicles, Indicates the first The request and the first Vehicle matching relationships.

[0055] The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the co-passenger request effect values ​​matched by each ride-hailing vehicle in the initial matching set of ride-hailing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted, including the following steps:

[0056] The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the total passenger request effect values ​​matched by each ride-hailing vehicle in the initial matched ride-hailing vehicle set is less than the average of the total passenger request effect values ​​matched by each ride-hailing vehicle. ride-hailing If the utility value of a clustering result is lower than the average utility value of passenger clusters within the same cluster, the ratio of distance cost to time cost will be adjusted. The adjusted price for ride-hailing services is as follows:

[0057]

[0058] in, This represents the current iteration number. This is the number of the next iteration. The minimum price set to protect the revenue of ride-hailing services. For price iteration speed;

[0059] The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the total passenger request effect values ​​matched by each ride-hailing vehicle in the initial matched ride-hailing vehicle set is less than the average of the total passenger request effect values ​​matched by each ride-hailing vehicle. The utility value of the passenger clustering results served by ride-hailing services is higher than the average utility value of the passenger clustering results within the same cluster. ride-hailing

[0060]

[0061] in, The maximum price set to protect the utility of passenger travel. For price iteration speed;

[0062] The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. equal ride-hailing The formula is expressed as: .

[0063] Under the same ride-sharing request, the vehicle with the largest effect value among ride-hailing vehicles is selected as the target vehicle, as expressed by the formula:

[0064]

[0065] in, This is a ride-sharing request. The target vehicle Indicates if by vehicle Download Request The magnitude of the utility value obtained by passengers.

[0066] A dynamic matching system for ride-hailing services includes:

[0067] The ride-sharing request clustering module is used to obtain passengers' ride-sharing requests, and to cluster the ride-sharing requests according to their start and destination locations to obtain the clustering results.

[0068] The vehicle matching module is used to match ride-hailing vehicles. The system obtains passenger waiting time from ride-sharing requests, combines ride-hailing vehicle seating capacity and driving direction as constraints, and combines the clustering results to obtain an initial set of matching ride-hailing vehicles corresponding to the clustering results.

[0069] The dynamic pricing module is used to obtain the effect value of ride-sharing requests matched by ride-hailing services based on the initial pricing set and a multi-factor effect model. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted until the effect value of the ride-sharing request matched by the ride-hailing service is reached. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. If they are equal, the pricing is determined based on the distance cost ratio and the time cost ratio at this time, serving as a cost constraint for each ride-sharing request;

[0070] The dynamic matching module is used to obtain the effect value of the ride-hailing vehicles matched for each ride-sharing request based on the cost constraints of each ride-sharing request, and sort them. Under the same ride-sharing request, the vehicle with the largest effect value is selected as the target vehicle to obtain the dynamic matching result of ride-hailing vehicles.

[0071] Compared with existing technologies, the beneficial effects of this invention are as follows: This invention uses a ride-sharing request clustering algorithm to rationally divide dispersed ride-sharing request sets based on key information such as the starting location and destination of the requests, effectively reducing the scale of subsequent processing and thus improving matching efficiency. By employing a vehicle selection algorithm, based on the clustering results and comprehensively considering constraints such as the number of vehicle seats, driving direction, and passenger waiting time, it accurately selects sets of vehicles near each request set that can provide services, avoiding invalid matching. Based on master-slave pricing matching, driver-passenger matching is constructed as a multi-round iterative dynamic process. In each iteration, ride-hailing services flexibly adjust their pricing standards according to the matching status, and passengers reselect vehicles based on the new price and service information, continuously adjusting strategies to gradually approach the optimal matching state, ultimately maximizing passenger utility while ensuring that drivers' profit demands are reasonably met, achieving an optimal balance of interests between drivers and passengers. Attached Figure Description

[0072] The accompanying drawings, which are provided to further illustrate this application and form part of this application, illustrate exemplary embodiments of this application and are used to explain this application, but do not constitute an undue limitation of this application.

[0073] Figure 1 This is a schematic diagram of the process structure of the present invention;

[0074] Figure 2 This is a schematic diagram of the algorithm flow of this invention;

[0075] Figure 3 This is a schematic diagram of the co-multiplication request of the present invention;

[0076] Figure 4 This is a schematic diagram illustrating the change in vehicle toll rates in an embodiment of the present invention;

[0077] Figure 5 This is a schematic diagram illustrating the changes in group utility in an embodiment of the present invention;

[0078] Figure 6 This is a schematic diagram illustrating the changes in the fairness index under different price update rates according to an embodiment of the present invention;

[0079] Figure 7 This is a schematic diagram illustrating the convergence of the fairness index under different ratios in the utility function of this invention.

[0080] Figure 8 This is a schematic diagram comparing the fairness index of embodiments of the present invention;

[0081] Figure 9 This is a schematic diagram comparing driver profitability in an embodiment of the present invention. Detailed Implementation

[0082] Because both drivers and passengers exhibit strategic choices during the matching process, achieving a balance of interests between them presents numerous challenges. In real-time ride-sharing scenarios, how to provide an efficient, fair, and dynamic matching and pricing mechanism to maximize the benefits of both drivers' and passengers' strategic behaviors while achieving a balanced optimization of service quality is crucial. This issue encompasses multiple aspects, including matching efficiency, service fairness, system responsiveness, and dynamic pricing strategies, and represents a core technical challenge that urgently needs to be addressed in real-time ride-sharing services.

[0083] This invention focuses on ride-hailing services. Constraints are set in the ride-sharing matching process, considering multiple factors affecting passenger travel experience, and a passenger travel utility function is constructed. Next, the passenger travel utility function is substituted into the Jain fairness index, which is used as the objective function. Simultaneously, from a pricing perspective, the dynamic matching process in ride-sharing is simulated through a price game between drivers and passengers, introducing the concept of master-slave game theory to model this process. Finally, a Stackelberg master-slave pricing matching algorithm is designed to solve the objective function, obtaining a ride-sharing matching result that maximizes passenger travel utility.

[0084] There are three roles involved in ride-sharing: driver, passenger, and platform. In this study, the driver and passenger are the main subjects of the ride-sharing matching model, while the platform is responsible for matching them. In ride-sharing matching, passengers with ride-sharing intentions send a travel request to the ride-sharing platform, typically including essential information such as origin, destination, and pick-up time. Drivers also send their vehicle's current location to the platform, which then matches passengers based on the information submitted by both parties.

[0085] The set of ride-sharing requests is It indicates that the vehicle assembly is based on This indicates that there are scenarios involving ride-sharing. A request and The vehicle. For the first... A ride-sharing request ,make ,in As the starting point of the request, The endpoint of the request, To determine the number of passengers included in the request. To request an acceptable detour ratio. For the first... A vehicle, , This indicates the current location of the vehicle. This represents the number of seats currently available for the vehicle. The variables and parameters used in the model are shown in the table below:

[0086] Table 1. Symbols and their meanings related to ride-sharing requests.

[0087]

[0088] For the A vehicle, , This indicates the current location of the vehicle. This indicates the number of seats currently available for this vehicle. Symbols related to ride-sharing vehicles and their meanings are shown in Table 2.

[0089] Table 2. Symbols and their meanings related to ridesharing vehicles.

[0090]

[0091] The meanings of other symbols involved are shown in Table 3:

[0092] Table 3 Other Symbols Table

[0093]

[0094] In a dynamic ride-sharing matching system, the matching model needs to meet the following constraints: First, cost factor. The cost of individual travel in a ride-sharing scenario is generally lower than the cost of individual travel in a non-ride-sharing scenario. Second, seat quantity factor. The total number of passengers in the ride-sharing request set served by the same vehicle cannot exceed the number of currently available seats on the vehicle. Finally, detour distance factor. In ride-sharing, passengers are accepting of detours, but their psychological expectations must be met, and detours cannot be unlimited.

[0095] (1) Cost constraints

[0096] The cost constraint is the ratio of the unit distance cost for carpooling to the unit distance cost for non-carpooling trips, without considering additional costs such as service fees.

[0097] (1)

[0098] Generally, the cost of carpooling is less than the cost of not using public transportation. The smaller the value, the lower the cost of the ride-sharing scenario compared to a non-public transportation scenario. To protect passengers' access to low-cost ride-sharing, the platform will set the maximum fare percentage. Set as the upper limit of the ratio.

[0099] (2) Seating quantity constraints

[0100] Ride-hailing vehicles are generally sedans, so the number of seats in each vehicle is limited. The total number of passengers in the set of ride-sharing requests matched with a vehicle must not exceed the total number of seats that vehicle can currently provide. Indicates a travel request With vehicles The matching relationship. For a single request. Apply the constraints in equation (2):

[0101] (2)

[0102] Indicates a request By vehicle Pick-up and drop-off, or vice versa .

[0103] Furthermore, any trip request can only be matched with one vehicle; a single trip cannot be matched with multiple vehicles. When multiple ride-sharing requests are matched with the same vehicle, the number of passengers included must not exceed the total number of seats in that vehicle. For a single vehicle... Apply the constraints of equation (3):

[0104] (3)

[0105] (3) Direction vector constraint

[0106] If a vehicle is idle, it can directly participate in ride-sharing services. If a vehicle is in service, its current direction vector needs to be determined, and it can only pick up a passenger if its direction vector meets a certain similarity requirement. This benefits both passengers and reduces driver costs. and Define the directional similarity between two vectors. The cosine value between vectors:

[0107] (4)

[0108] Equation (4) indicates that when the vehicle With request directional similarity It must be greater than the set threshold. Matching can only be performed at certain times.

[0109] Passengers' experience during ridesharing is influenced by many factors, and their travel utility function is constructed using a multi-factor utility model. The multi-attribute utility model is as follows:

[0110] (5)

[0111] in, For the first The utility value of each factor For the first The values ​​of each factor. Generally The maximum value that can be achieved, Will follow It decreases as it increases.

[0112] Passengers primarily focus on travel costs and waiting time when considering their travel experience. First, there's the cost factor. For daily commutes, taxis are often the most expensive mode of transportation, so cost significantly impacts passenger utility. This is measured by the ratio of the cost per unit distance for carpooling to the cost per unit distance for non-carpooling trips. As a cost factor influencing travel utility, the passenger's travel cost utility function is:

[0113] (6)

[0114] in, This represents the ratio of the maximum acceptable cost of carpooling to the cost of non-public transportation for passengers, indicating the cost-utility of the trip. along with Increases and decreases.

[0115] Secondly, there is the waiting time factor. In real life, the length of time passengers wait to hail a ride directly affects their travel experience, making it an important indicator of passenger utility. When a passenger sends a ride-sharing request to the platform, their waiting time is divided into two parts: the time it takes for the platform to match their ride and the time it takes for the driver to reach the passenger's current location. Matching time to the platform, The waiting time for passengers is the vehicle pick-up time. for:

[0116] (7)

[0117] The passenger's travel time utility function is:

[0118] (8)

[0119] in, This indicates the longest acceptable waiting time for passengers, representing the travel time utility. along with Increases and decreases.

[0120] According to equations (6) and (8), the passenger's total travel utility function is:

[0121] (9)

[0122] The total utility value of passenger travel. and This indicates the weighting of waiting time and travel costs.

[0123] While prioritizing passenger utility during travel, ride-hailing drivers shouldn't solely bear the losses; their income must also be considered. Current fee constraints... Scope reclassification:

[0124] (10)

[0125] In equation (10), for The minimum value that can be achieved, This is the maximum value.

[0126] vehicle Benefits for:

[0127] (11)

[0128] In equation (11), the vehicle The fee charged to passengers per unit distance during ride-sharing is .

[0129] A single vehicle serves multiple passengers sharing a ride, so we cannot only consider the travel utility of one passenger; we must take into account the travel experience of every passenger on the vehicle. Therefore, the Jain index is used to measure passenger travel utility. By applying the Jain index, we can assess the fairness of passenger utility distribution in ride-sharing services. The Jain index formula is shown in equation (12):

[0130] (12)

[0131] in, For the first i Resources for each user m This represents the total number of users. The index takes values ​​of [...]. A higher Jain index indicates that passengers generally obtain a more balanced travel utility, meaning that the ride-sharing platform does a better job of ensuring a consistent passenger experience. Conversely, a lower Jain index may indicate that some passengers obtain far less utility than others, which could affect overall satisfaction.

[0132] make Indicates vehicle The set of matched carpooling requests is called a group. .by If it represents the set of different groups served by different vehicles, then... In groups For example, this vehicle To serve multiple requests, it's necessary to consider the travel utility of each passenger and group the utility together. Defined as the average of all request utility values ​​in the group, which is the effect value of the ride-sharing request matched by the ride-hailing service:

[0133] (13)

[0134] The passenger travel utility index can be obtained from (12) and (13). R(G) for:

[0135] (14)

[0136] In equation (14) n Indicates that there is n Ride-sharing groups, each containing one vehicle and one group of passengers. Passenger trip utility index. The higher the value, the better the consistency of the travel experience among passengers participating in ridesharing, and the higher the overall travel satisfaction.

[0137] In summary, the carpooling matching model that considers passenger travel utility is as follows:

[0138] OBJ: max

[0139] st (10)

[0140] (3)

[0141] (4)

[0142] (9)

[0143] (7)

[0144] (9)

[0145] (13)

[0146] In this model, the objective function is Equation (10) represents the passenger travel utility index; Equation (2) represents the cost constraint; Equation (4) represents the detour distance constraint; Equation (2) indicates that a request can be matched with at most one vehicle; Equation (7) represents the passenger waiting time; Equation (9) represents the travel utility of a single passenger; Equation (13) represents the mean travel utility of a passenger group.

[0147] Based on the previously identified problems, this invention designs a passenger utility maximizing ride-sharing matching algorithm based on a two-tier Stackelberg game (MU-TSG). The MU-TSG algorithm comprises three algorithms: a ride-sharing request clustering algorithm, a matching vehicle selection algorithm, and a Stackelberg master-slave pricing matching algorithm.

[0148] In ride-sharing request clustering algorithms, when passengers send ride-sharing requests to a ride-sharing platform, they submit their travel request information, including origin location, destination location, and number of passengers. To accurately represent the location attributes of these travel requests, a vector is used. To indicate a request Location This is a set of position vectors. and Representing requests respectively The origin longitude and latitude, and Each represents a request The destination longitude and latitude. Considering that some carpooling requests have similar origins and destinations, assigning these requests to the same vehicle can reduce detour distances and waiting times. That is, grouping requests with similar location vectors together for processing improves the efficiency of carpooling matching.

[0149] K-means++ is an improved algorithm that enhances the accuracy and convergence speed of clustering results through more reasonable initial centroid selection, and is therefore widely used in cluster analysis. Based on K-means++, a ride-sharing clustering algorithm (RSCA) is designed. This algorithm consists of two main steps: initialization of cluster centers and the actual clustering process. Let... The set representing the cluster centers.

[0150] Cluster center initialization

[0151] First, a location vector from the requests is randomly selected as the first cluster center, and the distances from the location vectors of other requests to the first cluster center are calculated. This distance is then used as a reference point. express.

[0152] (14)

[0153] In equation (14) Indicates a request position vector To date, there are existing cluster centers The Euclidean distance.

[0154] Secondly, through a selection mechanism similar to roulette. This ensures that requests that are far from existing cluster centers have a higher probability of being selected as new cluster centers, thereby ensuring cluster diversity, avoiding overly concentrated cluster results, and improving cluster quality.

[0155] (15)

[0156] The second cluster center is selected using equation (15), and the above steps are repeated until the second cluster center is selected. Cluster centers.

[0157] Dynamically adjust clustering results

[0158] First, the position vectors are categorized. This is done by calculating the distance from each vector to the next position. Selected Clustering of cluster centers , will vector Classified into clusters .

[0159] Next, the cluster centers are redefined. After the vectors are divided into categories, the average of all requested location vectors in each cluster is calculated and used as the new cluster center coordinates. This process is repeated until the cluster center coordinates no longer change, indicating that the clustering results have converged.

[0160] In summary, the input is the requested set of location vectors. and the number of clusters The output is the cluster to which each request belongs. ,and .

[0161] Table 4. Clustering Algorithm Table for Co-multiplication Requests

[0162]

[0163] To improve the matching efficiency between passengers and vehicles, an algorithm for selecting matching vehicles is used. After dividing the passenger request set into different clustering results, the set of vehicles participating in the ride-sharing is filtered to select vehicles that can provide travel services to passengers. Indicates the first A cluster set of co-ride requests This refers to the set of vehicles that provide ride-sharing services to passengers after filtering. The vehicle filtering process includes the following three parts:

[0164] Filtering is done based on the vehicle's remaining capacity.

[0165] During the ride-sharing matching process, the number of remaining seats in the service vehicle should not be less than the number of passengers included in the ride-sharing request. This indicates that the system is currently participating in matching a set of ride-sharing requests. The ride-sharing system compares each vehicle individually. Number of remaining seats With the set of ride-sharing requests The number of passengers included in each request , Must meet At least one of the requests includes the number of passengers. , Only then can they be included in the subsequent vehicle matching set. Equation (16) must be satisfied:

[0166] (16)

[0167] If and only if in equation (16) and When the relationship is established, the vehicle Only then will they be included in the serviceable vehicle pool. Otherwise, the vehicle will be filtered out and eliminated, that is:

[0168] (17)

[0169] Filtering is based on the vehicle's direction of travel.

[0170] Similar to equation (4), calculate the vehicle and Directional similarity of each request If and only if the set of ride-sharing requests At least one request exists. Direction vector With vehicles Similarity of directional vectors Greater than the set threshold hour, Retained in the collection of available vehicles In the middle. Otherwise, update. ,Right now .

[0171] Filter by waiting time for vehicles.

[0172] If and only if there exists at least one set of shared ride requests. Request The longest acceptable time Greater than the waiting time for vehicles hour, Retained in the collection of available vehicles middle.

[0173] (18)

[0174] Equation (18) represents the waiting time relationship for vehicles. If the condition is not met, the vehicle is filtered out. .

[0175] Table 5 Filtering Vehicle Algorithm Table

[0176]

[0177] Stackelberg's master-slave pricing matching phase describes the driver-passenger matching process as a multi-round iterative dynamic matching process. In this process, a designed price adjustment strategy simulates the complex dynamic selection process between drivers and passengers. The core objective of this strategy is to achieve a win-win situation: on the one hand, ensuring that different passenger groups obtain higher travel utility during ridesharing; on the other hand, ensuring that drivers obtain reasonable income. This phase mainly includes two processes: game-theoretic pricing and dynamic matching.

[0178] (1) Game pricing

[0179] Game-theoretic pricing constructs the pricing behavior of drivers and passengers in a ride-sharing scenario as a Stackelberg game. In this process, drivers, due to their relatively proactive position in the market transaction, set the price first, and passengers then choose based on the driver's price. This order is not arbitrary but based on the actual logic of market transactions; as the service provider, the driver, to a certain extent, holds the initiative in pricing. Game-theoretic pricing involves two processes: initial pricing and subsequent price adjustments.

[0180] Initial pricing process.

[0181] Drivers provide the platform with the percentage of fares they expect to charge ride-sharing passengers, which includes both the percentage of fare per unit distance and the percentage of fare per unit time. The base fare for non-ride-sharing trips is set based on Chengdu's 2017 taxi rates of 1.9 yuan per kilometer and 0.5 yuan per minute. Based on the fare percentages uploaded to the platform by different drivers, the travel utility for each passenger during the initial pricing phase is calculated using a formula.

[0182] make Indicates vehicle The utility value of the passenger group served, which is the effect value of the ride-sharing requests matched by the ride-hailing service. Indicates with vehicles The average utility of the passenger groups served by each vehicle within the same cluster is the average effect value of the ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles.

[0183] (19)

[0184] : Subsequent price adjustment process.

[0185] Whether the price needs to be adjusted depends on... and The size relationship between the two can be used to determine their relationship; there are three possible relationships between them:

[0186] when At that time, the vehicle The utility of the passenger group served is lower than the average utility of passenger groups within the same cluster. This indicates that the vehicle The current pricing is too high, resulting in low utility for passengers. To improve passenger utility, the vehicle... The prices have been adjusted as follows:

[0187] (20)

[0188] Equation (20) This represents the current iteration number. This represents the number of iterations to come. The minimum price set to protect drivers' profits. For price iteration speed.

[0189] when At that time, the vehicle The utility of the passenger group served is higher than the average utility of passenger groups within the same cluster. This indicates that the vehicle The current pricing is too low, and passengers are receiving high utility from its services. To ensure driver profitability, the vehicle... The prices have been adjusted as follows:

[0190] (twenty one)

[0191] in, The maximum price set to protect the utility of passenger travel. For price iteration speed.

[0192] when At that time, the vehicle The utility of the served passenger group is equal to the average utility of the passenger groups within the same cluster. In this case, no price adjustment is needed. .

[0193] (2) Dynamic matching

[0194] The unit time cost price and unit distance cost price obtained in the game pricing stage are used to calculate the utility value that any request can obtain according to formula (9), and the most suitable target vehicle (i.e. the one with the largest utility value) for each request is selected in the dynamic matching stage.

[0195] Step 1: Utility ranking of the target vehicles

[0196] First, the utility of the target vehicle is ranked for each request in turn.

[0197] By comparing the utility values ​​that different vehicles can provide for the same request, the vehicle that maximizes its own utility value is selected as the target vehicle, using the following formula:

[0198] (twenty two)

[0199] in This is a ride-sharing request. The target vehicle Indicates if by vehicle Download Request The magnitude of the utility value obtained by passengers.

[0200] : Get the matching results.

[0201] After each match is completed, each vehicle updates its group utility and calculates the Jain fairness index for the current match result. The Jain fairness index is an important indicator for measuring the fairness of resource allocation. In ride-sharing matching scenarios, it can reflect the degree of fairness among different passenger groups in obtaining service quality and utility.

[0202] Example

[0203] This implementation example uses a taxi dataset from a certain platform, covering detailed information on passengers picked up and dropped off by ride-hailing services in Chengdu from November 1st to November 30th, 2016. This includes passenger pick-up and drop-off times, origin and destination coordinates, and payment amounts, as well as vehicle location information. Strict data processing measures, such as anonymization and encryption, ensure user privacy and security, providing rich and realistic data support for algorithm performance research.

[0204] This experiment focuses on verifying the convergence of the MU-TSG algorithm in a small-scale scenario, aiming to explore its performance under specific conditions. The experimental setup involves 6 passengers and 2 ride-sharing vehicles. , By simulating small-scale but diverse carpooling demand and supply scenarios, and using a small number of vehicles and a certain number of requests, we can demonstrate how the algorithm makes matching decisions under limited resources. We can observe whether the algorithm can converge to a stable matching state in this simple scenario, providing a foundation for research on algorithm performance in more complex scenarios.

[0205] In terms of experimental parameter settings, the fare ratio, fare update rate, and the time utility and cost utility weights in the utility function were selected for convergence analysis. This approach aims to better simulate the changing factors in actual ride-sharing scenarios from multiple key perspectives, such as market competition, price adjustment pace, and passenger preferences. The parameters are shown in Table 6.

[0206] Table 6 Convergence Verification Parameters

[0207]

[0208] First, compare the different fee rates. Below, vehicle With vehicles The changing trends of fare ratios and group utility reflect the reality that vehicles may employ different pricing strategies. Different fare ratios make vehicles more attractive in market competition, thus influencing passenger choices and the algorithm's vehicle allocation. Studying the algorithm's convergence under such initial fare differences allows us to understand how the algorithm balances vehicle resources with different pricing strategies to achieve stable matching results.

[0209] Subsequently, this experiment compared different cost update rates. The change in the Jain exponent of the MU-TSG algorithm. Cost update rate. The update rate is a crucial parameter in master-slave game theory algorithms for adjusting vehicle fares. Different update rates affect how quickly vehicles adjust prices based on market feedback (group utility), thus influencing passenger choices and the dynamic changes of the entire matching system. By verifying the convergence of the algorithm under different fee update rates, we can gain a deeper understanding of the algorithm's sensitivity to price adjustment mechanisms, determine an appropriate range of update rates, and enable the algorithm to quickly adapt to market changes while ensuring convergence, achieving an equilibrium and efficient matching state.

[0210] Finally, a comparison is made in the utility function. and The variation of the Jain exponent in the MU-TSG algorithm under different ratios. and Different ratios represent the varying degrees of importance passengers place on waiting time and cost in their utility evaluation. This parameter setting simulates the preference differences among different types of passengers, as they have varying sensitivities to time and cost. Studying the convergence of the algorithm under different utility function weights allows us to assess whether the algorithm can adjust its matching strategy to achieve overall fairness when faced with diverse passenger needs. In other words, regardless of passengers' preferences for time and cost, the algorithm should find a stable and balanced matching result that satisfies the travel expectations of the majority of passengers.

[0211] and and The ratio represents the vehicles and The distance to the nearest passenger varies. This parameter simulates the uneven spatial distribution of vehicles. Vehicles closer to passengers may have an advantage in the initial stage, but the algorithm needs to consider overall balance and efficiency, and cannot rely solely on distance factors for matching. By observing the convergence process of the algorithm under these vehicle location differences, we can evaluate the algorithm's ability to handle spatial factors and its stability under different geographical distribution conditions.

[0212] As shown in Table 6, the initial vehicle With vehicles Under the same conditions, the charging ratio for a single trip request is 0.6:0.8, and the vehicle... With vehicles The distance to the nearest passenger is 3:5. This indicates a distance of 3:5 from the vehicle. In comparison, vehicles Not only are the fares lower, but the vehicles can also pick up passengers in a shorter time. Therefore, as long as all constraints are met, the vehicles... It has a high probability of being selected by passengers. However, due to limitations such as seat capacity, subsequent ride-sharing requests can only be picked up by vehicles that are more expensive and farther away. During the same matching process, the vehicle... Passengers in the pick-up and drop-off requests have higher utility values. To reduce the disparity in the quality of service received by passengers, i.e., to increase the Jain fairness index representing the utility value of the passenger group in this round of matching, each vehicle adjusts its fare to each pick-up and drop-off request, and then each pick-up and drop-off request reselects a target vehicle to maximize its own utility value.

[0213] like Figure 4 As shown, the vehicle initially The fee is lower than Furthermore, its proximity to passengers gives it a competitive advantage. As iterations continue... Gradually increasing fare rates is because it has an inherent advantage in attracting passengers, and appropriately raising fares can generate greater profits. To enhance competitiveness and attract more ride-sharing requests, vehicles need to lower their fare rates. This adjustment trend indicates that while pursuing their own profit maximization, vehicles are also influenced by market competition (passenger choice).

[0214] For passengers, changes in vehicle fare rates affect their cost-effectiveness. Initially, more passengers tend to choose... Because of their lower cost and shorter distance, these passengers derive a higher value in terms of cost-utility. With The price increase may cause some price-sensitive passengers to reconsider their choice. Because at this time A relatively lower price may result in higher cost-utility, even at a slightly longer distance. This dynamic adjustment process reflects passengers' behavior of maximizing their utility by choosing different vehicles when weighing cost and distance factors. Eventually, the vehicle fare ratio tends to stabilize, indicating a relative equilibrium under current passenger demand and vehicle supply conditions. This gradually narrows the cost-utility differences between different vehicle choices, moving overall towards maximizing passenger utility.

[0215] Figure 5 It demonstrates how the vehicle evolves through iterations. The group of passengers and vehicles picked up The changing process of the group utility of the picked-up passengers. Clearly, within a finite number of iterations, the vehicle... With vehicles The group utility will reach a state of near uniformity. Initially, due to proximity and low fares, their group utility was high. However, as fares increased, the actual cost paid by passengers rose, reducing cost utility and thus decreasing group utility. Conversely, By lowering fares, more passengers were attracted, thus increasing their group utility. Through adjustments in their strategies, the difference in group utility gradually decreased until they became equal.

[0216] From the perspective of passenger service quality, the convergence of group utility means that the overall experience (including the combined utility of factors such as waiting time and cost) of passengers served by different vehicles gradually becomes similar. In the early stages of iteration, the selected passenger may have a better overall utility in terms of waiting time and cost, but as the vehicle adjusts its pricing, this difference gradually narrows. Ultimately, the difference in service quality among passengers served by different vehicles decreases, and the overall service quality (measured by group utility) obtained by passengers is more similar regardless of which vehicle they choose. This demonstrates the effectiveness of the algorithm in reducing the differences in passenger service quality, enabling passengers to obtain a relatively balanced service experience regardless of their vehicle selection, thereby indirectly promoting the maximization of passenger utility.

[0217] A high Jain Fairness Index indicates that passengers generally receive a relatively balanced travel utility, meaning that the ride-sharing platform performs well in ensuring a consistent passenger experience, allowing most passengers to feel a similar level of service quality. Conversely, a low index may indicate that some passengers receive significantly less utility than others. This imbalance could negatively impact overall passenger satisfaction, thereby affecting the ride-sharing platform's reputation and market competitiveness.

[0218] Figure 6 Comparison at different cost update rates Below, the Jain index approaches 1 at a rate that... Cost update rate Different values ​​result in different rates of change in the vehicle cost ratio. When When the Jain index reaches its maximum value of 0.7, the difference in group utility prompts vehicles to adjust their fare rates more quickly, rapidly reducing the difference in group utility among different vehicles and ultimately causing the Jain index to approach 1 rapidly. This means that in this scenario, the utility obtained by passengers across different vehicles can reach equilibrium more quickly, allowing passengers to approach a state of maximum utility more rapidly overall, while the differences in service quality between different vehicles also narrow more quickly. From the perspective of passenger utility, a faster convergence speed means that passengers can make optimal choices more quickly in a stable market environment (where vehicle fares and service quality are relatively stable), reducing the uncertainty caused by continuous adjustments in vehicle strategies. Regarding service quality, as the Jain index rapidly approaches 1, the difference in utility among passenger groups served by different vehicles decreases rapidly, meaning the difference in service quality decreases rapidly. Passengers can enjoy a relatively balanced service quality more consistently, avoiding situations where some passengers suffer utility loss due to excessive differences in service quality between vehicles, thus promoting the maximization of passenger utility and the minimization of service quality differences.

[0219] Figure 7 This figure shows the change in the fairness index of the co-multiplicative matching result when time utility and cost utility are given different weights in the utility function. As can be seen from the figure, when... When the cost-utility ratio is high, the initial value of the fairness index is the lowest, but as the iteration progresses, its value approaches 1 the fastest; while when When the cost-utility ratio is low, the Jain index has the highest initial value, but it approaches 1 most slowly as iterations progress. This is because in the utility function, when cost-utility has a low weight, the resulting update of group utility is slower, thus the change in the difference in group utility is smaller. For cases where it approaches 1 relatively quickly (i.e., ... The high proportion of cost-utility in the utility function leads to its rapid convergence because the update of vehicle tolls is linearly related to the difference in group utility. A larger weighting reduces the gap in group utility more quickly, and the fairness index thus approaches 1 faster. Therefore, by adjusting the utility function... and The ratio of Jain's index to service quality affects the process of maximizing passenger utility and the degree of differentiation in service quality to varying degrees, but the final result is that the Jain index tends to converge to 1.

[0220] This experiment was conducted on a real-world ride-hailing dataset in Chengdu, specifically comparing the experimental results of the MU-TSG algorithm and the BA algorithm under different parameter settings. These different parameter settings included varying the total number of ride-sharing requests. Total number of vehicles Average size of a single cluster Parameters such as [list of parameters]. The experimental results for comparison include the Jain fairness index of the utility gained by passengers through ridesharing and the rate of return gained by drivers through providing pick-up services. The experimental parameter settings are shown in Table 8, with the parameters in bold being the default settings for the experiment.

[0221] Table 8 Comparative Analysis Parameter Settings

[0222]

[0223] (1) Comparison of passenger travel utility

[0224] Figure 8 The graph illustrates the changing trends of the Jain fairness index of passenger utility as the number of requests varies. It clearly shows that, under various request number scenarios, the fairness index of the MU-TSG algorithm consistently outperforms that of the BGA algorithm.

[0225] Specifically, in the best case, the fairness index of the MU-TSG algorithm is about 26.3% higher than that of the BGA algorithm; in the worst case, the fairness index of the MU-TSG algorithm is also about 23.9% higher than that of the BGA algorithm; and on average, the fairness index of the MU-TSG algorithm is 24.7% higher than that of the BGA algorithm.

[0226] It is worth noting that, under different request number settings, the fairness index of the MU-TSG algorithm and the BGA algorithm generally remained stable with minimal fluctuations. This indicates that both algorithms can reliably guarantee the fairness of passenger utility under different request volume environments. However, the algorithms always have an advantage in ensuring fairness. Although the magnitude of this advantage varies slightly in different situations, it is generally significant. MU-TSG can more effectively improve the balance of utility obtained by passengers under different request number scenarios.

[0227] (2) Comparison of driver profitability

[0228] Figure 9 The figure illustrates the changes in driver profitability for passengers with different total number of requests. As can be seen from the figure, the MU-TSG algorithm outperforms the BGA algorithm in improving driver profitability across various passenger number scenarios.

[0229] Specifically, under optimal scenario settings, the driver profitability of the MU-TSG algorithm is up to 12.9% higher than that of the BGA algorithm. This data strongly confirms that, under ideal operating conditions, the MU-TSG algorithm can generate more substantial revenue for drivers, enabling them to obtain more considerable economic benefits in the same ride-sharing service process.

[0230] Even in the worst-case scenario, the MU-TSG algorithm still outperformed the BGA algorithm in driver profitability, exceeding it by 11.75%. This demonstrates that even under relatively unfavorable operating conditions, the MU-TSG algorithm can effectively guarantee driver profitability, protecting them from excessive economic losses caused by unfavorable external conditions.

[0231] On average, the MU-TSG algorithm consistently outperforms the BGA algorithm by 12.7% in driver profitability. This further highlights the MU-TSG algorithm's ability to consistently improve driver profitability over long-term and comprehensive operational processes.

[0232] As shown in the figure, both the MU-TSG and BGA algorithms exhibit an upward trend in driver profitability as the number of requests continues to increase. This is because, regardless of the driver-passenger matching rules used, as the total number of requests continues to grow, the number of trips a vehicle can simultaneously serve also increases. Therefore, by carrying more passengers at the same time, the vehicle's profitability naturally increases to some extent. However, in this process of mutual growth, the MU-TSG algorithm consistently creates more substantial economic benefits for drivers, making them more competitive and economically dynamic in the ride-sharing service market.

[0233] Through the Figure 8 and Figure 9 Analysis of the relevant content shows that the MU-TSG algorithm has significant advantages over the BGA algorithm in terms of both passenger travel utility and driver profitability.

[0234] In terms of passenger travel utility, from Figure 8 As the number of requests changes, the Jain fairness index of passenger utility shows a corresponding trend. Under various request number scenarios, the fairness index of the MU-TSG algorithm consistently outperforms that of the BGA algorithm. Specifically, in the optimal case, the fairness index of the MU-TSG algorithm is approximately 26.3% higher than that of the BGA algorithm; in the worst case, it is approximately 23.9% higher; and on average, it is 24.7% higher. While the fairness indices of both algorithms remain generally stable across different request number settings, the MU-TSG algorithm consistently maintains an advantage in ensuring fairness, more effectively improving the balance of utility gained by passengers under different request number scenarios. Although the relevant indices of both algorithms remain generally stable across different request number settings, the MU-TSG algorithm consistently maintains an advantage in optimizing passenger travel utility, better considering the individual needs of each traveler and maximizing their utility under different request number scenarios, thus demonstrating superior balance.

[0235] Regarding driver profitability, by Figure 9 It is evident that the driver profitability for passengers requesting ride-sharing varies under different total request counts. In this process, the MU-TSG algorithm demonstrates a significant advantage over the BGA algorithm in improving driver profitability. Specifically, in the optimal scenario, the MU-TSG algorithm results in a 12.9% higher driver profitability than the BGA algorithm; in the worst scenario, it still exceeds by 11.75%; and on average, it consistently exceeds by 12.7%. Furthermore, while both algorithms show an increasing trend in driver profitability as the number of requests increases, the MU-TSG algorithm consistently generates more substantial economic benefits for drivers, making them more competitive and economically viable in the ride-sharing market. Even under unfavorable operating conditions, it effectively guarantees driver profitability, preventing excessive economic losses.

[0236] In summary, the MU-TSG algorithm outperforms the BGA algorithm in improving the balance of passenger travel utility and ensuring driver profitability, demonstrating superior performance and application value in ride-sharing service-related fields. It should be noted that in this invention, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus.

[0237] The above embodiments are merely illustrative examples of the present invention and do not constitute a limitation on the scope of protection of the present invention. Any designs that are the same as or similar to the present invention are within the scope of protection of the present invention.

Claims

1. A dynamic matching method for ride-hailing services, characterized in that, Includes the following steps: Obtain passenger ride-sharing requests, and cluster the ride-sharing requests based on their origin, destination, and number of passengers to obtain the clustering results; Based on the location of the ride-hailing vehicle and the ride-sharing request, the passenger's waiting time is obtained. Combined with the ride-hailing vehicle's seating capacity and driving direction as constraints, an initial set of matched ride-hailing vehicles is obtained. Obtain the initial distance-based cost ratio and time-based cost ratio for ride-hailing services, and combine the clustering results with the initial matched ride-hailing service set to obtain the initial pricing set; Based on the preliminary pricing set and combined with a multi-factor effect model, the effect value of ride-sharing requests matched by ride-hailing services is obtained. The average effect value of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted until the effect value of the ride-sharing request matched by the ride-hailing service is reached. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. If they are equal, the pricing is determined based on the distance cost ratio and the time cost ratio at this time, serving as a cost constraint for each ride-sharing request; Based on the cost constraints of each ride-sharing request, the effect value of the ride-hailing vehicles matched for each ride-sharing request is obtained and sorted. Under the same ride-sharing request, the vehicle with the largest effect value is selected as the target vehicle to obtain the dynamic matching result of ride-hailing vehicles.

2. The ride-hailing dynamic matching method as described in claim 1, characterized in that, After selecting the vehicle with the largest effect value among ride-hailing vehicles as the target vehicle, the process also includes: Update the total effect value of the clustering results corresponding to the initial matching set of ride-hailing vehicles for each ride-hailing vehicle. Combine this with the introduction of a fairness index to obtain the fairness index 'a' corresponding to the total effect value of the clustering results corresponding to the initial matching set of ride-hailing vehicles for the target vehicle and the fairness index 'b' of the travel utility value of each ride-sharing request issued by the passenger. Adjust the ratio of distance cost to time cost until the fairness index 'a' and the fairness index 'b' converge to 1. At this point, the dynamic matching result of ride-hailing vehicles is obtained.

3. The ride-hailing dynamic matching method as described in claim 1, characterized in that, The clustering of carpooling requests includes the following steps: Randomly select the location vector of each common multiplication request as the first cluster center, and obtain the distance from the location vector of each of the remaining common multiplication requests to the first cluster center, denoted as . The formula is expressed as: set up The set representing the cluster centers; Represents position vector To date, there are existing cluster centers The Euclidean distance; Introduce a selection mechanism, combined with The probability of a location vector being selected as a cluster center is obtained by the following formula: in, Represents position vector The squared distance to the existing cluster centers, and This represents the sum of distances from all requests to the existing cluster centers; Based on the probability that a position vector is selected as a cluster center, the remaining cluster centers are identified until a cluster center is obtained. Cluster center; All position vectors are categorized, and the selected vectors are derived from the position vectors. Clustering of cluster centers Then the vector Assign it to the cluster corresponding to the nearest cluster center ; The average value of all position vectors in each cluster is used as the new cluster center coordinates until the clustering results have converged, thus obtaining the determined cluster center coordinates.

4. The ride-hailing dynamic matching method as described in claim 1, characterized in that, Obtaining the initial pricing set includes the following steps: Obtain the distance-based fare percentage set by the ride-hailing service, including the fare percentage per unit distance for shared rides. The cost per unit distance when not sharing a ride, and the proportion of the cost per unit distance shared by the ride-sharing service. The formula is expressed as: in, This represents a percentage of the cost of shared transportation per unit distance. This represents the fee a single passenger must pay the driver per unit distance for a non-carpooling travel request. This represents the cost per unit distance that a single passenger must pay to the driver for their travel request in a ride-sharing scenario. The proportion of cost per unit distance for shared rides The cost per unit distance, not exceeding the cost of not sharing a ride, is expressed by the formula: in, The upper limit of the ratio set for the platform; Obtain the time-based fare percentage set by the ride-hailing service, including the fare percentage per unit distance traveled over time. Unit time cost when not sharing a ride The ratio of time-based cost per unit distance traveled together. The formula is expressed as: The unit time cost when not sharing a ride The formula is expressed as: And by combining the clustering results and the initial matching set of ride-hailing vehicles corresponding to the clustering results, a preliminary pricing set is obtained.

5. The ride-hailing dynamic matching method as described in claim 2, characterized in that, The fairness index is used to measure the travel utility of passengers, and the formula is expressed as: in, For the first The resources possessed by each passenger, which are associated with the passenger's travel utility. The total number of passengers, the index ranges from [ ]; The fairness index of passenger travel utility The formula is expressed as: in, This indicates the number of ride-sharing groups, where each group consists of one vehicle and one group of passengers. This represents the effect value of the ride-sharing requests matched by the ride-hailing service.

6. The ride-hailing dynamic matching method as described in claim 5, characterized in that, The effect value of ride-sharing requests matched by ride-hailing services is obtained based on the preliminary pricing set and combined with a multi-factor effect model. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. This includes the following steps: The multi-factor effect model is expressed by the following formula: in, For the first The utility value of each factor For the first The values ​​of each factor, for The maximum value that can be achieved, Will follow The increase of decreases; The utility value of each passenger in making a ride-sharing request includes the passenger's travel cost utility value. And passenger travel time utility value The formula is expressed as: in, This indicates the weight of the waiting time. Indicates the weight of travel expenses; No. i The utility value of a co-op request; The effect value of the ride-sharing requests matched by the ride-hailing service. The effect values ​​of ride-sharing requests matched by each ride-sharing vehicle in the initial set of matched ride-sharing vehicles are expressed by the following formulas: in, This indicates the initial matching set of ride-hailing vehicles. ride-hailing vehicles, Indicates the first The request and the first Vehicle matching relationships.

7. The ride-hailing dynamic matching method as described in claim 4, characterized in that, The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the co-passenger request effect values ​​matched by each ride-hailing vehicle in the initial matching set of ride-hailing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted until the effect value of the ride-sharing request matched by the ride-hailing service is reached. The average of the co-passenger request effect values ​​matched by each ride-hailing vehicle in the initial matching set of ride-hailing vehicles. Equality includes the following steps: The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the total passenger request effect values ​​matched by each ride-hailing vehicle in the initial matched ride-hailing vehicle set is less than the average of the total passenger request effect values ​​matched by each ride-hailing vehicle. If the utility value of a passenger cluster served by a ride-hailing service is lower than the average utility value of passengers within the same cluster, the ratio of distance cost to time cost will be adjusted. The adjusted ride-hailing price is as follows: in, This represents the current iteration number. This is the number of the next iteration. The minimum price set to protect the revenue of ride-hailing services. For price iteration speed; The effect value of the ride-sharing requests matched by the ride-hailing service. The average of the total passenger request effect values ​​matched by each ride-hailing vehicle in the initial matched ride-hailing vehicle set is less than the average of the total passenger request effect values ​​matched by each ride-hailing vehicle. If the utility value of a passenger cluster served by a ride-hailing service is higher than the average utility value of passengers within the same cluster, the ratio of distance cost to time cost will be adjusted. The adjusted ride-hailing price is as follows: in, The maximum price set to protect the utility of passenger travel. For price iteration speed; The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. The pricing formula for ride-hailing services is expressed as follows: .

8. The ride-hailing dynamic matching method as described in claim 1, characterized in that, Under the same ride-sharing request, the vehicle with the largest effect value among ride-hailing vehicles is selected as the target vehicle, as expressed by the formula: in, This is a ride-sharing request. The target vehicle, Indicates vehicle Ride-sharing request The magnitude of the utility value obtained by passengers.

9. A dynamic matching method system for ride-hailing, characterized in that, include: The ride-sharing request clustering module is used to obtain passengers' ride-sharing requests, and to cluster the ride-sharing requests according to their start and destination locations to obtain the clustering results. The vehicle matching module is used to match ride-hailing vehicles. The system obtains passenger waiting time from ride-sharing requests, combines ride-hailing vehicle seating capacity and driving direction as constraints, and combines the clustering results to obtain the initial set of matching ride-hailing vehicles corresponding to the clustering results. The dynamic pricing module is used to obtain the effect value of ride-sharing requests matched by ride-hailing services based on the initial pricing set and a multi-factor effect model. The effect size of ride-sharing requests matched by each ride-sharing vehicle in the initial matching set of ride-sharing vehicles. The effect value of the ride-sharing requests matched by the ride-hailing service. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. If they are not equal, the ratio of distance cost to time cost will be adjusted until the effect value of the ride-sharing request matched by the ride-hailing service is reached. The effect size of ride-sharing requests matched with each ride-sharing vehicle in the initial set of matched ride-sharing vehicles. If they are equal, the pricing is determined based on the distance cost ratio and the time cost ratio at this time, serving as a cost constraint for each ride-sharing request; The dynamic matching module is used to obtain the effect value of the ride-hailing vehicles matched for each ride-sharing request based on the cost constraints of each ride-sharing request, and sort them. Under the same ride-sharing request, the vehicle with the largest effect value is selected as the target vehicle to obtain the dynamic matching result of ride-hailing vehicles.

Citation Information

Patent Citations

  • Dynamic carpooling method and system based on travel information

    CN110222786A

  • Passenger connection mode selection behavior modeling method under sudden interruption of subway

    CN118798062A