The present disclosure is in the field of on-line ride-sharing service matching, and particularly relates to a passenger-vehicle matching method for on line ride-sharing service.
Ride sharing refers to a transportation mode in which people can use other people's vehicles in a shared or combined travel mode without having the ownership of vehicles and pay the royalty according to their own travel requirements. On the one hand, shared travel meets the consumer's self-driving demand that cannot be realized; on the other hand, it avoids the waste caused by the inefficient use of idle vehicle resources, and thus gradually becomes one of the main travel options for the public. In addition, in order to alleviate the urban traffic operation pressure, the shared travel mode will be further popularized with the continuous increase of car ownership; at the same time, the infrastructure construction continues to be improved, and there is considerable space in future shared travel market still for development.
Network contract shared travel is an important part of shared travel mode. The specific process is that, before the travel occurs, the passenger reserves a taxi through a service platform such as a mobile phone App or a website according to his/her own travel requirements; in the travel process, the passenger shares the reserved taxi with other passengers in a pooling manner; after the travel is completed, the passenger again pays the driver a corresponding fee through the service platform. In this process, the reasonable matching of the members (driver and a plurality of passengers) in the reserved vehicle by the service platform can greatly improve the travel efficiency of the network contract shared travel mode and optimize the travel experience of urban residents. Therefore, it is of great significance to optimize the matching process of passengers of the network contract shared travel for the promotion of this new traffic mode.
For example, a network representation learning-based passenger matching method for network contract shared travel (application number CN201910262393.6) uses a network representation learning model to perform representation learning on a heterogeneous shared network, obtains a low-dimensional vector representation of a user node, and calculates and ranks a cosine similarity between a driver and a passenger, namely, travel time, position, path, number of people, etc. and the passenger with the highest similarity to the driver is selected to complete the matching. In a method for matching a person to a vehicle as an on-line leeward vehicle (application number CN201911006628.1), a matching relationship between a leeward vehicle and a user in a matching set is screened out according to a travel cost saving value, and a maximum travel cost saving of the matched leeward vehicle and the user together is taken as a target to obtain a person to vehicle matching result. Although both of existing disclosures have studied on the matching process of shared travel, their proposed methods are mainly aimed at the mode of “one driver matching one passenger”, and do not consider the more extensive case of “one driver carrying multiple passengers simultaneously”.
Technical problem: the present disclosure establishes a passenger-vehicle matching method for on line ride-sharing service, which is used for achieving reasonable and efficient matching of a driver and a plurality of passengers in a network reserved taxi. The present disclosure firstly classifies users according to their passenger pooling demand, and calculates a shortest travel time and path of various passenger combinations through a cloud collaborative system; secondly, in the present disclosure, an integer linear programming algorithm is applied to match passengers to form an optimal passenger combination scheme; finally, the present disclosure obtains an optimal driver-passenger matching scheme by supplementing a virtual passenger combination or a virtual driver such that the quantity of passenger combinations is the same as the quantity of drivers, and again applying an integer linear programming algorithm to match the passenger combinations with the drivers. The present disclosure can sufficiently optimize the passenger matching process in on-line ride-sharing service shared travel mode, resulting in better travel experience and higher travel efficiency for users. With the help of the present disclosure, on-line ride-sharing service shared travel, which is a green and emerging traffic mode, can be more widely promoted and plays a significant positive role in alleviating urban traffic pressure and improving urban traffic pollution.
Technical solution: in order to solve the above problem, the present disclosure provides a passenger matching method for on line ride-sharing service, including the following steps:
Furthermore, in step 1), the travel information comprises a start point, an end point and the pooling demand, and each user set is pre-processed, and the system cloud end server forms information about the start point and the end point in the user set into the data file which is sent to a smart phone App of the users in the set.
Furthermore, in step 2), the pooling demand is two-person pooling demand and three-person pooling demand.
Further, the specific method in step 1) is as follows such that:
where % represents a remainder symbol;
Furthermore, in the step 2), a process of matching a passenger combination within the user set RPA2 with a two-person pooling demand is such that:
possible two-person passenger combinations can be formed within the “main user set 2” RP2, the system cloud end server needs to perform no less than
times of comparisons;
Hungarian algorithm is used to solve the 0-1 programming model, and an obtained solution vector is x=(xij, i∈RP2, j∈RP2)T, the two-person passenger combination corresponding to xij=1 is screened out, the passenger combination set RP2_2 is formed, which is referred to as the main passenger combination set 2, a quantity of set elements of which is RP2_2|=|RP2|/2; and
Furthermore, in the step 2), a process of matching a passenger combination within the user set RPA3 with a three-person pooling demand is such that:
possible two-person passenger combinations can be formed within the “main user set 3” RP3, the system cloud end server needs to perform no less than
times of comparisons.
possible two-person passenger combinations, the system cloud end server needs to perform no less than
times of comparisons.
Further, in step 3), the process of matching passenger combinations within each passenger set is:
Further, the process of step 5.1) is as follows:
V is allowed to represent a driver set in the system, and a quantity |V| of set elements represents the quantity of drivers in the system;
Furthermore, in the step 5.2), a method that a preset quantity of drivers or passenger combinations are supplemented so that a quantity of passenger combinations participating in matching is equal to a quantity of drivers is as follows such that:
Furthermore, for the generalized driver set and the generalized passenger combination set, a method for driver-passenger combination matching is as follows such that:
The above-mentioned method achieves passenger-vehicle matching, and the system cloud end server sends the matching result and travel path to the mobile phone App of the driver and passenger respectively in the form of an order. After receiving the order, the driver travels according to the travel path given by the order, and sequentially receives and sends each passenger. The user waits on the spot to get on the vehicle, and pays a certain fee to the driver according to the price calculated by App after arriving at the destination to get off the vehicle. When the last passenger gets out of the vehicle and the payment is completed, the present Internet contract shared travel is completed.
The disclosure will now be further described by way of embodiments and with reference to the accompanying drawings.
The present disclosure provides a passenger-vehicle matching method for on line ride-sharing service, as shown in
I. A user publishes on-line contract shared travel information via a mobile phone App, wherein the travel information includes a start point, an end point and a pooling demand; the system divides users into a plurality of user sets according to their pooling demands, and pre-processes each user set. The system cloud end server forms information such as the start points and the end point in a user set into a data file and sends same to the smart phones of the users in the set.
The cloud end of the system stores real-time travel data of the points of getting on and off the Internet contract shared travel within the city. At a certain moment, 26 users in the system publish the shared travel demand through the mobile phone App, and the quantity of users with the pooling demand of “two-person pooling” and “three-person pooling” is each RPA2 13, respectively forming sets RPA2 and RPA3. The information for each user set is shown in Table 1.
Since |RPB2|, |RPB3|, and |RPB4| are neither 0, the passengers are selected to cope with this possibility, the system will process the passenger set in advance: two-person pooling: a set RPB2 is constituted by randomly selecting |RPB2|=1 users within the set RPA2. Finally, the user of number 13 selecting “two-person pooling”, the “secondary user set 2” RPB2={13}, and the remaining users constitute “primary user set 2” RP2.
Three-person pooling: a set RPB3 is constituted by randomly selecting |RPB3|=1 passengers within the set RPA3. Finally, the user of number 10 selecting “three-person pooling”, the “secondary user set 3” RPB3={10}, and the remaining users constitute “primary user set 3” RP3.
After receiving the on-line contract shared travel information about the user and completing user set classification and pre-processing, the cloud end respectively aggregates the travel start points and the travel end points of the users in the sets RP2 and RP3, and extracts travel times between these nodes to form three data files: File2 and File3.
After forming the data file, the cloud end sends the data file File2 to the smart phones of all the users in the set RP2, and sends the data file File3 to the smart phones of all the users in the set RP3.
II, the passenger combination is matched within the user sets RPA2 and RPA3 with “two-person pooling” and “three-person pooling” demands. Firstly, the user receives the data file, calculates the shortest passenger travel time and travel path of a two-person passenger combination when the current user is the first passenger, and returns the result to the cloud end; secondly, the system cloud end server receives the results, solves the 0-1 programming model of passenger combination matching process, and obtains the passenger combination matching scheme.
1) The current passenger is taken as the first passenger, and the shortest passenger travel time and path of two-person passenger combination are calculated.
The smart phone of the user i∈RP2 receives the data file File2 sent by the cloud end. After receiving the File2, the smart phone of the user i takes the user i as the first passenger, calculates the shortest travel path and travel time of the two-person passenger combination formed by the user i and another user j∈RP2\{i}, and returns the calculation result to the system cloud end server. A calculation formula is as follows:
as stated above, “taking the user i as the first passenger” means taking the start point Oi of the user i as a jumping-off place, so that the user i is the passenger gets aboard at first. In order to achieve the user's “two-person pooling” demand, the driver needs to first pick up the two passengers i and j and then send them to destinations respectively. In the formula, for Oi→Oj→Di→Dj and Oi→Oj→Dj→Di, all the paths are represented by nodes which are passed through in sequence, which are all the possible travel paths of the two-person passenger combination {i, j} when the user i is the first passenger. Pij represents a travel path set of the two-person passenger combination {i, j} when the user i is the first passenger, t(Ou, Oj), t(Oj, Di), t(Di, Dj), t(Oj, Dj), and t(Di, Dj) represent travel times between two nodes in parentheses; t(Oi, Oj)+t(Oj, Di)+t(Di, Dj) and t(Oi, Oj)+t(Oj, Dj)+t(Dj, Di) each indicate the possible travel time of the two-person passenger combination {i, j} when the user i is the first passenger. rij represents the shortest passenger travel time of the two-person passenger combination {i, j} when the user i is the first passenger. a quantity of users in RP2 is |RP2|, then the user i∈RP2 forms (|RP2|−1) two-person passenger combinations with other users, and the smart phone of the user i E RP2 needs to perform no less than (|RP2|−1) times of calculations.
2) The system compares the shortest passenger travel times when different users in respective two-person passenger combinations serve as the first passenger, and determines the shortest passenger travel time and travel path of each two-person passenger combination.
Within the two-person passenger combination {i, j}, a sum of the shortest passenger travel times rij and rji with the user i and the user j as the first passenger are compared with each other, the shortest passenger travel time r
since
possible two-person passenger combinations can be formed within the “main user set 2” RP2, the system cloud end server needs to perform no less than
times of comparisons.
Under the premise of existence of the “user j∈RP2 \{i}” in the two-person passenger combination {i, j}, there are parameters r
after calculation, the shortest passenger travel time of the two-person passenger combination is:
3) all the users within the set RPB2 are formed into a passenger combination RPC2, and the shortest passenger travel time and travel path of the passenger combination are calculated.
Under the user's “two-person pooling” demand, due to |RPB2|=1, RPB2={13}; all users in the set RPB2 are formed into one passenger combination represented by RPC2, i.e. RPC2={13}, then =t(Om, Dm)=t(58, 162)=55.896, and the path is 58→162. {RPC2} is allowed to represent the passenger combination set formed by the passenger combinations RPC2.
4) A matching problem of the two-person passenger combination is solved, and a two-person pooling passenger matching scheme with an optimal total passenger travel time is obtained.
For any user i∈RP2, he can only form a two-person passenger combination with another user j∈RP2\{i} ultimately. With a goal of minimizing the total passenger travel time, while under the user's “two-person pooling demand”, the matching problem of the two-person passenger combination can be transformed into a 0-1 programming model as follows:
where xij is a 0-1 variable: in a solution result of the model, if the user i and the user j constitute a two-person passenger combination {i, j}, then xij=1, otherwise xij=0.
Since there is no constraint i≠j in the 0-1 programming model, there is a repeated two-person passenger combination {i, i} and relevant parameter r
in the formula, Inf represents a positive infinite constant.
Hungarian algorithm is used to solve the 0-1 programming model, and an obtained solution vector is x=(xij, i∈RP2, j∈RP2)T, the two-person passenger combination corresponding to xij=1 is screened out, the passenger combination set RP2_2 is formed, which is referred to as the main passenger combination set 2, a quantity of set elements of which is RP2_2=|RP2|/2.
The set RC2=RP2_2∪{RPC2} is allowed to represent the passenger combination set formed by the users of the two-person pooling demand, i.e. a union set of RP2_2 and {RPC2}. The travel path and travel time of each passenger combination in the set RC2 are recorded, and a quantity |RC2| of set elements represents a quantity of the passenger combinations under the two-person pooling demand.
The travel paths and travel times for the passenger combinations in Table 3.
1) The system cloud end server pre-supplements a certain quantity of virtual users on the basis of RP3 to form a generalized user set RPE3; the user in RP3 calculates the shortest passenger travel time and travel path of all possible two-person passenger combinations with himself as the first passenger, and returns a calculation result to the system cloud end server;
A quantity |RP3|/3 of virtual users are pre-supplemented before passenger combination matching under the three-person pooling demand of the user, and the travel start points Oi and the travel end points Di of the virtual users are all virtual nodes; the virtual node does not exist in a real urban road network, and the distance to any real node is positively infinite. |RP3|/3 virtual users constitute a virtual user set RPV3, and a union set of the virtual user set RPV3 and RP3 is the generalized user set RPE3, namely RPE3=RP3∪RPV3, Inf representing a positive infinite constant.
The smart phone of the user i∈RP3 receives the data file File3 sent by the cloud end. After receiving the File3, the smart phone of the user i takes the user i as the first passenger, calculates the shortest travel path and travel time of the two-person passenger combination formed by the user i and another user j∈RP3 \{i}, and returns the calculation result to the system cloud end server. A calculation formula is as follows:
as stated above, taking the user i as the first passenger means taking the start point Oi of the user i as a jumping-off place, so that the user i is the passenger gets aboard at first, and the driver firstly receives the users i and j as the two passengers, and then send them to destinations respectively. In the formula, in both Oi-Oj→Di→Dj and Oi→Oj→Dj→Di, paths are represented by nodes which are passed through successively, and all possible travel paths of the two-person passenger combination {i, j} are taken when the user i is the first passenger, and Pij represents a travel path set of the two-person passenger combination {i, j} when the user i is the first passenger, and t(Oi, Oj), t(Oj, Di), t(Di, Dj), t(Oj, Dj), and t(Di, Dj) all represent travel time between two nodes in parentheses, t(Oi, Oj)+t(Oj, Di)+t(Di, Dj) and t(Oi, Oj)+t(Oj, Dj)+t(Dj, Di) both represent possible travel time of the two-person passenger combination {i, j} when the user i is the first passenger, and rij represents a shortest passenger travel time of the two-person passenger combination {i, j} when the user {i, j} is the first passenger.
A quantity of users in RP3 is |RP3|, then the user i∈RP3 forms (|RP3|−1) two-person passenger combinations with other users, and the smart phone of the user i∈RP3 needs to perform no less than (|RP3|−1) times of calculations.
2) The system cloud end server compares the shortest passenger travel times when different users in respective two-person passenger combinations serve as the first passenger, and determines the shortest passenger travel time and travel path of each two-person passenger combination.
Within the two-person passenger combination {i, j}, a sum of the shortest passenger travel times rij and rji with the user i and the user j as the first passenger are compared with each other, the shortest passenger travel time r
since
possible two-person passenger combinations can be formed within the “main user set 3” RP3, the system cloud end server needs to perform no less than
times of comparisons.
Real users and virtual users are collectively referred to as generalized users. If the passengers i and j in the two-person passenger combination {i, j} are both real users, then {i, j} is taken as the real two-person passenger combination; if the passenger i in the two-person passenger combination {i, j} is a real user and the passenger j is a virtual user, or if the passenger i is a virtual user and the passenger j is a real user, then {i, j} is taken as the mixed two-person passenger combination; if the passengers i and j in the two-person passenger combination {i, j} are both virtual users, then {i, j} is taken as a virtual two-person passenger combination. The real two-person passenger combination, the mixed two-person passenger combination and the virtual two-person passenger combination are collectively referred to as the generalized two-person passenger combination.
The generalized two-person passenger combination {i, j} also has the premise of “generalized user j∈RPE3 \{i}”, but it is not constrained to i≠j in the 0-1 programming model. The 0-1 programming model not only has the repeated two-person passenger combination {i, i} and the related parameter r
In order to make it possible for the subsequent 0-1 programming model to solve the first passenger matching process of “three-person pooling”, the shortest passenger travel time of any generalized two-person passenger combination {i, j} is set as follows:
For the repeated two-person passenger combination {i, i}, the shortest passenger time thereof is set as 2*Inf.
The shortest passenger travel time for the generalized two-person passenger combination at this time is shown in Table 4:
The passengers with negative numbers in Table 4 are all virtual passengers.
3) All the users within “secondary user set 3” RPB3 are formed into a passenger combination RPC3, and the shortest passenger travel time r
Under the user's “three-person pooling” demand, due to |RPB3|=1, RPB3={10}; all users in the set RPB3 are formed into one passenger combination represented by RPC3, that is a “secondary passenger combination 3” RPC3={10}, then =t(Om, Dm)=t(100,459)=69.585, and the path is 100→459. {RPC3} is allowed to represent the passenger combination set formed by the passenger combinations RPC3, referred to as a “secondary passenger combination set 3”.
4) To solve a first passenger combination matching problem under the “three-person pooling” demand of the user, |RPE3|/2 generalized two-person passenger combinations is matched in the generalized user set RPE3, and then real users in |RP3|/2 real two-person passenger combinations and |RP3|/2 mixed two-person passenger combinations are selected out.
The first passenger combination matching process under the of “three-person pooling” demand needs to match |RPE3|/2 generalized two-person passenger combinations in the generalized user set RPE3. For any generalized user i∈RPE3, he can only form a generalized two-person passenger combination with another generalized user j∈RPE3 \{i} ultimately. With a goal of minimizing the total passenger travel time, the matching problem of the generalized two-person passenger combination can be transformed into a 0-1 programming model as follows:
where xij is a variable from 0 to 1; in a model solution result, if the generalized user i and the generalized user j constitute the generalized two-person passenger combination {i, j}, then xij=1, otherwise xij=0.
The Hungarian algorithm is applied to solve the 0-1 programming model, and the solved vector is x=(xij, i∈RPE3, j∈RPE3)T, 2*(|RP3|/3) generalized two-person passenger combinations corresponding to xij=1 are screened out, wherein there are |RP3|/3 real two-person passenger combinations and |RP3|/3 mixed two-person passenger combinations.
The |RP3|/3 real two-person passenger combinations are screened out to construct the real two-person passenger combination set RP3_2 and the quantity of set elements is |RP3_2|=|RP3|/3=4.
Then the real users in |RP3|/3=4 mixed two-person passenger combinations are screened out to construct the user set RP3_1 and the quantity of set elements is |RP3_1|=|RP3|/3=4.
The sets RP3_2 and RP3_1 resulting from the processing are respectively:
after the system cloud end server completes the first passenger combination matching of the “three-person pooling”, the start points and the end points of two users of each real two-person passenger combination in the set RP3_2 are extracted to form a data file File3_2; start points and end points of each user in the set RP3_1 are extracted to form a data file File3_1. After forming the data files, the system cloud sends the data files File3-1 and File3-2 to all the smart phones of the users in the set RP3 again.
5) The current passenger is taken as the first passenger, and the shortest passenger travel time and travel path of the three-person passenger combination are calculated.
The first pass passenger combination matching process of “three-person pooling” can obtain a real two-person passenger combination set RP3_2 and a user set RP3_1. A real two-person passenger combination {i, j}∈RP3_2 and a real user k E RP3_1, then the user i, the user j and the user k can constitute a three-person passenger combination {i, j, k}.
A step of calculating the shortest passenger travel time of the three-person passenger combination {i, j, k} is as follows:
Smart phones of the user i, j∈{i, j}, {i, j}∈RP3_2 and the user k∈RP3_1 receive data files File3_1 and File3_2 sent by the cloud end.
After receiving the files File3_1 and File3_2, the smart phone of the user i calculates the shortest travel path and travel time of the three-person passenger combination formed by the user i, the user j and the user k with the user i as the first passenger. The calculation results are returned to the system cloud end server. A calculation formula is as follows:
as described above, in order to achieve the “three-person pooling” demand of the user, the driver needs to pick up three passengers and then send them to the destinations respectively. In the formula, Pijk represents a travel path set of the three-person passenger combination {i, j, k} when the user i is the first passenger; the elements Oj→Oi→Ok→Di→Dj→Dk therein are all paths, which are represented by nodes that are passed through in sequence. rijk represents the shortest passenger travel time of the three-person passenger combination {i, j, k} when the user i is the first passenger; the elements such as t(Ok, Oj)+t(Oj, Oi)+t(Oi, Di)+t(Di, Dj)+t(Dj, Dk) all represent possible travel times for the three-person passenger combination {i, j, k}.
6) The system cloud end server compares the shortest passenger travel times when different users in respective three-person passenger combinations serve as the first passenger, and determines the shortest passenger travel time and travel path of each three-person passenger combination.
Within the three-person passenger combination {i, j, k}, the system compares the shortest passenger travel times rijk, rjik, and rkij of the user i, the user j, and the user k as the first passenger, determines the shortest passenger travel time r
since the real two-person passenger combination set RP3_2 and the user set RP3_1 can form
possible two-person passenger combinations, the system cloud end server needs to perform no less than
times of comparisons.
After calculation, the shortest passenger travel time of the three-person passenger combination at this time is as shown in Table 5:
7) A second passenger combination matching problem of “three-person pooling” is solved, and aoptimal “three-person pooling” passenger matching scheme with an optimal passenger travel time is obtained.
For any two-person passenger combination {i, j}∈RP3_2, a three-person passenger combination can only be formed by him with another user k∈RP3_1 ultimately. With a goal of minimizing the total passenger travel time, while under the user's “three-person pooling” demand, the matching problem of the three-person passenger combination can be transformed into a 0-1 programming model as follows:
where xijk is a variable from 0 to 1; in a solution result of the model, if the two-person passenger combination {i, j} and the user k constitute the three-person passenger combination {i, j, k}, then xijk=1, otherwise xijk=0.
Hungarian algorithm is used to solve the 0-1 programming model, and an obtained solution vector is x=(xijk, {i, j}∈RP3_2, k∈RP3_1)T. The three-person passenger combination corresponding to xijk=1 is screened out, the passenger combination set RP3_3 is constituted, which is referred to as the main passenger combination set 3, a quantity of set elements of which is |RP3_3|=|RP3|/3=4.
The set RC3=RP3_3∪{RPC3} is allowed to represent the passenger combination set formed by the users of the “three-person pooling” demand, i.e. a union set of RP3_3 and RPC3. Travel path and travel time for each passenger combination in the set RC3 are recorded. A quantity |RC3| of set elements represents the quantity of passenger combinations under the “three-person pooling” demand.
The travel paths and travel times for the passenger combinations in Table 6.
The set RC is allowed to represent the passenger combination set formed by all users in the system, which is a union set of the passenger combination sets formed by users who have “two-person pooling” demand and “three-person pooling” demand, i.e. RC=RC2∪RC3. A quantity |RC| of set elements represents the quantity of passenger combinations in the system.
III. The passenger combinations and drivers in the system are matched. The system constructs a generalized driver set and a generalized passenger combination set, a 0-1 programming model of a driver-passenger combination matching process is solved, and screening is performed to obtain the driver-passenger combination matching scheme.
1) The passenger combination and the driver in the system are matched to form the driver-passenger combination, and a driver-passenger travel time and travel path of each driver-passenger combination are calculated.
The set of free drivers in the current system is V, wherein a quantity |V| of set elements represents a quantity of drivers in the system. The specific set information is shown in Table 7:
For any driver v∈V, V_Ov is allowed to represent a current position of v; for any passenger combination e∈RC, C_Oe and C_De are allowed to represent a start point and an end point of a passenger combination travel path of e, and C_Te represents a passenger combination travel time of e.
The driver v EV and the passenger combination e∈RC are matched to constitute the driver-passenger combination {v, e}, and a travel trajectory thereof is that the driver v starts from the current position V_Ov to C_Oe for picking up the first passenger until C_De where all the passengers get off the vehicle.
pve is allowed to represent a travel path of the driver-passenger combination {v, e}, and tve is allowed to represent a path travel time of the driver-passenger combination {v, e}, i.e. a driver-passenger travel time. A calculation formula is:
where pve represents a travel path from a current position V_Ov to C_De by the driver; and t(V_Ov, C_Oe) represents a travel time required by the driver v from the current position V_Ov to the start point C_Oe of the travel path of the passenger combination e.
If in the system the quantity of drivers is |V|=30 and the quantity of passenger combinations is |RC|=16, then there are |V|·|RC|=480 possible driver-passenger combinations, and the driver-passenger travel time needs to be calculated for |V|·|RC|=480 times.
2) A preset quantity of drivers or passenger combinations are supplemented, so that a quantity of passenger combinations participating in matching is equal to a quantity of drivers, a matching problem of the driver-passenger combination is solved, and a driver-passenger matching scheme with an optimal total driver-passenger travel time is obtained.
A real driver and a virtual driver are collectively referred to as a generalized driver, and the real passenger combination and the virtual passenger combination are collectively referred to as the generalized passenger combination. The generalized driver and the generalized passenger combination are matched and can form a generalized driver-passenger combination.
If the driver v in the driver-passenger combination {v, e} is the real driver and the passenger combination e is the real passenger combination, then {v, e} is a real driver-passenger combination; otherwise, {v, e} is a virtual driver-passenger combination The real driver-passenger combination and the virtual driver-passenger combination are collectively referred to as the generalized driver-passenger combination.
Before solving the matching problem of driver-passenger combination, it is necessary to ensure that the quantity of passenger combinations participating in matching is equal to the quantity of drivers. Therefore, Inf is allowed to represent a sufficiently large, positive constant, a certain quantity of virtual drivers or virtual passenger combinations are supplemented according to actual situations, and a generalized driver set and a generalized passenger combination set are constructed. The specific processing is as follows:
If the quantity of real passenger combinations is greater than the quantity of real drivers, i.e. |RC|>|V|, (IRC|−|V|) virtual drivers are supplemented to the driver set V, constituting a generalized driver set Vg. The generalized passenger combination set RCg is equal to the passenger combination set RC, i.e. RCg=RC. The driver-passenger travel time tve=Inf for the virtual driver v and any generalized passenger combination e∈RCg.
If the quantity of real passenger combinations is less than the quantity of real drivers, i.e. |RC|<|V|, (|V|−|RC|) virtual passenger combinations are supplemented in the passenger combination set RC to form a generalized passenger combination set RCg. The generalized driver set Vg is equal to the driver set V, i.e. Vg=V. The driver-passenger travel time tve=Inf for the virtual passenger combination e and any generalized driver v∈Vg.
In this case |RC|<|V|, |V|−|RC|=30−16=14 virtual passenger combinations are supplemented in the passenger combination set RC.
After completing the supplement of the virtual drivers or the virtual passenger combinations, the driver-passenger combination matching is performed for the generalized driver set and the generalized passenger combination set.
For any generalized driver v∈Vg, a generalized driver-passenger combination can be formed by him with only one generalized passenger combination e∈RCg. To minimize the total driver-passenger travel time, the matching problem of the driver-passenger combination can be transformed into a 0-1 programming model as follows:
where yve is a variable from 0 to 1; in a model solution result, if the generalized driver v and the generalized passenger combination e constitute the generalized driver-passenger combination {v, e}, then yve=1, otherwise yve=0.
Hungarian algorithm is applied to solve the 0-1 programming problem. The obtained solution vector is y=(yve, v∈Vg, e∈RCg)T. The generalized driver-passenger combinations corresponding to yve=1 are screened out to constitute a generalized driver-passenger combination set VRCg. Then the real driver-passenger combinations in the set VRCg are selected to form a driver-passenger combination set VRC, wherein a quantity |VRC| of the set elements is equal to a minimum value of the quantity |RC| of passenger combinations and the quantity |V| of drivers, with a quantity |VRC|=min {|RC|, |V|} of the set elements. Travel path and travel time for each driver-passenger combination are recorded.
The travel path and travel time for each driver-passenger combination in the set VRC are shown in Table 8.
IV. The cloud end sends the driver-passenger matching scheme to the phone App of the driver and the passenger, executes the matching scheme, and completes the on-line ride-sharing service shared travel.
The system sends the matching result and travel path to the mobile phone App of the driver and passenger respectively in the form of an order. After receiving the order, the driver travels according to the travel path given by the order, and sequentially receives and sends each passenger. The user waits on the spot to get on the vehicle and pays a certain fee to the driver according to the price calculated by App after arriving at the destination to get off the vehicle. When the last passenger gets out of the vehicle and the payment is completed, the present Internet contract shared travel is completed. The above-mentioned embodiments are only preferred embodiments of the present disclosure. It should be pointed out that for one having ordinary skill in the art, several improvements and equivalent replacements can be made without departing from the principles of the present disclosure. These technical solutions that improve and equivalently replace the claims of the present disclosure fall within the scope of protection of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
2022107673134 | Jun 2022 | CN | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2023/070866 | 1/6/2023 | WO |