Multi-order warehouse-out task scheduling method, electronic equipment and readable storage medium
The method of scheduling multiple orders in waves with task layer validation and capacity checks addresses the inefficiency of single-order processing in warehouse systems, enhancing order fulfillment efficiency through concurrent processing.
Patent Information
- Application Number
- CN202510394778.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-31
- Publication Date
- 2025-07-15
AI Technical Summary
In the prior art, the efficiency of cargo outbound in three-dimensional warehouses is low because orders are issued one by one, resulting in insufficient utilization of handling equipment, which affects the efficiency of cargo outbound.
The multi-order outbound task scheduling method is adopted, orders are placed in groups, tasks are allocated according to wave times and order sequence numbers, and multiple orders are placed in parallel. The parallel execution of the handling equipment is used to pause tasks to avoid overloading the task layer and optimize handling equipment scheduling.
It improves the efficiency of cargo outbound, avoids the mutual influence between orders, and improves the utilization rate and outbound speed of handling equipment.
Smart Images

Figure CN120317792A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of warehousing equipment, and in particular to a multi-order outbound task scheduling method, an electronic device, and a readable storage medium. Background Art
[0002] At present, the stereoscopic warehouse has been widely used as a large-scale warehousing system. In order to increase the storage space, the stereoscopic warehouse is usually relatively high, making it difficult to manually handle goods. Only handling equipment can shuttle and handle goods in it.
[0003] In the prior art, for orders that need to be shipped out, generally the orders are issued one by one, and the next order is issued after each order is processed. However, this seriously affects the efficiency of goods outbound. Summary of the Invention
[0004] The technical solution adopted by this application to solve the above technical problems is as follows:
[0005] In the first aspect of this application, a multi-order outbound task scheduling method is provided, including:
[0006] Obtain the information of the orders to be issued, group the information of the orders to be issued, and issue them in batches;
[0007] Obtain the number of orders to be executed in each batch, and issue the orders to be executed in the order of order numbers;
[0008] Obtain the real-time number of tasks in each task layer;
[0009] Judge whether the real-time number of tasks in each layer is less than the maximum number of tasks. If so, issue the tasks to be executed in the orders to be executed to the corresponding task layer. Otherwise, suspend the issuance of the tasks to be executed until the real-time number of tasks in the corresponding task layer is less than the maximum number of tasks and then continue to issue.
[0010] Preferably, the issuing of the orders to be executed in the order of order numbers includes:
[0011] Obtain the maximum order quantity in the task execution area and the number of orders already issued;
[0012] Judge whether the number of orders already issued is greater than the maximum order quantity. If so, suspend the issuance of subsequent orders to be executed. Otherwise, continue to issue the orders to be executed until the number of orders already issued is equal to the maximum order quantity and then suspend the issuance.
[0013] Preferably, the method further includes:
[0014] Verify the issuing of the tasks to be executed in the orders to be executed in the order of task numbers;
[0015] After the verification of the to-be-executed task is passed, the to-be-executed task is sent to the corresponding task layer; otherwise, the sending of the to-be-executed task is suspended until the verification is passed and then the sending continues.
[0016] Among them, the sending verification includes: the number of real-time tasks in the task layer corresponding to the to-be-executed task is less than the maximum number of tasks.
[0017] Preferably, the method further includes:
[0018] When there is a to-be-executed task in the previous to-be-executed order whose sending verification fails and there is a to-be-executed task in the subsequent to-be-executed order whose sending verification passes, then the to-be-executed task in the subsequent to-be-executed order can be sent to the corresponding task layer.
[0019] Preferably, the suspension of the sending of the to-be-executed task until the verification is passed and then the sending continues further includes:
[0020] When there is a to-be-sent task in the same to-be-executed order whose sending verification fails, the to-be-sent task whose sending verification fails and its subsequent to-be-sent tasks are all suspended from being sent.
[0021] Preferably, the method further includes:
[0022] Obtain the task layer corresponding to the completed task;
[0023] Warehouse out the completed tasks in sequence according to their order in the corresponding order;
[0024] When there are unfinished tasks in the order, the subsequent completed tasks of the unfinished tasks are suspended from being warehoused out.
[0025] Preferably, the method further includes:
[0026] When there are unfinished tasks in the order and there are completed tasks in the other orders, then warehouse out the completed tasks in the other orders.
[0027] Preferably, the method further includes:
[0028] When there are completed tasks of multiple orders that need to be warehoused out, give priority to warehousing out the orders with more consecutive tasks.
[0029] Preferably, the method further includes:
[0030] Obtain the real-time task number of each task layer;
[0031] Judge whether there is a task layer with a real-time task number of zero. If so, schedule the handling equipment of the task layer with a real-time task number of zero to the task layer with the largest real-time task number.
[0032] Preferably, the method further includes:
[0033] Obtain the task layer corresponding to the to-be-executed task in the to-be-executed order, and determine the number of tasks in each task layer;
[0034] Judge whether there is an upcoming idle task layer according to the number of tasks. If there is, after all tasks are executed in the idle task layer, schedule the handling device of the idle task layer to the task layer with the largest number of tasks.
[0035] Preferably, the method further includes:
[0036] When there are multiple task layers for handling device scheduling, perform scheduling according to the corresponding relationship after descending sorting of the number of handling devices in the task layer and the real-time number of tasks.
[0037] A second aspect of the present application provides an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to execute the steps of the multi-order outbound task scheduling method.
[0038] A third aspect of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the multi-order outbound task scheduling method are implemented.
[0039] Beneficial effects: By issuing multiple orders in parallel, the present application enables multiple orders to perform outbound operations simultaneously. When the task layer corresponding to a certain task in a certain order reaches the maximum number of tasks, the execution of subsequent tasks is suspended, but the multiple orders issued in parallel do not affect each other, and the outbound efficiency of the orders can be improved. Description of the Drawings
[0040] Figure 1 is a multi-order outbound task scheduling method provided by the present application;
[0041] Figure 2 is another multi-order outbound task scheduling method provided by the present application. Detailed Embodiments
[0042] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only some of the embodiments of this application, rather than all of them. The components of the embodiments of this application usually described and illustrated in the accompanying drawings here can be arranged and designed in various different configurations. Therefore, the detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely represents selected embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without creative efforts belong to the scope of protection of this application.
[0043] See Figure 1-2 , a method for scheduling multi-order outbound tasks is provided in the first aspect of this application, including:
[0044] Obtain the order information to be issued, group the order information to be issued, and issue it in waves;
[0045] Obtain the number of orders to be executed in each wave, and issue the orders to be executed in the order of order numbers;
[0046] Obtain the real-time task number of each task layer;
[0047] Judge whether the real-time task number of each layer is less than the maximum task number. If so, issue the tasks to be executed in the orders to be executed to the corresponding task layer. Otherwise, suspend the issuance of the tasks to be executed until the real-time task number of the corresponding task layer is less than the maximum task number and then continue to issue.
[0048] During the process of order outbound in the warehousing system, the demand for outbound is one order, and the order quantity changes continuously with the outbound demand. New orders enter, and some orders are completed. When the orders are issued, they are not all issued at once, but a part of the orders are issued each time. Each issuance of orders is called an order wave. For example, when there are 200 order demands, 50 orders can be issued each time, and then it needs to be issued in 4 waves. After each order wave is sorted, the next order wave is issued.
[0049] After the orders are divided into waves and issued in waves, the order of order issuance in each wave is in the order of order numbers, starting from the first order, and there is no need to consider the impact of the goods information in the order on the order issuance order.
[0050] Since each order includes the handling of multiple items, and each item may be distributed in different task layers, it is necessary to determine which task layer the items corresponding to the tasks in the order are in and whether there are idle handling devices in that task layer that can execute. If there are, the tasks can be normally issued to the corresponding task layer; if not, the task needs to wait until there are idle handling devices before being issued.
[0051] It can be determined whether there are idle handling devices in each task layer by the number of real-time tasks being executed in each task layer. There may already be handling devices in each task layer executing the tasks issued previously. Therefore, after the order is issued, it is necessary to obtain the number of real-time tasks being executed in each task layer. If the number of real-time tasks does not reach the maximum number of tasks in that layer, it means there are still idle handling devices in that layer that can execute tasks, and the tasks corresponding to the task layer can be normally issued. If the number of real-time tasks is greater than the maximum number of tasks, it means there are no idle handling devices in that task layer that can execute tasks, and at this time, the task issuance for the corresponding layer is stopped.
[0052] Since the orders in this application are issued in parallel, there will inevitably be cases where the task layers of the tasks in each order are the same. If the real-time task number of a task corresponding to a previous order in a certain task layer is greater than the maximum number of tasks and the issuance is suspended, and the real-time task number of the first task corresponding to a subsequent order in the same task layer does not reach the maximum number of tasks, and the total number of issued orders does not reach the maximum order quantity, then the subsequent order can be normally issued. In this application, whether a subsequent order is issued does not stop because there are tasks in the previous order that have not been issued. Multiple orders do not affect each other, and multiple order notifications can be used to perform the outbound operation, improving the efficiency of goods outbound. It should be noted that if the task in the previous order is suspended from being issued because the real-time task number in the corresponding task layer is greater than the maximum number of tasks, and the task in the subsequent order is also in the same task layer, then the task in the subsequent order needs to be executed after the task in the previous order is completed.
[0053] According to the actual application scenario, the number of orders in each wave can be set, but it is necessary to ensure that the number of orders in each wave is greater than the maximum number of orders that can execute the outbound task in the storage area, that is, the maximum order quantity. For example, if the maximum number of orders that a certain automated warehouse can process simultaneously is 10, then the number of orders in each wave should be at least greater than 10, which can avoid the mutual influence of multiple order waves.
[0054] In this application, when issuing orders, the to-be-executed orders are issued according to the order numbers. First, obtain the maximum order quantity and the number of issued orders in the task execution area;
[0055] Judge whether the number of issued orders is greater than the maximum order quantity. If so, suspend the issuance of subsequent to-be-executed orders; otherwise, continue to issue the to-be-executed orders until the number of issued orders is equal to the maximum order quantity and then suspend the issuance.
[0056] For example, if the maximum number of orders in a certain storage area is 10 orders and the number of issued orders is 9, then orders can continue to be issued. After issuing one order, the number of issued orders becomes 10, and subsequent orders stop being issued. When one order is completed, the number of issued orders becomes 9, and orders can continue to be issued.
[0057] The method provided by this application further includes:
[0058] Verify the tasks to be executed in the order to be executed according to the task numbers;
[0059] When the verification of the tasks to be executed passes, issue the tasks to be executed to the corresponding task layer; otherwise, suspend the issuance of the tasks to be executed until the verification passes and then continue the issuance;
[0060] Among them, the issuance verification includes: the number of real-time tasks in the task layer corresponding to the task to be executed is less than the maximum number of tasks.
[0061] In one order, usually, there are requirements for multiple kinds of goods. The out-of-warehouse of each kind of goods is taken as a task, and all tasks are combined to form a complete order. When the order is issued, the corresponding tasks have been sorted, and the number of different tasks in the order is also different. When issuing tasks, they are issued according to the task numbers. The first task is issued first, and then the second task is issued, and so on. Whether the previous tasks are completed does not affect whether the subsequent tasks are issued. However, before each task is issued, issuance verification is required. If the issuance verification passes, the task can be normally issued. If the verification fails, the task needs to be suspended from being issued. During the waiting time of the suspension, issuance verification is continuously carried out at a predetermined frequency until the issuance verification passes and the task is issued to the corresponding task layer.
[0062] In this application, since there are multiple orders being issued in parallel at the same time, therefore, when there is a task to be executed in the previous order to be executed whose issuance verification fails and there is a task to be executed in the subsequent order to be executed whose issuance verification passes, then the tasks to be executed in the subsequent order to be executed can be issued to the corresponding task layer.
[0063] For example, the verification of the third task in the second order fails and needs to wait, while the verification of the second task in the third order passes, then the second task in the third order can be issued to the corresponding task layer. Similarly, if there is a third order and the fourth order has not been issued yet, and the verification of the first task in the fourth order is carried out and passes, then in the case where the number of issued orders in the storage area has not reached the maximum number of orders, the fourth order can be normally issued without being affected by the suspension of the third task in the second order.
[0064] In the existing warehousing system, after each task is completed, the goods are placed on the interlayer line, and the elevator is required to transport the goods from the corresponding task layer to the outbound point. In order to further improve the order outbound efficiency, the present application further includes:
[0065] Obtain the task layer corresponding to the completed task;
[0066] Perform outbound in sequence according to the order of the completed tasks in the corresponding order;
[0067] When there are unfinished tasks in the order, the subsequent completed tasks of the unfinished tasks are suspended from outbound.
[0068] Since multiple tasks in an order jointly form a completed task, all the goods for which the tasks are executed need to be transported to the outbound point before the order is completed. Therefore, in order to ensure the integrity of the order, it is necessary to perform outbound according to the order of the completed tasks in the order. For example, first perform outbound on the goods of the first task, and then perform outbound on the goods of the second task. The outbound is lifted by the elevator to the corresponding task layer for handling. It can be imagined that since the goods are distributed in different areas of different task layers, the distances for the handling equipment to move from the task point to the interlayer line are not the same, and there may be a situation where the subsequent tasks are completed first and wait at the interlayer line. At this time, it is necessary to wait for the goods of the previous task to be out of the warehouse before handling the goods of the subsequent tasks. For example, the goods of the third task are first transported to the interlayer line. At this time, the goods of the second task have not been completed yet, so the goods of the third task need to wait at the interlayer line. At this time, the elevator can choose to wait for the second task to be completed and then continue to execute other completed tasks of the same order to ensure that an order is executed continuously and completely. It can also be when there are unfinished tasks in the order and there are completed tasks in the other orders, then perform outbound on the completed tasks in the other orders. Although the two goods executed before and after belong to different orders, it can improve the utilization efficiency of the elevator and improve the overall efficiency of the goods outbound.
[0069] In the case of both ensuring the integrity of order execution and outbound efficiency, when there are completed tasks of multiple orders that need to be out of the warehouse, prioritize the outbound of the order with more consecutive tasks.
[0070] In the present application, the order is issued according to the sorting of the order in the wave. Among them, the distribution of tasks is uncontrollable. There may be some task layers with heavy tasks and some task layers with no tasks. Therefore, the present application further includes:
[0071] Obtain the real-time number of tasks on each task layer;
[0072] Judge whether there is a task layer with the real-time number of tasks being zero. If so, dispatch the handling equipment of the task layer with the real-time number of tasks being zero to the task layer with the largest real-time number of tasks.
[0073] If the number of real-time tasks in the task layer of a certain layer is zero, all handling devices in that layer are in an idle state. To improve the utilization rate of handling devices, idle handling devices can be scheduled to the task layer with heavy tasks. When scheduling, they are preferentially scheduled to the task layer with the largest number of real-time tasks. When scheduling handling devices, the handling devices in the same task layer are also scheduled to the same target task layer to avoid chaos during the scheduling process.
[0074] To further improve handling efficiency, the future task volume of each task layer can be predicted. By obtaining the task layer corresponding to the tasks to be executed in the orders to be executed, the number of tasks in each task layer is determined. According to the number of tasks, it is judged whether there is an upcoming idle task layer. If so, after all tasks are completed in the idle task layer, the handling devices in the idle task layer are scheduled to the task layer with the largest number of tasks.
[0075] Because the number of tasks, the task layer corresponding to the tasks, and the issuing order in each order can be known, even if the order has not been issued, it can be predicted that there will be no more tasks to be executed in a certain task layer after a certain task is issued. The handling devices in that task layer can be scheduled in advance without waiting until they are completely idle before scheduling the handling devices.
[0076] It can be imagined that there may be a situation where multiple task layers are idle. When scheduling handling devices for multiple task layers, the scheduling is carried out according to the corresponding relationship after sorting in descending order of the number of handling devices and the number of real-time tasks in the task layer. For example, if the second task layer has the most idle handling devices, the third task layer has the second most idle handling devices, the fourth task layer has the largest number of real-time tasks, and the fifth task layer has the second largest number of real-time tasks, then preferably, the handling devices in the second task layer are scheduled to the fourth task layer, and the handling devices in the third task layer are scheduled to the fifth task layer.
[0077] The second aspect of the present application provides an electronic device, including: a processor, a storage medium, and a bus. The storage medium stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the storage medium through the bus, and the processor executes the machine-readable instructions to perform the steps of the multi-order outbound task scheduling method.
[0078] The third aspect of the present application provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of the multi-order outbound task scheduling method are implemented.
[0079] In this application, multiple orders are issued in parallel to enable multiple orders to perform the outbound operation simultaneously. When the task layer corresponding to a certain task in a certain order reaches the maximum number of tasks, the execution of subsequent tasks is paused. However, the multiple orders issued in parallel do not affect each other, which can improve the outbound efficiency of orders.
[0080] Of course, there can be many other embodiments of this application. Without departing from the spirit and essence of this application, those skilled in the art can make various corresponding changes and deformations according to this application. However, these corresponding changes and deformations should fall within the protection scope of the appended claims of this application.
Claims
1. A method for scheduling multi-order outbound tasks, characterized in that, Including: Obtain the order information to be dispatched, group the order information to be dispatched, and dispatch it in waves; Obtain the number of orders to be executed in each wave, and dispatch the orders to be executed according to the order numbers; Obtain the real-time task numbers of each task layer; Judge whether the real-time task number of each layer is less than the maximum task number. If so, dispatch the tasks to be executed in the orders to be executed to the corresponding task layer. Otherwise, suspend the dispatch of the tasks to be executed until the real-time task number of the corresponding task layer is less than the maximum task number and then continue the dispatch.
2. The multi-order outbound task scheduling method according to claim 1, wherein The dispatching of the orders to be executed according to the order numbers includes: Obtain the maximum order quantity in the task execution area and the number of dispatched orders; Judge whether the number of dispatched orders is greater than the maximum order quantity. If so, suspend the dispatch of subsequent orders to be executed. Otherwise, continue to dispatch the orders to be executed until the number of dispatched orders is equal to the maximum order quantity and then suspend the dispatch.
3. The multi-order outbound task scheduling method according to claim 1, wherein The method further includes: Dispatch and verify the tasks to be executed in the orders to be executed according to the task numbers; When the dispatch verification of the tasks to be executed passes, dispatch the tasks to be executed to the corresponding task layer. Otherwise, suspend the dispatch of the tasks to be executed until the dispatch verification passes and then continue the dispatch; Wherein, the dispatch verification includes: the real-time task number in the task layer corresponding to the task to be executed is less than the maximum task number.
4. The multi-order outbound task scheduling method according to claim 3, wherein, The method further includes: When there are tasks to be executed in the previous order to be executed whose dispatch verification fails and there are tasks to be executed in the subsequent order to be executed whose dispatch verification passes, then the tasks to be executed in the subsequent order to be executed can be dispatched to the corresponding task layer.
5. The multi-order outbound task scheduling method according to claim 3, wherein The suspension of the dispatch of the tasks to be executed until the dispatch verification passes and then continuing the dispatch further includes: When there are tasks to be dispatched in the same order to be executed whose dispatch verification fails, the tasks to be dispatched whose dispatch verification fails and their subsequent tasks to be dispatched are all suspended from being dispatched.
6. The multi-order outbound task scheduling method according to claim 1, wherein The method further includes: Obtain the task layer corresponding to the completed tasks; Carry out outbound shipment in sequence according to the order of the completed tasks in the corresponding order; When there are unfinished tasks in the order, the subsequent completed tasks of the unfinished tasks are suspended from being shipped out.
7. The multi-order outbound task scheduling method according to claim 6, wherein The method further includes: When there are unfinished tasks in the order and there are completed tasks in the other orders, then carry out outbound shipment of the completed tasks in the other orders.
8. The multi-order outbound task scheduling method according to claim 6, wherein The method further includes: When there are completed tasks of multiple orders that need to be shipped out, give priority to shipping out the orders with more consecutive tasks.
9. The multi-order outbound task scheduling method according to claim 1, wherein The method further includes: Obtain the real-time task numbers of each task layer; Judge whether there is a task layer with a real-time task number of zero. If so, dispatch the handling equipment of the task layer with a real-time task number of zero to the task layer with the largest real-time task number.
10. The multi-order outbound task scheduling method according to claim 9, wherein The method further includes: Obtain the task layer corresponding to the tasks to be executed in the order to be executed, and determine the number of tasks in each task layer; Judge whether there is an upcoming idle task layer according to the number of tasks. If so, after all tasks are executed in the idle task layer, dispatch the handling equipment of the idle task layer to the task layer with the largest number of tasks.
11. The multi-order outbound task scheduling method according to any one of claims 9 or 10, characterized in that, The method further includes: When there are multiple task layers for dispatching handling equipment, carry out dispatching according to the corresponding relationship after sorting the handling equipment quantity and real-time task number of the task layers in descending order.
12. An electronic device, characterized in that, Including: A processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor. When the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the steps of the multi-order outbound task scheduling method according to any one of claims 1-11.
13. A computer-readable storage medium, having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the multi-order outbound task scheduling method according to any one of claims 1-11.