WO2023204356A1 - Procédé et appareil d'attribution d'une commande à un livreur - Google Patents

Procédé et appareil d'attribution d'une commande à un livreur Download PDF

Info

Publication number
WO2023204356A1
WO2023204356A1 PCT/KR2022/011365 KR2022011365W WO2023204356A1 WO 2023204356 A1 WO2023204356 A1 WO 2023204356A1 KR 2022011365 W KR2022011365 W KR 2022011365W WO 2023204356 A1 WO2023204356 A1 WO 2023204356A1
Authority
WO
WIPO (PCT)
Prior art keywords
delivery
orders
information
order
score
Prior art date
Application number
PCT/KR2022/011365
Other languages
English (en)
Korean (ko)
Inventor
쉬이
주롱차오
마펭준
Original Assignee
쿠팡 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from KR1020220090999A external-priority patent/KR20230150174A/ko
Application filed by 쿠팡 주식회사 filed Critical 쿠팡 주식회사
Publication of WO2023204356A1 publication Critical patent/WO2023204356A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management

Definitions

  • Embodiments of the present specification relate to a method and device for assigning orders to delivery people.
  • the biggest difficulty with the OA problem is that it is a problem that must be solved in a real-time scenario.
  • a large amount of calculations and predictions must be performed within seconds to determine the optimal match between orders and delivery people.
  • Primary objectives in OA optimization may include reducing delivery times to provide the best CX, reducing the proportion of orders with late allocation and delivery (so-called long tail orders), and increasing acceptance rates by delivery personnel. Therefore, in order to provide the best CX in real-time scenarios, an order allocation method to delivery workers is required to reduce delivery time, reduce the ratio of long-tail orders, and increase the acceptance rate of delivery workers.
  • the embodiment of this specification is proposed to solve the above-mentioned problem, and its purpose is to confirm information on multiple orders and multiple delivery workers, and perform optimal order allocation to delivery workers based on the confirmed information.
  • the service server identifies a subset of pairs of orders and delivery workers selected from the set of each pair between a plurality of orders and a plurality of delivery men, determines a score corresponding to each pair included in the subset, and based on the scores,
  • the purpose is to determine the optimal match between order and delivery person pairs.
  • a method of allocating orders to deliverymen in a service server includes the steps of checking first information about a plurality of orders and second information about a plurality of deliverymen; Confirming a subset of pairs of orders and delivery workers selected from each set of pairs between the plurality of orders and the plurality of delivery men based on at least one of the first information and the second information; determining a score corresponding to each pair included in the subset based on at least one of the first information and the second information; determining a match between an order and a delivery person to whom an order will be assigned among the subset based on the score; And allocating at least some of the plurality of orders to at least some of the plurality of delivery workers based on the matching.
  • the first information includes information about the plurality of orders associated with a first geographic region
  • the second information includes the first geographic region and the plurality of orders within a geographic region adjacent to the first geographic region. It is characterized by including information about a plurality of delivery workers.
  • the step of checking the first information and the second information is performed at a set cycle, and the cycle is determined based on the order quantity of the first geographical area.
  • the first information includes information about the plurality of orders to which no delivery person is assigned
  • the second information includes information about the plurality of delivery people set as available for delivery.
  • the second information includes information about the preferred areas of the plurality of delivery workers, and the step of confirming the subset is based on the information about the preferred areas of each of the plurality of delivery workers. Characterized in that it includes the step of filtering the orders.
  • the subset of the order and delivery person pairs is selected so that the number of delivery people paired with each order is less than or equal to a certain number.
  • the first information includes information about the order acceptance time of the store corresponding to the plurality of orders
  • the step of confirming the subset includes the plurality of orders based on the information about the order acceptance time. Confirming the expected completion time of preparation to respond to the order; And, among the plurality of orders, it is characterized in that it includes the step of checking the subset based on the orders for which the remaining time until the expected preparation completion time is within a certain time.
  • the certain time is determined based on the size of the waiting space of the store corresponding to the plurality of orders.
  • the first information includes location information of a store corresponding to the plurality of orders
  • the second information includes current location information of the plurality of delivery workers
  • the score is provided by the first information. And characterized in that it is determined based on the pickup distance of each pair included in the subset confirmed based on the second information.
  • the first information includes information about the order acceptance time of the store corresponding to the plurality of orders, and the step of determining the score is performed from the order acceptance time among the orders corresponding to the subset. labeling orders whose elapsed time exceeds a certain amount of time; and determining the score corresponding to each pair included in the subset based on the labeling.
  • the second information includes information about the delivery performance history of the plurality of delivery workers for a certain period of time in the past, and the score is determined based on the information about the delivery performance history. .
  • the score corresponding to each order and delivery person pair included in the subset includes: a first score associated with the order; a second score associated with the delivery person; And characterized in that it is determined based on a third score associated with the time the delivery person travels to the store corresponding to the order.
  • the score corresponding to each order and delivery person pair included in the subset is the familiarity of the delivery person with a geographic area that includes at least one of a store and a delivery destination corresponding to the order. ) is characterized in that it is further determined based on the fourth score associated with.
  • a first weight, a second weight, and a third weight are set for the first score, the second score, and the third score, respectively, and the first weight, the second weight, and the third weight are set, respectively.
  • the weight is characterized in that it is determined based on at least one of the characteristics of the geographical area associated with the order and the current time.
  • the matching is characterized in that the sum of the scores of the matched pair of order and delivery person is determined to be minimum.
  • a service server that allocates an order to a delivery person includes: a memory storing at least one command; and executing the at least one command to confirm first information about a plurality of orders and second information about a plurality of delivery people, and to determine the plurality of orders based on at least one of the first information and the second information. and identifying a subset of pairs of orders and delivery workers selected from the set of each pair between the plurality of delivery workers, and scoring corresponding to each pair included in the subset based on at least one of the first information and the second information.
  • a processor that determines a match between an order and a delivery person to whom an order is to be assigned among the subset based on the score, and assigns at least some of the plurality of orders to at least some of the plurality of delivery people based on the matching. It is characterized by including.
  • a non-transitory computer-readable storage medium includes a medium configured to store computer-readable instructions, wherein when the computer-readable instructions are executed by a processor, the processor: Confirming first information about and second information about a plurality of delivery workers; Confirming a subset of pairs of orders and delivery workers selected from each set of pairs between the plurality of orders and the plurality of delivery men based on at least one of the first information and the second information; determining a score corresponding to each pair included in the subset based on at least one of the first information and the second information; determining a match between an order and a delivery person to whom an order will be assigned among the subset based on the score; and allocating at least some of the plurality of orders to at least some of the plurality of delivery workers based on the matching, wherein the service server performs an order allocation method for delivery workers.
  • the service server deviates from the greedy approach of considering multiple orders one at a time and assigning each order to the nearest delivery person, and sets the order and delivery person as nodes on each side of the bipartite graph and sets the order and delivery person as nodes on each side of the bipartite graph.
  • the edge weight of to a matching score that takes into account various factors such as pickup time, delivery person characteristics, and order characteristics, it is possible to provide global allocation of orders with optimal matching.
  • the service server considers various factors and pre-filters and removes pairs between orders and delivery personnel that are expected to be unfavorable in terms of improving customer experience or improving the delivery acceptance rate of delivery personnel, thereby allocating orders. can increase the accuracy and reduce the computational load for matching.
  • FIG. 1 is an exemplary diagram schematically showing each configuration of a service server according to an embodiment of the present specification.
  • Figure 2 shows an example of local allocation and global allocation of orders to deliverymen according to an embodiment of the present specification.
  • Figure 3 shows another example of local allocation and global allocation of orders to deliverymen according to an embodiment of the present specification.
  • Figure 4 is a flowchart showing the flow of an order allocation method for a delivery person in a service server according to an embodiment of the present specification.
  • FIG. 5 is a schematic diagram of a global allocation process of orders to deliverymen according to an embodiment of the present specification.
  • Figure 6 is an example diagram for explaining the minimum weight binary matching problem according to an embodiment of the present specification.
  • each block of the processing flow diagram diagrams and combinations of the flow diagram diagrams can be performed by computer program instructions.
  • These computer program instructions can be mounted on a processor of a general-purpose computer, special-purpose computer, or other programmable data processing equipment, so that the instructions performed through the processor of the computer or other programmable data processing equipment are described in the flow chart block(s). It creates the means to perform functions.
  • These computer program instructions may also be stored in computer-usable or computer-readable memory that can be directed to a computer or other programmable data processing equipment to implement a function in a particular manner, so that the computer-usable or computer-readable memory It is also possible to produce manufactured items containing instruction means that perform the functions described in the flowchart block(s).
  • Computer program instructions can also be mounted on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a process that is executed by the computer, thereby generating a process that is executed by the computer or other programmable data processing equipment. Instructions that perform processing equipment may also provide steps for executing the functions described in the flow diagram block(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s).
  • the term ' ⁇ unit' used in this embodiment refers to software or hardware components such as FPGA or ASIC, and the ' ⁇ unit' performs certain roles.
  • ' ⁇ part' is not limited to software or hardware.
  • the ' ⁇ part' may be configured to reside in an addressable storage medium and may be configured to reproduce on one or more processors. Therefore, as an example, ' ⁇ part' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables.
  • components and 'parts' may be combined into a smaller number of components and 'parts' or may be further separated into additional components and 'parts'. Additionally, components and 'parts' may be implemented to regenerate one or more CPUs within a device or a secure multimedia card.
  • FIG. 1 is an exemplary diagram schematically showing each configuration of a service server according to an embodiment of the present specification.
  • the service server 100 may include a processor 110 and a memory 120, and may perform a method of allocating an order to a delivery person.
  • the service server 100 shown in FIG. 1 only components related to the present embodiments are shown. Accordingly, it is obvious to those skilled in the art that the service server 100 may further include other general-purpose components in addition to the components shown in FIG. 1.
  • the service server 100 is shown in FIG. 1, any electronic device capable of performing a method of allocating a delivery person's order can be replaced with the service server 100.
  • the processor 110 serves to control overall functions for order allocation to deliverymen in the service server 100.
  • the processor 110 generally controls the service server 100 by executing programs stored in the memory 120 within the service server 100.
  • the processor 110 may be implemented as a central processing unit (CPU), a graphics processing unit (GPU), an application processor (AP), etc. provided in the service server 100, but is not limited thereto.
  • the memory 120 is hardware that stores various data processed within the service server 100.
  • the memory 120 may store data processed and data to be processed in the service server 100. Additionally, the memory 120 may store applications, drivers, etc. to be run by the service server 100.
  • the memory 120 includes random access memory (RAM) such as dynamic random access memory (DRAM), static random access memory (SRAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
  • RAM random access memory
  • DRAM dynamic random access memory
  • SRAM static random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • CD- It may include ROM, Blu-ray or other optical disk storage, a hard disk drive (HDD), a solid state drive (SSD), or flash memory.
  • Approaches to solve order allocation (OA) problems generally include routing-based approaches and matching-based approaches.
  • the route-based approach is to solve OA with the Vehicle Routing Problem (VRP), a classic problem in the field of Operations Research, where the individual optimization problem is the best assignment of orders to delivery people and the optimal route for each delivery person. It is configured to determine sets simultaneously.
  • VRP Vehicle Routing Problem
  • the purpose of this route-based approach is to maximize a specific objective function given different constraints, such as minimizing the total travel distance or minimizing the expected delivery time of all orders.
  • VRP is an NP-hard problem for which it is difficult to find an efficient solution in the general case, which makes it difficult to apply to real-time scenarios such as food delivery where decisions must be made within seconds.
  • matching-based approaches solve OA as a matching problem between delivery people and orders.
  • Each delivery person-order pair has a matching score, and the optimal assignment is obtained by maximizing the total matching score.
  • the matching-based approach or algorithm is computationally more efficient and more suitable for real-time scenarios, and for this reason, the service server can use the matching-based approach.
  • matching-based approaches can be further divided into local and global allocation algorithms.
  • the local allocation algorithm considers orders one at a time and may use a greedy approach, assigning each order to the nearest delivery person. Although this is simple and convenient, the performance of local allocation algorithms is highly dependent on the specific order in which delivery operations or orders are processed, and can often end up providing poor solutions with suboptimal allocations.
  • the global assignment algorithm sets the order and delivery person as nodes on each side of a bipartite graph, where the edge weights of the bipartite graph may correspond to the matching scores.
  • OA can be treated as a bipartite graph matching problem, and a globally optimal solution that maximizes the overall matching score can be obtained in polynomial time. For this reason, the service server may use this score-based global allocation method.
  • Figure 2 shows an example of local allocation and global allocation of orders to deliverymen according to an embodiment of the present specification.
  • the diagram on the left shows an example local assignment of a service server assigning orders for two stores (S1, S2) to two deliverymen (D1, D2).
  • the service server checks the orders for the store (S1) and the store (S2) one at a time. In order to first allocate orders to the store (S1), the delivery person closest to the store (S1) is the delivery person (D1). After confirming, the order for the store (S1) can be assigned to the delivery person (D1). Next, in order to assign an order to the store (S2), the service server searches for a delivery person who has not yet been assigned an order among the delivery people closest to the store (S2), identifies the delivery person (D2) as a result of the search, and The order for the store (S2) can be assigned to the delivery person (D2). In this case, the estimated time it takes for deliverymen (D1, D2) to complete the order is a total of 6 minutes.
  • the diagram on the right shows an example global allocation of a service server that assigns orders for two stores (S1, S2) to two deliverymen (D1, D2).
  • the service server globally distributes information about orders for all stores (S1, S2) located within a geographic area and for all delivery drivers (D1, D2) located in that geographical area or in the vicinity of that geographical area.
  • orders can be assigned to the optimal solution.
  • orders for store (S1) may be assigned to delivery person (D2) and orders for store (S2) may be assigned to delivery person (D1).
  • delivery person (D1, D2) may complete the order.
  • the estimated time it takes is a total of 4 minutes, and you can see that it takes less time than the delivery time of order allocation through local allocation.
  • Figure 3 shows another example of local allocation and global allocation of orders to deliverymen according to an embodiment of the present specification.
  • the diagram on the left shows an example local assignment of a service server assigning two orders (o1, o2) to two deliverymen (d1, d2).
  • orders can be processed in the order requested using a greedy approach. Because the order (o1) occurred at a location closer to the delivery person (d2) than the delivery person (d1), the order (o1) is first assigned to the delivery person (d2). In this case, the order o2 must be assigned to the remaining delivery person d1, which may lead to a poor assignment resulting in a long pickup distance to travel from the delivery person d1 to the order o2.
  • the diagram on the right shows an example global allocation of a service server assigning two orders (o1, o2) to two deliverymen (d1, d2).
  • Global allocation can solve this problem and obtain a global optimal solution for all orders, where order (o1) is assigned to delivery person (d1) and order (o2) is assigned to delivery person (d2).
  • the matching score is calculated based on the pickup distance and may be inversely proportional to the pickup distance, that is, the smaller the distance, the higher the matching score may be. In this way, global allocation can use the matching score of the bipartite graph to obtain the best order allocation solution for all current orders.
  • the service server may determine the delivery person's pickup distance (i.e., the distance the delivery person travels to pick up the food from his current location to the store associated with the order) as the matching score. This may be the most intuitive way to directly use the delivery person's pickup distance as a matching score.
  • CX customer experience
  • delivery driver order acceptance rate factors such as delivery driver waiting time, delivery person location preference, overtime availability, and new customer benefits are taken into account.
  • a matching score can be calculated. In one embodiment, some of these factors and predictions may be obtained using the output of a machine learning model, such as a preference model trained with historical data.
  • the service server can design various strategies to achieve specific business goals by assigning different weights to the scores. Weights can be determined by methods such as offline simulation, online experimentation, online optimization, and reinforcement learning.
  • Figure 4 is a flowchart showing the flow of an order allocation method for a delivery person in a service server according to an embodiment of the present specification.
  • the subject performing each step shown in FIG. 4 may include the service server 100 shown in FIG. 1 .
  • the service server may check first information about a plurality of orders and second information about a plurality of delivery workers.
  • the service server can check multiple orders received through the delivery brokerage application and check information about multiple delivery workers who will allocate delivery for the multiple orders.
  • multiple orders and multiple delivery drivers to assign them may be identified by geographic region.
  • the first information includes information about a plurality of orders associated with a first geographic region
  • the second information includes information about a plurality of delivery persons within the first geographic region and a geographic region adjacent to the first geographic region.
  • Orders associated with the first geographic area may include orders where at least one of a store (e.g., a restaurant) that prepares the ordered food and a delivery location selected by the customer when ordering is located within the first geographic area.
  • the service server verifies the incoming multiple order information associated with each geographic zone and prepares M-to-N matching by identifying multiple couriers currently located within that geographic zone or adjacent geographic zones to which multiple orders can be assigned. can do.
  • checking the first information and second information may be performed at a set cycle.
  • the service server may confirm multiple orders and multiple delivery persons, for example, in a 30-second cycle, perform M-to-N matching of multiple orders and multiple delivery persons confirmed in the current cycle period, and perform M-to-N matching of the multiple orders and multiple delivery persons confirmed in the current cycle period. Orders and delivery personnel that are not matched and assigned in a cycle can be set to be matched in the next cycle cycle.
  • the service server may set a separate weight so that orders or delivery personnel not assigned in the current cycle cycle can be assigned more priority in the next cycle cycle.
  • the set weight may affect the matching score for matching an order or a delivery person, and a pair of an order and a delivery person that includes at least one of the order and the delivery person for which the weight is set may be given a high score.
  • the frequency of checking the first information and the second information may be determined based on the order quantity in the first geographic region.
  • the service server may adaptively determine the cycle for checking order and delivery person information and performing matching by considering the regional characteristics of the first geographical area.
  • the first geographical area may be a residential area and a commercial area. If it is a dense area with a relatively high order volume, the cycle can be shortened to ensure order allocation to delivery workers is performed smoothly, reduce the calculation load per cycle, and reduce the proportion of old orders (i.e. long-tail orders) with unassigned delivery workers. can be reduced.
  • the first geographical area is an area where residential or commercial areas are not densely populated and the order volume is relatively low, the overall calculation load can be reduced and the efficiency of order allocation can be increased by lengthening the cycle.
  • the order quantity for the first geographic region may be confirmed based on regional order history data stored in a database associated with the service server.
  • the frequency of checking the first information and the second information is whether it is peak time, the proportion of delivery workers who are not assigned an order among all delivery workers who are online, the proportion of long-tail orders among all orders, statistical data related to delivery time, etc. It can be decided based on .
  • a delivery person located in a first geographic zone may be simultaneously assigned an order associated with the first geographic zone and an order associated with a second geographic zone adjacent to the first geographic zone.
  • the service server first assigns to the delivery person the order associated with the first geographic zone in which the delivery person is currently located, and the order associated with the second geographic zone that was not assigned is the order of the next cycle in the order allocation associated with the second geographic zone. It can be passed on as an allocation.
  • the service server may assign weight so that orders associated with the unallocated second geographic area are allocated preferentially in the next cycle.
  • the first information may include information about a plurality of orders to which no delivery person is assigned
  • the second information may include information about a plurality of delivery persons set as available for delivery.
  • the service server can prevent multiple delivery people from being assigned to one order by only checking information about orders to which delivery people have not yet been assigned.
  • the delivery person can use the delivery application installed on his terminal to enter whether the delivery person is currently available for delivery or is unable to deliver due to work, rest, vacation, etc., and the entered information is transmitted to the service server. It can be.
  • the service server can perform order allocation by checking only the information of the delivery person currently available for delivery based on the delivered information, thereby ensuring that the order is smoothly assigned only to the delivery person currently available for delivery.
  • FIG. 5 is a schematic diagram of a global allocation process of orders to deliverymen according to an embodiment of the present specification.
  • a table such as table 510 of FIG. 5 may be created.
  • the service server confirmed information about three orders (order 1, order 2, order 3) and three delivery people (delivery person 1, delivery person 2, delivery person 3), and each column of the table is It can represent 9 delivery person and order pairs, which can consist of 3 orders and 3 delivery people.
  • the service server can perform a filtering operation on the table 510, and to explain this, we return to FIG. 4.
  • the service server may confirm a subset of pairs of orders and delivery workers selected from each set of pairs between a plurality of orders and a plurality of delivery men based on at least one of the first information and the second information. This may involve the service server considering various factors to pre-filter and remove pairs between orders and delivery personnel that are expected to be unfavorable in terms of improving the customer experience or improving the delivery acceptance rate of the delivery person.
  • the service server determines the delivery person's preferred area, the store's food preparation time, the delivery person's waiting time, the number of candidate delivery people for assigning one order, the delivery person's pick-up distance, and the drop-off distance (i.e., the delivery person picks up the food from the store). Filtering can be performed by considering various factors such as (distance traveled from pick-up to delivery destination), delivery time, obstacles (rivers, military facilities, etc.), delivery refusal history, delivery person's transportation method, etc.
  • the service server may first perform primary filtering to remove orders and delivery people that are not suitable for assignment to reduce the dimensionality of the bipartite graph, and then perform secondary filtering for each order and delivery person pair. .
  • the primary filtering may include filtering for delivery workers, including those who are not currently available for delivery due to holidays, breaks, etc. (i.e., offline rather than online delivery workers), or those who are currently performing other deliveries. may be filtered and excluded from the delivery person pool.
  • the number of delivery workers who are currently online is small, and even if a delivery worker is currently in the process of delivering, a delivery worker who has not long left until the expected delivery completion time may be included in the delivery worker pool and designated as a candidate for order allocation.
  • the primary filtering may include filtering for orders to be filtered and excluded from the order pool if the time remaining until the order's expected completion time at the store associated with the order exceeds, for example, 15 minutes. You can. However, in one embodiment, if an order is left unassigned to a delivery person for, for example, more than 30 minutes, it is classified as a long tail order and needs to be processed quickly, so it is not excluded from the order pool and is a candidate for assigning a delivery person. It can be specified as .
  • secondary filtering may be performed on each order and delivery person pair consisting of multiple orders and multiple delivery drivers, including pickup distance (the distance from the delivery person's current location to the location of the store associated with the order) and May include drop-off distance (distance from the store's location to the delivery destination) restrictions. Thresholds corresponding to pickup distance and drop-off distance limits may vary depending on the delivery person's mode of transportation (e.g., car, motorcycle, bicycle, walking).
  • the current time corresponds to a time when road traffic is congested, such as rush hour, and at least one of the pick-up distance and drop-off distance exceeds a certain distance
  • delivery workers using cars are filtered out and excluded from the delivery worker pool. It can be.
  • the pair of order and delivery person may be filtered if there are predefined obstacles (e.g., rivers, mountains, military installations) on the delivery person's path to the store associated with the order.
  • predefined obstacles e.g., rivers, mountains, military installations
  • delivery workers currently located in Gangnam, Seoul may be filtered so that they cannot be assigned orders for stores located in Gangbuk.
  • the order may be filtered so that an acceptance request for the same order is not sent to that delivery person.
  • the second information includes information about the preferred areas of the plurality of delivery workers
  • the service server determines the subset to filter the plurality of orders based on the information about the preferred areas of each of the plurality of delivery workers.
  • the service server checks each pair between a plurality of orders and a plurality of delivery men, selects only the pairs of orders associated with the delivery man and the delivery man's preferred region to be included in the subset, and pairs of orders not associated with the delivery man and the delivery man's preferred region. can be removed from being included in the subset by filtering. Through such filtering, the service server can ensure that only orders from the delivery person's preferred region are assigned, thereby increasing the delivery person's order acceptance rate and improving customer experience through quick and accurate delivery.
  • a subset of order and delivery person pairs may be selected such that the number of delivery persons paired with each order is less than or equal to a certain number.
  • the service server can regulate the computational load during matching so that it is not exceeded by limiting each order to have at most a certain number (e.g., 10) of candidate couriers to prevent flooding of downstream services. This can be designed by having the service server select, for example, only the 10 delivery workers located within the closest straight line distance from the store associated with a specific order and set them as candidate delivery workers for the specific order.
  • the first information includes information about the order acceptance time of the store corresponding to the plurality of orders
  • the service server determines the subset corresponding to the plurality of orders based on the information about the order acceptance time. This may include checking the expected preparation completion time and checking a subset based on orders for which the remaining time until the expected order completion time is within a certain time among the plurality of orders.
  • the order information is transmitted to the store's terminal corresponding to the order, and the store can accept or reject the order.
  • the service server can check the order acceptance time and the expected completion time of the food corresponding to the order.
  • the database associated with the service server may include history information about the preparation completion time for each food and time period of the store, and the service server extracts the history information from the database from the time the store accepts the order to the time the food is prepared. You can predict how long it will take.
  • the expected preparation time corresponding to an order can be confirmed by adding the predicted preparation time based on history information to the store's order acceptance time.
  • the service server may limit the subset to include only pairs between an order and a delivery person whose time remaining until the expected order completion time is within a certain time (for example, 15 minutes) among the plurality of orders. If there is too much time remaining until the expected order completion time, if these orders are assigned to a delivery person, the delivery person will have to wait a significant amount of time even after traveling to the store for pickup, which can harm the efficiency of order allocation. Accordingly, the service server can reduce the waiting time of the delivery person and increase the delivery efficiency of the delivery person by performing filtering so that pairs containing orders whose remaining time exceeds a certain time are not included in the subset.
  • a certain time for example, 15 minutes
  • the certain amount of time may be determined based on the size of the store's waiting space corresponding to a plurality of orders. If the size of the store's waiting space is small, the service server may set the certain time to a relatively small time (for example, 8 minutes) because the store's business may be disrupted due to the waiting of numerous delivery workers.
  • the service server determines the remaining time until the expected order completion time of the first order among the plurality of orders as the first time, and determines the estimated time it will take to travel to the store of the first delivery person among the plurality of delivery people.
  • the service server can reduce the unnecessary waiting time of the delivery person and perform efficient order allocation to the delivery person by determining whether to filter the order and delivery person pair in consideration of the waiting time of the delivery person.
  • the second information includes information about the means of transportation of the plurality of delivery workers
  • the service server determines the subset to filter the plurality of orders based on the information about the means of transportation of each of the plurality of delivery workers. may include For example, if the pick-up and drop-off distances corresponding to an order are quite far, or if the weight of the ordered food is quite heavy, delivery workers who use walking may not be suitable for the order and may be filtered out in advance.
  • the connection between the order and a delivery person traveling in a vehicle (e.g., car, motorcycle) Pairs can be pre-filtered and removed.
  • step S420 of FIG. 4 when the service server confirms a subset of pairs of orders and delivery workers selected from among the sets of each pair between a plurality of orders and a plurality of delivery men based on at least one of the first information and the second information, A table such as table 520 may be created.
  • the service server may filter all pairs containing Order 1 so that they are not included in the subset. For example, this may be to prevent the possibility that the waiting time of the delivery person becomes too long because the time remaining until the expected time of completion of food preparation corresponding to order 1 exceeds a certain time.
  • the service server may filter the pair of order 2 and delivery person 2 and the pair of order 3 and delivery person 3 so that they are not included in the subset. This may be, for example, because the geographic area associated with Order 2 is included in the preferred regions of Delivery Person 1 and Delivery Person 3, but is not included in Delivery Person 3's preferred areas. Additionally, this may be because, for example, the pick-up distance corresponding to Order 3 is relatively long, so Deliveryman 3, who uses walking, is not suitable for Order 3. In this way, the service server can increase the accuracy of order allocation and reduce the computational load for matching by filtering in advance the order and delivery person pairs that will have a negative impact on the customer experience and the delivery person's order acceptance rate. .
  • the service server can determine the score of each pair in the filtered table 520, and to explain this, we return to FIG. 4.
  • the service server may determine a score corresponding to each pair included in the subset based on at least one of the first information and the second information.
  • the service server may use the matching scores of the bipartite graph to determine scores for order and delivery person pairs included in the filtered subset to perform global assignment of orders.
  • the first information includes location information of a store corresponding to a plurality of orders
  • the second information includes current location information of a plurality of delivery workers
  • the score is based on the first information and the second information. It may be determined based on the pickup distance of each pair included in the identified subset. The pickup distance may refer to the distance traveled to pick up food from the delivery person's current location to the store's location. In one embodiment, the score may be determined to be proportional or inversely proportional to the pickup distance.
  • the score may be determined based on the pickup time of the delivery person corresponding to the pickup distance.
  • Pick-up time may refer to the estimated travel time for the delivery person to travel the pickup distance based on the delivery person's transportation method.
  • the pickup time can be calculated directly by the service server or obtained through an external navigation API.
  • the score may be proportional to the pick-up time, and the service server may determine matching so that the sum of the scores of each order and delivery person pair is minimal, thereby performing order allocation to the delivery person that minimizes the pickup time.
  • the first information includes information about the order acceptance time of the store corresponding to a plurality of orders
  • the service server determines the score by determining the time elapsed from the order acceptance time among orders corresponding to the subset. This may include labeling orders that exceed a certain amount of time and determining a score corresponding to each pair included in the subset based on the labeling.
  • the service server labels orders for which a significant amount of time has passed since the order was accepted (i.e., long-tail orders), for example, orders for which a delivery person has not been assigned for more than 30 minutes, or orders for which a delivery person has not been assigned even though the food preparation has been completed. And, a score can be determined so that delivery workers can be assigned preferentially to these labeled orders.
  • the service server may design scores to preferentially match orders and delivery person pairs that include labeled orders by assigning relatively high scores to them.
  • the first information includes order history information of an orderer (i.e., customer) corresponding to a plurality of orders
  • the service server determines the score when the order is selected a certain number of times by the customer among orders corresponding to the subset. This may include labeling the orders corresponding to the orders within the order and determining a score corresponding to each pair included in the subset based on the labeling.
  • the service server may determine a score so that new customers' orders are assigned more quickly than regular customers' orders to improve the customer experience of new customers and encourage them to continue using the delivery brokerage service.
  • the service server may label the customer as a new customer if the order corresponds to the customer's third or lower order (i.e., order 1, order 2, and order 3) and place orders for this labeled customer.
  • a score can be determined so that a delivery person can be assigned priority.
  • the service server may design scores to preferentially match orders and delivery person pairs that include labeled orders by assigning relatively high scores to them.
  • the second information includes information about the delivery performance history of a plurality of delivery workers over a certain period of time in the past, and the score may be determined based on the information about the delivery performance history.
  • Information about the delivery performance history of the delivery person may include statistical data including information such as evaluation, rating, delivery acceptance rate, average moving speed, number of deliveries per day, and delivery performance time zone related to the delivery person's delivery work. For example, a pair of an order and a delivery person that includes a first delivery person may be adjusted according to the rating of the first delivery person, and a pair of an order and a delivery person that includes a delivery person with a high rating may be given a high score and sent to the service server to be matched preferentially. It can be designed by
  • the score corresponding to each order and delivery person pair included in the subset includes a first score associated with the order, a second score associated with the delivery person, and a second score associated with the time the delivery person travels to the store corresponding to the order. 3 Can be decided based on the score.
  • the service server can determine the score by considering all information about the order, information about the delivery person, and information related to the delivery person's travel time, and can adjust the weight of each element that determines the score as necessary.
  • the score corresponding to each order and delivery person pair included in the subset is a fourth score associated with the delivery person's familiarity with the geographic area that includes at least one of the store and delivery destination corresponding to the order. It can be decided further based on the score.
  • the service server can check the delivery person's familiarity with a specific geographic area based on information about the delivery person's preferred area provided to the service server through the application and data on the delivery person's delivery history by region.
  • the score corresponding to a pair of order and delivery person associated with a geographical area with high familiarity can be set high to increase the likelihood that the delivery person will be matched to an order corresponding to a geographical area with high familiarity.
  • a first weight, a second weight, and a third weight are set for the first score, the second score, and the third score, respectively, and the first weight, the second weight, and the third weight are set in order and The determination may be based on at least one of the characteristics of the associated geographic area and the current time. For example, if the difference in delivery time depending on the current location of the delivery people is not large because stores and delivery people are concentrated in the geographic area associated with the order, the service server lowers the third weight for the third score associated with the pickup time. and the first and second weights can be set high.
  • the service server may set the third weight for the third score associated with the pickup time to be high.
  • the service server can determine the weight of each factor based on the order volume in the geographical area, the complexity of the geographical area, the difficulty of delivery, etc. In this way, the service server can perform optimal order allocation suitable for real-time situations by adjusting the score by considering various factors.
  • the score corresponding to each order and delivery person pair included in the subset may be determined further based on a fifth score associated with cost per order (CPO).
  • CPO cost per order
  • a plurality of delivery persons may have different payment structures depending on the type, and the service server may determine a score corresponding to the pair of order and delivery person by considering the cost to be paid to the delivery person.
  • the service server determines a score corresponding to each pair included in the subset based on at least one of the first information and the second information in step S430 of FIG. 4, a table such as the table 530 of FIG. 5 will be created. You can. In the example shown in Figure 5, the service server sets the score corresponding to the pair of order 2 and delivery person 1 as 3, the score corresponding to the pair of order 2 and delivery person 3 as 4, and the score corresponding to the pair of order 3 and delivery person 1. 2, and the score corresponding to the pair of order 3 and delivery person 2 can be determined to be 5.
  • the service server may determine the score based on various factors such as factors associated with the order, factors associated with the delivery person, factors associated with the pickup time, factors associated with the familiarity of the delivery person, etc. For example, in this example, the delivery person is at the current location. The estimated time it will take to travel to the store location corresponding to the order may be determined by the score.
  • the service server may determine a match between the order and the delivery person to whom the order will be assigned based on the determined score in the table 530, and to explain this, we return to FIG. 4.
  • the service server may determine the match between the order and the delivery person to whom the order will be assigned among the subset based on the score.
  • the service server can check the score corresponding to each order and delivery person pair included in the subset and solve this as a bipartite graph matching problem in which each edge has a score.
  • matching may be determined such that the sum of the scores of matched order and delivery person pairs is minimal.
  • the service server may determine that the sum of the scores of matched pairs of orders and delivery workers is maximized if the score function is designed so that pairs with high scores are preferentially selected, and conversely, pairs with low scores are preferentially selected. If the score function is designed as much as possible, it can be determined that the sum of the scores of the matched order and delivery person pair is minimal. In one embodiment, when there are two or more matches with the minimum sum of scores, matches for pairs with the same score may be randomly selected. Determining the matching that has the minimum sum of edge scores in a bipartite graph is a general minimum weight bipartite matching problem, which will be explained with reference to FIG. 6 below.
  • Figure 6 is an example diagram for explaining the minimum weight binary matching problem according to an embodiment of the present specification.
  • the least-cost flow problem is an optimization and decision problem that finds the cheapest way to send a certain amount of flow through a network, typically the optimal delivery route from a factory to a warehouse using a road network consisting of roads with a capacity and an associated cost. It is related to how to solve the problem of finding . Ultimately, this may be related to a method of solving the problem of simultaneously allocating multiple orders to multiple deliverymen at minimal cost, which is addressed in this specification.
  • the minimum weight binary matching problem or assignment problem, involves finding a complete match M ⁇ E such that the total weight is minimized. This problem can ultimately be reduced to a minimum cost flow problem, where we add a source node s to connect to all nodes in A, add a sink node t to connect to all nodes in B, add a source node s and connect to a sink node t. If the capacity of the connected edge is 1 and the cost is 0, the minimum weight binary matching problem can be solved as a minimum cost flow problem, and the optimal matching that minimizes the sum of scores can be found in polynomial time.
  • step S440 of FIG. 4 when the service server determines the match between the order and the delivery person to whom the order will be assigned among the subset based on the score, a table such as the table 540 of FIG. 5 may be created.
  • the service server can calculate that the sum of the score 4 of the pair of order 2 and delivery person 3 and the score 2 of the pair of order 3 and delivery person 1 is the minimum through minimum weight binary matching, , Therefore, these pairs can be determined by matching.
  • the minimum weight binary matching problem can be solved using Google's OR-Tools.
  • the service server can assign multiple orders to multiple delivery workers based on matching, and to explain this, we return to FIG. 4.
  • the service server may allocate at least some of the plurality of orders to at least some of the plurality of delivery workers based on matching.
  • the service server may check a plurality of orders and a plurality of delivery people at a set cycle (e.g., 30 seconds) and perform assignment for at least some of them, and orders and delivery people not assigned in the current cycle cycle may be assigned to the next cycle. You can then enter the order pool and delivery person pool to be assigned in a cycle.
  • the service server deviates from the greedy approach of considering multiple orders one at a time and assigning each order to the nearest delivery person, and sets the order and delivery person as nodes on each side of the bipartite graph and picks up the edge weight of the bipartite graph.
  • a matching score that takes into account various factors such as time, delivery person characteristics, and order characteristics, it is possible to provide global allocation of orders with optimal matching.
  • the service server considers various factors and pre-filters and removes pairs between orders and delivery personnel that are expected to be unfavorable in terms of improving customer experience or improving the delivery acceptance rate of delivery personnel, thereby improving the accuracy of order allocation and calculation for matching.
  • the load can be reduced.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

La présente invention concerne un procédé permettant à un serveur de service d'attribuer une commande à un livreur, ledit comprenant les étapes consistant à : identifier des premières informations concernant une pluralité de commandes et des secondes informations concernant une pluralité de livreurs ; identifier un sous-ensemble sélectionné de paires de commandes et de livreurs à partir d'un ensemble de paires entre la pluralité de commandes et la pluralité de livreurs d'après les premières informations et/ou les secondes informations ; déterminer des scores correspondant à des paires respectives incluses dans le sous-ensemble d'après les premières informations et/ou les secondes informations ; déterminer la correspondance entre une commande et un livreur auquel la commande doit être attribuée à partir du sous-ensemble d'après les scores ; et attribuer au moins certaines commandes de la pluralité de commandes à au moins certains livreurs de la pluralité de livreurs d'après la correspondance.
PCT/KR2022/011365 2022-04-21 2022-08-02 Procédé et appareil d'attribution d'une commande à un livreur WO2023204356A1 (fr)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2022-0049587 2022-04-21
KR20220049587 2022-04-21
KR1020220090999A KR20230150174A (ko) 2022-04-21 2022-07-22 배달원에 주문을 할당하기 위한 방법 및 장치
KR10-2022-0090999 2022-07-22

Publications (1)

Publication Number Publication Date
WO2023204356A1 true WO2023204356A1 (fr) 2023-10-26

Family

ID=88420100

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2022/011365 WO2023204356A1 (fr) 2022-04-21 2022-08-02 Procédé et appareil d'attribution d'une commande à un livreur

Country Status (2)

Country Link
TW (1) TW202347199A (fr)
WO (1) WO2023204356A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117808386A (zh) * 2024-03-01 2024-04-02 山东大学 全在线agv物料配送网络订单分配方法、设备及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130062468A (ko) * 2011-11-25 2013-06-13 주식회사지니 이동통신망을 이용한 물류 유통 시스템
JP2019530935A (ja) * 2016-10-18 2019-10-24 ウーワ ブラザーズ カンパニー リミテッドWoowa Brothers Co., Ltd. デリバリー注文割当システム及び方法
KR102066377B1 (ko) * 2019-09-27 2020-02-17 최영 복수의 배달중개서버와 연동된 배달주문 관리 시스템
WO2020102736A1 (fr) * 2018-11-15 2020-05-22 Corverity Corporation Gestion de dispositif de livraison autonome
KR102226115B1 (ko) * 2020-07-03 2021-03-11 쿠팡 주식회사 전자 장치 및 그의 동작 방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130062468A (ko) * 2011-11-25 2013-06-13 주식회사지니 이동통신망을 이용한 물류 유통 시스템
JP2019530935A (ja) * 2016-10-18 2019-10-24 ウーワ ブラザーズ カンパニー リミテッドWoowa Brothers Co., Ltd. デリバリー注文割当システム及び方法
WO2020102736A1 (fr) * 2018-11-15 2020-05-22 Corverity Corporation Gestion de dispositif de livraison autonome
KR102066377B1 (ko) * 2019-09-27 2020-02-17 최영 복수의 배달중개서버와 연동된 배달주문 관리 시스템
KR102226115B1 (ko) * 2020-07-03 2021-03-11 쿠팡 주식회사 전자 장치 및 그의 동작 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117808386A (zh) * 2024-03-01 2024-04-02 山东大学 全在线agv物料配送网络订单分配方法、设备及介质

Also Published As

Publication number Publication date
TW202347199A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
WO2023204356A1 (fr) Procédé et appareil d'attribution d'une commande à un livreur
US20190212157A1 (en) Network system for multi-leg transport
US10121381B2 (en) Data flow control order generating apparatus and sensor managing apparatus
Lowalekar et al. Zac: A zone path construction approach for effective real-time ridesharing
US20080109246A1 (en) Method for Cooperative transport of parcels
WO2019030835A1 (fr) Procédé de gestion de véhicules partagés et dispositif de gestion de véhicules partagés
Chu et al. Harnessing the double-edged sword via routing: Information provision on ride-hailing platforms
CN112466122A (zh) 一种公交线网的备选线路集生成、线路规划方法及装置
CN104931063A (zh) 路径规划方法
WO2009099283A2 (fr) Procédé de recherche d'emplacement de plaque tournante optimal sur la base d'une estimation de coûts logistiques
CN107194639B (zh) 一种基于地铁网络的众包快递路径分配方法、系统
Angelopoulos et al. Incentivization schemes for vehicle allocation in one-way vehicle sharing systems
Dai et al. A balanced assignment mechanism for online taxi recommendation
KR20230150174A (ko) 배달원에 주문을 할당하기 위한 방법 및 장치
KR20230114229A (ko) Drt 요청정보 클러스터링 배차 방법 및 예측 고도화 시스템
Lin et al. Vshare: A wireless social network aided vehicle sharing system using hierarchical cloud architecture
KR20040072273A (ko) 물류반송시스템
Li et al. A ride-matching strategy for large scale dynamic ridesharing services based on polar coordinates
Iyer et al. Smart resource handling module for parking
CN111678530B (zh) 拼车路径确定方法及装置
Varone et al. Insertion heuristic for a dynamic dial-a-ride problem using geographical maps
CN114819375A (zh) 一种公交运营方案生成方法及装置
WO2016155790A1 (fr) Procédé destiné à fournir des informations de configuration pour un système comprenant une pluralité d'objets mobiles
CN112885104A (zh) 一种基于物联网的智能物流交通管理系统
Guo et al. Fda-ved: A future-demand-aware vehicle dispatching service

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22938647

Country of ref document: EP

Kind code of ref document: A1