| CPC G06Q 10/06311 (2013.01) [G06Q 10/047 (2013.01); G06Q 50/40 (2024.01)] | 20 Claims |

|
1. A system for bipartite matching in a transportation problem, the system comprising:
one or more processors; and
a memory having instructions stored therein, the instructions, when executed by the one or more processors, causing the one or more processors to:
receive a first set of transportation consumers and a second set of transportation suppliers, the first set of transportation consumers including a plurality of transportation consumer data objects, each transportation consumer data objects received from a passenger device and including information identifying a passenger and a passenger location, the second set of transportation suppliers including a plurality of transportation supplier data objects, each transportation supplier data object received from a driver device and including information identifying a driver and a driver location;
iteratively process the first set to:
identify an unmatched transportation consumer data object;
create a minimum priority queue for the unmatched transportation consumer data object, wherein the minimum priority queue for the unmatched transportation consumer data object comprises unmatched transportation supplier data objects of the second set;
determine a first set of edge data in which lower-bound reduced costs for matching the unmatched transportation consumer data object with the unmatched transportation supplier data objects is less than or equal to zero;
determine an exact cost of each edge data in the first set of edge data, the exact cost of each edge data based at least in part on a distance between a passenger location and a driver location;
determine whether an augmenting path exists between the unmatched transportation consumer data object and an unmatched transportation supplier data object of the second set based on the exact cost of each edge data in the first set of edge data;
in the case where an augmenting path exists, convert the unmatched transportation consumer data object and the unmatched transportation supplier data object to a matched transportation consumer data object and a matched transportation supplier data object and transmit a notification informing the passenger device and the driver device of the match;
in the case where an augmenting path does not exist, automatically determine a lower-bound of a minimum reduced cost of the first set of edge data by initializing a candidate value as the minimum reduced cost based on the previously determined lowest exact cost, the minimum reduced cost being a minimum of the reduced costs;
updating the minimum priority queue with the determined lower-bound of the minimum reduced cost and repeating the processing to determine whether an augmenting path exists until an augmenting path is found; and
repeating the iterative processing of the set until all transportation consumers have been matched.
|