Delivery order allocation method, server and computer-readable storage medium
By planning and sorting order combinations in the robot distribution system, the problem of low efficiency in order selection of high unscheduled orders is solved, and better delivery time and efficient order allocation are achieved.
Patent Information
- Application Number
- CN202411802161.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-09
- Publication Date
- 2025-04-04
AI Technical Summary
When the order volume is not dispatched, the order selection efficiency is low, and it is difficult for the delivery personnel to determine whether the delivery time is reached.
By obtaining the order data, delivery constraints and delivery time optimization goals of the delivery system's order pool to be dispatched, performing combination planning and sorting, generating an order combination list and displaying the recommended order on the front end, ultimately achieving efficient order allocation.
It improves the speed of order allocation decisions and order selection efficiency, ensuring the optimization of delivery time under high unscheduled order volume.
Smart Images

Figure CN119761935A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robotics technology, and in particular to a delivery order allocation method, a server, and a computer-readable storage medium. Background Art
[0002] With the further maturity of robot technology and the increasing demand of consumers for automated services, robots are being applied to more and more scenarios, such as hotels, retail, warehousing and logistics, etc. Order delivery is an important application of robots. At present, the robot delivery order scenario includes two processes: picking and delivery: first, the picking staff selects the corresponding order for the robot to pick, and then the robot completes the delivery process of the corresponding order; when picking, the picking staff selects all the orders that the robot needs to deliver one way according to the needs, so as to make the delivery time as high as possible and / or the delivery cost as low as possible. This method can keep the order delivery time at a relatively high state when the number of unscheduled orders is small. However, the inventors of this application found in the actual research and development process that when the number of unscheduled orders is large, the order selection efficiency is low, and it is difficult for the picking staff to determine whether the order is in a better delivery time. Summary of the invention
[0003] The present application provides a delivery order allocation method, a server and a computer-readable storage medium, which can improve the order allocation decision speed and order selection efficiency.
[0004] In a first aspect, the present application provides a delivery order allocation method, the method comprising:
[0005] Obtaining order data of a distribution system's order pool to be scheduled, distribution constraints of the distribution system, and a distribution time optimization target of the distribution system;
[0006] Based on the order data and the delivery constraints, a combination planning is performed on the order pool to be scheduled to obtain a plurality of order combination lists of the order pool to be scheduled;
[0007] Sorting the multiple order combination lists based on the delivery time optimization goal to obtain a recommended order for each order combination list;
[0008] In response to a distribution request of a target robot triggered at a front end of the distribution system, displaying a target order combination list with the highest recommendation order on an order selection page at the front end;
[0009] In response to a selection operation on the target order combination list, the selected order of the selection operation is assigned to the target robot.
[0010] In some embodiments, the order data includes the delivery address of each unscheduled order in the to-be-scheduled order pool, and the delivery constraint includes a maximum one-way order quantity;
[0011] The step of performing combination planning on the order pool to be scheduled based on the order data and the delivery constraint conditions to obtain a plurality of order combination lists of the order pool to be scheduled includes:
[0012] Obtaining the cluster value of the order pool to be scheduled;
[0013] Based on the address distance between orders in the order pool to be scheduled and the cluster value, clustering the unscheduled orders in the order pool to be scheduled to obtain a first order cluster set, wherein the number of clusters in the first order cluster set is equal to the cluster value;
[0014] Based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity, the first order cluster set is cluster updated to obtain the multiple order combination lists.
[0015] In some embodiments, the address distance between orders in the to-be-scheduled order pool is determined by:
[0016] Formatting the address information of the delivery address of the unscheduled order to obtain the formatted address of the unscheduled order;
[0017] Performing vector representation on the formatted address to obtain address features of the unscheduled order;
[0018] Obtaining a similarity between an address feature of a first unscheduled order and an address feature of a second unscheduled order, wherein the first unscheduled order and the second unscheduled order are any two orders in a pool of orders to be scheduled;
[0019] Based on the similarity, an address distance between the first unscheduled order and the second unscheduled order is determined.
[0020] In some embodiments, the order data further includes a pickup address for each unscheduled order in the to-be-scheduled order pool;
[0021] The determining, based on the similarity, the address distance between the first unscheduled order and the second unscheduled order comprises:
[0022] Based on the delivery address of the unscheduled order and the pickup address of the unscheduled order, obtaining a planned delivery path for the unscheduled order;
[0023] Obtaining the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order;
[0024] The address distance between the first unscheduled order and the second unscheduled order is determined according to the similarity and the overlap.
[0025] In some embodiments, the cluster updating of the first order cluster set based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity to obtain the multiple order combination lists includes:
[0026] Detecting the order quantity of each cluster in the first order cluster set;
[0027] The cluster in the first order cluster set whose order quantity is greater than the maximum one-way order quantity is regarded as an excess cluster;
[0028] Obtaining a diversion cluster of the excess cluster from the first order cluster set;
[0029] The orders in the excess cluster that are closest to the diversion cluster are moved to the diversion cluster, so as to perform cluster update on the first order cluster set to obtain the multiple order combination lists.
[0030] In some embodiments, obtaining the diversion cluster of the excess cluster from the first order cluster set includes:
[0031] Sequentially obtain from the first order cluster set the clusters whose order quantity is less than the maximum one-way order quantity and whose distance to the excess cluster is closest, and add them to the candidate cluster set;
[0032] Based on the order quantity of each cluster in the candidate cluster set and the maximum one-way order quantity, updating the divertible order quantity of the candidate cluster set;
[0033] When the number of divertable orders is greater than or equal to the excess order value of the excess cluster, each cluster in the candidate cluster set is used as a diversion cluster of the excess cluster.
[0034] In some embodiments, obtaining the cluster value of the to-be-scheduled order pool includes:
[0035] Obtain the total number of orders in the order pool to be scheduled;
[0036] The cluster value is determined based on the total order quantity and the maximum one-way order quantity.
[0037] In some embodiments, the method further comprises:
[0038] In response to an order replacement operation triggered on the order selection page, based on the urgency of each order in the target order combination list, obtaining a suggested replacement order for each order in the target order combination list;
[0039] The order selection page displays a suggested replacement sequence for each order in the target order combination list.
[0040] In a second aspect, the present application further provides a server, comprising a processor and a memory, wherein the memory stores a computer program, and when the processor calls the computer program in the memory, it executes any one of the delivery order allocation methods provided in the present application.
[0041] In a third aspect, the present application also provides a computer-readable storage medium having a computer program stored thereon, wherein the computer program is loaded by a processor to execute the delivery order allocation method.
[0042] In the present application, on the first hand, by performing combination planning on the order pool to be scheduled based on order data and delivery constraints, a plurality of order combination lists of the order pool to be scheduled are obtained, and a better order combination strategy can be planned in combination with the order data while satisfying the delivery constraints, so that when the order pool to be scheduled needs to be delivered in multiple times, an order combination list for each delivery is automatically planned, thereby improving the rationality of order allocation; on the second hand, by sorting the plurality of order combination lists based on the delivery time optimization goal, a recommended order of each order combination list is obtained, so that a relatively better delivery time can be achieved when the order is selected according to the recommended order; on the third hand, when the front end of the delivery system triggers the distribution request of the target robot, the target order combination list with the highest recommended order is displayed on the order selection page of the front end, so that the target order combination list with the highest recommended order is seen or selected first, thereby improving the order allocation decision speed and the order selection efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For those skilled in the art, other drawings can be obtained based on these drawings without creative work.
[0044] Figure 1 It is a schematic block diagram of the structure of a server provided in an embodiment of the present application;
[0045] Figure 2 It is a flow chart of a delivery order allocation method provided in an embodiment of the present application;
[0046] Figure 3 is an interactive schematic diagram of a distribution system provided in an embodiment of the present application;
[0047] Figure 4 is a flowchart of an embodiment of step 202 provided in an embodiment of the present application;
[0048] Figure 5 This is a schematic diagram of a flow chart of an embodiment of determining the address distance between orders in an embodiment of the present application;
[0049] Figure 6 This is another flowchart of an embodiment of determining the address distance between orders in the embodiment of the present application. DETAILED DESCRIPTION
[0050] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative work are within the scope of protection of this application.
[0051] The flowcharts shown in the accompanying drawings are only examples and do not necessarily include all the contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may also be decomposed, combined or partially merged, so the actual execution order may change according to actual conditions.
[0052] In the description of the embodiments of the present application, it should be understood that the terms "first" and "second" are used for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, the features defined as "first" and "second" may explicitly or implicitly include one or more of the features. In the description of the embodiments of the present application, the meaning of "multiple" is two or more, unless otherwise clearly and specifically defined.
[0053] In order to enable any technician in the field to implement and use the application, the following description is given. In the following description, details are listed for the purpose of explanation. It should be understood that those of ordinary skill in the art can recognize that the application can also be implemented without using these specific details. In other examples, the known process will not be elaborated in detail to avoid unnecessary details that make the description of the embodiment of the application obscure. Therefore, the application is not intended to be limited to the embodiments shown, but is consistent with the widest range of principles and features disclosed in accordance with the embodiments of the application.
[0054] Embodiments of the present application provide a delivery order allocation method, a server, and a computer-readable storage medium.
[0055] Some embodiments of the present application are described in detail below in conjunction with the accompanying drawings. In the absence of conflict, the following embodiments and features in the embodiments can be combined with each other.
[0056] Figure 1It is a schematic block diagram of the structure of a server provided in an embodiment of the present application.
[0057] like Figure 1 As shown, the server 100 includes a processor 101 and a memory 102 , and the processor 101 and the memory 102 are connected via a bus 103 , such as a PCIe (Peripheral Component Interconnect Express) bus.
[0058] Specifically, the processor 101 is used to provide computing and control capabilities to support the operation of the entire server 100. The processor 101 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. Among them, the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
[0059] Specifically, the memory 102 may be a Flash chip, a read-only memory (ROM) disk, an optical disk, a USB flash drive, or a mobile hard disk.
[0060] Those skilled in the art will understand that Figure 1 The structure shown in the figure is merely a block diagram of a partial structure related to the embodiment of the present application, and does not constitute a limitation on the server to which the embodiment of the present application is applied. The specific server may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.
[0061] The processor 101 is used to run the computer program stored in the memory 102, and implement any one of the delivery order allocation methods provided in the embodiments of the present application when executing the computer program. For example, the processor 101 is used to run the computer program stored in the memory 102, and can implement the following steps when executing the computer program:
[0062] Acquire order data of a pool of orders to be scheduled of a distribution system, distribution constraints of the distribution system, and a distribution time optimization target of the distribution system; perform combination planning on the pool of orders to be scheduled based on the order data and the distribution constraints to obtain a plurality of order combination lists of the pool of orders to be scheduled; sort the plurality of order combination lists based on the distribution time optimization target to obtain a recommended order for each order combination list; in response to a distribution request of a target robot triggered at a front end of the distribution system, display the target order combination list with the highest recommended order on an order selection page of the front end; in response to a selection operation on the target order combination list, assign the selected order of the selection operation to the target robot.
[0063] In some embodiments, the order data includes the delivery address of each unscheduled order in the to-be-scheduled order pool, and the delivery constraint includes a maximum one-way order quantity; the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps can be implemented:
[0064] Obtain a cluster value of the pool of orders to be scheduled; cluster the unscheduled orders in the pool of orders to be scheduled based on the address distance between the orders in the pool of orders to be scheduled and the cluster value to obtain a first order cluster set, wherein the number of clusters in the first order cluster set is equal to the cluster value; based on the number of orders in each cluster in the first order cluster set and the maximum one-way order quantity, cluster update the first order cluster set to obtain the multiple order combination lists.
[0065] In some embodiments, the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0066] Formatting the delivery address of the unscheduled order to obtain the formatted address of the unscheduled order; performing vector representation on the formatted address to obtain the address features of the unscheduled order; obtaining the similarity between the address features of the first unscheduled order and the address features of the second unscheduled order, wherein the first unscheduled order and the second unscheduled order are any two orders in the pool of orders to be scheduled; and determining the address distance between the first unscheduled order and the second unscheduled order based on the similarity.
[0067] In some embodiments, the order data further includes a pickup address for each unscheduled order in the to-be-scheduled order pool, and the processor 101 is configured to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0068] Based on the delivery address of the unscheduled order and the pickup address of the unscheduled order, obtain the planned delivery path of the unscheduled order; obtain the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order; and determine the address distance between the first unscheduled order and the second unscheduled order based on the similarity and the overlap.
[0069] In some embodiments, the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0070] Detect the order quantity of each cluster in the first order cluster set; regard the cluster in the first order cluster set whose order quantity is greater than the maximum one-way order quantity as an excess cluster; obtain the diversion cluster of the excess cluster from the first order cluster set; move the order in the excess cluster that is closest to the diversion cluster to the diversion cluster, so as to perform cluster update on the first order cluster set and obtain the multiple order combination lists.
[0071] In some embodiments, the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0072] From the first order cluster set, clusters whose order quantity is less than the maximum one-way order quantity and are closest to the excess cluster are obtained in sequence, and added to the alternative cluster set; based on the order quantity of each cluster in the alternative cluster set and the maximum one-way order quantity, the number of divertable orders in the alternative cluster set is updated; until the number of divertable orders is greater than or equal to the order excess value of the excess cluster, each cluster in the alternative cluster set is used as a diversion cluster for the excess cluster.
[0073] In some embodiments, the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0074] The total number of orders in the order pool to be scheduled is obtained; and the cluster value is determined based on the total number of orders and the maximum one-way order quantity.
[0075] In some embodiments, the processor 101 is used to run a computer program stored in the memory 102, and when executing the computer program, the following steps may be implemented:
[0076] In response to an order replacement operation triggered on the order selection page, a suggested replacement order for each order in the target order combination list is obtained based on the urgency of each order in the target order combination list; and the suggested replacement order for each order in the target order combination list is displayed on the order selection page.
[0077] It should be noted that those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working process of the server described above can refer to the corresponding process in the following delivery order allocation method embodiment, and will not be repeated here.
[0078] In the following, Figure 1 The server shown in is used as the execution subject of the delivery order allocation method as an example to introduce the delivery order allocation method provided in the embodiment of the present application in detail. For the sake of simplicity and convenience of description, the execution subject will be omitted in the subsequent method embodiments. Figure 1 The scenario is only used to explain the delivery order allocation method provided in the embodiment of the present application, but does not constitute a limitation on the application scenario of the delivery order allocation method provided in the embodiment of the present application.
[0079] See also Figure 2 , Figure 2 201 to 205, wherein:
[0080] 201. Obtain order data of a to-be-scheduled order pool of a distribution system, distribution constraints of the distribution system, and a distribution time optimization target of the distribution system.
[0081] Please refer to Figure 3 , Figure 3 This is an interactive diagram of the delivery system provided in the embodiment of the present application. The delivery system may include a front end, a back end, a robot, and an order end (such as an order applet). For ease of understanding, the following first uses a specific example to introduce how to schedule a robot to complete the order delivery process, as follows:
[0082] 1. Place an order: After the user places an order through the order terminal (such as the order applet), the new order will be sent to the backend.
[0083] 2. Generate order scheduling information: The backend adds the new order as an unscheduled order to the order pool to be scheduled, and generates a pickup code for the unscheduled order.
[0084] 3. Enter the distribution page: The distribution staff scans the QR code on the robot through the front end (such as mobile phone, bar gun, etc.) to enter the robot's distribution page, and the front end requests the current robot information from the back end. On the distribution page provided by the front end, the distribution staff can view the robot information (such as the robot's abnormal status, delivery status, order status, etc.), complete the robot distribution process (such as selecting delivery orders and delivery slots for the robot), etc.
[0085] 4. The backend queries the current robot information (including but not limited to order status, robot status, etc.) and returns it to the frontend.
[0086] 5. After the delivery personnel sees the current robot information through the front end, they choose whether to deliver goods to the current robot according to the situation. When it is necessary to deliver goods to the current robot, they perform the delivery operation process (including but not limited to selecting the delivery order and the delivery slot); at this time, the front end will respond to the delivery personnel's delivery operation and send a delivery request backward.
[0087] 6. Picking: After the backend receives the picking request from the frontend, it sends a picking instruction to the current robot, so that the current robot can start the picking task (including but not limited to opening the hatch, waiting for picking, closing the hatch, broadcasting the door opening and closing voice, etc.).
[0088] 7. Delivery: After the distribution is completed, the distribution staff triggers the delivery operation on the front end (such as clicking the "Delivery" button on the front end); at this time, the front end sends a delivery request to the back end.
[0089] 8. After receiving the delivery request, the backend sends a delivery instruction to the current robot, so that the current robot enters the delivery task.
[0090] 9. The current robot enters the delivery task and returns the delivery result to the backend; the backend returns the delivery result to the frontend.
[0091] 10. After the user triggers the pickup operation through the order end (such as the ordering mini program) (such as the user clicks the "open the door to pick up the goods" button in the ordering mini program, enters the pickup code, etc.), the order end (such as the ordering mini program) sends a pickup request to the backend; after receiving the pickup request, the backend sends a pickup instruction to the current robot, so that the current robot opens the hatch and completes the pickup.
[0092] It is understandable that the delivery order allocation method of the embodiment of the present application can be implemented by a server, which can be an integrated Figure 3 The server that performs the front-end and back-end functions of the distribution system.
[0093] Among them, the waiting-to-be-scheduled order pool is a collection of unscheduled orders in the distribution system.
[0094] The order data includes order information of each unscheduled order in the to-be-scheduled order pool.
[0095] The order information of each unscheduled order includes at least one of the delivery address, order time, and production time.
[0096] Among them, the delivery constraints may be the maximum one-way order quantity, the maximum one-way delivery time, the maximum one-way delivery distance, etc. The maximum one-way order quantity is the maximum order quantity that the robot can carry for a single delivery, the maximum one-way delivery time is the preset maximum delivery time that the robot can spend for a single delivery, and the maximum one-way delivery distance is the preset maximum delivery distance of the robot for a single delivery.
[0097] 202. Based on the order data and the delivery constraints, perform combination planning on the order pool to be scheduled to obtain a plurality of order combination lists of the order pool to be scheduled.
[0098] The order data of the order pool to be scheduled, as well as the maximum one-way order quantity, the maximum one-way delivery time, the maximum one-way delivery distance, etc. can be used as delivery constraints to perform combination planning on the order pool to be scheduled to obtain multiple order combination lists of the order pool to be scheduled.
[0099] In some embodiments, taking the delivery constraint condition including the maximum one-way order quantity as an example, a list of multiple order combinations in the order pool to be dispatched can be obtained based on the distance clustering method between the address features of the orders. Figure 4 As shown, step 202 may specifically include the following steps 2021 to 2023:
[0100] 2021. Obtain the cluster value of the order pool to be scheduled.
[0101] The cluster value refers to the number of clusters K in the order pool to be scheduled.
[0102] In some embodiments, a default cluster value may be used as the cluster value. For example, a default cluster value K=5 may be used as the cluster value.
[0103] In some embodiments, in order to improve the rationality of the number of clusters and the rationality of the planning of the order combination list, so that orders can be delivered as centrally as possible and the robot delivery efficiency can be improved, the cluster value can also be determined in real time based on the total number of orders in the order pool to be scheduled. At this time, step 2021 can specifically include: obtaining the total number of orders in the order pool to be scheduled; determining the cluster value based on the total number of orders and the maximum one-way order quantity. For example, the quotient of the total number of orders in the order pool to be scheduled (such as 30) and the maximum one-way order quantity (such as 4) can be retained as an integer result as the cluster value (such as the cluster value is: 30 / 4≈8). Therefore, on the one hand, it is possible to avoid using the default value for the clustering cluster value, thereby avoiding the problem of too large an order combination list due to the clustering cluster value being set too small when the total number of orders in the order pool to be scheduled is large, thereby avoiding the problem of low delivery efficiency caused by unreasonable order combination list planning; on the other hand, it is possible to avoid the problem of too small an order combination list due to the clustering cluster value being set too large when the total number of orders in the order pool to be scheduled is small, thereby avoiding the problem of orders being dispersed due to too scattered orders being split up in combination planning, so that orders can be delivered as concentratedly as possible, thereby improving the efficiency of robot delivery.
[0104] 2022. Cluster the unscheduled orders in the to-be-scheduled order pool based on the distance between the address features and the cluster value to obtain a first order cluster set.
[0105] The number of clusters in the first order cluster set is equal to the clustering cluster value.
[0106] By clustering the unscheduled orders in the order pool to be scheduled based on the distance between address features and the cluster value, a first order cluster set is obtained, so that orders with similar delivery addresses are planned into the same cluster, and then orders with similar delivery addresses are planned into the same order combination list.
[0107] Exemplarily, step 2022 may specifically include the following steps: <1> to <6> :
[0108] <1> , establishing K clusters of the order pool to be scheduled according to the cluster value K. For example, K=3 clusters may be established, namely: k1, k2, k3.
[0109] <2> , randomly obtain K unscheduled orders from the pool of orders to be scheduled and initialize the cluster centers of K clusters respectively. The cluster center of each cluster is initialized with an unscheduled order. For example, randomly obtain K=3 unscheduled orders (such as order A, order B, order C) from the pool of orders to be scheduled and use them as the cluster centers of K=3 clusters k1, k2, and k3 respectively. For example, the cluster center of cluster k1 is order A, the cluster center of cluster k2 is order B, and the cluster center of cluster k3 is order C.
[0110] <3> , traverse each unscheduled order in the order pool to be scheduled, and obtain the address distance between each unscheduled order and the cluster center of each cluster.
[0111] There are many ways to determine the address distance between any two unscheduled orders. For example, the address distance between any two unscheduled orders can be determined by combining the similarity between the address features of the two unscheduled orders, the overlap between the planned delivery paths of the two unscheduled orders, and the longitude and latitude of the two unscheduled orders. For example, the following uses the following methods ①, ②, and ③ as examples to describe how to determine the address distance between any two unscheduled orders:
[0112] ① In some embodiments, the address distance between the two unscheduled orders is determined by combining the similarity between the address features of the two unscheduled orders; at this time, if Figure 5 As shown, the address distance between any two unscheduled orders can be calculated by referring to the following steps A1 to A3:
[0113] A1. Formatting the delivery address of the unscheduled order to obtain the formatted address of the unscheduled order.
[0114] Since the delivery address entered by the user may contain illegal characters, confusing floor name suffixes (such as the floor 2 and 2nd floor are used in two orders for the same floor), empty floor name, mixed uppercase and lowercase numbers (such as 1st floor and 1st floor), etc., these errors will lead to incorrect or inconsistent representation of the address features of the same delivery address. Therefore, the delivery address of the unscheduled order is preprocessed so that the address information can be formatted and then represented normally. For example, address information formatting can include but is not limited to: using a text matching algorithm to filter illegal characters in the delivery address of the unscheduled order; updating the floor name in the delivery address of the unscheduled order to a unified floor format, and uniformly updating uppercase and lowercase numbers to uppercase or lowercase, etc.
[0115] A2. Perform vector representation on the formatted address to obtain address features of the unscheduled order.
[0116] Exemplarily, the formatted address of an unscheduled order can be converted into a semantic vector through a pre-trained text embedding model as the address feature of the unscheduled order; for example, the formatted address of an unscheduled order (such as "Room 501, 5th Floor, South District, XX Hotel") is used as input and converted into a fixed-length vector representation using a pre-trained text embedding model (such as a BERT model or a Word2Vec model) as the address feature of the unscheduled order.
[0117] In this way, the formatted address of the unscheduled order is obtained by formatting the address information of the delivery address of the unscheduled order, and then the formatted address is represented by vector to obtain the address features of the unscheduled order, so that the delivery address can be represented in a unified format. The similarity between the address features of two unscheduled orders can better simulate the address distance between the two unscheduled orders, which helps to improve the capture accuracy of the address distance between the two unscheduled orders, thereby helping to make the distance between orders in the order combination list as close as possible, and then helping to improve delivery timeliness.
[0118] A3. Obtain the similarity between the address feature of the first unscheduled order and the address feature of the second unscheduled order as the address distance between the first unscheduled order and the second unscheduled order, where the first unscheduled order and the second unscheduled order are any two orders in the order pool to be scheduled.
[0119] Exemplarily, the similarity between the address features of the first unscheduled order and the address features of the second unscheduled order can be obtained by calculating the cosine similarity, Manhattan distance, etc. between the address features of the first unscheduled order and the address features of the second unscheduled order; and the similarity between the address features of the first unscheduled order and the address features of the second unscheduled order is used as the address distance between the first unscheduled order and the second unscheduled order. In this way, by obtaining the similarity between the address features of the first unscheduled order and the address features of the second unscheduled order as the address distance between the first unscheduled order and the second unscheduled order, the similarity between the address features can be compared to determine whether the delivery addresses of the two orders are close, so that orders with close distances are delivered as concentratedly as possible to improve the timeliness of delivery.
[0120] ② In some embodiments, the address distance between the two unscheduled orders is determined by combining the overlap between the planned delivery paths of the two unscheduled orders; at this time, if Figure 6 As shown, the address distance between any two unscheduled orders can be calculated by referring to the following steps B1 to B3:
[0121] B1. Based on the delivery address of the unscheduled order and the pickup address of the unscheduled order, obtain the planned delivery path of the unscheduled order.
[0122] A delivery route may be pre-planned for each delivery address and pickup address, and in step B1, the planned delivery route of the unscheduled order may be obtained from the pre-planned delivery routes according to the delivery address of the unscheduled order and the pickup address of the unscheduled order. Alternatively, a delivery route may be planned in real time according to the delivery address of the unscheduled order and the pickup address of the unscheduled order in accordance with a pre-specified route planning rule as the planned delivery route of the unscheduled order.
[0123] B2. Obtaining the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order, where the first unscheduled order and the second unscheduled order are any two orders in the to-be-scheduled order pool.
[0124] B3. Determine the address distance between the first unscheduled order and the second unscheduled order according to the overlap degree.
[0125] Exemplarily, the address distance between the first unscheduled order and the second unscheduled order can be calculated according to the preset mapping relationship between the overlap and the address distance. For example, the inverse of the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order can be directly used as the address distance between the first unscheduled order and the second unscheduled order; for another example, the result obtained by multiplying the overlap by a preset coefficient can be used as the address distance between the first unscheduled order and the second unscheduled order. In this way, by obtaining the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order, the address distance between the first unscheduled order and the second unscheduled order is determined, and the overlap of the delivery paths of the orders can be compared to determine whether the delivery addresses of the two orders are close, thereby improving the overlap of the paths in the same order combination list, thereby reducing repeated execution of paths and improving delivery efficiency.
[0126] ③ In some embodiments, the address distance between the two unscheduled orders is determined by combining the overlap between the planned delivery paths of the two unscheduled orders and the similarity between the address features; at this time, the address distance between any two unscheduled orders can be calculated by referring to the following steps C1 to C6:
[0127] C1. Formatting the delivery address of the unscheduled order to obtain the formatted address of the unscheduled order.
[0128] C2. Perform vector representation on the formatted address to obtain address features of the unscheduled order.
[0129] C3. Obtaining the similarity between the address feature of the first unscheduled order and the address feature of the second unscheduled order, where the first unscheduled order and the second unscheduled order are any two orders in the pool of orders to be scheduled.
[0130] The implementation of steps C1 to C3 is similar to that of steps A1 to A3. For details, please refer to the relevant descriptions in the previous text, which will not be repeated here.
[0131] C4. Based on the delivery address of the unscheduled order and the pickup address of the unscheduled order, obtain the planned delivery path of the unscheduled order.
[0132] C5. Obtain the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order.
[0133] The implementation of steps C4 to C5 is similar to that of steps B1 to B2. For details, please refer to the relevant descriptions above and will not be repeated here.
[0134] C6. Determine the address distance between the first unscheduled order and the second unscheduled order according to the similarity and the overlap.
[0135] Exemplarily, the product of the similarity and a preset similarity weight coefficient and the product of the coincidence and a preset coincidence weight coefficient may be added together, and the result obtained may be used as the address distance between the first unscheduled order and the second unscheduled order.
[0136] <4> , assign each unscheduled order to the cluster to which the cluster center with the closest address belongs.
[0137] <5> , until all unscheduled orders in the order pool to be scheduled are assigned to any one of the K clusters, the cluster centers of the K clusters are recalculated. For example, the address center points of all unscheduled orders in each cluster can be calculated, and the unscheduled orders corresponding to the address center points are used as the new cluster centers of the clusters.
[0138] <6> , repeat steps <3> to <5> , until the cluster centers of the K clusters converge (for example, the cluster center no longer changes, or the cluster center change is less than a preset threshold), multiple clusters are obtained; at this time, the set of multiple clusters is the first order cluster set.
[0139] 2023. Based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity, cluster update the first order cluster set to obtain the multiple order combination lists.
[0140] Based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity, after cluster updating the first order cluster set, each cluster in the updated first order cluster set is used as an order combination list, thereby obtaining multiple order combination lists.
[0141] In some embodiments, step 2023 may specifically include: detecting the number of orders in each cluster in the first order cluster set; taking the cluster in the first order cluster set whose number of orders is greater than the maximum one-way order quantity as an excess cluster; obtaining the diversion cluster of the excess cluster from the first order cluster set; moving the order in the excess cluster that is closest to the diversion cluster to the diversion cluster, so as to perform cluster update on the first order cluster set and obtain the multiple order combination lists. In this way, by moving the order in the excess cluster that is closest to the diversion cluster to the diversion cluster, on the one hand, the cluster whose number of orders exceeds the maximum one-way order quantity can be diverted, so as to avoid the problem that the planned order combination list exceeds the maximum one-way order quantity and cannot be delivered in a single time; on the other hand, the order that is closest to the diversion cluster can be diverted to the diversion cluster, so that the distance between orders in the updated diversion cluster is as close as possible, thereby improving the delivery efficiency while ensuring the normal delivery capacity.
[0142] In some embodiments, obtaining the diversion cluster of the excess cluster from the first order cluster set can be, in turn, obtaining the clusters whose order quantity is less than the maximum one-way order quantity and whose distance to the excess cluster is the closest from the first order cluster set, and adding them to the alternative cluster set; based on the order quantity of each cluster in the alternative cluster set and the maximum one-way order quantity, updating the number of divertible orders in the alternative cluster set; until the number of divertible orders is greater than or equal to the order excess value of the excess cluster, each cluster in the alternative cluster set is used as a diversion cluster of the excess cluster. Exemplarily, there can be multiple excess clusters. In specific implementation, for each excess cluster, its diversion cluster can be determined by referring to the following steps a1 to a6:
[0143] a1. From the first order cluster set, obtain the cluster whose order quantity is less than the maximum one-way order quantity and add it to the second order cluster set;
[0144] a2. Sort the clusters in the second order cluster set according to the distance between each cluster in the second order cluster set and the excess cluster from small to large;
[0145] a3. After reading the top-ranked cluster i from the second order cluster set and adding it to the alternative cluster set, count the current number of divertible orders in the alternative cluster set and remove cluster i from the second order cluster set; wherein, the number of divertible orders is equal to the sum of the redundant order quantities of each cluster in the alternative cluster set, and the redundant order quantity of each cluster j is equal to the difference between the maximum one-way order quantity and the order quantity of cluster j.
[0146] a4. Determine whether the current divertible order quantity of the candidate cluster set is greater than or equal to the order excess value of the excess cluster; if so, proceed to step 5; otherwise, if less than, proceed to step 6.
[0147] a5. If the current number of divertable orders in the candidate cluster set is greater than or equal to the order excess value of the excess cluster, each cluster in the candidate cluster set is used as a diversion cluster for the excess cluster.
[0148] a6. If the current number of divertible orders of the candidate cluster set is less than the excess order value of the excess cluster, repeat steps a3 to a4.
[0149] In some embodiments, obtaining a diversion cluster for an excess cluster from the first order cluster set may be: obtaining a cluster whose order quantity is less than the maximum one-way order quantity from the first order cluster set, and adding it to the alternative cluster set; updating the number of divertible orders in the alternative cluster set based on the order quantity of each cluster in the alternative cluster set and the maximum one-way order quantity; and until the number of divertible orders is greater than or equal to the order excess value of the excess cluster, using each cluster in the alternative cluster set as a diversion cluster for the excess cluster.
[0150] In this way, by clustering orders using the address distances between orders, the distances between orders in the same order combination list can be made as close as possible, so that orders with close delivery addresses can be planned into the same order combination list, and orders with close delivery addresses can be delivered together, thereby improving delivery efficiency.
[0151] 203. Sort the multiple order combination lists based on the delivery time optimization goal to obtain a recommended order for each order combination list.
[0152] Among them, the delivery time optimization goal can be to maximize the number of orders that meet the time limit, minimize the total overtime duration, etc., and sort multiple order combination lists according to the maximization of the number of orders that meet the time limit, the shortest total overtime duration, etc., to obtain the recommended order of each order combination list. For example, taking the delivery time optimization goal as maximizing the number of orders that meet the time limit as an example, at this time, the route planning can be carried out according to the orders of each order combination list to determine the delivery time of each order combination list; arrange multiple order combination lists (such as assuming that a total of n order combination lists are planned) according to the permutation and combination method to obtain n! kinds of permutations; then, for each permutation method, according to the delivery time of order combination list k and the delivery time of all order combination lists sorted before order combination list k, the time limits of each order in order combination list k are counted, so as to obtain the number of orders that meet the time limit of order combination list k; and then the number of orders that meet the time limit under each permutation method can be counted. Finally, from n! The arrangement method with the largest number of orders that meet the time limit is selected from the arrangement methods as the sorting of the multiple order combination lists, thereby obtaining the sorting of each order combination list in the multiple order combination lists as the recommended order of each order combination list.
[0153] 204. In response to a distribution request of a target robot triggered at a front end of the distribution system, a list of target order combinations with the highest recommendation order is displayed on an order selection page at the front end.
[0154] Among them, the target robot refers to the robot to be delivered. For example, there are two robots A and B in the hotel food delivery scene. The delivery personnel scan the QR code labeled on the robot A through the front end, and then go to the delivery page to deliver goods to robot A. At this time, robot A can be used as the target robot.
[0155] For example, a combination planning is performed on the order pool to be scheduled to obtain n=3 order combination lists: k1, k2, k3. The order combination lists k1, k2, k3 are ranked in increasing order. It is assumed that the picker scans the QR code labeled on the target robot through the front end of the distribution system to enter the distribution page; the picker selects to pick the target machine through the control on the distribution page, then the front end of the distribution system triggers the distribution request of the target robot, and the front end jumps to the order selection page. The target order combination list k1 with the highest recommended order is displayed on the order selection page of the front end.
[0156] 205. In response to a selection operation on the target order combination list, assign the selected order of the selection operation to the target robot.
[0157] In some embodiments, the front end may provide a one-click selection function (such as providing a "one-click selection" control on the order selection page of the front end), so that the delivery personnel can select all orders in the target order combination list and assign them to the target robot with one click, thereby improving the efficiency of order selection and assignment. At this time, in step 205, in response to the touch operation of the one-click selection control on the order selection page, all orders in the target order combination list can be used as selected orders for the selection operation, and the selected orders can be assigned to the target robot.
[0158] In some embodiments, the front end may provide an order replacement function (such as providing a "Replace Order" control on the order selection page of the front end), and the delivery order allocation method may further include: in response to the order replacement operation triggered on the order selection page, based on the urgency of each order in the target order combination list, obtaining the recommended replacement order of each order in the target order combination list; and displaying the recommended replacement order of each order in the target order combination list on the order selection page. In this way, if the user does not want to assign all orders in the target order combination list to the target robot, or wants to replace some of the orders (such as customer urging orders), the page can also display the recommended replacement order of each order in the target order combination list (such as orders with relatively low urgency and close to the delivery address of the replacement order are recommended to be replaced first), which can ensure that the distance of the orders for the target robot is as close as possible, and that orders with high urgency can be delivered first.
[0159] From the above content, it can be seen that, firstly, by combining and planning the order pool to be scheduled based on order data and delivery constraints, multiple order combination lists of the order pool to be scheduled can be obtained. Under the delivery constraints, a better order combination strategy can be planned in combination with order data, so that when the order pool to be scheduled needs to be delivered in multiple times, the order combination list for each delivery can be automatically planned, thereby improving the rationality of order allocation; secondly, by sorting multiple order combination lists based on the delivery time optimization goal, the recommended order of each order combination list can be obtained, so that when selecting orders according to the recommended order, a relatively better delivery time can be achieved; thirdly, when the front end of the distribution system triggers the target robot's distribution request, the target order combination list with the highest recommended order is displayed on the front end order selection page, so that the target order combination list with the highest recommended order is seen or selected first, thereby improving the speed of order allocation decision-making and the efficiency of order selection. In this way, the speed of order allocation decision-making and the efficiency of order selection can be improved, and the delivery time can be improved to a certain extent.
[0160] A person of ordinary skill in the art will appreciate that all or part of the steps in the above-mentioned delivery order allocation method may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.
[0161] To this end, an embodiment of the present application provides a computer-readable storage medium, in which a plurality of computer programs are stored, and the computer program can be loaded by a processor to execute any of the delivery order allocation methods provided in the embodiment of the present application. For example, the computer program can be loaded by a processor to execute the following steps:
[0162] Acquire order data of a pool of orders to be scheduled of a distribution system, distribution constraints of the distribution system, and a distribution time optimization target of the distribution system; perform combination planning on the pool of orders to be scheduled based on the order data and the distribution constraints to obtain a plurality of order combination lists of the pool of orders to be scheduled; sort the plurality of order combination lists based on the distribution time optimization target to obtain a recommended order for each order combination list; in response to a distribution request of a target robot triggered at a front end of the distribution system, display the target order combination list with the highest recommended order on an order selection page of the front end; in response to a selection operation on the target order combination list, assign the selected order of the selection operation to the target robot.
[0163] The computer-readable storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.
[0164] In the above-mentioned delivery order allocation method, computer-readable storage medium, and server embodiments, the description of each embodiment has its own emphasis. For parts not described in detail in a certain embodiment, reference can be made to the relevant description of other embodiments. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working process and beneficial effects of the above-described computer-readable storage medium, server, and its corresponding units can refer to the description of the delivery order allocation method in the above embodiment, and will not be repeated here.
[0165] The above is a detailed introduction to a delivery order allocation method, server and computer-readable storage medium provided in an embodiment of the present application. Specific examples are used herein to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea; at the same time, for technical personnel in this field, according to the idea of the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.
Claims
1. A delivery order allocation method, characterized in that: The method comprises: Obtaining order data of a distribution system's order pool to be scheduled, distribution constraints of the distribution system, and a distribution time optimization target of the distribution system; Based on the order data and the delivery constraints, a combination planning is performed on the order pool to be scheduled to obtain a plurality of order combination lists of the order pool to be scheduled; Sorting the multiple order combination lists based on the delivery time optimization goal to obtain a recommended order for each order combination list; In response to a distribution request of a target robot triggered at a front end of the distribution system, displaying a target order combination list with the highest recommendation order on an order selection page at the front end; In response to a selection operation on the target order combination list, the selected order of the selection operation is assigned to the target robot.
2. The delivery order allocation method according to claim 1, characterized in that: The order data includes the delivery address of each unscheduled order in the to-be-scheduled order pool, and the delivery constraint condition includes the maximum one-way order quantity; The step of performing combination planning on the order pool to be scheduled based on the order data and the delivery constraint conditions to obtain a plurality of order combination lists of the order pool to be scheduled includes: Obtaining the cluster value of the order pool to be scheduled; Based on the address distance between orders in the order pool to be scheduled and the cluster value, clustering the unscheduled orders in the order pool to be scheduled to obtain a first order cluster set, wherein the number of clusters in the first order cluster set is equal to the cluster value; Based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity, the first order cluster set is cluster updated to obtain the multiple order combination lists.
3. The delivery order allocation method according to claim 2, characterized in that: The address distance between orders in the order pool to be scheduled is determined in the following way: Formatting the address information of the delivery address of the unscheduled order to obtain the formatted address of the unscheduled order; Performing vector representation on the formatted address to obtain address features of the unscheduled order; Obtaining a similarity between an address feature of a first unscheduled order and an address feature of a second unscheduled order, wherein the first unscheduled order and the second unscheduled order are any two orders in a pool of orders to be scheduled; Based on the similarity, an address distance between the first unscheduled order and the second unscheduled order is determined.
4. The delivery order allocation method according to claim 3, characterized in that: The order data also includes the pickup address of each unscheduled order in the to-be-scheduled order pool; The determining, based on the similarity, the address distance between the first unscheduled order and the second unscheduled order comprises: Based on the delivery address of the unscheduled order and the pickup address of the unscheduled order, obtaining a planned delivery path for the unscheduled order; Obtaining the overlap between the planned delivery path of the first unscheduled order and the planned delivery path of the second unscheduled order; The address distance between the first unscheduled order and the second unscheduled order is determined according to the similarity and the overlap.
5. The delivery order allocation method according to claim 2, characterized in that: The step of performing cluster updating on the first order cluster set based on the order quantity of each cluster in the first order cluster set and the maximum one-way order quantity to obtain the multiple order combination lists includes: Detecting the order quantity of each cluster in the first order cluster set; The cluster in the first order cluster set whose order quantity is greater than the maximum one-way order quantity is regarded as an excess cluster; Obtaining a diversion cluster of the excess cluster from the first order cluster set; The orders in the excess cluster that are closest to the diversion cluster are moved to the diversion cluster, so as to perform cluster update on the first order cluster set to obtain the multiple order combination lists.
6. The delivery order allocation method according to claim 5, characterized in that: The obtaining, from the first order cluster set, a diversion cluster of the excess cluster comprises: Sequentially obtain from the first order cluster set the clusters whose order quantity is less than the maximum one-way order quantity and whose distance to the excess cluster is closest, and add them to the candidate cluster set; Based on the order quantity of each cluster in the candidate cluster set and the maximum one-way order quantity, updating the divertible order quantity of the candidate cluster set; When the number of divertable orders is greater than or equal to the excess order value of the excess cluster, each cluster in the candidate cluster set is used as a diversion cluster of the excess cluster.
7. The delivery order allocation method according to claim 2, characterized in that: The obtaining of the cluster value of the to-be-scheduled order pool includes: Obtain the total number of orders in the order pool to be scheduled; The cluster value is determined based on the total order quantity and the maximum one-way order quantity.
8. The delivery order allocation method according to claim 1, characterized in that: The method further comprises: In response to an order replacement operation triggered on the order selection page, based on the urgency of each order in the target order combination list, obtaining a suggested replacement order for each order in the target order combination list; The order selection page displays a suggested replacement sequence for each order in the target order combination list.
9. A server, characterized in that: The method comprises a processor and a memory, wherein a computer program is stored in the memory, and when the processor calls the computer program in the memory, the method for allocating delivery orders as claimed in any one of claims 1 to 8 is executed.
10. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and the computer program is loaded by a processor to execute the delivery order allocation method according to any one of claims 1 to 8.