Order processing method and device, electronic equipment and computer readable medium
Through the order processing method combined with graph theory algorithm and heuristic algorithm, the problems of low efficiency, insufficient stability and low accuracy of large-scale and high-complex orders are solved, and efficient and stable order combination planning and picking task generation are achieved.
Patent Information
- Application Number
- CN202510623127.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-14
- Publication Date
- 2025-08-15
AI Technical Summary
The traditional order-setting method is inefficient, insecure, insufficient stability and low accuracy when handling large-scale and high-complex orders.
Using a combination of graph theory algorithm and heuristic algorithm, we generate picking tasks by creating undirected graphs and using the planning engine OptaPlanner to group order data.
Improve efficiency, stability and accuracy when handling large-scale, high-complexity orders, and optimize the generation of picking tasks.
Smart Images

Figure CN120494691A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to an order processing method, device, electronic device, and computer-readable medium. Background Art
[0002] In modern logistics and warehouse management systems, efficient order processing is key to improving overall operational efficiency. Traditional offline warehouse management systems typically aggregate orders and then split picking tasks based on the distribution of the items within the physical warehouse. The order aggregation process aims to group orders with similar attributes or the same delivery area to improve picking and delivery efficiency. Existing order aggregation methods are primarily based on simple rules, such as grouping by delivery area, product category, warehouse location, or order generation time. These methods can meet basic picking requirements for small order volumes or relatively simple order attributes. However, with the rapid development of e-commerce, order volume has exploded, and the complexity and diversity of orders have continued to increase. Traditional order aggregation methods suffer from low efficiency, insufficient stability, and low accuracy when processing large-scale, highly complex orders. Summary of the Invention
[0003] In view of this, the embodiments of the present application provide an order processing method, device, electronic device and computer-readable medium, which can solve the problems of low efficiency, insufficient stability and low accuracy of traditional order collection methods when processing large-scale, highly complex orders.
[0004] To achieve the above objectives, according to one aspect of an embodiment of the present application, an order processing method is provided, comprising:
[0005] Obtaining order data according to the received order processing request, obtaining the order ID corresponding to the order data, and the product attribute data and geographic data corresponding to the order ID;
[0006] Determine the order quantity corresponding to the order data, and determine the order processing algorithm based on the order quantity;
[0007] In response to the order processing algorithm being a graph theory algorithm, an undirected graph is created according to the order identifier, the product attribute data, the geographic data, and a preset edge adding rule, and the order data is grouped based on the undirected graph to obtain a collection order;
[0008] In response to the order processing algorithm being a heuristic algorithm, calling a planning engine to group the order data based on the order identifier, the product attribute data, the geographic data, and the preset constraint conditions to obtain a collection order;
[0009] Generate picking tasks based on the collection order and send them to the target terminal.
[0010] Optionally, the preset edge adding rule is: the starting points and destinations of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed commodity identifier belongs to only one order data; and
[0011] Create an undirected graph based on order ID, product attribute data, geographic data, and preset edge addition rules, including:
[0012] Take the order data corresponding to each order ID as a node;
[0013] According to the order ID, product attribute data, geographic data and the preset edge adding rules, the starting point and destination of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product ID belongs to only one order data, determine the nodes that need to add edges, and add edges to the nodes that need to add edges to obtain an undirected graph.
[0014] Optionally, the order data is grouped based on an undirected graph to obtain a collection order, including:
[0015] Search for the maximum complete subgraph in the undirected graph, and group the order data based on the maximum complete subgraph and preset capacity constraint data to obtain a collection order.
[0016] Optionally, based on the maximum complete subgraph and preset capacity constraint data, the order data is grouped to obtain a collection order, including:
[0017] The corresponding total demand data is calculated for each maximum complete subgraph, the total demand data is compared with the preset capacity limit data, and the order data is grouped according to the comparison result to obtain a collective order.
[0018] Optionally, the order data is grouped according to the comparison result to obtain a collection order, including:
[0019] Determine that the comparison result is that the total demand data does not exceed the preset capacity limit data, and merge the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result into a collection order;
[0020] Determine that the comparison result is that the total demand data exceeds the preset capacity limit data. Based on the expected fulfillment time of the order, the preset capacity limit data, the preset quantity, and the splitting rule that each order data can only belong to one collective order, split the order data corresponding to the node in the maximum complete subgraph corresponding to the comparison result to obtain a collective order.
[0021] Optionally, the preset constraints are: each order data can only belong to one collection order, the starting point and destination corresponding to the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed commodity identifier belongs to only one order data; and
[0022] The planning engine is called to group the order data based on the order ID, product attribute data, geographic data, and preset constraints to obtain a collection order, including:
[0023] The planning engine is called to group the order data to obtain a collection order based on the order ID, product attribute data, geographic data and preset constraints, that is, each order data can only belong to one collection order, the starting point and destination corresponding to the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product ID belongs to only one order data.
[0024] In addition, the present application also provides an order processing device, comprising:
[0025] an acquiring unit configured to acquire order data according to the received order processing request, and acquire an order identifier corresponding to the order data, and commodity attribute data and geographic data corresponding to the order identifier;
[0026] an order processing algorithm determining unit, configured to determine an order quantity corresponding to the order data, and determine an order processing algorithm based on the order quantity;
[0027] a graph theory algorithm grouping unit configured to, in response to the order processing algorithm being a graph theory algorithm, create an undirected graph based on the order identifier, product attribute data, geographic data, and a preset edge adding rule, and group the order data based on the undirected graph to obtain a collection order;
[0028] a heuristic algorithm grouping unit configured to, in response to the order processing algorithm being a heuristic algorithm, call a planning engine to group the order data based on the order identifier, the commodity attribute data, the geographic data, and preset constraints to obtain a collection order;
[0029] The picking task generating unit is configured to generate a picking task based on the collection order and send the picking task to the target terminal.
[0030] Optionally, the preset edge adding rule is: the starting points and destinations of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed commodity identifier belongs to only one order data; and
[0031] The graph theory algorithm grouping unit is further configured to:
[0032] Take the order data corresponding to each order ID as a node;
[0033] According to the order ID, product attribute data, geographic data and the preset edge adding rules, the starting point and destination of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product ID belongs to only one order data, determine the nodes that need to add edges, and add edges to the nodes that need to add edges to obtain an undirected graph.
[0034] Optionally, the graph theory algorithm grouping unit is further configured to:
[0035] Search for the maximum complete subgraph in the undirected graph, and group the order data based on the maximum complete subgraph and preset capacity constraint data to obtain a collection order.
[0036] Optionally, the graph theory algorithm grouping unit is further configured to:
[0037] The corresponding total demand data is calculated for each maximum complete subgraph, the total demand data is compared with the preset capacity limit data, and the order data is grouped according to the comparison result to obtain a collective order.
[0038] Optionally, the graph theory algorithm grouping unit is further configured to:
[0039] Determine that the comparison result is that the total demand data does not exceed the preset capacity limit data, and merge the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result into a collection order;
[0040] Determine that the comparison result is that the total demand data exceeds the preset capacity limit data. Based on the expected fulfillment time of the order, the preset capacity limit data, the preset quantity, and the splitting rule that each order data can only belong to one collective order, split the order data corresponding to the node in the maximum complete subgraph corresponding to the comparison result to obtain a collective order.
[0041] Optionally, the preset constraints are: each order data can only belong to one collection order, the starting point and destination corresponding to the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed commodity identifier belongs to only one order data; and
[0042] The heuristic algorithm grouping unit is further configured to:
[0043] The planning engine is called to group the order data to obtain a collection order based on the order ID, product attribute data, geographic data and preset constraints, that is, each order data can only belong to one collection order, the starting point and destination corresponding to the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product ID belongs to only one order data.
[0044] In addition, the present application also provides an order processing electronic device, including: one or more processors; a storage device for storing one or more programs, when the one or more programs are executed by one or more processors, the one or more processors implement the order processing method as described above.
[0045] In addition, the present application also provides a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, the order processing method as described above is implemented.
[0046] To achieve the above objective, according to another aspect of the embodiments of the present application, a computer program product is provided.
[0047] A computer program product according to an embodiment of the present application includes a computer program, which, when executed by a processor, implements the order processing method provided by the embodiment of the present application.
[0048] One embodiment of the above invention has the following advantages or beneficial effects: the present application obtains order data according to a received order processing request, obtains the order identifier corresponding to the order data, the product attribute data corresponding to the order identifier, and the geographic data; determines the order quantity corresponding to the order data, and determines the order processing algorithm based on the order quantity; in response to the order processing algorithm being a graph theory algorithm, creates an undirected graph based on the order identifier, product attribute data, geographic data, and preset edge addition rules, and groups the order data based on the undirected graph to obtain a collection order; in response to the order processing algorithm being a heuristic algorithm, calls a planning engine to group the order data based on the order identifier, product attribute data, geographic data, and preset constraints to obtain a collection order; generates a picking task based on the collection order, and sends the picking task to a target terminal. This improves the efficiency, stability, and accuracy of processing large-scale, highly complex orders.
[0049] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with specific embodiments. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] The accompanying drawings are provided to facilitate a better understanding of the present application and do not constitute an undue limitation on the present application.
[0051] Figure 1This is a schematic diagram of the main process of the order processing method according to one embodiment of the present application;
[0052] Figure 2 This is a schematic diagram of the main process of the order processing method according to one embodiment of the present application;
[0053] Figure 3 This is a flowchart of implementing an order collection process based on a graph theory algorithm according to an order processing method of an embodiment of the present application;
[0054] Figure 4 This is a flowchart of implementing order collection based on a heuristic algorithm according to an order processing method of an embodiment of the present application;
[0055] Figure 5 is a schematic diagram of the main units of the order processing device according to an embodiment of the present application;
[0056] Figure 6 is an exemplary system architecture diagram to which embodiments of the present application may be applied;
[0057] Figure 7 It is a structural diagram of a computer system of a terminal device or server suitable for implementing an embodiment of the present application. DETAILED DESCRIPTION
[0058] The following describes exemplary embodiments of the present application in conjunction with the accompanying drawings, including various details of the embodiments of the present application to facilitate understanding. These should be considered merely exemplary. Therefore, those skilled in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present application. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description. It should be noted that the acquisition, transmission, storage, use, and processing of data in the technical solutions of this application comply with the relevant provisions of national laws and regulations. It should be noted that in the embodiments of this application, certain software, components, models, and other existing solutions in the industry may be mentioned. These should be considered exemplary and are intended solely to illustrate the feasibility of implementing the technical solutions of this application. It does not mean that the applicant has or will necessarily use such solutions. In the technical solutions of this application, the collection, collection, updating, analysis, processing, use, transmission, storage, and other aspects of user personal information involved comply with the provisions of relevant laws and regulations, are used for legal and reasonable purposes, do not violate public order and good morals, are not shared, disclosed, or sold outside of these legal uses, and are subject to supervision and management by regulatory authorities. Necessary measures should be taken to prevent unauthorized access to user personal information, safeguard the security of user personal information, network security, and national security, and ensure that persons with access to personal information comply with relevant laws and regulations. Once such personal information is no longer needed, risks should be minimized by restricting or even prohibiting its collection and / or deleting it.
[0059] When used, including in certain related applications, protect user privacy by de-identifying data, such as by removing specific identifiers when used, controlling the amount or specificity of stored data, controlling how data is stored, and / or other de-identification methods.
[0060] Figure 1 This is a schematic diagram of the main process of the order processing method according to an embodiment of the present application. Figure 1 As shown, the order processing method mainly includes the following steps S101 to S105.
[0061] Step S101 : acquiring order data according to the received order processing request, acquiring the order identifier corresponding to the order data, and the commodity attribute data and geographic data corresponding to the order identifier.
[0062] In this embodiment, the execution entity of the order processing method (e.g., a server) may receive an order processing request via a wired or wireless connection. The order processing request may be a request for order combination planning. Order data corresponding to the order processing request may be obtained. The order data may include an order identifier (e.g., an order number or order name), product attribute data corresponding to the order identifier (e.g., the weight, volume, time window, and the weighing product tag skuId of the product in the order corresponding to the order identifier), and geographic data (e.g., the order's starting point, destination, and the road zone to which the delivery address belongs, etc.).
[0063] Step S102: determine the order quantity corresponding to the order data, and determine the order processing algorithm based on the order quantity.
[0064] The order quantity can be accurately determined based on the number of different order identifiers in the order data. The order quantity is compared with a preset threshold (e.g., 50). If the order quantity is less than or equal to the threshold (e.g., 50), the order processing algorithm is determined to be a graph theory algorithm; if the order quantity is greater than the threshold (e.g., 50), the order processing algorithm is determined to be a heuristic algorithm. This enables efficient and stable order combination planning and optimizes the generation of picking tasks.
[0065] Step S103 , in response to the order processing algorithm being a graph theory algorithm, an undirected graph is created according to the order identifier, product attribute data, geographic data and preset edge adding rules, and the order data is grouped based on the undirected graph to obtain a collection order.
[0066] For example, if the order processing algorithm is a graph theory algorithm, each node is obtained based on the order identifier. Based on the preset edge addition rules and the corresponding product attribute data of each node (such as the weight, volume, time window, and the weighing product tag skuId in the order data corresponding to each node), and geographic data (such as the order origin, destination, and road zone of the delivery address in the order data corresponding to each node), it is determined whether an edge can be added between each two nodes. Based on the judgment result, the two nodes where an edge can be added are connected, and an undirected graph is ultimately created. Based on the created undirected graph, the order data is accurately grouped to accurately obtain the aggregate order.
[0067] Step S104 , in response to the order processing algorithm being a heuristic algorithm, calling a planning engine to group the order data based on the order identifier, product attribute data, geographic data and preset constraints to obtain a collection order.
[0068] Specifically, the preset constraints are: each order data can only belong to one collection order and the starting point and destination corresponding to the order data in the same collection order are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier belongs to only one order data; and calling the planning engine to group the order data based on the order identifier, commodity attribute data, geographic data and preset constraints to obtain a collection order, including: calling the planning engine to group the order data based on the order identifier, commodity attribute data, geographic data and the preset constraints that each order data can only belong to one collection order and the starting point and destination corresponding to the order data in the same collection order are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier belongs to only one order data to obtain a collection order.
[0069] For example, order data such as order ID, product attributes, and geographic data can be used as planning variables, and the resulting collection order as the planning entity. Preset constraints include the following: each order can only belong to one collection order, the origin and destination of the orders within the same collection order are within a reasonable range (for example, the delivery routes of the orders within the same collection order are the same), the cargo operation time windows overlap (for example, the scheduled pickup or delivery times of the orders within the same collection order overlap), the total demand data (for example, the total weight or volume of the orders within the same collection order) does not exceed the preset capacity limit, and the same weighed product ID (for example, sku1, sku2, or sku3) can only belong to one order. The OptaPlanner planning engine is invoked to solve the problem based on these planning variables, planning entities, and pre-set constraints. The resulting solution is the collection order, which serves as the planning entity. This enables efficient and stable order combination planning and optimizes the generation of picking tasks.
[0070] Step S105: Generate a picking task based on the collection list and send the picking task to the target terminal.
[0071] After obtaining the collection list, a picking task is generated based on the product code (such as the weighing product label skuId) and quantity requirements of the products in the collection list, and the generated picking task is sent to the target terminal corresponding to the picking personnel to remind the picking personnel to pick the products in time. The target terminal can be a handheld mobile device with functions such as scanning and data input.
[0072] This embodiment obtains order data based on a received order processing request, obtains the order identifier corresponding to the order data, and obtains the product attribute data and geographic data corresponding to the order identifier; determines the order quantity corresponding to the order data, and determines the order processing algorithm based on the order quantity; in response to the order processing algorithm being a graph theory algorithm, creates an undirected graph based on the order identifier, product attribute data, geographic data, and preset edge addition rules, and groups the order data based on the undirected graph to obtain a collection order; in response to the order processing algorithm being a heuristic algorithm, calls a planning engine to group the order data based on the order identifier, product attribute data, geographic data, and preset constraints to obtain a collection order; and based on the collection order, generates a picking task and sends the picking task to a target terminal. This improves the efficiency, stability, and accuracy of processing large-scale, highly complex orders.
[0073] Figure 2 This is a schematic diagram of the main flow of the order processing method according to one embodiment of the present application. Figure 2 As shown, the order processing method mainly includes the following steps S201 to S207.
[0074] Step S201 : acquiring order data according to the received order processing request, acquiring the order identifier corresponding to the order data, and the commodity attribute data and geographic data corresponding to the order identifier.
[0075] For example, the order data obtained according to the received order processing request can be as follows: Figure 3 The node set {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p} corresponding to the discrete orders shown in the figure contains order data corresponding to each node a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p. The order data may include the order identifier, weight, volume, starting point, destination, time window, the skuId of the weighed item, and the road zone to which the delivery address belongs. The order data can be used to obtain the order identifier, the corresponding item attribute data (such as the weight, volume, time window, and the skuId of the weighed item in the order corresponding to the order identifier), and geographic data (such as the starting point, destination, and road zone to which the delivery address belongs).
[0076] Step S202: Determine the order quantity corresponding to the order data, and determine the order processing algorithm based on the order quantity.
[0077] For example, the number of distinct order identifiers (e.g., order numbers or order names) in order data can be determined and used as the order quantity. The order quantity is then compared with a preset threshold (e.g., 50). If the order quantity is less than or equal to the threshold, the order processing algorithm is determined to be a graph theory algorithm; if the order quantity is greater than the threshold, the order processing algorithm is determined to be a heuristic algorithm. This allows for efficient and stable order combination planning and optimizes the generation of picking tasks.
[0078] Step S203 : In response to the order processing algorithm being a graph theory algorithm, the order data corresponding to each order identifier is used as a node.
[0079] If the determined order processing algorithm is a graph theory algorithm, the order data corresponding to each order identifier is mapped to a node in an undirected graph to facilitate accurate and efficient order processing.
[0080] Specifically, the preset edge adding rules are as follows: the starting point and destination of the two order data are within a reasonable range (for example, the delivery route areas of the two order data are the same) and the cargo operation time windows overlap (for example, the scheduled collection time or scheduled delivery time of the goods in the two order data overlap) and the total demand data (for example, the total weight, total volume, etc. of the two order data) does not exceed the preset capacity limit data and the same weighed product identifier (for example, sku1 or sku2 or sku3) belongs to only one order data.
[0081] Step S204, based on the order identifier, product attribute data, geographic data and the preset edge adding rules, the starting point and destination of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product identifier belongs to only one order data, determine the nodes that need to add edges, and add edges to the nodes that need to add edges to obtain an undirected graph.
[0082] According to the above-mentioned preset edge adding rules, it is determined whether edges can be added between the nodes obtained by mapping the order data containing order identification, product attribute data and geographic data. If the order data corresponding to any two nodes (for example, d and e) do not comply with the above-mentioned preset edge adding rules, then an edge cannot be added between the two nodes (for example, d and e); if the order data corresponding to any two nodes (for example, a and b) comply with the above-mentioned preset edge adding rules, then an edge can be added between the two nodes (for example, a and b), and the two nodes (for example, a and b) are determined as nodes to which edges need to be added, and edges are added to all determined nodes to which edges need to be added to obtain an undirected graph.
[0083] Step S205 , searching for the maximum complete subgraph in the undirected graph, and grouping the order data based on the maximum complete subgraph and preset capacity constraint data to obtain a collection order.
[0084] The maximum complete subgraph in an undirected graph is the maximum clique in the undirected graph, and each subgraph is a clique. The BronKerbosch algorithm can be used to find the maximum complete subgraph (i.e., maximum clique) in an undirected graph. When using the BronKerbosch algorithm to find the maximum complete subgraph (i.e., maximum clique), the logic executed can be: find a new subgraph, add it to the current subgraph that has been found, and remove the vertices belonging to the current subgraph from the undirected graph. Because the structure of the undirected graph has changed, it is necessary to recreate the comprehensive connectivity search method cliquefinder, break out of the loop, and start a new round of search from the beginning. If there are still nodes in the undirected graph but no more subgraphs can be found, then these nodes cannot form a subgraph, and ultimately all the maximum complete subgraphs (i.e., maximum cliques) corresponding to the undirected graph are obtained.
[0085] Specifically, based on the maximum complete subgraph and the preset capacity restriction data, the order data is grouped to obtain a collection order, including: calculating the corresponding total demand data for each maximum complete subgraph (for example, the total weight and total volume of the goods in the order data corresponding to all nodes in each maximum complete subgraph), comparing the total demand data with the preset capacity restriction data (for example, the preset total weight and total volume), and grouping the order data according to the comparison result to obtain a collection order. By way of example, the comparison result may be that the total demand data does not exceed the preset capacity restriction data, that is, the total weight of the goods in the order data corresponding to all nodes in the maximum complete subgraph does not exceed the preset total weight, and the total volume does not exceed the preset total volume. By way of example, the comparison result may also be that the total demand data exceeds the preset capacity restriction data, that is, the total weight of the goods in the order data corresponding to all nodes in the maximum complete subgraph exceeds the preset total weight, and the total volume exceeds the preset total volume.
[0086] Specifically, the order data is grouped according to the comparison result to obtain a collection order, including:
[0087] Determining that the comparison result is that the total demand data does not exceed the preset capacity limit data, merging the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result into a collection order, that is, directly merging the order data corresponding to the nodes in the maximum complete subgraph whose total demand data does not exceed the preset capacity limit data into a collection order;
[0088] If the comparison result indicates that the total demand data exceeds the preset capacity limit, the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result are split based on the expected order fulfillment time, the preset capacity limit, the preset quantity, and the splitting rule that each order data can only belong to one set order, to obtain set orders. Specifically, the order data corresponding to the nodes in the maximum complete subgraph where the total demand data exceeds the preset capacity limit are split based on the expected order fulfillment time, the preset capacity limit, the preset quantity, and the splitting rule that each order data can only belong to one set order, to accurately obtain each set order. For example, D. Sort the order data corresponding to the nodes in the maximum complete subgraph by expected order fulfillment time, i.e., order data with expected fulfillment times closer to the current time are ranked higher; E. Add the order data sequentially to the current order combination according to the sorting result of D until the preset capacity limit is met and the number of order data in the current order combination does not exceed the preset number (i.e., does not exceed mergeSize); F. Create a new order combination and repeat steps D and E until all order data are assigned and each set order is accurately obtained.
[0089] Step S206 , in response to the order processing algorithm being a heuristic algorithm, calling a planning engine to group the order data based on the order identifier, product attribute data, geographic data and preset constraints to obtain a collection order.
[0090] If the order processing algorithm is a heuristic algorithm, order data such as order ID, product attributes, and geographic data can be used as planning variables, and the resulting collection order as the planning entity. Preset constraints include the following: each order can only belong to one collection order, the origin and destination of orders within the same collection order are within a reasonable range (for example, the delivery routes of orders within the same collection order are the same), the cargo operation time windows overlap (for example, the scheduled pickup or delivery times of goods within the same collection order overlap), the total demand data (for example, the total weight or volume of orders within the same collection order) does not exceed the preset capacity limit, and the same weighed product ID (such as sku1, sku2, or sku3) can only belong to one order. The OptaPlanner planning engine is then invoked to solve the problem based on these planning variables, planning entities, and pre-set constraints. The resulting solution is the collection order, which serves as the planning entity. This allows for efficient and stable order combination planning and optimizes the generation of picking tasks.
[0091] Step S207: Generate a picking task based on the collection order, and send the picking task to the target terminal.
[0092] After obtaining the collection list, a picking task is generated based on the commodity code (such as the weighing commodity label skuId) and quantity requirements of the commodities in the collection list, and the generated picking task is sent to the target terminal held by the picker (the target terminal can be a handheld mobile device with scanning, data input and other functions) to remind the picker to pick the goods in time, thereby improving the efficiency, stability and accuracy when processing large-scale, high-complexity orders.
[0093] In the embodiments of this application, some terms that may be used are explained as follows:
[0094] Picking: This refers to the process in which a picker, using a mobile device (Personal Digital Assistant, PDA) that integrates data processing, mobile communication, and portability, picks items from designated storage areas according to product codes and quantity requirements, placing them into picking bags. This process is primarily used in warehousing and distribution logistics.
[0095] Aggregate order: Aggregate order refers to the integration of multiple order data into a large aggregate order for unified operations such as picking and packing. This method can significantly improve warehouse operating efficiency.
[0096] JGraphT: is an open source Java class library that not only provides various types of graphs, but also provides many algorithms to solve the most common graph problems.
[0097] OptaPlanner is a lightweight, embeddable planning engine. For problem modeling, OptaPlanner's constraints act on common domain objects, eliminating the need to type complex mathematical formulas and allowing the reuse of existing code. For problem solving, OptaPlanner combines a number of sophisticated heuristic and metaheuristic algorithms (such as tabu search, simulated annealing, overdue acceptance, and variable neighborhood search) to provide highly effective optimization services.
[0098] In logistics and warehouse management systems, efficient order processing is key to improving overall operational efficiency. Orders are usually aggregated first, and then picking tasks are split according to the distribution of the goods in the order in the physical warehouse area to improve picking and delivery efficiency.
[0099] Because when different order data contain the same short-weight return goods (i.e., goods with the same weight), it is difficult to distinguish which order these goods belong to during the picking and packing process. Therefore, it is necessary to ensure that the order data containing the same short-weight return goods (i.e., goods with the same weight) are not grouped together during the order collection process to avoid conflicts when the picking task is generated and when the picking task is executed. The embodiment of the present application performs order collection (i.e., performs order combination planning) based on a graph theory algorithm to obtain a collection order to solve the problem of insufficient system stability and efficiency during large-scale order processing. At the same time, it avoids the situation where the same short-weight return goods (i.e., goods with the same weight) in different orders cannot be distinguished during the picking and packing process, improves picking accuracy and efficiency, and meets the needs of diversified business scenarios.
[0100] The embodiment of the present application performs order aggregation based on a graph theory algorithm. By converting the order aggregation problem into a graph model (such as an undirected graph), graph theory algorithms and heuristic algorithms are used to achieve efficient and stable order combination planning, thereby optimizing the generation of picking tasks.
[0101] Order aggregation algorithm selection: Select an appropriate algorithm for order aggregation based on the order volume. For smaller order volumes, use graph theory algorithms to solve the order aggregation problem. For larger order volumes, introduce heuristic algorithms, such as the planning engine OptaPlanner, for order combination planning.
[0102] Figure 3 This is a flowchart of an order collection process based on a graph theory algorithm according to an embodiment of the present application. The goal is to collect orders that do not contain the same missing or returned sku and belong to the same route area. Figure 3 As shown, JGraphT is used to construct a graph (i.e., an undirected graph) Graph based on the order data corresponding to discrete orders, and the order data corresponding to discrete orders are mapped to nodes a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, and p in the graph (i.e., an undirected graph) Graph. addEdge: Create an undirected edge between any two nodes corresponding to order data that do not contain the same missing or returned goods (i.e., goods with the same weight), indicating that these two order data can be grouped together. For example, undirected edges include the edge between a and b, the edge between b and c, and so on. Construct an undirected graph based on the nodes and the undirected edges between the nodes. Use the BronKerbosch algorithm to find the maximum clique in the graph, that is, the maximum complete subgraph in which all nodes are connected. The order data corresponding to the nodes in the maximum clique can be combined to generate picking tasks to ensure that there are no identical missing or returned goods (i.e., goods with the same weight) between these order data. For example, use the BronKerbosch algorithm to find the maximum clique in an undirected graph, such as Figure 3After finding the largest cluster, split the largest cluster by capacity to obtain the single result abcefa, opno, dihd, gjkg. Nodes of type vertex cannot be grouped and need to be grouped separately, such as l and m.
[0103] The detailed algorithm is as follows:
[0104] 1. Build a graph: that is, build an order compatibility graph:
[0105] Input: The node set corresponding to the order data of discrete orders = {a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p}, where the order data corresponding to each node can include data such as order ID, weight, volume, starting point, destination, time window, weighed item label skuId, and the road zone to which the delivery address belongs;
[0106] step:
[0107] Build as Figure 3 The undirected graph Graph = (V, E) shown contains nodes a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p and edges between the nodes, where:
[0108] Node set V: Each node a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p represents an order data;
[0109] Edge set E: If two order data can be shipped together, add an edge (addEdge) between the corresponding nodes, for example, add an edge between a and b, add an edge between b and c, etc.
[0110] Define compatibility conditions (rules for adding edges between nodes):
[0111] Geographic compatibility: the origin and destination are within a reasonable range;
[0112] Time compatibility: There is overlap in pickup / delivery time windows;
[0113] Capacity compatibility: The combined total weight / volume does not exceed the transport vehicle restriction data (i.e., does not exceed the preset capacity limit data);
[0114] Other business rule constraints.
[0115] Output: Order-compatible graph (also known as undirected graph) Graph.
[0116] 2. Specific implementation of adding edges:
[0117] For each pair of nodes corresponding to orders:
[0118] a. Calculate the receiving area distance d = distance(receiving) + distance(delivering);
[0119] b. Check whether the order combination contains the same product for the short weight refund, that is, whether it contains the same short weight refund SKU, that is, whether it contains the same weighed product;
[0120] If the distance d between the delivery routes is within a reasonable range and the order combination does not contain the same missing or returned goods, then an edge is added to the nodes corresponding to the pair of orders.
[0121] 3. Use the BronKerbosch algorithm to find the largest group:
[0122] The BronKerbosch algorithm is a recursive backtracking algorithm used to find all maximum cliques in an undirected graph. The execution logic can be: find a new clique, add it to the current clique that has been found, and remove the vertices belonging to the current clique from the undirected graph. Because the structure of the undirected graph has changed, it is necessary to recreate the comprehensive connection search method cliquefinder, jump out of the loop, and start a new round of search from the beginning. If there are still nodes in the undirected graph but no more cliques can be found, then these nodes cannot form a clique, and finally all the maximum cliques corresponding to the undirected graph (that is, the maximum complete subgraph) are obtained.
[0123] 4. Split the largest group by capacity (i.e. split the largest complete subgraph):
[0124] When the largest group found exceeds the capacity limit of a single transport tool (that is, exceeds the preset capacity limit), further splitting is required:
[0125] The splitting steps are as follows:
[0126] For each largest group, calculate its total demand data (weight, volume, etc.);
[0127] If the total demand data is less than or equal to the preset capacity limit data, the largest group will be directly regarded as an order combination (i.e., as a collective order);
[0128] If total demand data > preset capacity limit data:
[0129] A. Sort the order data corresponding to the nodes in the group by the expected fulfillment time. That is, the closer the expected fulfillment time is to the current time, the higher the order data is ranked.
[0130] B. Add the order data to the current order combination in sequence according to the sorting results of A, until the preset capacity limit is reached and the number of order data in the current order combination does not exceed the preset number (i.e., does not exceed mergeSize);
[0131] C. Create a new order combination and repeat steps A and B until all order data are assigned to obtain a collective order.
[0132] When the order volume exceeds the preset threshold, a heuristic algorithm is used to solve the problem. Using the OptaPlanner planning engine, orders are used as planning variables and collection orders are used as planning entities.
[0133] Figure 4 This is a flowchart of an order processing method based on a heuristic algorithm to implement a collection of orders according to an embodiment of the present application. For example, Figure 4 As shown in Figure 2, when the order quantity exceeds 50, a heuristic algorithm is used for order aggregation (i.e., order combination planning).
[0134] When using a heuristic algorithm to perform order aggregation (i.e., order combination planning) to obtain a collection order, first perform abstract modeling, use the order as the planning variable, the collection order as the planning entity, define the planning scheme, perform conditional constraints, and receive the planning results.
[0135] For example, in Figure 4 middle:
[0136] DoInfo: Order entity; @PlanningVariable: Planning variable. doNo under DoInfo: Order number; attributeList: Collection of attributes for the items under the order. areaname: The road area of the order, i.e., the road area to which the delivery address belongs.
[0137] DoGroupRelation: Order grouping relationship; @PlanningEntity: Planning entity. Under DoGroupRelation, id: Order group ID; group: Order grouping strategy; areaName: Order route area, i.e., the route area to which the order's delivery address belongs; doInfo: Order entity.
[0138] DoGroupSolution: The order grouping result, i.e., the planning result after the order passes through the planning engine; @PlanningSolution: The planning solution. doInfos under DoGroupSolution: The order entity collection; doGroupRelations: The order grouping relationships; score: HardMediumSoftLongScore is a four-tier constraint scoring system provided by the OptaPlanner planning engine. A higher score indicates that the planning result of the grouped order is more consistent with expectations.
[0139] Conditional constraints: Set order quantity limits for the collection order, ensure that the route area of the collection order must be equal to the route area of the order, and that the same missing weight return product (i.e., the same weighed product, such as sku1, sku2, or sku3) can only appear in one order. Set reasonable preset constraints:
[0140] Preset constraint 1: An order data can only belong to one collection order as a unit for picking.
[0141] Preset constraint 2: The order data in the same collection order must have the same delivery route area.
[0142] Preset constraint three: In the same collective order, the same missing weight return product (that is, the same weighed product, such as sku1 or sku2 or sku3) can only belong to one order data.
[0143] Solve and obtain the planning result of the set list: adopt the multi-threaded parallel solving method, set the appropriate number of threads and maximum waiting time, improve the solving efficiency of the algorithm, achieve performance optimization, and meet the requirements of high performance and high stability.
[0144] For example, when using the heuristic algorithm to perform order aggregation (i.e. order combination planning) to obtain the aggregate order, such as Figure 4The right half shows the planning variables for route zone 1: six orders (do1(sku1, others), do2(sku2, others), do3(others), do4(sku2, others), do5(sku3), and do6(sku1, others). The mergeSize parameter represents the maximum number of orders allowed in a collection order. A three-order collection, or mergeSize = 3, requires that a maximum of three orders (doNo) be combined into one collection order (mergeNo). sku1 represents items labeled with the weighing item tag "sku1," sku2 represents items labeled with the weighing item tag "sku2," sku3 represents items labeled with the weighing item tag "sku3," and others represents other items. Different order data within the same bundle cannot have the same attributes. Specifically, different order data within the same bundle cannot contain the same weighed item (skuId). All order data within the same bundle must meet the mutual exclusion requirement for the weighed item's sku tag. This means that multiple sku1s, sku2s, or sku3s are not allowed within the same bundle, but multiple "others" items are allowed. During order combination planning, do1 (sku1, others), do2 (sku2, others), and do3 (others) are added to bundle 1 before do4 (sku2, others). After do4 (sku2, others) is added to bundle 1, it must be removed from bundle 1 because it contains the same sku2 as do2 (sku2, others). Therefore, do4 (sku2, others) cannot be assigned to bundle 1. do4 (sku2, others) can be added to collection order 2. After adding do4 (sku2, others) to collection order 2, since do5 (sku3) and do6 (sku1, others) do not contain sku2, and the sku3 in do5 (sku3) is different from the sku1 in do6 (sku1, others) (i.e., they are mutually exclusive), do5 (sku3) and do6 (sku1, others) can be added to collection order 2. Therefore, after constraint verification of the preset constraints, collection orders 1 and 2 corresponding to road area 1 are planned. The orders in collection order 1 include: do1 (sku1, others), do2 (sku2, others), and do3 (others), and the orders in collection order 2 include: do4 (sku2, others), do5 (sku3), and do6 (sku1, others).
[0145] In an embodiment of the present application, a graph theory algorithm is combined with a heuristic algorithm to deal with the combination planning problem of order volumes of different sizes. When the order flow exceeds a preset threshold, the OptaPlanner planning engine is used for heuristic solution. When creating an undirected graph: the order data is regarded as a node in the undirected graph. If two order data do not contain the same missing or returned goods (that is, goods of the same weight), an undirected edge connection is established between the nodes corresponding to the two order data. In this way, the order combination planning problem is transformed into a problem of finding the largest group (that is, the largest complete subgraph) in the undirected graph. Finding the largest group (that is, the largest complete subgraph): The BronKerbosch algorithm can be used to find the largest group (that is, the largest complete subgraph) in the undirected graph. The nodes in the largest group (that is, the largest complete subgraph) are a set of orders that can be combined together, which can represent the solution to the order combination planning problem. Multi-scenario adaptation: When the order flow exceeds a preset threshold, the OptaPlanner planning engine is introduced, and a heuristic algorithm is selected to better adapt to the needs of different scenarios. Abstract modeling: When using a heuristic algorithm to generate aggregator orders (i.e., order combination planning), use the orders as planning variables and the aggregate orders as planning entities. Set order quantity limits on the aggregate orders, ensuring that the route area of the aggregate order must be equal to the route area of the order, and that the same missing weight return item (i.e., the same weighed item) can only appear in one order. Set reasonable pre-set constraints and solve the aggregate order planning results. Specifically, a multi-threaded parallel solution method can be used, with an appropriate number of threads and maximum waiting time set to improve the algorithm's solution efficiency and achieve performance optimization to meet the requirements of high performance and high stability.
[0146] In an embodiment of the present application, an undirected graph can be first constructed using order data, and then the BronKerbosch algorithm can be used to find the maximum clique (i.e., the maximum complete subgraph). When using the BronKerbosch algorithm to find the maximum clique (i.e., the maximum complete subgraph), the logic executed can be: find a new clique, add it to the current clique that has been found, and remove the vertices belonging to the current clique from the undirected graph. Because the structure of the undirected graph has changed, it is necessary to recreate the comprehensive connection search method cliquefinder, jump out of the loop, and start a new round of search from the beginning. If there are still nodes in the undirected graph but no more cliques can be found, then these nodes cannot form a clique, and ultimately all the maximum cliques (i.e., the maximum complete subgraph) corresponding to the undirected graph are obtained. Using a graph theory algorithm, the maximum clique is split based on the mergeSize number to obtain a collection order, ensuring that different order data under the same collection order do not have the same attributes. When the order size is large, it automatically switches to the OptaPlanner planning engine for heuristic solution. By reasonably setting the constraints for order grouping, the accuracy and effectiveness of the collection order are ensured.
[0147] The embodiment of the present application combines graph theory algorithms, planning engine technology and intelligent warehousing technology to achieve efficient and accurate order aggregation, abstract the relationship between orders into a graph structure, and obtain the optimal order combination plan by finding the largest group (i.e., the largest complete subgraph), thereby avoiding conflicts between the same underweight and returned goods (i.e., goods with the same weight) in the same picking task. Adopt flexible algorithm selection and adaptation strategies: flexibly select graph theory algorithms and heuristic algorithms according to the scale of the order volume to ensure efficient and stable operation in different business scenarios. Introduce the optimization solution of heuristic algorithms: when the order volume is large, use heuristic algorithms such as OptaPlanner for order combination planning, set reasonable constraints, and meet the order aggregation requirements under complex business rules through optimization solution. Achieve multi-threaded performance optimization: through multi-threaded parallel computing, optimize the solution efficiency of the algorithm to meet the order processing requirements within the limited production time of offline store warehouses and improve the overall performance of order processing. Innovative strategies to avoid picking conflicts: Through refined strategy design in the order aggregation process, we ensure that order data containing the same underweight and returned goods (i.e., goods with the same weight) are not combined into the same picking task. This avoids conflicts in the picking and packing process from the source and improves the accuracy and efficiency of picking and packing.
[0148] Figure 5 Schematic diagram of the main units of the order processing device according to the embodiment of the present application. Figure 5 As shown, the order processing device 500 includes an acquisition unit 501, an order processing algorithm determination unit 502, a graph theory algorithm grouping unit 503, a heuristic algorithm grouping unit 504 and a picking task generation unit 505.
[0149] The acquisition unit 501 is configured to acquire order data according to the received order processing request, and acquire the order identifier corresponding to the order data, and the commodity attribute data and geographic data corresponding to the order identifier.
[0150] The order processing algorithm determining unit 502 is configured to determine the order quantity corresponding to the order data, and determine the order processing algorithm according to the order quantity.
[0151] The graph theory algorithm grouping unit 503 is configured to create an undirected graph based on order identification, product attribute data, geographic data and preset edge adding rules in response to the order processing algorithm being a graph theory algorithm, and group the order data based on the undirected graph to obtain a collection order.
[0152] The heuristic algorithm grouping unit 504 is configured to call the planning engine to group the order data based on the order identifier, product attribute data, geographic data and preset constraints to obtain a collection order in response to the order processing algorithm being a heuristic algorithm.
[0153] The picking task generating unit 505 is configured to generate a picking task based on the collection order and send the picking task to the target terminal.
[0154] In some embodiments, the preset edge adding rule is: the starting point and destination of two order data are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier only belongs to one order data; and the graph theory algorithm grouping unit 503 is further configured to: take the order data corresponding to each order identifier as a node; according to the order identifier, commodity attribute data, geographic data and the preset edge adding rule, the starting point and destination of the two order data are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier only belongs to one order data, determine the nodes to which edges need to be added, and add edges to the nodes to which edges need to be added to obtain an undirected graph.
[0155] In some embodiments, the graph theory algorithm grouping unit 503 is further configured to: search for a maximum complete subgraph in an undirected graph, and group the order data based on the maximum complete subgraph and preset capacity restriction data to obtain a collection order.
[0156] In some embodiments, the graph theory algorithm grouping unit 503 is further configured to: calculate the corresponding total demand data for each maximum complete subgraph, compare the total demand data with the preset capacity limit data, and group the order data according to the comparison result to obtain a collective order.
[0157] In some embodiments, the graph theory algorithm grouping unit 503 is further configured to: determine that the comparison result is that the total demand data does not exceed the preset capacity limit data, and merge the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result into a collection order; determine that the comparison result is that the total demand data exceeds the preset capacity limit data, and based on the expected fulfillment time of the order, the preset capacity limit data, the preset quantity and the splitting rule that each order data can only belong to one collection order, split the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result to obtain a collection order.
[0158] In some embodiments, the preset constraints are: each order data can only belong to one collection order and the starting point and destination corresponding to the order data in the same collection order are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier belongs to only one order data; and the heuristic algorithm grouping unit 504 is further configured to: call the planning engine to group the order data to obtain a collection order based on the order identifier, commodity attribute data, geographic data and the preset constraints that each order data can only belong to one collection order and the starting point and destination corresponding to the order data in the same collection order are within a reasonable range and the cargo operation time windows overlap and the total demand data does not exceed the preset capacity limit data and the same weighed commodity identifier belongs to only one order data.
[0159] It should be noted that the order processing method and order processing device of the present application have a corresponding relationship in terms of specific implementation content, so the repeated content will not be explained again.
[0160] Figure 6 An exemplary system architecture 600 is shown to which the order processing method or order processing apparatus according to the embodiments of the present application can be applied.
[0161] like Figure 6 As shown, system architecture 600 may include terminal devices 601, 602, 603, a network 604, and a server 605. Network 604 is used to provide a medium for communication links between terminal devices 601, 602, 603 and server 605. Network 604 may include various connection types, such as wired or wireless communication links or fiber optic cables.
[0162] Users can use terminal devices 601, 602, and 603 to interact with server 605 via network 604 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 601, 602, and 603, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only as examples).
[0163] The terminal devices 601 , 602 , and 603 may be various electronic devices that have an order processing screen and support web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0164] Server 605 can be a server that provides various services, such as a backend management server (for example only) that supports order processing requests submitted by users using terminal devices 601, 602, and 603. Based on the received order processing request, the backend management server can obtain order data, the order identifier corresponding to the order data, and the product attribute data and geographic data corresponding to the order identifier. The backend management server can determine the order quantity corresponding to the order data and, based on the order quantity, determine an order processing algorithm. If the order processing algorithm is a graph-theoretic algorithm, the backend management server can create an undirected graph based on the order identifier, product attribute data, geographic data, and preset edge addition rules, and group the order data based on the undirected graph to generate a collection order. If the order processing algorithm is a heuristic algorithm, the backend management server can invoke a planning engine to group the order data based on the order identifier, product attribute data, geographic data, and preset constraints to generate a collection order. Based on the collection order, the backend management server can generate picking tasks and send the picking tasks to the target terminal. This improves the efficiency, stability, and accuracy of processing large-scale, highly complex orders.
[0165] It should be noted that the order processing method provided in the embodiment of the present application is generally executed by the server 605, and accordingly, the order processing device is generally set in the server 605.
[0166] It should be understood that Figure 6 The number of terminal devices, networks and servers in the embodiment is merely illustrative. Any number of terminal devices, networks and servers may be provided as required.
[0167] Reference below Figure 7 , which shows a structural diagram of a computer system 700 of a terminal device suitable for implementing an embodiment of the present application. Figure 7 The terminal device shown is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0168] like Figure 7 As shown, computer system 700 includes a central processing unit (CPU) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage unit 708 into a random access memory (RAM) 703. Various programs and data required for the operation of computer system 700 are also stored in RAM 703. CPU 701, ROM 702, and RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to bus 704.
[0169] The following components are connected to the I / O interface 705: an input section 706 including a keyboard, mouse, and the like; an output section 707 including displays such as a cathode ray tube (CRT), a liquid crystal display (LCD), and speakers; a storage section 708 including a hard disk; and a communication section 709 including a network interface card such as a LAN card or a modem. The communication section 709 performs communication processing via a network such as the Internet. A drive 710 is also connected to the I / O interface 705 as needed. Removable media 711, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 710 as needed, so that computer programs read from the removable media can be installed in the storage section 708 as needed.
[0170] In particular, according to the embodiments disclosed herein, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed herein include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for executing the methods illustrated in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via the communication section 709 and / or installed from removable media 711. When executed by the central processing unit (CPU) 701, the computer program performs the aforementioned functions defined in the system of the present application.
[0171] It should be noted that the computer-readable medium described herein may be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. Computer-readable storage media may include, for example, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or components, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, an electrical connection having one or more conductors, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device, or component. In this application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. This propagated data signal may take a variety of forms, including, but not limited to, electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in conjunction with an instruction execution system, apparatus, or device. Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wireline, optical fiber cable, RF, or any suitable combination thereof.
[0172] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flowchart or block diagram can represent a module, program segment, or a part of code, and the above-mentioned module, program segment, or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, which can be determined according to the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of the boxes in the block diagram or flowchart, can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.
[0173] The units involved in the embodiments described in this application can be implemented in software or hardware. The units described can also be set in a processor. For example, it can be described as: a processor including an acquisition unit, an order processing algorithm determination unit, a graph theory algorithm grouping unit, a heuristic algorithm grouping unit, and a picking task generation unit. In some cases, the names of these units do not constitute limitations on the units themselves.
[0174] As another aspect, the present application also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device obtains order data according to the received order processing request, obtains the order identifier corresponding to the order data, the commodity attribute data corresponding to the order identifier, and the geographic data; determines the order quantity corresponding to the order data, and determines the order processing algorithm based on the order quantity; in response to the order processing algorithm being a graph theory algorithm, creates an undirected graph based on the order identifier, commodity attribute data, geographic data, and preset edge addition rules, and groups the order data based on the undirected graph to obtain a collection order; in response to the order processing algorithm being a heuristic algorithm, calls a planning engine to group the order data based on the order identifier, commodity attribute data, geographic data, and preset constraints to obtain a collection order; generates a picking task based on the collection order, and sends the picking task to the target terminal.
[0175] The computer program product of the present application includes a computer program, which implements the order processing method in the embodiment of the present application when executed by a processor.
[0176] According to the technical solutions of the embodiments of the present application, the efficiency, stability and accuracy in processing large-scale, highly complex orders can be improved.
[0177] The above specific embodiments do not constitute a limitation on the scope of protection of this application. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may occur depending on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the scope of protection of this application.
Claims
1. An order processing method, characterized in that: include: Acquire order data according to the received order processing request, and acquire an order identifier corresponding to the order data, and commodity attribute data and geographic data corresponding to the order identifier; Determining the order quantity corresponding to the order data, and determining an order processing algorithm based on the order quantity; In response to the order processing algorithm being a graph theory algorithm, an undirected graph is created according to the order identifier, the product attribute data, the geographic data, and a preset edge adding rule, and the order data is grouped based on the undirected graph to obtain a set order; In response to the order processing algorithm being a heuristic algorithm, calling a planning engine to group the order data based on the order identifier, the product attribute data, the geographic data, and preset constraints to obtain a collection order; Based on the collection list, a picking task is generated and sent to a target terminal.
2. The method according to claim 1, characterized in that The default rules for adding edges are: the starting points and destinations of two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product ID belongs to only one order data; as well as The step of creating an undirected graph based on the order identifier, the product attribute data, the geographic data, and a preset edge adding rule includes: Taking the order data corresponding to each order identifier as a node; According to the order identifier, the product attribute data, the geographic data and the preset edge adding rules, the starting points and destinations of the two order data are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product identifier belongs to only one order data, determine the nodes that need to add edges, and add edges to the nodes that need to add edges to obtain an undirected graph.
3. The method according to claim 1, characterized in that The grouping the order data based on the undirected graph to obtain a collection order includes: A maximum complete subgraph in the undirected graph is searched, and based on the maximum complete subgraph and preset capacity constraint data, the order data is grouped to obtain a collection order.
4. The method according to claim 3, characterized in that The step of grouping the order data based on the maximum complete subgraph and the preset capacity constraint data to obtain a collection order includes: The corresponding total demand data is calculated for each maximum complete subgraph, the total demand data is compared with the preset capacity limit data, and the order data is grouped according to the comparison result to obtain a collective order.
5. The method according to claim 4, characterized in that The grouping of the order data according to the comparison result to obtain a collection order includes: Determining that the comparison result is that the total demand data does not exceed the preset capacity limit data, merging the order data corresponding to the nodes in the maximum complete subgraph corresponding to the comparison result into a collection order; Determine that the comparison result is that the total demand data exceeds the preset capacity limit data. Based on the expected fulfillment time of the order, the preset capacity limit data, the preset quantity, and the splitting rule that each order data can only belong to one collection order, the order data corresponding to the node in the maximum complete subgraph corresponding to the comparison result is split to obtain a collection order.
6. The method according to claim 1, characterized in that The preset constraints are: each order data can only belong to one collection order, the origin and destination of the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed commodity ID can only belong to one order data; as well as The calling of the planning engine to group the order data based on the order identifier, the commodity attribute data, the geographic data, and preset constraints to obtain a collection order includes: The planning engine is called to group the order data to obtain a collection order based on the order identifier, the product attribute data, the geographic data and the preset constraints that each order data can only belong to one collection order, the starting point and destination corresponding to the order data in the same collection order are within a reasonable range, the cargo operation time windows overlap, the total demand data does not exceed the preset capacity limit data, and the same weighed product identifier belongs to only one order data.
7. An order processing device, characterized in that: include: an acquiring unit configured to acquire order data according to the received order processing request, and acquire an order identifier corresponding to the order data, and commodity attribute data and geographic data corresponding to the order identifier; an order processing algorithm determining unit, configured to determine an order quantity corresponding to the order data, and determine an order processing algorithm based on the order quantity; a graph theory algorithm grouping unit configured to, in response to the order processing algorithm being a graph theory algorithm, create an undirected graph based on the order identifier, the product attribute data, the geographic data, and a preset edge adding rule, and group the order data based on the undirected graph to obtain a collection order; a heuristic algorithm grouping unit configured to, in response to the order processing algorithm being a heuristic algorithm, call a planning engine to group the order data based on the order identifier, the product attribute data, the geographic data, and preset constraints to obtain a collection order; The picking task generating unit is configured to generate a picking task based on the collection order and send the picking task to a target terminal.
8. An order processing electronic device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 6.
9. A computer-readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
10. A computer program product comprising a computer program, characterized in that When the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.