Online order matching method and device for online car-hailing based on double-target linear programming
By constructing a ride-hailing order matching model based on bi-objective linear programming, and combining historical order data with a probe-submit strategy, the problem of balancing driver income and passenger fairness in online scenarios is solved, enabling flexible resource utilization and matching decisions.
Patent Information
- Application Number
- CN202210829343.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-15
- Publication Date
- 2025-12-16
- Estimated Expiration
- 2042-07-15
AI Technical Summary
Existing ride-hailing order matching algorithms cannot effectively balance driver income and passenger fairness in online scenarios, and traditional algorithms are difficult to apply under irrevocable matching decisions.
A bi-objective linear programming approach is adopted to construct a reusable bi-objective online bipartite graph matching model for ride-hailing drivers. By setting parameter 'a' to balance driver income and passenger fairness, and combining the distribution information of historical order data, a probe-submit strategy is used for matching decisions.
It enables a flexible balance between driver earnings and passenger fairness in online order matching, improving the applicability of matching and the efficiency of resource utilization, and meeting the resource reuse needs of real-world scenarios.
Smart Images

Figure CN115131107B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of online resource scheduling, and particularly relates to a method and device for online order matching of online car-hailing based on double-target linear programming. BACKGROUND
[0002] At present, in the field of network sharing travel, a key link is to allocate appropriate drivers to each passenger on the network to pick up orders. Different allocation algorithms will affect the income of drivers, the order quantity of online car-hailing platforms, and the experience of passengers. The driver allocation algorithm should take into account the satisfaction of passengers and drivers, so as to increase the number of drivers picking up orders and passengers taking a taxi, thereby promoting the increase of the order quantity of online car-hailing platforms.
[0003] In the application scenario of online car-hailing, for a car-hailing platform, the order requests of passengers are not known but arrive online. The task of the car-hailing platform is to match corresponding drivers for the online arriving travel orders. The car-hailing platform needs to make a matching decision within a short time, and the matching process is irreversible, that is, once an order is matched to a driver, the operation cannot be revoked.
[0004] The matching problem of online car-hailing can be abstracted as a bipartite graph, where drivers are one type of nodes of the bipartite graph, travel orders (or passengers) are another type of nodes of the bipartite graph, and edges between the two types of nodes represent whether the driver and the order (or the passenger) are allowed to be matched. Past researchers have proposed algorithms such as "Hungarian algorithm" and "maximum flow algorithm" to solve the bipartite graph matching problem. However, in the application scenario of online car-hailing, these traditional "offline" algorithms are no longer applicable, because these algorithms need to have a complete understanding of the bipartite graph before matching, while the online car-hailing scenario requires online matching, and when a certain order arrives, the platform cannot exactly know the type of the next order. On the other hand, since the matching operation is irreversible, the idea of "tentative matching" such as the Hungarian algorithm is no longer applicable. SUMMARY
[0005] The present application provides a method and device for online order matching of online car-hailing based on double-target linear programming to overcome the deficiencies in the prior art.
[0006] In a first aspect, the present application provides a method for online order matching of online car-hailing based on double-target linear programming, comprising:
[0007] The real online car-hailing order data is analyzed to obtain the distribution of the occupation time of different online car-hailing drivers and the distribution of online arrival request types, and a reusable double-target online bipartite graph matching model of online car-hailing drivers is obtained through modeling; a set of all drivers is abstracted into a point set U, a set of all online passengers is abstracted into a point set V, each driver u can receive a passenger v within a distance limit, if the distance between u and v does not exceed the limit, a edge (u, v) is formed, and a set of all edges is abstracted into a edge set E to obtain an online bipartite graph matching model G=(U, V, E): when an online passenger v requests a type of arrival, an offline driver u is matched with a certain probability;
[0008] Two optimization targets of passenger fairness and driver income are set, and linear programming constraints are established; the linear programming is solved by using matlab to obtain the offline optimal score solution of driver income and passenger fairness;
[0009] A parameter a is input into the bipartite graph matching model to balance the driver income and the passenger fairness; the larger the parameter a is, the more the matching result tends to the driver income, and the smaller the parameter a is, the more the matching result tends to the passenger fairness;
[0010] After the online passenger request arrives, a feasible offline driver resource is detected to match with the current request, if the online passenger is not satisfied, the current matching is rejected, the next feasible offline driver resource is detected to match with the online passenger request, and the patience constraint of the online passenger request is set, when the detection times exceed P(v) times, the online passenger chooses to leave; if the matching is successful, the matching result will be submitted and cannot be revoked; when an offline driver resource and an online passenger complete the final matching, the occupied offline driver resource is in an unusable state, and the occupied offline driver resource can be released after a period of time and is allowed to be reused.
[0011] Further, the linear programming constraints need to add the distribution of the occupation time of the driver.
[0012] Further, the linear programming constraints include capacity constraints and patience constraints; the capacity constraints include driver usage frequency constraints and passenger online request type occurrence frequency constraints; and the patience constraint is a constraint of the tolerance degree of the passenger to the detection times.
[0013] Further, the setting of the parameter a input into the bipartite graph matching model to balance the driver income and the passenger fairness includes:
[0014] The score solution of the driver revenue and the passenger fairness is taken as the input, a 0-1 number x is randomly generated when an online passenger request comes; when x < a, the integer of the solution vector related to the online passenger request in the score solution of the driver revenue is taken; when x ≥ a, the integer of the solution vector related to the online passenger request in the score solution of the passenger fairness is taken, a 0-1 integer vector is obtained, and the integer vector is taken as the input of the online bipartite graph matching model.
[0015] In a second aspect, the application provides an online order matching device for online car-hailing based on a double-target linear programming, comprising:
[0016] An online bipartite graph matching model construction module is configured to analyze real online car-hailing historical order data, obtain the distribution of the occupation time of different online car-hailing drivers, and the distribution of online arrival request types, and model to obtain a reusable double-target online bipartite graph matching model for online car-hailing drivers; a set of all drivers is abstracted into a point set U, a set of all online passengers is abstracted into a point set V, the passengers v that can be received by each driver u are limited by distance, if the distance between u and v does not exceed the limit, a side (u, v) is formed, a set of all sides is abstracted into a side set E, and an online bipartite graph matching model G = (U, V, E) is obtained; when an online passenger v request type arrives, offline drivers u are matched with a certain probability;
[0017] A linear programming constraint construction module is configured to set two optimization targets of passenger fairness and driver revenue, and establish linear programming constraints; a linear programming is solved by using matlab, and an offline optimal score solution of driver revenue and passenger fairness is obtained;
[0018] A parameter setting module is configured to set a parameter a input to the bipartite graph matching model to balance the driver revenue and the passenger fairness; the larger the parameter a is, the more the matching result tends to the driver revenue, and the smaller the parameter a is, the more the matching result tends to the passenger fairness;
[0019] A detection submission module is configured to detect a feasible offline driver resource matched with the current request after an online passenger request arrives, and if the online passenger is not satisfied, the current matching is rejected, the next feasible offline driver resource is detected and matched with the online passenger request, and a patience constraint is set for the online passenger request; when the detection times exceed P(v) times, the online passenger chooses to leave; if the matching is successful, the matching result will be submitted and cannot be revoked; when an offline driver resource and an online passenger complete the final matching, the occupied offline driver resource is in an unusable state, and the occupied offline driver resource can be released after a period of time and is allowed to be reused.
[0020] The application provides a method and device for online order matching of online car-hailing based on double-target linear programming. BRIEF DESCRIPTION OF DRAWINGS
[0021] In order to more clearly illustrate the technical solutions of the present application, the following will briefly introduce the drawings needed in the embodiments. Obviously, for those skilled in the art, other drawings can also be obtained based on these drawings without any creative effort.
[0022] Figure 1 A flowchart of the method for online order matching of online car-hailing based on double-target linear programming provided by the embodiment of the present application is provided.
[0023] Figure 2 A double-target trade-off flowchart provided by the embodiment of the present application is provided.
[0024] Figure 3 A probe-submission matching strategy flowchart provided by the embodiment of the present application is provided.
[0025] Figure 4 A state transition diagram of offline driver resources provided by the embodiment of the present application is provided.
[0026] Figure 5 A structural schematic diagram of the device for online order matching of online car-hailing based on double-target linear programming provided by the embodiment of the present application is provided. DETAILED DESCRIPTION
[0027] The technical solutions in the embodiments of the present application will be described clearly and completely in combination with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without any creative effort fall within the scope of protection of the present application.
[0028] As shown in the drawings, Figure 1 The embodiment of the present application provides a method for online order matching of online car-hailing based on double-target linear programming, which comprises:
[0029] Step 101, analyze the real online car-hailing historical order data to obtain the distribution of different online car-hailing driver occupation time and the distribution of online arrival request type, and model to obtain the online car-hailing driver reusable double-objective online bipartite graph matching model; the set of all drivers is abstracted into a point set U, the set of all online passengers is abstracted into a point set V, each driver u can receive a passenger v limited by distance, if the distance between u and v does not exceed the limit, it constitutes an edge (u, v), the set of all edges is abstracted into an edge set E, to obtain the online bipartite graph matching model G=(U, V, E): when an online passenger v requests type arrives, match the offline driver u with a certain probability.
[0030] The real data in a certain scenario is preprocessed, and the distribution of offline resource occupation time and the distribution of online request type is obtained by evaluating the historical order data: the driver is an offline resource, and the time he is occupied is actually the travel time of completing a passenger order. By dividing multiple occupation time intervals (0, 3), (3, 6), (6, 9) and (9, 12), etc., the unit is minute, and then the number of orders in each time interval is counted to obtain the occupation time distribution of offline resources; the distribution of online arrival request type needs to be divided into types first, and online request is a passenger-initiated car request, which only needs to be divided into geographical location by 500-meter square, and then the number of orders in each area is counted. Model is established to obtain the online car-hailing driver reusable double-objective online bipartite graph matching model. Once the driver and passenger are matched, the driver's income OBJ-1 or the passenger's fairness OBJ-2 is obtained.
[0031] U contains available offline resources: idle drivers u, indicating that the driver resource is available, and occupied offline resources: drivers u who are picking up passengers, indicating that the driver resource is not available. The optimization objective can be expressed in the form of linear programming, and then the offline score solution of OBJ-1 and OBJ-2 is obtained, which is also the offline data provided by the invention for display and reference.
[0032] Step 102, set the passenger fairness and driver income as two optimization objectives, and establish linear programming constraints; solve the linear programming by using matlab to obtain the offline optimal score solution of driver income and passenger fairness.
[0033] In the present application, only two objectives are required to be linearly expressible, and the constraints are linear, and no specific requirement is required for which two objectives are to be optimized, so the present application is more widely applicable. In the present application, the linear programming constraints include capacity constraints and patience constraints. The capacity constraints include driver usage frequency constraints and passenger online request type occurrence frequency constraints; the patience constraints are the constraints of the tolerance degree of passengers to detection frequency, and the above constraints all need to add the distribution of offline resource occupation time.
[0034] In step 103, a parameter a is set to input into the bipartite graph matching model to balance the driver revenue and passenger fairness; the larger the parameter a is, the more the matching result tends to the driver revenue, and the smaller the parameter a is, the more the matching result tends to the passenger fairness.
[0035] The two independent optimization objectives OBJ-1 and OBJ-2 are usually contradictory, for example, in the online car-hailing scenario, the driver hopes to have the maximum revenue, and the passenger hopes to have the shortest waiting time for taking a car. Then at some time, the driver may prefer to go a longer distance to pick up a high-price passenger order, while the passenger who is closer, has a shorter waiting time, and has a lower order price has to wait for other taxis that are farther away. Therefore, optimizing the two objectives is contradictory, and meeting one may need to sacrifice the other. Before entering the real matching process, a parameter a (0≤a≤1) can be used to balance OBJ-1 and OBJ-2, and the specific implementation process is as shown in Figure 2 The specific balancing process of the double objectives is as follows: first, based on the online bipartite graph matching model mentioned above, two offline fractional solutions can be obtained, and the fractional solutions of the driver revenue and the passenger fairness are taken as inputs, when an online passenger request arrives, a 0-1 number x is randomly generated; when x
[0036] Step 104, after the online passenger request arrives, a feasible offline driver resource is detected to match the current request, if the online passenger is not satisfied, the current matching is rejected, the next feasible offline driver resource is detected to match the online passenger request, and the patience constraint of the online passenger request is set, when the detection times exceed P(v) times, the online passenger chooses to leave; if the matching is successful, the matching result will be submitted and cannot be revoked; when an offline driver resource is matched with an online passenger, the occupied offline driver resource is in an unusable state, and after a period of time, the occupied offline driver resource can be released and allowed to be reused.
[0037] The detection times are limited by the patience value P(v) of the online passenger, and the detection-submission process is as shown in Figure 3 First, the integer vector related to the online passenger request is taken as input, and all edges connected with v are randomly arranged. Then each edge e=(u,v) connected with v is detected in turn. If the resource u is available, the patience value P(v) of v is positive, and the integral value of the edge e in the integer vector is 1, then the resource u is matched to v, and the patience value P(v) of v is reduced by 1; otherwise, the next edge needs to be detected, that is, the next resource u needs to be detected. If the request party v accepts the resource u in the detection process, the resource u is allocated to the request party v, and the result is submitted, and the decision is irrevocable; on the contrary, if the request party v rejects the resource u, the next resource needs to be detected.
[0038] The offline resource u can be re-joined in the matching after being occupied for a period of time; once the online passenger v successfully matches an offline driver resource u, the offline driver resource u becomes unusable, that is, the driver is taking a passenger, but after a period of time, the driver will take the passenger to the destination, and the driver will be in an idle state, that is, the offline resource u becomes available and can be matched again. In order to efficiently use the related information of historical order data, the distribution of the occupation time of different offline resource types has been estimated in the data preprocessing stage. The key information of the offline resource time distribution is presented to the linear programming constraints of OBJ-1 and OBJ-2, and finally the matching strategy of the application can effectively use the information that the occupied resource will be released in the future, and efficiently allocate the resource to the request party. The specific information of the offline resource u usage state is as follows Figure 4As shown. When the decision of offline resource u is assigned to requester v, offline resource u is occupied by online requester v. If the occupation duration is greater than D(e), where e=(u, v), it indicates that offline resource u is released by requester v, and resource u is in an available state, which can be reallocated to other online requesters in the matching strategy of stage 2; otherwise, resource u is in an unavailable state, and requester v still occupies resource u. Here, D(e) is the occupation duration that meets a certain distribution, which is obtained from historical order data.
[0039] As shown in the figure, the embodiment of the application also provides a double-target linear programming-based online order matching device for online car hailing, which comprises: Figure 5
[0040] An online bipartite graph matching model construction module 10 is used to analyze real online car hailing historical order data, obtain the distribution of different online car hailing driver occupation times, and the distribution of online arrival request types, and model to obtain a double-target online bipartite graph matching model for online car hailing drivers; a set of all drivers is abstracted into a point set U, a set of all online passengers is abstracted into a point set V, and each driver u can receive a passenger v within a distance limit. If the distance between u and v does not exceed the limit, it constitutes an edge (u, v), and the set of all edges is abstracted into an edge set E to obtain an online bipartite graph matching model G=(U, V, E); when an online passenger v request type arrives, an offline driver u is matched with a certain probability;
[0041] A linear programming constraint construction module 20 is used to set two optimization targets of passenger fairness and driver income, and to establish linear programming constraints; a matlab is used to solve the linear programming to obtain an offline optimal score solution of driver income and passenger fairness;
[0042] A parameter setting module 30 is used to set a parameter a input to the bipartite graph matching model to balance the driver income and passenger fairness; the larger the parameter a, the more the matching result tends to driver income, and the smaller the parameter a, the more the matching result tends to passenger fairness;
[0043] A detection submission module 40 is used to detect a feasible offline driver resource and the current request after an online passenger request arrives. If the online passenger is not satisfied, the current matching is rejected, the next feasible offline driver resource and the online passenger request are matched again, and the patience constraint of the online passenger request is set. When the detection times exceed P(v) times, the online passenger chooses to leave; if the matching is successful, the matching result will be submitted and cannot be revoked; when an offline driver resource and an online passenger complete the final matching, the occupied offline driver resource is in an unavailable state, and the occupied offline driver resource may be released after a period of time and allowed to be reused.
[0044] The more specific working processes of the above modules can refer to the corresponding contents disclosed in the foregoing embodiments, and will not be described here again.
[0045] Correspondingly, the embodiment of the present application also provides a computer device, comprising a processor and a memory; wherein the processor implements the online order matching method of the online car-hailing based on the double-target linear programming disclosed in the foregoing embodiments when executing the computer program stored in the memory.
[0046] The more specific processes of the above method can refer to the corresponding contents disclosed in the foregoing embodiments, and will not be described here again.
[0047] Further, the embodiment of the present application also provides a computer readable storage medium for storing a computer program; the computer program is executed by the processor to implement the online order matching method of the online car-hailing based on the double-target linear programming disclosed above.
[0048] The more specific processes of the above method can refer to the corresponding contents disclosed in the foregoing embodiments, and will not be described here again.
[0049] The embodiments in the specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts of each embodiment can be referred to each other. For the device, equipment and storage medium disclosed in the embodiments, since they correspond to the method disclosed in the embodiments, the description is relatively simple, and the related parts can refer to the method part.
[0050] Those skilled in the art can clearly understand that the technology in the embodiments of the present application can be realized by means of software and necessary general hardware platform. Based on such understanding, the technical solutions in the embodiments of the present application can be embodied in the form of software product, which can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes a plurality of instructions to make a computer device (which can be a personal computer, server, or network device, etc.) execute the method described in the embodiments of the present application or some parts of the embodiments.
[0051] The present application is described in detail above in combination with specific implementation manners and exemplary examples, but these descriptions cannot be understood as limitations of the present application. Those skilled in the art understand that the technical solutions and implementation manners of the present application can be variously replaced, modified or improved without deviating from the spirit and scope of the present application, and these all fall within the scope of the present application. The protection scope of the present application is subject to the appended claims.
Claims
1. A method for online ride-hailing order matching based on bi-objective linear programming, characterized in that, include: Analyzing real ride-hailing historical order data, we obtain the distribution of time spent by different ride-hailing drivers and the distribution of online arrival request types. A reusable bi-objective online bipartite graph matching model for ride-hailing drivers is then developed. The set of all drivers is abstracted into a vertex set U, and the set of all online passengers is abstracted into a vertex set V. The number of passengers v that each driver u can pick up is limited by distance. If the distance between u and v does not exceed the limit, an edge (u, v) is formed. The set of all edges is abstracted into an edge set E, resulting in the online bipartite graph matching model G = (U, V, E). When an online passenger v arrives with a request type, it is matched with an offline driver u with a certain probability. Two optimization objectives are set: passenger fairness and driver revenue. A linear programming constraint is established. The linear programming problem is solved using MATLAB to obtain the offline optimal fractional solution for driver revenue and passenger fairness. A parameter 'a' is set as input to the bipartite graph matching model to balance driver benefits and passenger fairness; The larger the parameter 'a', the more the matching results tend to favor driver benefits; the smaller the parameter 'a', the more the matching results tend to favor passenger fairness. Once an online passenger request arrives, the integer vector related to the online passenger request is used as input, and all edges connected to v are randomly arranged. Probe each edge e=(u,v) connected to v in turn; if resource u is available, v’s patience value is positive, and the integer value of the corresponding edge e in the integer vector is 1, then match resource u to v and decrement v’s patience value by 1; otherwise, probe the next resource again. If requester v accepts resource u during the probing process, then resource u will be allocated to requester v. If the requester v rejects the resource u, then the next resource is probed again; If a feasible offline driver resource is found to match the current request, and the online passenger is not satisfied, the current match is rejected, and the next feasible offline driver resource is searched for to match the online passenger request. A patience constraint is set for the online passenger request. When the number of searches exceeds P(v), the online passenger chooses to leave. If a match is found, the match result will be submitted and cannot be undone. Once an offline driver resource is finally matched with an online passenger, the occupied offline driver resource becomes unavailable. After a period of time, the occupied offline driver resource may be released and allowed to be reused.
2. The online order matching method for ride-hailing services according to claim 1, characterized in that, The linear programming constraints need to incorporate the distribution of driver occupancy time.
3. The online order matching method for ride-hailing services according to claim 1, characterized in that, The linear programming constraints include capacity constraints and patience constraints; the capacity constraints include constraints on the number of times the driver is used and the number of times the passenger online request type occurs; the patience constraints are constraints on the passenger's tolerance for the number of probes.
4. The online order matching method for ride-hailing services according to claim 1, characterized in that, The step of setting a parameter 'a' as input to the bipartite graph matching model to balance driver benefits and passenger fairness includes: Using the fractional solutions of driver revenue and passenger fairness as input, when an online passenger request arrives, a random number x (0-1) is generated. When x < a, the solution vector of driver revenue related to the online passenger request is rounded down. When x ≥ a, the solution vector of passenger fairness related to the online passenger request is rounded down to obtain a 0-1 integer vector, which is then used as the input to the online bipartite graph matching model.
Citation Information
Patent Citations
Online car-hailing order dispatching method and system introducing passenger pick-up time satisfaction
CN112785143A
Method for improving order receiving efficiency of online car-hailing driver
CN114254785A