Goods allocation processing method and device and electronic equipment
Patent Information
- Application Number
- CN202211291635.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-19
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2042-10-19
AI Technical Summary
[0004]在从来源仓向目标仓进行调拨的过程中,由于一个来源仓通常对应多个目标仓,并且,可能多个目标仓都同时具有调拨需求,此时,就会出现来源仓中的货品无法完全满足各个目标仓的调拨需求的情况
[0050]Through the embodiments of this application, for a bottom-level target warehouse with allocation needs, the current available inventory and sales forecast information of the target goods in the target warehouse can be used to determine the current sellable duration of the target goods. Then, when calculating the specific allocation recommendation quantity for the target warehouse, the allocation recommendation quantity from the source warehouse to the target warehouse can be determined based on the current sellable duration and sales forecast information of the target warehouse, so that after the allocation, the sellable duration of the target goods in each target warehouse is equal to or close to the target sellable duration. In this way, the sellable time among the bottom-level target warehouses can be balanced after the allocation, that is, after completing a cycle of allocation, each target warehouse can basically sell out in the same or similar time. This can reduce the frequency of allocation, save system resources, and also shorten the inventory time of goods in the warehouse.
Smart Images

Figure CN115640970B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of goods supply chain technology, and in particular to methods, apparatus and electronic equipment for goods transfer and processing. Background Technology
[0002] To meet market demand, businesses often establish multiple warehouses at different levels, such as regional warehouses, city warehouses, and forward warehouses. These warehouses have different functions. Generally speaking, the closer a warehouse is to the consumer, the smaller its size and the greater its number.
[0003] If a certain item is out of stock in some warehouses, it can be replenished directly from the factory, or it can be transferred from a higher-level warehouse. This is especially true for items with a high turnover rate, as factories may cease production after a period of time and cannot replenish the warehouse from the factory. Therefore, this type of transfer from a higher-level warehouse is more common.
[0004] During the transfer process from a source warehouse to a target warehouse, since a source warehouse typically corresponds to multiple target warehouses, and multiple target warehouses may simultaneously have transfer requests, situations may arise where the goods in the source warehouse cannot fully meet the transfer requirements of each target warehouse. For example, suppose a source warehouse has an existing inventory of 90 units of a certain product, and the three target warehouses each require 40, 50, and 30 units respectively, meaning the total required transfer quantity for all target warehouses is 120 units. In this case, the source warehouse cannot fully meet the transfer requests of these three target warehouses. Therefore, how to handle the transfer of goods in this situation becomes a technical problem that needs to be solved by those skilled in the art. Summary of the Invention
[0005] This application provides a goods transfer processing method, apparatus, and electronic equipment that can balance the available time between the final target warehouses, thereby reducing the frequency of transfers, saving system resources, and also shortening the time goods are held in the warehouse.
[0006] This application provides the following solution:
[0007] A method for handling the transfer of goods, comprising:
[0008] Identify multiple downstream target warehouses from which the target goods need to be transferred from the source warehouse;
[0009] Based on the current available inventory of the target goods in the target warehouse and the sales forecast information, determine the current saleable duration of the target goods in the target warehouse;
[0010] Based on the current available sales duration corresponding to the target warehouse and the sales forecast information, determine the recommended quantity of goods to be transferred from the source warehouse to the target warehouse, so that the available sales duration of the target goods in each target warehouse after the transfer is equal to or close to the target available sales duration.
[0011] The multiple final-level target warehouses identified as being to be transferred from the source warehouse include:
[0012] The lowest-level warehouse whose current saleable duration is less than the target saleable duration is identified as the target warehouse.
[0013] Among them, the multiple target warehouses at the final level correspond to the same source warehouse.
[0014] The step of determining the recommended quantity of goods to be transferred from the source warehouse to the target warehouse based on the current available sales period corresponding to the target warehouse and the sales forecast information includes:
[0015] Create a loop, and perform the following processing in each iteration:
[0016] Determine the current inventory level of the source warehouse;
[0017] From the multiple target warehouses, those that meet the current saleable duration criteria are selected as target warehouses to be processed in the current round;
[0018] Based on the sales forecast information of the target warehouse to be processed, determine the expected sales volume of the target warehouse to be processed within a future period of time.
[0019] Based on the current inventory of the source warehouse and the expected sales volume, determine the incremental allocation amount that the target warehouse to be processed will receive in the current round;
[0020] The incremental allocation amount is used to update the allocation suggestion quantity corresponding to the target warehouse to be processed and the current inventory quantity of the source warehouse. After updating the current available sales duration corresponding to the target warehouse to be processed, the next cycle is triggered. The cycle ends when the inventory quantity of the source warehouse is 0, and the allocation suggestion quantity of each target warehouse is determined.
[0021] The step of determining the target warehouses whose current saleable duration meets the criteria from the plurality of target warehouses as the target warehouses to be processed in the current round includes:
[0022] The target warehouse with the shortest current saleable duration is selected from the multiple target warehouses and designated as the target warehouse to be processed in the current round.
[0023] This also includes:
[0024] If the updated current available selling time for a target warehouse reaches the target available selling time, then the update of the allocation recommendation quantity for that target warehouse will end.
[0025] Among them, the multiple target warehouses at the last level correspond to multiple source warehouses, and each source warehouse corresponds to one or more target warehouses.
[0026] This also includes:
[0027] If some or all of the multiple source warehouses are out of stock, the source warehouses experiencing stock shortages will be designated as the target warehouses in the new allocation relationship, and a recommended allocation quantity will be determined for them.
[0028] Specifically, identifying the source warehouse experiencing the stockout as the target warehouse in the new allocation relationship and determining the recommended allocation quantity for it includes:
[0029] Based on the difference between the current available sales time and the target available sales time of the target warehouse at the last level, and the sales forecast information of the target warehouse at the last level, determine the inventory shortage of the target warehouse at the last level.
[0030] Determine the inventory shortage of the source warehouse based on the current inventory of the same source warehouse and the corresponding inventory shortage of multiple target warehouses at the last level.
[0031] The source warehouse with an inventory shortage greater than 0 is identified as the target warehouse in the new allocation relationship, and the recommended allocation quantity is determined for it.
[0032] This also includes:
[0033] The level to which each warehouse in the warehouse network belongs is marked;
[0034] Start by creating a loop with the lowest-level warehouse as the target warehouse, and perform the following processing in each loop:
[0035] Based on the inventory shortages corresponding to multiple target warehouses and the available inventory of their respective source warehouses, determine the recommended allocation quantity for each target warehouse and the inventory shortage for each source warehouse, and trigger the next cycle so that the source warehouses from the previous cycle can be treated as new target warehouses in the next cycle, until the recommended allocation quantity for each level of warehouse is determined.
[0036] This also includes:
[0037] The current available inventory of the target product in each warehouse of the warehouse network is summarized. Based on the summary results of the current available inventory and the sales forecast information of each last-level warehouse, the total network availability time of the target product is determined, and the total network availability time is determined as the target availability time.
[0038] In each iteration, each target warehouse at the current level is added to the processing queue, and a sub-loop is created. In each sub-loop, the following processing is performed:
[0039] Read the current target warehouse from the queue of pending processes;
[0040] Based on the current inventory shortage in the target warehouse and the available inventory in the source warehouse, determine the recommended allocation quantity for the current target warehouse, update the available inventory or inventory shortage in the source warehouse, and then trigger the next sub-loop. In the next sub-loop, read the next target warehouse from the queue to be processed as the current target warehouse, until all target warehouses in the queue to be processed have been read.
[0041] A goods transfer and processing device, comprising:
[0042] The target warehouse determination unit is used to identify multiple downstream target warehouses from which target goods need to be transferred from the source warehouse;
[0043] The current available sales duration determination unit is used to determine the current available sales duration of the target goods in the target warehouse based on the current available inventory of the target goods in the target warehouse and sales forecast information.
[0044] The allocation recommendation quantity determination unit is used to determine the allocation recommendation quantity from the source warehouse to the target warehouse based on the current available sales duration corresponding to the target warehouse and the sales forecast information, so that the available sales duration of the target goods in each target warehouse after the allocation is equal to or close to the target available sales duration.
[0045] A computer-readable storage medium having a computer program stored thereon that, when executed by a processor, implements the steps of any of the preceding methods.
[0046] An electronic device, comprising:
[0047] One or more processors; and
[0048] A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method described in any of the preceding descriptions.
[0049] According to the specific embodiments provided in this application, the following technical effects are disclosed:
[0050] Through the embodiments of this application, for a bottom-level target warehouse with allocation needs, the current available inventory and sales forecast information of the target goods in the target warehouse can be used to determine the current sellable duration of the target goods. Then, when calculating the specific allocation recommendation quantity for the target warehouse, the allocation recommendation quantity from the source warehouse to the target warehouse can be determined based on the current sellable duration and sales forecast information of the target warehouse, so that after the allocation, the sellable duration of the target goods in each target warehouse is equal to or close to the target sellable duration. In this way, the sellable time among the bottom-level target warehouses can be balanced after the allocation, that is, after completing a cycle of allocation, each target warehouse can basically sell out in the same or similar time. This can reduce the frequency of allocation, save system resources, and also shorten the inventory time of goods in the warehouse.
[0051] In a preferred implementation, the recommended allocation quantity for each last-level warehouse can be calculated based on the entire warehouse network. Furthermore, the calculation can proceed upwards level by level, starting from the inventory shortage in the last-level warehouse to determine the inventory shortage in non-last-level warehouses, and then assign corresponding recommended allocation quantities to these non-last-level warehouses. The inventory shortage in the last-level warehouses is calculated based on the difference between the current and target available sales time, as well as sales forecast information. Therefore, the recommended allocation quantity for non-last-level warehouses is also related to the available sales time and sales forecast information of the last-level warehouses, thus reflecting the rationality of the recommended allocation quantity. In addition, through multiple cycles of allocation, the available sales time of each last-level target warehouse across the entire network can be balanced.
[0052] Of course, any product implementing this application does not necessarily need to achieve all of the advantages described above at the same time. Attached Figure Description
[0053] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0054] Figure 1 This is a schematic diagram of the warehouse network structure provided in the embodiments of this application;
[0055] Figure 2 This is a schematic diagram of the system architecture provided in the embodiments of this application;
[0056] Figure 3 This is a flowchart of the method provided in the embodiments of this application;
[0057] Figure 4 This is a schematic diagram of the allocation process provided in the embodiments of this application;
[0058] Figure 5-1 , 5-2 This is a schematic diagram of another allocation process provided in an embodiment of this application;
[0059] Figure 6 This is a schematic diagram of the device provided in the embodiments of this application;
[0060] Figure 7 This is a schematic diagram of the electronic device provided in the embodiments of this application. Detailed Implementation
[0061] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0062] To facilitate understanding of the solutions provided in the embodiments of this application, the transfer relationships between warehouses and some basic concepts will be introduced first below.
[0063] Specific allocations can be made on a per-goods basis and occur within a multi-level warehouse network. This warehouse network can be generated based on the distribution of a particular good across multiple warehouses. For example... Figure 1 As shown, this is a warehouse network diagram for a certain product, meaning that the product is stocked in all the warehouses shown in the diagram. The lowest-level warehouses (including RDC_1, RDC_2, RDC_3, etc. in the diagram) are typically the warehouses that directly face consumers, i.e., the warehouses that actually generate sales. Intermediate warehouses (including NDC, CDC_1, CDC_2, etc.) typically do not directly face consumers, i.e., they do not directly generate sales, and are mainly used to supply lower-level warehouses. The transfer relationships (or hierarchical relationships) between warehouses can be predetermined and can be expressed by directional lines. For example, RDC_1 and RDC_2 have NDC as their upper-level warehouse; RDC_3 and RDC_4 have CDC_1 as their upper-level warehouse; RDC_5, RDC_6, RDC_7, and RDC_8 have CDC_2 as their upper-level warehouse, and so on.
[0064] Transfer relationships can occur between warehouses with a hierarchical relationship. For a pair of upper-level and lower-level warehouses with a transfer relationship, the upper-level warehouse is the source warehouse, and the lower-level warehouse is the destination warehouse. For example, when a transfer occurs... Figure 1As shown in the diagram, when CDC_2 and RDC_5 are connected, CDC_2 is the source warehouse, and RDC_5 is the destination warehouse. Furthermore, since the same parent warehouse can correspond to multiple child warehouses, and multiple child warehouses may simultaneously generate transfer requests, the same source warehouse may correspond to multiple destination warehouses. Additionally, the same warehouse may be located in multiple different transfer relationships. For example, when a transfer occurs... Figure 1 When NDC and CDC_2 are connected, CDC_2 becomes the target warehouse, while NDC becomes the source warehouse. Similarly, NDC can have multiple subordinate warehouses, so transfer relationships may occur between NDC and these subordinate warehouses.
[0065] There are several methods for calculating allocation recommendations, including reorder point schemes, safety stock schemes, and service level fulfillment methods. Generally, they include the following steps:
[0066] 1. Calculation begins at the point of the allocation cycle;
[0067] 2. Based on the demand forecast within the cycle, and combined with the available quantity of goods in specific warehouses (including the actual existing inventory quantity and the quantity of goods in transit (such as in transportation), the demand quantity of goods in the warehouse is determined. These warehouses are called the target warehouses for allocation, also known as the lower-level warehouses.
[0068] 3. Calculate using the designated parent warehouse, referred to as the source warehouse. Summarize the allocation demand of all target warehouses corresponding to the same source warehouse, and generate allocation suggestions based on the current quantity of goods in the source warehouse (i.e., the suggested allocation quantity for each target warehouse). Several scenarios are possible at this point:
[0069] a. The current inventory of goods in the source warehouse is 0. At this time, no transfer suggestion is generated, and the target warehouse is in a state of stockout.
[0070] b. If the existing inventory of goods in the source warehouse is sufficient to meet the transfer needs of all target warehouses, then one or more transfer suggestions (depending on the number of target warehouses with needs) will be generated according to the actual transfer volume required by each target warehouse.
[0071] c. If the existing inventory of goods in the source warehouse is not zero, but cannot meet the transfer needs of all target warehouses, then it is necessary to allocate these inventories in the source warehouse according to a certain strategy to generate transfer recommendations. This process is referred to as calculating the transfer recommendation quantity below.
[0072] 4. After the system generates an allocation suggestion, it can be coordinated manually or directly issued to subsequent processes.
[0073] Regarding c above, that is, when the inventory in the source warehouse cannot fully meet the allocation needs of multiple target warehouses, there are some strategies in the prior art for calculating the recommended allocation quantity. For example, these strategies typically include the following methods:
[0074] 1. Priority fulfillment method: Select a target warehouse that needs to be allocated according to a certain order or randomly, and after satisfying all the demand of the target warehouse, then satisfy the next eligible warehouse, until all the available inventory of the source warehouse has been allocated.
[0075] 2. Proportional Scaling Method: All target warehouses requiring allocation are scaled down proportionally to ensure that the demand of all target warehouses is met to the same degree (in the same proportion). For example, assuming a source warehouse has 90 units of a certain product in stock, and the three target warehouses require 40, 50, and 30 units respectively, the allocation quantities for each target warehouse can be 35, 40, and 25 units respectively.
[0076] 3. Average distribution method: The amount that can be transferred from the source warehouse is distributed equally, so that all target warehouses receive approximately the same amount.
[0077] For example, in the example above, the allocation quantity for each target warehouse is 30.
[0078] While the above solutions can meet the allocation needs of some target warehouses, in practical application, after allocation using these solutions, situations still arise where some warehouses experience stockouts while others have substantial inventory. The inventors of this application discovered that this situation exists because existing allocation recommendation calculation schemes do not consider future sales forecasts for target warehouses, fail to convert allocation quantities into available sales duration (e.g., available sales days), and neglect the current available sales duration of target warehouses. Therefore, after allocation, the available sales duration among target warehouses is not balanced, leading to situations where some warehouses experience stockouts while others have substantial inventory in the future.
[0079] In response to the above situation, this application provides a new solution, which aims to achieve a balance in the available sales time among the various final target warehouses after the allocation is carried out through this solution. That is, after the allocation of a cycle is completed, each target warehouse can basically sell out in the same or similar time. This can reduce the frequency of allocation, save system resources, and shorten the time that goods are held in the warehouse.
[0080] Specifically, to achieve the above objectives, for multiple target warehouses generating specific allocation needs, the current available inventory of the target goods in each target warehouse can be determined first based on the current available inventory (including current spot inventory and in-transit inventory) and corresponding sales forecast information (e.g., the number of units available for sale per day). This current available inventory duration can be measured in days, such as 1 day, 2 days, etc. Then, based on the current available inventory duration and sales forecast of each target warehouse, the recommended allocation quantity from the source warehouse to each target warehouse can be determined, ensuring that the available inventory duration of the target goods in each target warehouse is the same or similar after the allocation.
[0081] From a system architecture perspective, see Figure 2 The solution provided in this application embodiment can be applied to a supply chain management system. Specifically, the supply chain management system can provide merchants with goods allocation services. In the process of providing this service, the solution provided in this application embodiment can be used to determine the recommended allocation quantity based on the current available sales time of the target warehouse and the sales forecast, so that the available sales time of multiple different target warehouses can be balanced after the allocation is completed.
[0082] The specific implementation schemes provided in the embodiments of this application will be described in detail below.
[0083] First, this application provides a method for handling goods transfer, see [link to relevant documentation]. Figure 3 The method may include:
[0084] S301: Identify multiple downstream target warehouses from which target goods need to be transferred from the source warehouse.
[0085] Specifically, at the start of each allocation cycle, multiple bottom-level target warehouses that require the allocation of target goods from the upper-level warehouse can be identified. The specific allocation cycle can be determined based on the actual allocation algorithm, such as daily or weekly cycles. The specific bottom-level warehouses requiring allocation can also be determined based on the actual allocation algorithm. For example, the algorithm might specify that if the available inventory in a warehouse falls below a certain threshold, an allocation is necessary.
[0086] S302: Based on the current available inventory of the target goods in the target warehouse and the sales forecast information, determine the current saleable duration of the target goods in the target warehouse.
[0087] After identifying multiple target warehouses with allocation needs, in this embodiment, the current available inventory of specific target goods in the target warehouses can be determined. This current available inventory can be divided into two parts: one part is the actual inventory in stock, and the other part is the inventory in transit. Inventory in transit refers to inventory currently in transport and not yet formally stored in the target warehouse. Although not formally stored, this inventory is usually usable; that is, when a user places an order, if the actual inventory in the target warehouse is zero, this portion of inventory in transit can be used. Therefore, this inventory in transit is also part of the current available inventory of the target warehouse.
[0088] Besides determining the current available inventory of the target warehouse, it's also possible to predict its future sales. This sales forecast is calculated using a prediction algorithm to estimate the warehouse's sales volume over a specific future period. Specifically, sales forecasts can be displayed on a weekly or daily basis. For example, based on historical sales data from the same period, and considering factors such as marketing campaigns, the sales volume of the target warehouse for the next week can be predicted. Alternatively, the sales volume for the first and second days can be predicted separately. In short, the average daily sales volume of the target warehouse can be determined based on the sales forecast information.
[0089] Then, based on the current available inventory of the target warehouse and the predicted average daily sales, the current shelf life of the target warehouse can be obtained. For example, assuming a target warehouse currently has 50 units of a certain product in stock, and the predicted daily sales volume is 25 units, then the current shelf life of the target warehouse could be 2 days, and so on. Of course, in practical applications, the specific shelf life can also be expressed in units such as "weeks" or "months".
[0090] It's important to note that since typically only the lowest-level warehouses generate sales, the concept of saleable duration only applies to these warehouses. In this embodiment, a corresponding allocation suggestion calculation scheme can be provided primarily for the lowest-level warehouses to ensure a balance in saleable duration among the various lowest-level target warehouses after allocation. While intermediate warehouses may also require allocation, a different strategy can be employed compared to the lowest-level warehouses, which will be discussed in detail later.
[0091] S303: Based on the current available sales duration corresponding to the target warehouse and the sales forecast information, determine the recommended quantity of goods to be transferred from the source warehouse to the target warehouse, so that the available sales duration of the target goods in each target warehouse after the transfer is equal to or close to the target available sales duration.
[0092] Step S302 determines the current available sales duration of each target warehouse to be allocated. In this embodiment, the target available sales duration for each target warehouse can also be determined. For example, the target available sales duration for each target warehouse can be the same, such as 5 days, etc. That is, each target warehouse can be allocated with the goal of replenishing enough inventory for 5 days of sales. In this case, when determining the target warehouse to be allocated, the current available sales duration of each end-level warehouse can be compared with the aforementioned target available sales duration. If it is less than the target available sales duration, it can be determined as a target warehouse requiring allocation; otherwise, if the current available sales duration is greater than the target available sales duration, it proves that the warehouse does not need allocation. This method is more reasonable than determining whether allocation is needed based on the available inventory in a specific warehouse.
[0093] Since the current shelf life of each target warehouse is known, along with sales forecast information (e.g., projected daily sales volume), the recommended transfer quantity for each target warehouse can be determined to ensure that the target shelf life of the target goods in each target warehouse is the same or similar after the transfer. The target shelf life can be calculated using the following formula: (Current inventory + In-transit inventory + Recommended transfer quantity) / Projected sales volume (units / day) = Target shelf life days.
[0094] Specifically, there are multiple ways to determine the recommended quantity of transfers from the source warehouse to the target warehouse. For example, in one approach, the transfer requests of multiple end-level target warehouses can be processed in batches, and the recommended quantity of transfers can be determined for each batch of multiple end-level target warehouses corresponding to the same source warehouse.
[0095] In this approach, a loop can be created. In each loop, one target warehouse can be processed to determine its allocation amount for that warehouse in the current loop. That is, in one loop, only one target warehouse is processed, and only a portion of the allocation amount is determined for that warehouse, which is then added to its proposed allocation amount. If the proposed allocation amount received by that target warehouse has not yet reached its target, it may have the opportunity to obtain a new allocation amount in subsequent loops. Specifically, the following concepts can be defined:
[0096] The allocation recommendations for the target warehouse, the incremental allocation amount, and the current inventory of the source warehouse are all considered. At the end of each cycle, an incremental allocation amount can be obtained for one of the target warehouses and added to its allocation recommendations. Additionally, the current inventory of the source warehouse can be updated; that is, the incremental allocation amount obtained by the target warehouse in the current cycle can be subtracted from the current inventory of the source warehouse.
[0097] Specifically, the following processing can be performed in each round of the loop:
[0098] Determine the current inventory level of the source warehouse. Then, select the target warehouses from the plurality of target warehouses whose current available sales duration meets the criteria (e.g., the one with the shortest current available sales duration, or the one with the longest, etc.) as the target warehouses to be processed in the current round. Next, based on the sales forecast information of the target warehouse to be processed, determine the expected sales volume of the target warehouse to be processed within a future period of time. The future period of time can be flexibly determined, for example, it could be one day, two days, or half a day, etc. Taking one day as an example, that is, the sales volume of the target warehouse to be processed in the next day can be predicted. Then, based on the current inventory level of the source warehouse and the expected sales volume, determine the incremental allocation volume obtained by the target warehouse to be processed in the current round. For example, if the current inventory level of the source warehouse is greater than the expected sales volume, then the incremental allocation volume obtained by the target warehouse to be processed in the current round = the sales volume of the target warehouse to be processed in the next day (or other value); otherwise, the incremental allocation volume obtained by the target warehouse to be processed in the current round = the current inventory level of the source warehouse.
[0099] After obtaining the aforementioned incremental allocation amount, the allocation suggestion quantity corresponding to the target warehouse to be processed can be updated using this incremental allocation amount. That is, the allocation suggestion quantity corresponding to the target warehouse to be processed = the allocation suggestion quantity corresponding to the target warehouse to be processed + the incremental allocation amount. The initial value of the allocation suggestion quantity corresponding to the target warehouse is 0. As the target warehouse is selected as the target warehouse to be processed in multiple cycles and receives incremental allocation amounts, this allocation suggestion quantity is updated by accumulating the obtained incremental allocation amounts. Furthermore, after determining the incremental allocation amount obtained by the target warehouse to be processed, the current inventory level of the source warehouse can also be updated. For example, the current inventory level of the source warehouse = the current inventory level of the source warehouse - the incremental allocation amount obtained by the target warehouse to be processed in the current cycle. The initial value of the current inventory level of the source warehouse can be the actual available inventory level of the source warehouse (which can also include the actual inventory in stock and inventory in transit, etc.). Furthermore, the current available sales duration for the target warehouses in the current round can be updated. That is, the current available sales duration for a target warehouse = current available sales duration for the target warehouse + 1. The initial value of the current available sales duration for a target warehouse can be calculated based on its current available inventory and sales forecast information. After a specific target warehouse is identified as a target warehouse in a round, its current available sales duration increases due to the received incremental allocation. After updating the above information, the next round of the cycle can be triggered. That is, the target warehouses in the next round are selected again based on their current available sales duration, and the above process is repeated until the source warehouse's inventory reaches 0, at which point the cycle ends. Each target warehouse may participate in multiple rounds. Each time it participates in a round, it receives an incremental allocation. By accumulating the incremental allocations obtained from multiple rounds, the recommended allocation quantity for the target warehouse can be determined.
[0100] It should be noted that if, after a certain cycle ends, the current available selling time of the target warehouse to be processed in this cycle reaches the target available selling time, the update of the allocation recommendation quantity for that target warehouse can be terminated.
[0101] To better understand the above solution, the following will combine... Figure 4 The examples in the text will be introduced in more detail.
[0102] 41. After starting to calculate the proposed transfer quantity, first obtain the current inventory of the source warehouse (parent warehouse), denoted as Count_parent;
[0103] 42. Calculate the DOS (Days of Supply, a specific way of expressing the available supply time as described in the embodiments of this application) information for each target warehouse (also called a lower-level warehouse, which corresponds to the same source warehouse), and denote the current DOS as DOS_Current and the demand DOS as DOS_Require. Note that the demand DOS (DOS_Require) corresponding to different target warehouses can be the same;
[0104] 43. Start the loop. In the current loop iteration, retrieve the target bin with the smallest current DOS_Current value and denote it as X;
[0105] 44. Calculate the forecast quantity required by warehouse X in one day (or other periodic durations, such as half a day, two days, etc.), denoted as Count_oneday_X; that is, predict the quantity that warehouse X can sell in the next day. This information can be obtained from the sales forecast information used in the previous calculation of the current DOS.
[0106] 45. Determine whether the current inventory of the source warehouse can meet the forecasted amount required by warehouse X for one day, that is, determine whether Count_parent is greater than Count_oneday_X;
[0107] 46. If Count_parent is greater than Count_oneday_X, then set the incremental transfer amount obtained by warehouse X in the next round to the predicted amount needed by warehouse X in the next day, that is, Count_add = Count_oneday_X; otherwise, set the incremental transfer amount obtained by warehouse X in the next round to the current inventory of the source warehouse, that is, Count_add = Count_parent.
[0108] 47. Determine whether a transfer suggestion has been generated from the current source warehouse to warehouse X;
[0109] 48. If yes, generate a new transfer suggestion from the source warehouse to warehouse X with a transfer quantity of 0; otherwise, increase the incremental transfer quantity to the transfer suggestion quantity from the source warehouse to warehouse X, i.e., +Count_add.
[0110] 49. Update the current DOS of the X warehouse, that is, DOS_Current_X = DOS_Current_X + 1;
[0111] 410. Determine whether the current DOS_Current_X of warehouse X is greater than or equal to the target DOS (DOS_Require);
[0112] 411. If so, remove X warehouse from the set, that is, X warehouse will no longer participate in subsequent loops;
[0113] 412. Update the current inventory of the source warehouse, Count_parent = Count_parent - Count_add;
[0114] 413. Determine if the current inventory quantity after the source warehouse update is 0. If it is, end the loop; otherwise, return to step 43 and start the next round of loop.
[0115] The above implementation scheme for calculating allocation suggestions for multiple target warehouses corresponding to the same source warehouse can ensure that the available sales time for multiple target warehouses corresponding to the same source warehouse is the same or similar after the allocation is completed. However, the above scheme does not consider how to carry out allocation when an intermediate warehouse is used as a target warehouse. In addition, the intermediate layers are independent of each other. Therefore, although the DOS balance among multiple target warehouses corresponding to the same source warehouse is achieved, the inventory imbalance among multiple intermediate warehouses may still occur. For example, after an allocation is completed, the intermediate warehouse in North China may still have a relatively large inventory, but the intermediate warehouse in East China may have insufficient inventory, and so on. To this end, in the embodiments of this application, the available sales time of multiple last-level target warehouses can also be balanced across the entire network. In addition, in the preferred embodiment, the allocation scheme when an intermediate warehouse is used as a target warehouse can also be implemented simultaneously. That is, if some or all of the multiple source warehouses corresponding to the last-level warehouse are out of stock, the source warehouse with the out-of-stock situation can be determined as the target warehouse in the new allocation relationship, and an allocation suggestion quantity can be determined for it.
[0116] In other words, when multiple target warehouses at the lowest level correspond to multiple source warehouses, and each source warehouse corresponds to one or more target warehouses, the level to which each warehouse in the warehouse network belongs can be marked first. Specifically, starting from the lowest-level warehouse, the level to which a specific warehouse belongs can be marked using numerical designations or other methods. For example, assuming N represents the warehouse level, then for the lowest-level warehouse, N=1; the next-level warehouse of the lowest-level warehouse would be N=2; the next-level warehouse of the warehouse with N=2 would be N=3, and so on.
[0117] Then, a loop can be created starting with the lowest-level warehouse as the target warehouse. In each loop, the following processing is performed: based on the inventory shortage corresponding to each of the multiple target warehouses and the available inventory of their respective source warehouses, the allocation recommendation quantity corresponding to each target warehouse and the inventory shortage of each source warehouse are determined, and the next loop is triggered so that in the next loop, the source warehouses in the previous round are used as the target warehouses for the new round, until the allocation recommendation quantity for each level of warehouse is determined.
[0118] The inventory shortage in the last-level warehouse can be determined based on the difference between the current available sales time and the target available sales time, as well as the sales forecast information for the last-level warehouse. For example, assuming that the current available sales time for a last-level warehouse is 2 days, the target available sales time is 5 days, and the sales forecast information for this last-level warehouse is 10 units / day, then the inventory shortage for this last-level warehouse is (5-2)*10 = 30 units, and so on. For non-last-level warehouses, their inventory shortage can be calculated during the specific cycle process, which will be explained in detail later.
[0119] Regarding the target available sales duration, it can be arbitrarily set according to actual needs. Alternatively, in the case of achieving DOS balancing based on the last-level warehouses across the entire network, the current available inventory of the target product in each warehouse (including last-level and non-last-level warehouses) in the warehouse network can be aggregated, and combined with the sales forecast information of each last-level warehouse, to determine the network-wide available sales duration of the target product. In other words, the available sales duration of the target product can be determined across the entire network. Then, this network-wide available sales duration can be determined as the aforementioned target available sales duration. Thus, when specifically determining the inventory shortage of the last-level warehouse, it can be determined whether the current available sales duration corresponding to the target warehouse is less than the network-wide available sales duration. If so, the inventory shortage of the target warehouse can be determined based on the difference between the network-wide available sales duration and the current available sales duration corresponding to the target warehouse, as well as the sales forecast information per unit time corresponding to the target warehouse.
[0120] After determining the inventory shortage of each final-level target warehouse, the first round of the loop can be initiated. Specifically, for ease of processing, in each round, each target warehouse at the current level (e.g., starting from N=1) can be added to a processing queue, and a sub-loop can be established. In each sub-loop, the following processing is performed: The current target warehouse is read from the processing queue; then, based on the inventory shortage of the current target warehouse and the available inventory of its source warehouse, the corresponding allocation suggestion quantity is determined; and the available inventory or inventory shortage of the source warehouse is updated. The next sub-loop is then triggered. In the next sub-loop, the next target warehouse is read from the processing queue as the current target warehouse. This process continues until all target warehouses in the processing queue have been read, completing the current round of the loop. The warehouse level to be processed can then be incremented by one, initiating the next round of the loop. For example, after completing the first round, N=N+1; that is, in the next round, allocation suggestions are calculated for each target warehouse at level N=2. In this process, the target warehouses at level N=2 are determined based on the inventory shortage of each source warehouse in the previous cycle. If the inventory shortage of a source warehouse is not zero, it will become a target warehouse in the next cycle. In this next cycle, the target warehouses at level N=2 can also be added to the processing queue, and the aforementioned sub-cycle can be established. This process continues until all target warehouses at each level have completed the allocation suggestion calculation.
[0121] It should be noted that the pending queues established in each sub-loop consist of multiple target warehouses at the same level. The order of these target warehouses in the pending queue is not limited. For example, they can be arranged randomly, or in ascending order of DOS, or in descending order of predicted daily sales, and so on.
[0122] It's also important to note that in the aforementioned scheme for achieving DOS balancing of the final-level warehouses across the entire network, after each time a current target warehouse is read from the processing queue, the recommended allocation quantity for that target warehouse is determined directly based on its inventory shortage and the current inventory of the source warehouse. In other words, as long as the current inventory of the source warehouse is sufficient, the inventory shortage of the current target warehouse can be directly used as the recommended allocation quantity. Simultaneously, after each sub-loop, the current inventory of the source warehouse decreases. Once the current inventory of the source warehouse reaches 0, if there are still target warehouses corresponding to that source warehouse in the current processing queue, the inventory shortages of these target warehouses will be accumulated into the inventory shortage of the source warehouse. For example, a source warehouse corresponds to 5 target warehouses. In one cycle, the fourth target warehouse has a shortage of 10 units of inventory, and the source warehouse's current inventory is 8 units. Therefore, the source warehouse's current inventory is 0 units, and it begins to experience a shortage of 2 units. In the fifth cycle, assuming the fifth target warehouse has a shortage of 15 units of inventory, the cumulative shortage of the source warehouse is 2 + 15 = 17 units. Thus, in a cycle with N = 2 units of inventory, this source warehouse will be designated as a target warehouse with an initial shortage of 17 units. This warehouse can then be added to the processing queue, and a suggested amount of inventory to be transferred from its parent warehouse can be determined.
[0123] Through the above method, warehouses at all levels have the opportunity to determine their corresponding allocation recommendations and obtain the corresponding allocation from their parent warehouses. Of course, after completing all allocation recommendation calculations, some warehouses may not actually receive an allocation, or may receive an insufficient allocation. For example, in the aforementioned example, the fourth target warehouse did not receive a sufficient allocation, and the fifth target warehouse did not receive any allocation at all. However, since this situation is caused by a stockout in their parent warehouse during the current cycle's allocation process, and such parent warehouses can also obtain allocations from their next higher-level parent warehouse during the current cycle, the fourth and fifth target warehouses will be able to obtain sufficient allocations in the next cycle's allocation process.
[0124] Furthermore, by employing the above method, the recommended allocation quantities for non-last-level warehouses can be determined based on the inventory shortage status of the last-level warehouses. Since the inventory shortage status of the last-level warehouses is determined based on the DOS (Demand for Inventory) status, the recommended allocation quantities for non-last-level warehouses are indirectly related to the DOS status of the last-level warehouses. This allows for better balance of inventory across the entire network. Through multiple allocation cycles, DOS balance of last-level warehouses can be gradually achieved across the entire network.
[0125] To facilitate understanding, the following will be combined with... Figure 5-1 , 5-2 The example shown provides a more detailed description of the above-mentioned scheme for achieving DOS balancing of the last-level warehouse across the entire network.
[0126] First see Figure 5-1 It illustrates the process of marking warehouses at various levels.
[0127] 1. List all the bottom-level warehouses and put them into a queue, called the bottom-level warehouse queue;
[0128] 2. Take the next lowest-level warehouse, which is called the current warehouse;
[0129] 3. Determine if the current warehouse exists. If it does not exist, the traversal is complete, and you can proceed to the step of summarizing the inventory of all warehouses across the network.
[0130] 4. If the current position exists, then the level of the current position can be marked as 1;
[0131] 5. Retrieve the parent warehouse of the current warehouse;
[0132] 6. Determine if the upstream warehouse has been marked; if so, proceed to step 7; otherwise, proceed to step 8.
[0133] 7. Determine if the level of the parent warehouse is less than the level of the current warehouse + 1. If so, proceed to step 8; otherwise, return to step 2 and take the next lowest-level warehouse as the current warehouse.
[0134] 8. If the parent warehouse has not been marked, or the level of the parent warehouse is greater than or equal to the level of the current warehouse + 1, then the level of the parent warehouse can be marked as the level of the current warehouse + 1.
[0135] 9. Set the current warehouse to point to the parent warehouse;
[0136] 10. Determine if there are other parent warehouses in the current warehouse. If they exist, return to step 5; otherwise, return to step 2.
[0137] The above method allows for the hierarchical labeling of each warehouse in the network and the determination of the hierarchical relationship between warehouses. Afterwards, it can be done as follows: Figure 5-2 The diagram illustrates the calculation process for specific allocation recommendations:
[0138] 1. Aggregate inventory from all warehouses across the entire network;
[0139] 2. Compile sales forecast information for all last-level warehouses across the entire network;
[0140] 3. Based on the aggregated inventory and aggregated sales, the total available sales time across the entire network can be calculated, which can be referred to as the total network DOS.
[0141] 4. Set the current level N=1;
[0142] 5. Clear the pending queue;
[0143] 6. Retrieve all warehouses at level N and place them in the pending queue;
[0144] 7. Check if the queue to be processed is empty. If it is, the process can end; otherwise, proceed to step 8.
[0145] 8. Take a warehouse from the queue of warehouses to be processed; this warehouse is called the current warehouse.
[0146] 9. Determine if the current position exists. If it exists, proceed to step 10; otherwise, set the current level N = N + 1 and return to step 5.
[0147] 10. Determine if the current warehouse is the last-level warehouse, i.e., whether N=1; if yes, proceed to step 11; otherwise, obtain the inventory shortage of the current warehouse (obtained from the previous loop), record it as x, and proceed to step 14.
[0148] 11. Calculate the DOS of the current warehouse;
[0149] 12. Determine if the DOS of the current warehouse is less than the DOS of the entire network. If it is, proceed to step 13; otherwise, it proves that the current warehouse does not need to be transferred and return to step 8.
[0150] 13. Calculate the difference between the current warehouse DOS and the network DOS, and combine the sales forecast information of the current warehouse to determine the inventory shortage of the current warehouse, denoted as x;
[0151] 14. Retrieve the parent warehouse of the current warehouse;
[0152] 15. Determine if the upstream warehouse exists. If it does, proceed to step 16; otherwise, return to step 8.
[0153] 16. Obtain the user-available inventory quantity of the parent warehouse, denoted as y;
[0154] 17. Obtain the inventory shortage in the upstream warehouse, denoted as z;
[0155] 18. Determine if the available inventory of the upper-level warehouse is 0. If it is, set the inventory shortage of the upper-level warehouse to z = z + x and return to step 8; otherwise, proceed to step 19.
[0156] 19. Determine whether the available inventory of the upper-level warehouse is greater than the inventory shortage of the current warehouse, that is, whether y>x. If yes, proceed to step 20; otherwise, proceed to step 21.
[0157] 20. Update the available inventory of the parent warehouse to y = yx, and generate the transfer suggestion from the parent warehouse to the current warehouse as x, then return to step 8. 21. Set the current available inventory of the parent warehouse to 0, set the inventory shortage of the parent warehouse to z = z + (xy), and generate the transfer suggestion from the parent warehouse to the current warehouse as y, then return to step 8.
[0158] In summary, through the embodiments of this application, for a bottom-level target warehouse with allocation needs, the current available inventory and sales forecast information of the target goods in the target warehouse can be used to determine the current sellable duration of the target goods. Then, when calculating the specific allocation recommendation quantity for the target warehouse, the allocation recommendation quantity from the source warehouse to the target warehouse can be determined based on the current sellable duration and sales forecast information of the target warehouse, ensuring that the sellable duration of the target goods in each target warehouse after the allocation is equal to or close to the target sellable duration. In this way, the sellable time among the bottom-level target warehouses can be balanced after the allocation, that is, after completing one cycle of allocation, each target warehouse can basically sell out in the same or similar time. This reduces the frequency of allocation, saves system resources, and also shortens the inventory time of goods in the warehouse.
[0159] In a preferred implementation, the recommended transfer quantity for each last-level warehouse can be calculated based on the entire warehouse network. Furthermore, the calculation can proceed upwards level by level, starting from the inventory shortage in the last-level warehouse to determine the inventory shortage in non-last-level warehouses, and then a corresponding recommended transfer quantity can be determined for each non-last-level warehouse. The inventory shortage in the last-level warehouses is calculated based on the difference between the current available sales time and the target available sales time, as well as sales forecast information. Therefore, the recommended transfer quantity for non-last-level warehouses is also related to the available sales time and sales forecast information of the last-level warehouses, thus ensuring the rationality of the recommended transfer quantity. Additionally, through multiple cycles of transfers, a balance of available sales time among all last-level target warehouses across the entire network can be achieved.
[0160] It should be noted that the embodiments of this application may involve the use of user data. In practical applications, user-specific personal data may be used in the scheme described herein within the scope permitted by applicable laws and regulations, provided that it complies with the applicable laws and regulations of the country (e.g., with the user's explicit consent, with the user being properly notified, etc.).
[0161] Corresponding to the foregoing method embodiments, this application also provides a goods transfer and processing device, see below. Figure 6 The device may include:
[0162] The target warehouse determination unit 601 is used to determine multiple downstream target warehouses from which target goods need to be transferred from the source warehouse;
[0163] The current available sales duration determination unit 602 is used to determine the current available sales duration of the target goods in the target warehouse based on the current available inventory of the target goods in the target warehouse and sales forecast information.
[0164] The allocation recommendation quantity determination unit 603 is used to determine the allocation recommendation quantity from the source warehouse to the target warehouse based on the current available sales duration corresponding to the target warehouse and the sales forecast information, so that the available sales duration of the target goods in each target warehouse after the allocation is equal to or close to the target available sales duration.
[0165] Specifically, the target warehouse determination unit can be used for:
[0166] Determine the current saleable duration for each last-level warehouse;
[0167] The lowest-level warehouse whose current saleable duration is less than the target saleable duration is identified as the target warehouse.
[0168] Specifically, the multiple target warehouses at the final level can correspond to the same source warehouse.
[0169] At this point, the allocation recommendation quantity determination unit can specifically be used for:
[0170] Create a loop, and perform the following processing in each iteration:
[0171] Determine the current inventory level of the source warehouse;
[0172] From the multiple target warehouses, those that meet the current saleable duration criteria are selected as target warehouses to be processed in the current round;
[0173] Based on the sales forecast information of the target warehouse to be processed, determine the expected sales volume of the target warehouse to be processed within a future period of time.
[0174] Based on the current inventory of the source warehouse and the expected sales volume, determine the incremental allocation amount that the target warehouse to be processed will receive in the current round;
[0175] The incremental allocation amount is used to update the allocation suggestion quantity corresponding to the target warehouse to be processed and the current inventory quantity of the source warehouse. After updating the current available sales duration corresponding to the target warehouse to be processed, the next cycle is triggered. The cycle ends when the inventory quantity of the source warehouse is 0, and the allocation suggestion quantity of each target warehouse is determined.
[0176] Specifically, the target warehouse with the shortest current saleable duration can be selected from the multiple target warehouses as the target warehouse to be processed in the current round.
[0177] In addition, the allocation recommendation quantity determination unit can also be used for:
[0178] If the updated current available selling time for a target warehouse reaches the target available selling time, then the update of the allocation recommendation quantity for that target warehouse will end.
[0179] In another approach, the multiple target warehouses at the end level can correspond to multiple source warehouses, with each source warehouse corresponding to one or more target warehouses.
[0180] At this point, the device may also include:
[0181] The non-last-level warehouse allocation suggestion unit is used to determine the source warehouse experiencing stockouts as the target warehouse in the new allocation relationship and to determine the allocation suggestion quantity for it if some or all of the multiple source warehouses are out of stock.
[0182] In specific implementation, the non-last-level warehouse allocation suggestion unit may include:
[0183] The final warehouse inventory shortage determination subunit is used to determine the inventory shortage of the final target warehouse based on the difference between the current available sales time and the target available sales time of the final target warehouse, as well as the sales forecast information of the final target warehouse.
[0184] The non-last-level warehouse inventory shortage determination sub-unit is used to determine the inventory shortage of the source warehouse based on the current inventory of the same source warehouse and the corresponding inventory shortage of multiple last-level target warehouses.
[0185] The non-last-level warehouse allocation recommendation quantity determination sub-unit is used to identify source warehouses with inventory shortages greater than 0 as new target warehouses and determine the allocation recommendation quantity for them.
[0186] In addition, in a specific implementation, the device may also include:
[0187] Level marking units are used to mark the level to which each warehouse in the warehouse network belongs;
[0188] The loop processing unit is used to create a loop starting with the last-level warehouse as the target warehouse, and performs the following processing in each loop:
[0189] Based on the inventory shortages corresponding to multiple target warehouses and the available inventory of their respective source warehouses, the recommended allocation quantity for each target warehouse and the inventory shortage for each source warehouse are determined, triggering the next cycle so that the source warehouses from the previous cycle are treated as new target warehouses in the next cycle, until the recommended allocation quantity for each level of warehouse is determined.
[0190] Furthermore, the device may also include:
[0191] The network-wide available sales duration calculation unit is used to summarize the current available inventory of the target product in each warehouse in the warehouse network, and determine the network-wide available sales duration of the target product based on the summary result of the current available inventory and the sales forecast information of each last-level warehouse, and determine the network-wide available sales duration as the target available sales duration.
[0192] Specifically, the loop processing unit can be used for:
[0193] In each iteration, each target warehouse at the current level is added to the processing queue, and a sub-loop is created. In each sub-loop, the following processing is performed:
[0194] Read the current target warehouse from the queue of pending processes;
[0195] Based on the current inventory shortage in the target warehouse and the available inventory in the source warehouse, determine the recommended allocation quantity for the current target warehouse, update the available inventory or inventory shortage in the source warehouse, and then trigger the next sub-loop. In the next sub-loop, read the next target warehouse from the queue to be processed as the current target warehouse, until all target warehouses in the queue to be processed have been read.
[0196] In addition, embodiments of this application also provide a computer-readable storage medium storing a computer program thereon, which, when executed by a processor, implements the steps of the method described in any of the foregoing method embodiments.
[0197] And an electronic device, comprising:
[0198] One or more processors; and
[0199] A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method described in any of the foregoing method embodiments.
[0200] in, Figure 7 An exemplary architecture of an electronic device is shown, which may include a processor 710, a video display adapter 711, a disk drive 712, an input / output interface 713, a network interface 714, and a memory 720. The processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720 can communicate with each other via a communication bus 730.
[0201] The processor 710 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to achieve the technical solution provided in this application.
[0202] The memory 720 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 720 can store the operating system 721 for controlling the operation of the electronic device 700, and the basic input / output system (BIOS) for controlling the low-level operations of the electronic device 700. Additionally, it can store a web browser 723, a data storage management system 724, and a goods allocation processing system 725, etc. The aforementioned goods allocation processing system 725 can be the application program that specifically implements the aforementioned steps in this embodiment. In summary, when implementing the technical solution provided in this application through software or firmware, the relevant program code is stored in the memory 720 and is called and executed by the processor 710.
[0203] Input / output interface 713 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components in the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touch screens, microphones, various sensors, etc., and output devices may include displays, speakers, vibrators, indicator lights, etc.
[0204] Network interface 714 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).
[0205] Bus 730 includes a pathway for transmitting information between various components of the device, such as processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, and memory 720.
[0206] It should be noted that although the above-described device only shows the processor 710, video display adapter 711, disk drive 712, input / output interface 713, network interface 714, memory 720, bus 730, etc., in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the solution of this application, and does not necessarily include all the components shown in the figures.
[0207] As can be seen from the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware platforms. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in various embodiments or some parts of the embodiments of this application.
[0208] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, for system or system embodiments, since they are basically similar to method embodiments, the description is relatively simple, and relevant parts can be referred to the descriptions in the method embodiments. The systems and system embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without creative effort.
[0209] The foregoing has provided a detailed description of the goods allocation and processing method, apparatus, and electronic equipment provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are merely for the purpose of helping to understand the method and its core ideas. Furthermore, those skilled in the art will recognize that, based on the ideas of this application, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for handling the transfer of goods, characterized in that, include: Identify multiple downstream target warehouses from which the target goods need to be transferred from the source warehouse; Based on the current available inventory of the target goods in the target warehouse and the sales forecast information, determine the current saleable duration of the target goods in the target warehouse; Based on the current available sales duration corresponding to the target warehouse and the sales forecast information, determine the recommended quantity of goods to be transferred from the source warehouse to the target warehouse, so that the available sales duration of the target goods in each target warehouse after the transfer is equal to or close to the target available sales duration. The multiple target warehouses at the lowest level correspond to the same source warehouse, and the quantity of the allocation recommendation is determined in the following way: Create a loop, and perform the following processing in each iteration: Determine the current inventory level of the source warehouse; From the multiple target warehouses, those that meet the current saleable duration criteria are selected as target warehouses to be processed in the current round; Based on the sales forecast information of the target warehouse to be processed, determine the expected sales volume of the target warehouse to be processed within a future period of time. Based on the current inventory of the source warehouse and the expected sales volume, determine the incremental allocation amount that the target warehouse to be processed will receive in the current round; The incremental allocation amount is used to update the allocation suggestion quantity corresponding to the target warehouse to be processed and the current inventory quantity of the source warehouse. After updating the current available sales duration corresponding to the target warehouse to be processed, the next cycle is triggered. The cycle ends when the inventory quantity of the source warehouse is 0, and the allocation suggestion quantity of each target warehouse is determined.
2. The method according to claim 1, characterized in that, The multiple final-level target warehouses identified for the transfer of target goods from the source warehouse include: The lowest-level warehouse whose current saleable duration is less than the target saleable duration is identified as the target warehouse.
3. The method according to claim 1, characterized in that, The step of determining which target warehouses from the plurality of target warehouses currently meet the criteria for sale duration as target warehouses to be processed in the current round includes: The target warehouse with the shortest current saleable duration is selected from the multiple target warehouses and designated as the target warehouse to be processed in the current round.
4. The method according to claim 1, characterized in that, Also includes: If the updated current available selling time for a target warehouse reaches the target available selling time, then the update of the allocation recommendation quantity for that target warehouse will end.
5. The method according to claim 1, characterized in that, The multiple target warehouses at the last level correspond to multiple source warehouses, and each source warehouse corresponds to one or more of the target warehouses.
6. The method according to claim 5, characterized in that, Also includes: If some or all of the multiple source warehouses are out of stock, the source warehouses experiencing stock shortages will be designated as the target warehouses in the new allocation relationship, and a recommended allocation quantity will be determined for them.
7. The method according to claim 6, characterized in that, The step of identifying the source warehouse experiencing the stockout as the target warehouse in the new allocation relationship and determining the recommended allocation quantity for it includes: Based on the difference between the current available sales time and the target available sales time of the target warehouse at the last level, and the sales forecast information of the target warehouse at the last level, determine the inventory shortage of the target warehouse at the last level. Determine the inventory shortage of the source warehouse based on the current inventory of the same source warehouse and the corresponding inventory shortage of multiple target warehouses at the last level. The source warehouse with an inventory shortage greater than 0 is identified as the target warehouse in the new allocation relationship, and the recommended allocation quantity is determined for it.
8. The method according to claim 7, characterized in that, Also includes: The level to which each warehouse in the warehouse network belongs is marked; Start by creating a loop with the lowest-level warehouse as the target warehouse, and perform the following processing in each loop: Based on the inventory shortages corresponding to multiple target warehouses and the available inventory of their respective source warehouses, determine the recommended allocation quantity for each target warehouse and the inventory shortage for each source warehouse, and trigger the next cycle so that the source warehouses from the previous cycle can be treated as new target warehouses in the next cycle, until the recommended allocation quantity for each level of warehouse is determined.
9. The method according to claim 8, characterized in that, Also includes: The current available inventory of the target product in each warehouse of the warehouse network is summarized. Based on the summary results of the current available inventory and the sales forecast information of each last-level warehouse, the total network availability time of the target product is determined, and the total network availability time is determined as the target availability time.
10. The method according to claim 8, characterized in that, In each iteration, each target warehouse at the current level is added to the processing queue, and a sub-loop is created. In each sub-loop, the following processing is performed: Read the current target warehouse from the queue of pending processes; Based on the current inventory shortage in the target warehouse and the available inventory in the source warehouse, determine the recommended allocation quantity for the current target warehouse, update the available inventory or inventory shortage in the source warehouse, and then trigger the next sub-loop. In the next sub-loop, read the next target warehouse from the queue to be processed as the current target warehouse, until all target warehouses in the queue to be processed have been read.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When executed by a processor, the program implements the steps of the method described in any one of claims 1 to 10.
12. An electronic device, characterized in that, include: One or more processors; as well as A memory associated with the one or more processors, the memory being used to store program instructions that, when read and executed by the one or more processors, perform the steps of the method according to any one of claims 1 to 10.
Citation Information
Patent Citations
Inventory management method and device and computer readable storage medium
CN112561414A