Method and device for order delivery
By implementing multiple sub-strategy and integer planning models during the order outbound process, the problems of cross-regional shipment and multi-warehouse split are solved, and more efficient logistics distribution and cost reduction are achieved.
Patent Information
- Application Number
- CN202110015001.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-06
- Publication Date
- 2024-12-13
- Estimated Expiration
- 2041-01-06
AI Technical Summary
In the process of order shipment outage, the existing technology has problems such as cross-regional shipment, the cost increase caused by multiple warehouse splits, and failure to ship out of stock, resulting in high order shipment failure rate and unsatisfactory logistics efficiency and cost.
By receiving user orders, determining the warehouse collection, and executing order outbound policies of multiple sub-strategies based on item information, warehouse priority and outbound configuration information, supporting outbound outbound, and optimizing outbound strategies using integer planning models and heuristic algorithms , select the optimal warehouse outbound warehouse.
It effectively reduces the failure rate of order outbound warehouses, improves logistics distribution efficiency and timeliness, and reduces distribution costs.
Smart Images

Figure CN114118888B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent logistics, and in particular to a method and device for order delivery. Background Art
[0002] Order sourcing refers to sending the items purchased by customers to one or more warehouses for delivery based on the inventory of each item in the warehouse. In the current order sourcing, for the self-operated orders of e-commerce platforms, when customers place an order, they usually go to the forward distribution center (FDC) warehouse to check the inventory first. If it cannot be met, they go to the regional distribution center (RDC) warehouse to check. If it can be met, the order will be sent to the corresponding warehouse, otherwise the order will fail. The same item (also known as SKU, short for Stock Keeping Unit, each item has a unique SKU number) can be shipped from at most one warehouse. For non-self-operated orders, you need to maintain the national warehouse information first, and then configure the warehouses and warehouse priorities that can be used for delivery according to the address. Select the delivery warehouse in order of warehouse priority from high to low until the order requirements are met. If the order requirements cannot be met in the end, it will fail.
[0003] The existing technology has at least the following problems: the platform does not support cross-regional delivery for self-operated orders, and customer orders can only be completed when transfers are made between warehouses or when out-of-stock warehouses are replenished; in addition, it does not support the delivery of a certain item from multiple warehouses. For non-self-operated orders, the orders are delivered in sequence according to priority, which will cause the orders to be split into more warehouses, increasing the cost of picking, packing, and logistics distribution for the warehouses. At the same time, whether it is the sourcing method for self-operated or non-self-operated orders, it does not support delivery of out-of-stock items. For orders with a large number of items, it will increase the probability of delivery failure and cause losses. Summary of the invention
[0004] In view of this, an embodiment of the present invention provides a method and device for order delivery, which can effectively reduce the probability of order delivery failure, improve logistics distribution efficiency and timeliness, and reduce distribution costs.
[0005] To achieve the above object, according to one aspect of an embodiment of the present invention, a method for order delivery is provided, comprising:
[0006] Receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order;
[0007] According to the item information in the order, the priority of each warehouse in the warehouse set and the order outbound configuration information, the order outbound strategy is executed to determine the outbound warehouse information corresponding to the order; the order outbound strategy is composed of multiple sub-strategies with different priorities;
[0008] The outbound warehouse information is sent so that the outbound warehouse can carry out outbound operations on the order.
[0009] Preferably, the order outbound configuration information includes: the maximum number of outbound warehouses.
[0010] Preferably, the executing order delivery strategy to determine the delivery warehouse information corresponding to the order includes:
[0011] Determine whether the total inventory of the order items in the warehouse collection meets the order requirements. If yes, execute the first order delivery strategy; if not, the order delivery fails;
[0012] The first order delivery strategy includes: a first sub-strategy with the least number of delivery warehouses and a second sub-strategy with the highest delivery warehouse priority, and the first sub-strategy has a higher priority than the second sub-strategy.
[0013] Preferably, the order outbound configuration information includes: out-of-stock outbound identification;
[0014] If the total inventory of the order items in the warehouse set does not meet the order requirements, before determining that the order delivery fails, further determine whether the order supports out-of-stock delivery according to the out-of-stock delivery flag, if yes, execute the second order delivery strategy; if not, the order delivery fails;
[0015] Among them, the second order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses, the second sub-strategy with the highest priority of the outbound warehouses, and the third sub-strategy with the largest total number of outbound goods. The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy.
[0016] Preferably, the first and second order delivery strategies are implemented based on an optimization model, and an objective function of the optimization model is established according to the priorities of different sub-strategies.
[0017] Preferably, the optimization model is an integer programming model with constraints;
[0018] The execution of the order delivery strategy to determine the delivery warehouse information corresponding to the order includes:
[0019] Determine the objective function according to the priorities of different sub-strategies in the order delivery strategy;
[0020] Solve the integer programming model according to the constraints and calculate the outbound warehouse information corresponding to the order.
[0021] Preferably, the constraint conditions include: the number of selected outbound warehouses is not greater than the maximum number of outbound warehouses;
[0022] Before solving the integer programming model, determine the minimum number of single-item outbound warehouses corresponding to at least one order item being shipped out separately, and select the maximum value of all minimum values of the single-item outbound warehouse number as the minimum number of outbound warehouses selected when solving the integer programming model.
[0023] Preferably, the constraint conditions include: the number of selected warehouses is no more than the maximum number of outbound warehouses;
[0024] Before solving the integer programming model, the maximum number of warehouses to be selected is determined by a heuristic algorithm.
[0025] Preferably, the heuristic algorithm comprises:
[0026] Step 1: Determine the outbound demand for each item in the order;
[0027] Step 2: Calculate the total number of outbound demand for each item in the order that can be met by each unselected warehouse in the warehouse set;
[0028] Step 3: Select the warehouse that can meet the largest total number as the outbound warehouse, and update the outbound demand quantity of each item in the order;
[0029] Step 4: If the number of currently selected warehouses is greater than or equal to the maximum number of outbound warehouses or the outbound demand of each item in the order is zero, execute step 5, otherwise return to step 2 to continue execution;
[0030] Step 5: The selected number of warehouses is taken as the maximum number of warehouses selected when solving the integer programming model.
[0031] Preferably, when executing the second order out-of-stock strategy, based on the principle that all out-of-stock items in the order are shipped out, the out-of-stock warehouse that must be selected is determined according to the inventory information corresponding to the out-of-stock items, and then the integer programming model is solved to calculate the out-of-stock warehouse information corresponding to the order.
[0032] Preferably, the priority of each warehouse in the warehouse set is determined according to the order delivery address and the location information of each warehouse in the warehouse set.
[0033] In a second aspect, an embodiment of the present invention provides an order outbound device, comprising:
[0034] An order receiving module, used to receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order;
[0035] An execution module, used to execute the order outbound strategy to determine the outbound warehouse information corresponding to the order according to the item information in the order, the priority of each warehouse in the warehouse set and the outbound configuration information of the order; the order outbound strategy is composed of multiple sub-strategies with different priorities;
[0036] The sending module is used to send the outbound warehouse information determined by the execution module.
[0037] Preferably, the execution module further comprises:
[0038] The first execution submodule is used to determine whether the total inventory of the order items in the warehouse set meets the order requirements. If yes, the first order delivery strategy is executed; if not, the order delivery fails;
[0039] The first order delivery strategy includes: a first sub-strategy with the least number of delivery warehouses and a second sub-strategy with the highest delivery warehouse priority, and the first sub-strategy has a higher priority than the second sub-strategy.
[0040] Preferably, the order outbound configuration information includes: out-of-stock outbound identification;
[0041] The execution module further includes: a second execution submodule, which is used to determine whether the order supports out-of-stock delivery according to the out-of-stock delivery identifier before the first execution submodule determines that the order delivery fails. If so, execute the second order delivery strategy; if not, notify the first execution submodule of the order delivery failure.
[0042] Among them, the second order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses, the second sub-strategy with the highest priority of the outbound warehouses, and the third sub-strategy with the largest total number of outbound goods. The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy.
[0043] In a third aspect, an embodiment of the present invention provides an electronic device, including:
[0044] one or more processors;
[0045] a storage device for storing one or more programs,
[0046] When the one or more programs are executed by the one or more processors, the one or more processors implement the order delivery method.
[0047] In a fourth aspect, an embodiment of the present invention provides a computer-readable medium having a computer program stored thereon, and the program implements the order delivery method when executed by a processor.
[0048] The order outbound method, device, electronic device and computer-readable medium of the present invention can meet the order outbound requirements in different scenarios by executing an order outbound strategy composed of multiple sub-strategies with different priorities. Furthermore, since the present invention can support outbound order shortage, the failure probability of order outbound can be effectively reduced by executing the outbound strategy when outbound order shortage occurs; in addition, the present invention can effectively improve the execution efficiency of the order outbound strategy by introducing an integer programming model and an optimization algorithm of the model constraints, thereby improving the efficiency and timeliness of logistics distribution and reducing distribution costs.
[0049] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0050] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.
[0051] Figure 1 It is a schematic diagram of the main process of the order delivery method according to an embodiment of the present invention;
[0052] Figure 2 is a schematic diagram of the main process of an order delivery method according to another embodiment of the present invention;
[0053] Figure 3 is a schematic diagram of the main process of executing the first order outbound strategy according to another embodiment of the present invention;
[0054] Figure 4 It is a schematic diagram of the main process of determining the upper limit of the number of warehouses selected in another embodiment of the present invention;
[0055] Figure 5 is a schematic diagram of the main process of executing the second order outbound strategy according to another embodiment of the present invention;
[0056] Figure 6 is a schematic diagram of main modules of an order outbound device according to another embodiment of the present invention;
[0057] Figure 7 is an exemplary system architecture diagram to which another embodiment of the present invention may be applied;
[0058] Figure 8 It is a schematic diagram of the structure of a computer system suitable for implementing a server of an embodiment of the present invention. DETAILED DESCRIPTION
[0059] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.
[0060] Now that e-commerce is becoming more and more developed, the percentage of online sales in total social sales is also gradually increasing. After customers place an order on an e-commerce platform, the goods are packaged in the warehouse or store, and then sent to the customer by a courier company. Subsequently, warehouses or stores that have express delivery functions are collectively referred to as warehouses.
[0061] Figure 1 FIG. 1 is a schematic diagram of the main flow of the order delivery method according to an embodiment of the present invention. Figure 1 As shown:
[0062] Step S101, receiving a user order, determining item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order.
[0063] For example, user orders may include B2B orders for enterprises and B2C orders for individuals. When a customer places an order, an order usually includes multiple item SKUs (StockKeeping Unit, each product has a unique SKU number), that is, the order contains multiple items.
[0064] After receiving the user order, step S101 parses the user order data to determine the types of items contained in the order and the corresponding quantity of each type of items; further, based on the types of items, a set of warehouses with inventory of any type of items in the order can be determined, that is, a set of warehouses that can be used for order delivery. Optionally, in addition to considering inventory, the determination of the warehouse set can also be based on the warehouse address and the order delivery address. For example: it can be set that orders with a delivery address within a certain administrative area can only be shipped by warehouses located in the administrative area; it can also be based on the order delivery address. Set a distance threshold, and the distance between the warehouse set that can be used for order delivery and the order delivery address is less than the threshold.
[0065] Step S102, executing the order outbound strategy to determine the outbound warehouse information corresponding to the order according to the item information in the order, the priority of each warehouse in the warehouse set and the order outbound configuration information; the order outbound strategy is composed of multiple sub-strategies with different priorities.
[0066] The priority of each warehouse refers to the priority of outbound operations for items in an order. Usually, in order to save costs and improve logistics efficiency, the closer the warehouse is to the order delivery address, the higher its priority. That is, the priority of each warehouse in the warehouse set can be determined based on the order delivery address and the location information of each warehouse in the warehouse set.
[0067] Exemplarily, the outbound configuration information may include information such as the maximum number of outbound warehouses and / or whether the order supports out-of-quantity outbound delivery. The maximum number of outbound warehouses is the maximum number of order splits, that is, the maximum number of warehouses from which the items in the order can be shipped, which is usually related to the delivery cost and / or delivery time of the order. Whether an order supports out-of-quantity outbound delivery can be distinguished by a shortage mark, such as setting an order out-of-quantity outbound delivery mark S. When the S value is 1, it means that the order supports out-of-quantity outbound delivery. When the S value is 0, it means that the order does not support out-of-quantity outbound delivery. Optionally, it is also possible to directly determine whether an order supports out-of-quantity outbound delivery by judging whether there is an order out-of-quantity outbound delivery mark S.
[0068] In step S102, after obtaining the item information, the priority of each warehouse in the warehouse set, and the order outbound configuration information, the corresponding order outbound strategy can be executed based on the above information. The order outbound strategy refers to the conditions that need to be met for the optimal order outbound, including but limited to: at least one of the following conditions: the minimum number of outbound warehouses, the highest priority of the outbound warehouse, and the maximum number of outbound goods. Exemplarily, when the order requires the least number of order splits, the minimum number of outbound warehouses can be set as the highest priority condition, that is, the order outbound sub-strategy with the highest priority.
[0069] Step S103, sending the outbound warehouse information, so that the outbound warehouse can carry out outbound operations on the order.
[0070] After determining the shipping warehouse information corresponding to the order, the information is sent to the corresponding shipping warehouse through the logistics information system. Each shipping warehouse can determine the order items and quantity that each warehouse needs to ship out based on the information, thereby performing warehouse shipping operations.
[0071] In this embodiment, the user order is first received, the item information in the order and the warehouse set corresponding to the order are determined; then, according to the item information in the order, the priority of each warehouse in the warehouse set and the order outbound configuration information, the order outbound strategy is executed to determine the outbound warehouse information corresponding to the order, and finally the outbound warehouse information is sent to complete the outbound operation of the order. Since the order outbound strategy composed of multiple sub-strategies with different priorities can meet the order outbound requirements in different scenarios, it can effectively reduce the probability of order outbound failure, improve the efficiency and timeliness of logistics distribution, and reduce distribution costs.
[0072] Figure 22 is a schematic diagram of the main process of an order delivery method according to another embodiment of the present invention. The order information in this embodiment further includes an order shortage delivery flag, which is used to indicate whether the order supports shortage delivery. Figure 2 As shown:
[0073] Step S201, determine whether the total inventory of the order items of the warehouse set meets the order requirements; if so, execute step S202, otherwise execute step 203.
[0074] This embodiment determines whether the total inventory of the order items meets the order requirements based on the inventory information of each warehouse in the warehouse set corresponding to the order to be shipped. If there are items A and B in the order, and the demand quantity A1 and B1 are both 100 pieces; then it is necessary to calculate the total inventory A2 of item A and the total inventory B2 of item B in each warehouse in the warehouse set. If A1≤A2 and B1≤B2 are satisfied at the same time, the total inventory of the order items can meet the order requirements, and the process goes to step S202, otherwise, the process goes to step S203.
[0075] Optionally, when it is known that all orders do not support out-of-stock shipment, if it is determined that the total inventory of the order items does not meet the order requirements, step S203 may not be executed, and the order shipment failure may be directly determined, thereby terminating the shipment process.
[0076] Step S202, execute the first order outbound strategy, determine the order outbound warehouse information, and execute step S205.
[0077] In this embodiment, the first order outbound strategy includes a first sub-strategy with the least number of outbound warehouses and a second sub-strategy with the highest priority of outbound warehouses. The first sub-strategy has a higher priority than the second sub-strategy, that is, when executing the first order outbound strategy to determine the order outbound warehouse information, the solution with the least number of warehouses is given priority, thereby reducing the number of split orders and saving logistics costs; when the number of warehouses is the same, orders are shipped from high-priority warehouses as much as possible, which is also conducive to further improving delivery efficiency and timeliness.
[0078] Step S203, determine whether the order supports out-of-stock shipment, if yes, execute step 204, if no, shipment fails.
[0079] In this embodiment, the order shortage shipment mark in the above embodiment can be used to determine whether the order supports shortage shipment. When it is determined that the order does not support shortage shipment, the order shipment fails because the current inventory cannot meet the order requirements. When it is determined that the order supports shortage shipment, step S204 is entered.
[0080] Step S204, execute the second order outbound strategy, determine the order outbound warehouse information, and execute step S205.
[0081] In this embodiment, the second order delivery strategy includes the first sub-strategy with the least number of delivery warehouses and the second sub-strategy with the highest priority of the delivery warehouse in the first order delivery strategy. Considering that all the out-of-stock items in the order must be delivered, it further includes the third sub-strategy with the largest total number of delivery items, and sets its priority to the highest. That is, when executing the second order delivery strategy, priority is given to ensuring that the total number of delivery items is the largest. For example, if the demand for item A in the order is 100 pieces, the total inventory of item A in the warehouse set is 80 pieces, and these 80 items A are distributed in multiple different warehouses, then when selecting the delivery warehouse, priority is given to ensuring that all the above 80 items A are delivered.
[0082] Step S205, sending order outbound warehouse information.
[0083] Figure 3 It is a schematic diagram of the main process of executing the first order outbound strategy according to another embodiment of the present invention.
[0084] The first order delivery strategy can be implemented by an optimal model including an integer programming model. Specifically, in this embodiment, the first order delivery strategy can be executed by solving an integer programming model with constraints. To introduce the construction and solution process of the integer programming model in detail, the relevant symbols and variables are defined as shown in Tables 1 and 2 below:
[0085] Table 1
[0086]
[0087] Table 2
[0088] variable meaning <![CDATA[y i ,i∈I]]> When warehouse i has item SKU out of the warehouse, it is equal to 1, otherwise it is equal to 0 <![CDATA[x ij ,i∈I,j∈J]]> The outbound quantity of item SKU j in warehouse i
[0089] like Figure 3 As shown, the steps of executing the first order outbound strategy include:
[0090] Step S301, constructing the objective function of the integer programming model according to the priority of the sub-strategies, and determining the initial constraints of the model.
[0091] Specifically, the sub-strategies in this embodiment are consistent with the above implementation, including the first sub-strategy with the least number of outbound warehouses and the second sub-strategy with the highest priority of outbound warehouses, and the first sub-strategy has a higher priority than the second sub-strategy. In step S301, the objective function of the integer programming model is constructed according to the priority of the first sub-strategy and the second sub-strategy as follows:
[0092] minP∑ i∈I y i +∑ i∈i P i y i (1-1)
[0093] From the objective function of (1-1), we can see that since at most E warehouses are selected, and P is the sum of the priority values of the E warehouses with the largest priority value (the lowest priority value), there must be ∑ i∈I P i y i ≤P, that is, no matter how the number of warehouses changes, due to ∑ i∈I P i y i The adjusted value is greater than zero, so its adjusted change value must be less than P; and according to the objective function, when the number of warehouses changes, one warehouse is reduced, and the reduction value of the first term of the objective function is P, which is greater than the aforementioned ∑ i∈I P i y i Therefore, in this objective function, the objective function value of the solution with a small number of warehouses must be smaller than that of the solution with a large number of warehouses, that is, the solution with a small number of warehouses must be better than the solution with a large number of warehouses; and when the number of warehouses is the same, the solution with a small warehouse priority value (highest priority) is better. It can be seen that in the above objective function, the contribution of the first sub-strategy to the objective function is greater than that of the second sub-strategy, which ensures that the priority of the first sub-strategy is higher than that of the second sub-strategy.
[0094] While determining the objective function, the constraints of the objective function may be further determined. Specifically, in this embodiment, the constraints are as follows:
[0095]
[0096]
[0097]
[0098]
[0099]
[0100] Constraint (1-2) means that for each item SKU, the total quantity shipped out of the warehouse is equal to the number of item SKUs in the order.
[0101] Constraint (1-3) The outbound quantity of each item SKU from each warehouse must not be greater than the inventory quantity of the item SKU in the warehouse.
[0102] Constraint (1-4) indicates the maximum number of split orders, that is, at most E warehouses are used for shipment. If E=1, it means that shipment is only from a single warehouse.
[0103] Constraint (1-5) means that if a warehouse i has items shipped out, then this warehouse is selected.
[0104] Constraints (1-6) define the warehouse as either selected or not selected.
[0105] Step S302, optimizing the constraint conditions for selecting the number of warehouses to determine the lower boundary and / or upper boundary.
[0106] The specific process of determining the lower and upper boundaries of the number of warehouses will be described in detail in subsequent embodiments.
[0107] Step S303, solving the integer programming model according to the above optimized constraint conditions to determine the outbound warehouse information corresponding to the order.
[0108] Optionally, the constraint conditions may not be optimized. If there is no process of optimizing the constraint conditions in step S302, the integer programming model is directly solved according to the initial constraint conditions in step S303.
[0109] In another embodiment of the present invention, the lower bound of constraint condition (1-4) is optimized. In constraint (1-4), the number of warehouses selected by constraint is at most E. Theoretically, 0 to E warehouses can be selected. There are 2 warehouses in total. E This constraint is relatively weak, so it can be selected as the optimization object to further narrow the range of the number of warehouses to be selected and determine its lower boundary.
[0110] Let the number of selected warehouses be z, that is,
[0111]
[0112] The method for estimating the lower bound of z
[0113] ①Select an item SKU from the order item SKU list.
[0114] ②According to the selected item SKU, the demand quantity C of j in the order is obtained j , the number of j in warehouse i is x ij ;
[0115] ③ Sort the quantity of SKU j in each warehouse from large to small. Assume that the value after sorting is a 0 ,a 1 ,…,a n-1 ;
[0116] ④ Get the minimum t corresponding to item SKU j j Make
[0117] ⑤ Determine the t corresponding to all item SKUs j The maximum value t jmax , then z ≥ t jmax .
[0118] Optionally, the z lower boundary can also be determined by selecting only some of the SKUs in the order and determining them by the above method without selecting all SKUs in sequence, thereby further saving the resource overhead of calculating the lower boundary. That is, when determining the z lower boundary, the minimum value of the number of warehouses for the outgoing goods of at least one order item corresponding to the outgoing goods of the order can be determined first, and the maximum value of all the minimum values of the number of warehouses for the outgoing goods of the order can be selected as the lower boundary.
[0119] Figure 4 It is a schematic diagram of the main process of determining the upper limit of the number of warehouses selected in another embodiment of the present invention.
[0120] First, we use the following heuristic algorithm to get an initial solution, and then use this initial solution to get the upper bound of z, which is the maximum number of warehouses required for the optimal solution. The steps include:
[0121] Step S401: Determine the outbound demand quantity of each item in the order.
[0122] Specifically, the initial setting is that the number of pieces required for each item SKU in the current order is
[0123] (c 0 ,c 1 ,…,c m-1 );
[0124] Step S402: Calculate the total number of outbound demand quantities of each item in the order that can be met by each unselected warehouse in the warehouse set.
[0125] Specifically, calculate the number of items that each unselected warehouse can meet the SKU requirements of each order. The number of SKUs of each item in warehouse i is (x i1 ,x i2 ,…,x i,m-1 ), then each item SKUj can satisfy the number f j =min(c j ,c i,j ), which can satisfy the total number of
[0126] Step S403: Select a warehouse that can meet the largest total number as the outbound warehouse, and update the outbound demand quantity of each item in the order.
[0127] Specifically, select the warehouse that can meet the largest total demand and update the number of pieces required for each item SKU j in the order, that is, c j ←c j -f j , thereby updating the number of pieces required for each item SKU (c 0 ,c 1 ,…,cm-1 );
[0128] Step S404: If the number of currently selected warehouses is greater than or equal to the maximum number of outbound warehouses or the outbound demand for each item in the order is zero, execute step 405; otherwise, return to step S402 to continue execution.
[0129] Step S405: The selected number of warehouses is used as the maximum number of outbound warehouses selected when solving the integer programming model.
[0130] For example, there are items A and B in the order, and their demand is (100, 100), where the first item represents the demand of item A, and the second item represents the demand of item B.
[0131] There are 5 warehouses corresponding to the orders, namely W 1 ~W 5 , the corresponding inventory of items A and B is as follows: w 1 =(50,50);w 2 =(50,50);w 3 =(110,20);w 4 =(0,60);w 5 =(0,20).
[0132] According to the above heuristic algorithm, the number of items A and B required in the initial order is (100, 100), w 3 120 pieces can be satisfied. After the warehouse with the largest quantity is selected, the remaining demand for item A and item B in the order is (0,80);
[0133] Based on the remaining demand, in the second choice, w can be determined 4 The warehouse with the largest quantity can satisfy 60 items. After it is selected, the remaining demand for item A and item B in the order is (0, 20);
[0134] Furthermore, the remaining warehouse w 1 、w 2 and w 5 can all meet the remaining demand and can be selected. That is, through the above heuristic algorithm, the number of warehouses selected in the solution is 3, and 3 can be used as the upper limit of the number of warehouses z. In fact, in the above example, the optimal solution of the integer programming model is to select two warehouses w 1 and w 2 , that is, it must be smaller than the upper boundary determined by the heuristic algorithm mentioned above.
[0135] It can be understood that, in the above steps of determining the lower boundary and the upper boundary for optimizing the constraints, any one of them can be selected separately to optimize the constraints of the integer programming model as needed, or both can be selected at the same time to optimize the constraints of the integer programming model.
[0136] Figure 5 It is a schematic diagram of the main process of executing the second order outbound strategy according to another embodiment of the present invention.
[0137] The second order delivery strategy can be implemented by an optimal model including an integer programming model. Specifically, in this embodiment, the second order delivery strategy can be executed by solving an integer programming model with constraints.
[0138] like Figure 5 As shown, the steps of executing the second order delivery strategy include:
[0139] Step S501, constructing the objective function of the integer programming model according to the priority of the sub-strategies, and determining the initial constraints of the model.
[0140] Specifically, the sub-strategies in this embodiment include a first sub-strategy with the least number of outbound warehouses, a second sub-strategy with the highest priority for outbound warehouses, and a third sub-strategy with the largest number of outbound commodities. The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy. In step S301, the objective function of the integer programming model is constructed according to the priorities of the first sub-strategy, the second sub-strategy, and the third sub-strategy as follows:
[0141] Max(P+P imax +1)∑ i∈I,j∈J x ij -(P∑ i∈I y i +∑ i∈I P i y i ) (2-1)
[0142] In the objective function (2-1), (P∑ i∈I y i +∑ i∈I P i y i ) has the same meaning as the objective function (1-1) in the above embodiment. Therefore, it can be seen that in the objective function (2-1), when the number of items leaving the warehouse remains unchanged, that is, (P+P imax +1)∑ i∈I,j∈J x ij Under the same circumstances, the solution with a smaller number of warehouses has a better objective function value than the solution with a larger number of warehouses. When the number of warehouses is the same, the solution with a smaller warehouse priority value (highest priority) is better.
[0143] As for the change in the number of outbound items, for each additional item, (P+P imax +1)∑ i∈I,j∈J x ij The added value is (P+P imax +1), and adding an item will only add one warehouse at most. At this time, (P∑ i∈I y i +∑ i∈I P i y i ) is not greater than (P+P imax ), and (P+P imax ) must be less than (P+P imax +1); therefore, the solution with more items is definitely better than the solution with fewer warehouses. imax +1)∑ i∈I,j∈J x ij (P+P imax +1) can also be replaced by a larger number, such as 2P.
[0144] In summary, through the setting of the above objective function, the third sub-strategy with the largest number of outgoing items has a higher priority than the first sub-strategy with the smallest number of outgoing warehouses, and the first sub-strategy with the smallest number of outgoing warehouses has a higher priority than the second sub-strategy with the highest priority of outgoing warehouses.
[0145] While determining the objective function, the constraints of the objective function may be further determined. Specifically, in this embodiment, the constraints are as follows:
[0146]
[0147]
[0148]
[0149]
[0150]
[0151] Constraint (2-2): Since the order demand cannot be met, the SKU shipment quantity of each warehouse is less than or equal to the SKU quantity in the order.
[0152] Constraints (2-3)-(2-6) have the same meaning as the previous constraints (1-3)-(1-6).
[0153] Step S502, optimizing the constraint conditions according to the principle that all out-of-stock items must be shipped out.
[0154] Since the warehouse item SKU cannot meet the order requirements, it needs to be shipped out of stock, that is, all the item SKUs that cause the shortage must be shipped out of stock. Therefore, before solving the integer programming model, the total inventory of each item SKU in the warehouse can be counted. If this value is less than or equal to the quantity required by the order, all warehouses with inventory of this item SKU must be selected, thereby determining in advance a part of the warehouses that must be selected, and this information can be added to the solution information.
[0155] Step S503, solving the integer programming model according to the above optimized constraint conditions to determine the outbound warehouse information corresponding to the order.
[0156] like Figure 6 As shown, another embodiment of the present invention provides an order outbound device 600, and the order outbound device 600 may include:
[0157] An order receiving module 601 is used to receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order;
[0158] An execution module 602 is used to execute an order outbound strategy to determine outbound warehouse information corresponding to the order according to the item information in the order, the priority of each warehouse in the warehouse set, and the outbound configuration information of the order; the order outbound strategy is composed of multiple sub-strategies with different priorities;
[0159] The sending module 603 is used to send the outbound warehouse information determined by the execution module.
[0160] Furthermore, the execution module 602 further includes:
[0161] The first execution submodule 6021 is used to determine whether the total inventory of the order items in the warehouse set meets the order requirements. If yes, the first order delivery strategy is executed; if not, the order delivery fails;
[0162] The first order delivery strategy includes: a first sub-strategy with the least number of delivery warehouses and a second sub-strategy with the highest delivery warehouse priority, and the first sub-strategy has a higher priority than the second sub-strategy.
[0163] Furthermore, the order outbound configuration information includes: out-of-quantity outbound identification;
[0164] The execution module 602 further includes: a second execution submodule 6022, which is used to further determine whether the order supports out-of-stock delivery according to the out-of-stock delivery identifier before the first execution submodule 6021 determines that the order delivery fails. If so, execute the second order delivery strategy; if not, notify the first execution submodule 6021 that the order delivery fails.
[0165] Among them, the second order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses, the second sub-strategy with the highest priority of the outbound warehouses, and the third sub-strategy with the largest total number of outbound goods. The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy.
[0166] Figure 7 An exemplary system architecture 700 is shown to which the order delivery method according to an embodiment of the present invention can be applied.
[0167] like Figure 7 As shown, system architecture 700 may include terminal devices 701, 702, 703, network 704 and server 705. Network 704 is used to provide a medium for communication links between terminal devices 701, 702, 703 and server 705. Network 704 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.
[0168] The user can use the terminal devices 701, 702, 703 to interact with the server 705 through the network 704 to send order information. The terminal devices 701, 702, 703 can be installed with various communication client applications that can generate orders, such as shopping applications, web browser applications, instant messaging tools, social platform software, etc.
[0169] The terminal devices 701 , 702 , and 703 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.
[0170] Server 705 may be a server that provides various services, such as a backend management server that provides support for shopping websites browsed by users using terminal devices 701, 702, and 703. The backend management server may analyze and process received order data. Server 705 is connected to a server of a logistics information system through a network or other means to receive relevant data such as item inventory information and to send order outbound warehouse information for warehouse outbound operations; optionally, server 705 may also be a server directly deployed in a logistics information system.
[0171] It should be noted that the order delivery method provided in the embodiment of the present invention is generally executed by the server 705 , and the order delivery device is generally arranged in the server 705 .
[0172] It should be understood that Figure 7 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to the implementation requirements.
[0173] Reference below Figure 8 , which shows a schematic diagram of the structure of a server computer system 800 suitable for implementing an embodiment of the present invention. Figure 8 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.
[0174] like Figure 8 As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage part 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0175] The following components are connected to the I / O interface 805: an input section 806 including a keyboard, a mouse, etc.; an output section 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, a modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed, so that a computer program read therefrom is installed into the storage section 808 as needed.
[0176] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the central processing unit (CPU) 801, the above-mentioned functions defined in the system of the present invention are executed.
[0177] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a 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 of the above. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.
[0178] The flowcharts and block diagrams in the accompanying drawings illustrate the functions, architectures and operations that may be implemented according to the methods, devices, electronic devices and computer program products of various embodiments of the present invention. In this regard, each box in the flowchart or block diagram may represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for implementing the specified logical functions. It should also be noted that in some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0179] The modules involved in the embodiments of the present invention may be implemented by software or hardware. The modules described may also be set in a processor. For example, they may be described as follows: a processor includes an order receiving module, an execution module, and a sending module. The names of these modules do not, in some cases, constitute limitations on the modules themselves. For example, the sending module may also be described as a "module for sending outbound warehouse information."
[0180] As another aspect, the present invention further provides a computer-readable medium, which may be included in the device described in the above embodiment; or may exist independently without being 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 executes:
[0181] Receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order;
[0182] According to the item information in the order, the priority of each warehouse in the warehouse set and the order outbound configuration information, the order outbound strategy is executed to determine the outbound warehouse information corresponding to the order; the order outbound strategy is composed of multiple sub-strategies with different priorities;
[0183] The outbound warehouse information is sent so that the outbound warehouse can carry out outbound operations on the order.
[0184] According to the technical solution of the embodiment of the present invention, by executing an order outbound strategy composed of multiple sub-strategies with different priorities, the order outbound requirements in different scenarios can be met. Furthermore, since the present invention can support outbound orders due to insufficient quantity, by executing an outbound strategy when outbound orders due to insufficient quantity, the failure probability of outbound orders can be effectively reduced; in addition, by introducing an integer programming model and an optimization algorithm for model constraints, the present invention can effectively improve the execution efficiency of the order outbound strategy, improve the efficiency and timeliness of logistics distribution, and reduce distribution costs.
[0185] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
Claims
1. A method for order delivery, characterized in that: include: Receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order; According to the item information in the order, the priority of each warehouse in the warehouse set, and the order outbound configuration information, the order outbound strategy is executed to determine the outbound warehouse information corresponding to the order; The order outbound strategy is composed of multiple sub-strategies with different priorities; Sending the outbound warehouse information, so that the outbound warehouse can carry out outbound operations for the order; The order outbound strategy includes: the first order outbound strategy or the second order outbound strategy, the first order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses and the second sub-strategy with the highest priority of outbound warehouses, and the second order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses, the second sub-strategy with the highest priority of outbound warehouses and the third sub-strategy with the largest total outbound goods quantity; The first order outbound strategy and the second order outbound strategy are implemented based on an optimization model, and the optimization model is an integer programming model with constraints; the execution of the order outbound strategy to determine the outbound warehouse information corresponding to the order includes: determining the objective function according to the priorities of different sub-strategies in the order outbound strategy; solving the integer programming model according to the constraints to calculate the outbound warehouse information corresponding to the order.
2. The method according to claim 1, characterized in that The order outbound configuration information includes: the maximum number of outbound warehouses; the maximum number of outbound warehouses refers to the maximum number of split orders for an order.
3. The method according to claim 2, characterized in that The execution of the order delivery strategy to determine the delivery warehouse information corresponding to the order includes: Determine whether the total inventory of the order items in the warehouse collection meets the order requirements. If yes, execute the first order delivery strategy; if not, the order delivery fails; The first sub-strategy has a higher priority than the second sub-strategy.
4. The method according to claim 3, characterized in that The order outbound configuration information includes: out-of-stock outbound identification; If the total inventory of the order items in the warehouse set does not meet the order requirements, before determining that the order delivery fails, further determine whether the order supports out-of-stock delivery according to the out-of-stock delivery flag, if yes, execute the second order delivery strategy; if not, the order delivery fails; out-of-stock delivery refers to delivery when the inventory of the item is less than the order requirement; The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy.
5. The method according to claim 3 or 4, characterized in that: include: The objective function of the optimization model is established according to the priorities of different sub-strategies.
6. The method according to claim 5, characterized in that The constraints include: the number of selected outbound warehouses is no more than the maximum number of outbound warehouses; Before solving the integer programming model, determine the minimum number of single-item outbound warehouses corresponding to at least one order item being shipped out separately, and select the maximum value of all minimum values of the single-item outbound warehouse number as the minimum number of outbound warehouses selected when solving the integer programming model.
7. The method according to claim 6, characterized in that include: Before solving the integer programming model, the maximum number of warehouses to be selected is determined by a heuristic algorithm.
8. The method according to claim 7, characterized in that The heuristic algorithm includes: Step 1: Determine the outbound demand for each item in the order; Step 2: Calculate the total number of outbound demand for each item in the order that can be met by each unselected warehouse in the warehouse set; Step 3: Select the warehouse that can meet the largest total number as the outbound warehouse, and update the outbound demand quantity of each item in the order; Step 4: If the number of currently selected warehouses is greater than or equal to the maximum number of outbound warehouses or the outbound demand of each item in the order is zero, execute step 5, otherwise return to step 2 to continue execution; Step 5: The selected number of warehouses is taken as the maximum number of warehouses selected when solving the integer programming model.
9. The method according to claim 5, characterized in that: When executing the second order delivery strategy, based on the principle that all out-of-stock items in the order are delivered, the delivery warehouse that must be selected is determined according to the inventory information corresponding to the out-of-stock items, and then the integer programming model is solved to calculate the delivery warehouse information corresponding to the order.
10. The method according to claim 1, characterized in that: The priority of each warehouse in the warehouse set is determined according to the order delivery address and the location information of each warehouse in the warehouse set.
11. An order outbound device, characterized in that: include: An order receiving module, used to receive a user order, determine item information in the order and a warehouse set corresponding to the order, each warehouse in the warehouse set stocks at least one item in the order; An execution module is used to execute the order delivery strategy and determine the delivery warehouse information corresponding to the order according to the item information in the order, the priority of each warehouse in the warehouse set, and the order delivery configuration information; The order outbound strategy is composed of multiple sub-strategies with different priorities; A sending module, used for sending the outbound warehouse information determined by the execution module; The order outbound strategy includes: the first order outbound strategy or the second order outbound strategy, the first order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses and the second sub-strategy with the highest priority of outbound warehouses, and the second order outbound strategy includes: the first sub-strategy with the least number of outbound warehouses, the second sub-strategy with the highest priority of outbound warehouses and the third sub-strategy with the largest total outbound goods quantity; The first order outbound strategy and the second order outbound strategy are implemented based on an optimization model, which is an integer programming model with constraints. The execution module is also used to: determine the objective function according to the priorities of different sub-strategies in the order outbound strategy; solve the integer programming model according to the constraints, and calculate the outbound warehouse information corresponding to the order.
12. The device according to claim 11, characterized in that The execution module further comprises: The first execution submodule is used to determine whether the total inventory of the order items in the warehouse set meets the order requirements. If yes, the first order delivery strategy is executed; if not, the order delivery fails; The first sub-strategy has a higher priority than the second sub-strategy.
13. The device according to claim 12, characterized in that The order outbound configuration information includes: out-of-stock outbound identification; The execution module further includes: a second execution submodule, which is used to determine whether the order supports out-of-stock delivery according to the out-of-stock delivery identifier before the first execution submodule determines that the order delivery fails, and if so, execute the second order delivery strategy; if not, notify the first execution submodule that the order delivery fails; out-of-stock delivery refers to delivery when the inventory of the item is less than the order demand; The priority of the third sub-strategy is higher than that of the first sub-strategy, and the priority of the first sub-strategy is higher than that of the second sub-strategy.
14. An 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 10.
15. 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 10 is implemented.
