Task allocation method and device, electronic equipment, storage medium and program product
By dynamically optimizing the matching combination of terminals and target containers in the warehouse management system, the problem of traditional systems being unable to adjust task allocation in real time is solved, achieving more efficient and flexible task execution and resource utilization.
Patent Information
- Application Number
- CN202511333500.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-09-18
- Publication Date
- 2025-10-21
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional warehouse management systems are unable to adjust task allocation in real time according to dynamic changes in the warehouse environment, resulting in inefficient task execution, inability to quickly process urgent orders, and serious waste of resources.
By determining the distance mapping and minimizing the global transportation cost as the goal, the matching combination between the terminal and the target container is readjusted to dynamically optimize the task allocation.
It improves the task execution efficiency of the automated warehouse management system, reduces transportation costs and time consumption, ensures the timeliness and accuracy of order processing, and improves resource utilization and customer satisfaction.
Smart Images

Figure CN120822809A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of computer technology, warehousing technology, logistics technology, and robot navigation technology, and more specifically, to a task allocation method, device, electronic device, storage medium, and program product. Background Art
[0002] With the development of computer technology, warehouse management is becoming increasingly automated. Order processing is a key component of automated warehouse management systems. Upon receiving a customer order, the system must locate the corresponding container in the warehouse based on the product information in the order. These containers then need to be moved to designated workstations for further processing or shipment.
[0003] In one example, based on the goods ordered, containers that can be shipped are located and tasks to be moved for the containers are generated. Terminals are assigned when tasks are generated, and they will not be adjusted even if a better solution or environmental changes occur later.
[0004] In the process of implementing the concept of the present invention, it was found that there are at least the following problems in the related art: the above task allocation method cannot adjust the task allocation in real time according to the dynamic changes of the warehouse environment, resulting in low task execution efficiency. Summary of the Invention
[0005] In view of this, the present invention provides a task allocation method, apparatus, electronic device, storage medium, and program product.
[0006] According to one aspect of the present invention, a task assignment method is provided, comprising: determining a distance mapping based on a current matching combination, wherein the current matching combination includes a first correspondence between multiple groups of terminals and transportation tasks corresponding to target containers, the terminals transport the target containers by performing the transportation tasks, and the distance mapping includes the distance between each of the terminals and each of the target containers; re-determining an updated matching combination based on the distance mapping with minimizing the global transportation cost as the first objective constraint, wherein the updated matching combination includes a second correspondence between multiple groups of terminals and transportation tasks corresponding to the target containers; and assigning the transportation tasks that need to be adjusted, determined based on each of the first correspondences and each of the second correspondences, to the corresponding terminals, so that the terminals perform the transportation tasks.
[0007] According to another aspect of the present invention, a task assignment device is provided, comprising: a first determination module for determining a distance mapping based on a current matching combination, wherein the current matching combination includes a first correspondence between multiple groups of terminals and transportation tasks corresponding to target containers, the terminals transport the target containers by performing the transportation tasks, and the distance mapping includes the distance between each of the terminals and each of the target containers; a second determination module for re-determining an updated matching combination based on the distance mapping with minimizing the global transportation cost as the first objective constraint, wherein the updated matching combination includes a second correspondence between multiple groups of terminals and transportation tasks corresponding to the target containers; and a first assignment module for assigning the transportation tasks that need to be adjusted, which are determined based on each of the first correspondences and each of the second correspondences, to the corresponding terminals, so that the terminals perform the transportation tasks.
[0008] According to another aspect of the present invention, an electronic device is provided, comprising: one or more processors; and a memory for storing one or more instructions, wherein when the one or more instructions are executed by the one or more processors, the one or more processors implement the method described in the present invention.
[0009] According to another aspect of the present invention, a computer-readable storage medium is provided, on which executable instructions are stored. When the executable instructions are executed by a processor, the processor implements the method according to the present invention.
[0010] According to another aspect of the present invention, a computer program product is provided. The computer program product includes computer-executable instructions. When the computer-executable instructions are executed, they are used to implement the method according to the present invention. BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The above and other objects, features and advantages of the present invention will become more apparent through the following description of the embodiments of the present invention with reference to the accompanying drawings.
[0012] Figure 1 The system architecture to which the task allocation method according to an embodiment of the present invention can be applied is shown.
[0013] Figure 2 A flowchart of a task allocation method according to an embodiment of the present invention is shown.
[0014] Figure 3 An exemplary schematic diagram of a process for determining a current matching combination according to an embodiment of the present invention is shown.
[0015] Figure 4 An exemplary schematic diagram of a process for determining a distance map according to an embodiment of the present invention is shown.
[0016] Figure 5 An example schematic diagram of a task allocation process is shown in the case where the adjustment type of the transport task is a task interchange type according to an embodiment of the present invention.
[0017] Figure 6 An example schematic diagram of a task allocation process is shown in the case where the adjustment type of a transport task is a newly added terminal type according to an embodiment of the present invention.
[0018] Figure 7 An example schematic diagram of a task allocation process according to an embodiment of the present invention is shown when the adjustment type of the transport task is a newly added high priority type and there is a second terminal in an idle state.
[0019] Figure 8 An example schematic diagram of a task allocation process according to an embodiment of the present invention is shown when the adjustment type of the transport task is a newly added high priority type and there is no second terminal in an idle state.
[0020] Figure 9 A block diagram of a task allocation device according to an embodiment of the present invention is shown.
[0021] Figure 10 A block diagram of an electronic device suitable for implementing a task allocation method according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0022] Hereinafter, embodiments of the present invention will be described with reference to the accompanying drawings. However, it should be understood that these descriptions are exemplary only and are not intended to limit the scope of the present invention. In the following detailed description, for ease of explanation, many specific details are set forth to provide a comprehensive understanding of embodiments of the present invention. However, it is apparent that one or more embodiments may also be implemented without these specific details. In addition, in the following description, descriptions of known structures and technologies are omitted to avoid unnecessary confusion of the concept of the present invention.
[0023] The terms used herein are only for describing specific embodiments and are not intended to limit the present invention. The terms "comprise", "include", etc. used herein indicate the presence of the features, steps, operations and / or components, but do not exclude the presence or addition of one or more other features, steps, operations or components.
[0024] All terms used herein (including technical and scientific terms) have the meanings commonly understood by those skilled in the art unless otherwise defined. It should be noted that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
[0025] When expressions such as "at least one of A, B, and C, etc." are used, they should generally be interpreted in accordance with the meaning commonly understood by those skilled in the art (for example, "a system having at least one of A, B, and C" should include but is not limited to a system having A alone, B alone, C alone, A and B, A and C, B and C, and / or A, B, C, etc.).
[0026] In the technical solution of the present invention, the user information involved (including but not limited to user personal information, user image information, user device information, such as location information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) are all information and data authorized by the user or fully authorized by all parties, and the collection, storage, use, processing, transmission, provision, disclosure and application of the relevant data comply with relevant laws, regulations and standards, take necessary confidentiality measures, do not violate public order and good morals, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0027] In modern automated warehouse management systems, the efficiency and accuracy of order processing are key factors affecting overall logistics efficiency. Traditional warehouse management systems typically use a fixed task allocation approach when processing orders. This means that when a transport task is generated, it is directly assigned to the terminal, and once the task allocation is completed, the task allocation relationship is no longer adjusted.
[0028] However, in actual operation, the warehouse environment is constantly changing. For example, certain areas may become congested, the speed of the terminal may be affected, or the relative position of the terminal and the container may change. However, traditional task allocation methods cannot adjust task allocation in real time according to these dynamic changes, resulting in low task execution efficiency.
[0029] Furthermore, when urgent orders arise, traditional systems are unable to quickly adjust resources to prioritize these high-priority tasks, impacting customer satisfaction. Because task assignments are static, once assigned, they cannot be reassigned even if better resources (such as idle terminals) become available, resulting in wasted resources.
[0030] To this end, the present invention provides a task assignment method, apparatus, electronic device, storage medium, and program product, which can be applied to the fields of computer technology, warehousing technology, logistics technology, and robotic navigation technology. The task assignment method includes: determining a distance mapping based on a current matching combination, wherein the current matching combination includes a first correspondence between multiple groups of terminals and transportation tasks corresponding to target containers, wherein the terminals transport the target containers by performing the transportation tasks, and the distance mapping includes the distance between each terminal and each target container; re-determining an updated matching combination based on the distance mapping, using minimization of global transportation cost as a first objective constraint, wherein the updated matching combination includes a second correspondence between multiple groups of terminals and transportation tasks corresponding to the target containers; and assigning the transportation tasks that need to be adjusted, determined based on each first correspondence and each second correspondence, to the corresponding terminal, so that the terminal performs the transportation task.
[0031] Figure 1 The system architecture to which the task allocation method according to an embodiment of the present invention can be applied is shown. Figure 1 The examples shown are merely examples of system architectures to which the embodiments of the present invention may be applied, to help those skilled in the art understand the technical content of the present invention, but do not mean that the embodiments of the present invention cannot be used in other devices, systems, environments or scenarios.
[0032] like Figure 1 As shown, the system architecture 100 according to this embodiment may include a first terminal device 101, a second terminal device 102, a third terminal device 103, a network 104 and a server 105. The network 104 is used as a medium for providing a communication link between different devices.
[0033] It should be noted that the task allocation method provided in the embodiment of the present invention can generally be executed by the server 105. Accordingly, the task allocation device provided in the embodiment of the present invention can generally be set in the server 105.
[0034] Alternatively, the task allocation method provided in the embodiment of the present invention may also be executed by the first terminal device 101, the second terminal device 102, or the third terminal device 103. Accordingly, the task allocation apparatus provided in the embodiment of the present invention may also be provided in the first terminal device 101, the second terminal device 102, or the third terminal device 103.
[0035] It should be understood that Figure 1 The number of the first terminal device, the second terminal device, the third terminal device, the network and the server is only illustrative. According to implementation requirements, there can be any number of the first terminal device, the second terminal device, the third terminal device, the network and the server.
[0036] It should be noted that the sequence numbers of the operations in the following method are only used to indicate the operation for the purpose of description, and should not be regarded as indicating the order in which the operations should be performed. Unless explicitly stated, the method does not need to be performed in the order shown.
[0037] The above describes the system architecture to which the task allocation method provided by the present invention can be applied. Figure 2 For example, the task allocation process of the present invention is further described.
[0038] Figure 2 A flowchart of a task allocation method according to an embodiment of the present invention is shown.
[0039] like Figure 2 As shown, the task allocation method 200 includes operations S210 to S230.
[0040] In operation S210, a distance map is determined based on the current matching combination, wherein the current matching combination includes a first correspondence between multiple groups of terminals and transportation tasks corresponding to target containers, the terminals transport the target containers by executing the transportation tasks, and the distance map includes a distance between each terminal and each target container.
[0041] In operation S220 , an updated matching combination is re-determined according to the distance map with minimization of the global transportation cost as the first objective constraint, wherein the updated matching combination includes a second correspondence between the plurality of groups of terminals and the transportation tasks corresponding to the target container.
[0042] In operation S230 , the transportation tasks that need to be adjusted, which are determined based on the first corresponding relationships and the second corresponding relationships, are allocated to corresponding terminals, so that the terminals perform the transportation tasks.
[0043] Target containers can be used to store goods in warehouses. For example, target containers can include shelves, bins, and the like. Terminals can perform tasks to support automated closed-loop management of goods entry, storage, inventory, and shipment. For example, terminals can include at least one of the following: an automated guided vehicle (AGV), a robot, or a trackless tunnel stacker crane.
[0044] At a certain moment, there are multiple terminals in the warehouse system that correspond to transportation tasks for multiple target containers. The current matching combination includes multiple sets of first correspondences between terminals and transportation tasks. For example, the current matching combination includes a correspondence between terminal A and the transportation task corresponding to target container 1, and a correspondence between terminal B and the transportation task corresponding to target container 2. That is, terminal A is assigned to carry out the transportation task for target container 1, and terminal B is assigned to carry out the transportation task for target container 2, and so on.
[0045] For each set of terminals and target containers in the current matching combination, if the terminal has not obtained the corresponding target container, the positions of the terminal and the corresponding target container are different, and the positions of the terminal and the corresponding target container can be obtained separately; if the terminal has obtained the corresponding target container, the positions of the terminal and the corresponding target container are the same, and the position of the terminal or the corresponding target container can be obtained.
[0046] In one example, after obtaining the locations of each terminal and each target container, the distance between each terminal and each target container can be determined based on these locations to generate a distance map. In another example, in addition to calculating distance using coordinates, the distance map can also be constructed by measuring the actual physical distance between the terminal and the container using sensors, or estimating the average distance based on historical transportation data.
[0047] Distance mapping can be used to quantify the spatial relationship between each terminal and the target container. For example, if the current matching combination includes terminal A and target container 1, and terminal B and target container 2, the distance map may include the distance between terminal A and target container 1, the distance between terminal A and target container 2, the distance between terminal B and target container 1, and the distance between terminal B and target container 2.
[0048] After obtaining the distance map, the matching combinations can be re-determined and updated based on the distance map, using minimization of global transportation cost as the primary objective constraint. Global transportation cost refers to the comprehensive cost incurred by all terminals to complete a transportation task, including transportation distance, time, and energy consumption, converted into a unified metric. For example, the shorter the transportation distance, the shorter the time, and the lower the energy consumption, the lower the global transportation cost. Minimizing global transportation cost as the optimization goal can improve the efficiency and economy of the entire transportation system.
[0049] The method for determining updated matching combinations can be configured based on actual business needs and is not limited here. In one example, the Hungarian algorithm, genetic algorithm, etc. can be used to recalculate and determine the optimal matching combination of terminals and transportation tasks based on the distance data constructed by the distance mapping, with the goal of minimizing global transportation costs. For example, when there are three terminals and three container transportation tasks, a genetic algorithm can be used to iteratively optimize and find the updated matching combination that minimizes the total transportation cost (e.g., total distance) for all terminals to complete the tasks. In another example, a simulated annealing algorithm, ant colony algorithm, etc. can also be used to re-determine the updated matching combination with the goal of minimizing global transportation costs.
[0050] Updating the matching combinations includes recalculating and adjusting the second correspondences between the multiple groups of terminals and the transport tasks corresponding to the target containers. For example, the updated matching combinations include the correspondence between terminal A and the transport task corresponding to target container 2, and the correspondence between terminal B and the transport task corresponding to target container 1. That is, terminal A is assigned to carry out the transport task for target container 2, and terminal B is assigned to carry out the transport task for target container 1.
[0051] After obtaining the updated matching combination, for each first correspondence in the current matching combination and each second correspondence in the updated matching combination, the transport tasks with changed correspondences can be identified as transport tasks that need to be adjusted. For example, if terminal A originally performed the transport task corresponding to target container 1 and now needs to be adjusted to perform the transport task corresponding to target container 2, and terminal B originally performed the transport task corresponding to target container 2 and now needs to be adjusted to perform the transport task corresponding to target container 1, then both the transport task corresponding to target container 1 and the transport task corresponding to target container 2 are transport tasks that need to be adjusted.
[0052] After determining the transport tasks that need adjustment, the server can directly send the transport tasks to the corresponding terminals. Alternatively, task allocation can be adjusted through a communication and negotiation mechanism between terminals. For example, two adjacent terminals can autonomously negotiate to exchange some transport tasks based on their own status and task status to achieve the goal of optimizing global transport costs. In addition, the interval between two exchanges must be greater than or equal to a preset duration threshold to avoid oscillation. The preset duration threshold can be, for example, 10 seconds. If a terminal is unable to achieve the new transport task after the transport task adjustment, the terminal can be rolled back to the original transport task.
[0053] According to an embodiment of the present invention, based on the current matching combination situation, the distance mapping is dynamically determined, and with the goal of minimizing the global transportation cost, the updated matching combination is re-optimized based on the distance mapping, and task adjustment and allocation are performed. By real-time monitoring and adjustment of the matching relationship between the terminal and the transportation task, reasonable task allocation decisions can be made in a timely manner when the warehouse environment changes, the task priority changes, etc., thereby reducing unnecessary transportation costs and time consumption, and improving the efficiency and flexibility of order processing in the automated warehouse management system.
[0054] Reference below Figures 3 to 8 , the task allocation method 200 according to an embodiment of the present invention is further described.
[0055] Figure 3 An exemplary schematic diagram of a process for determining a current matching combination according to an embodiment of the present invention is shown.
[0056] like Figure 3 As shown, in scenario 300 , in response to receiving an order request 301 , a target container for accommodating the product corresponding to the product information is determined from a plurality of candidate containers according to product information 302 indicated in the order request 301 .
[0057] Order request 301 is a customer's request for a product and may include detailed information about the desired product. For example, if a customer places an order for a certain electronic product through an online platform, the purchase information received by the system is Order Request 301. Product information 302 is a detailed description of the product in the order request, which may include the product's minimum stock keeping unit (SKU), inventory location, type, quantity, specifications, etc. For example, the SKU of a product is 123456, which indicates a specific model of electronic product.
[0058] The warehouse includes multiple candidate containers. For example, the multiple candidate containers may include candidate container 303_1, candidate container 303_2, ..., and candidate container 303_M, where M is a positive integer greater than 1. The candidate containers are used to store goods. For example, the candidate containers may include shelves, bins, etc. Each candidate container corresponds to candidate product information for the goods to be stored.
[0059] After receiving order request 301, a target container for the product corresponding to the product information 302 indicated in order request 301 can be determined from multiple candidate containers, and the target container's status can be marked as "pending shipment." The multiple target containers may include, for example, target container 304_1, target container 304_2, ..., and target container 304_N. N is a positive integer, and M ≥ N. For example, if the product information indicated in the order request is matched with the information of each candidate product and it is determined that the product with SKU 123456 is stored in bin B on shelf A, bin B can be selected as the target container.
[0060] In addition to the aforementioned methods for determining the target container, the warehouse can also utilize an IoT sensor network to monitor the location of goods in real time. Upon receiving an order request 301, the sensor network can directly retrieve the container information for the goods and determine the target container. For example, radio frequency identification (RFID) tags can be installed on each bin and shelf, and the tag information can be read by a reader to determine the location of the goods.
[0061] After the target container is determined, a transport task for transporting the target container can be generated based on the container information corresponding to the target container and the priority information corresponding to the order request 301. Container information refers to data related to the target container. For example, container information may include container identification, container location, container type, and container capacity. Priority information refers to the order processing priority determined based on factors such as the urgency of the order and the customer's level. For example, an order from a VIP customer might be marked as "high"; whereas, a regular order from an average customer might be marked as "medium" or "low."
[0062] A transport task is a task instruction generated to transport a target container to a designated workstation. It can include task assignment, route planning, and other details. For example, task information for a transport task can include container identification, container location, target workstation, and priority. Generated transport tasks can be stored in an outbound task queue, awaiting allocation of transport resources by the terminal scheduling system.
[0063] In addition to generating tasks based on the aforementioned pre-set priority rules, AI algorithms can also be introduced to comprehensively consider the real-time status of warehouses (such as congestion and terminal workload) and other order attributes (such as product weight and volume) to generate optimal transportation task instructions. For example, machine learning models can be used to predict transportation times for different routes and select the optimal route for high-priority orders.
[0064] According to an embodiment of the present invention, by accurately determining the target container and rationally generating transportation tasks in combination with container information and priority information, an efficient conversion from receiving order requests to generating precise transportation tasks can be achieved, which can improve the speed and accuracy of order processing, ensure that goods can be shipped out of the warehouse in a timely manner, optimize the logistics process within the warehouse, improve resource utilization, and enhance customer satisfaction.
[0065] According to an embodiment of the present invention, the task allocation method 200 may further include the following operations: taking minimization of global transportation cost as the second objective constraint, generating a current matching combination based on multiple transportation tasks and the respective terminal information of multiple terminals in an idle state; and allocating the transportation tasks to the corresponding terminals based on each first correspondence, so that the terminals transport the target containers by executing the transportation tasks.
[0066] After generating multiple transport tasks, minimizing the global transport cost can be used as the second objective constraint to generate a current matching combination based on the transport tasks and terminal information between the transport tasks corresponding to the multiple terminals and the target container. The multiple terminals may, for example, include terminal 305_1, terminal 305_2, ..., terminal 305_U, where U is a positive integer greater than 1. The global transport cost refers to the comprehensive cost consumed by all terminals to complete their respective transport tasks, including distance cost, congestion cost, terminal remaining power cost, etc. In one specific embodiment, the distance cost is determined as shown in the following formula (1).
[0067] (1);
[0068] in, Characterize the distance cost, represents the i-th terminal, Characterize the jth container, Represents the cost function, which is used to measure the distance cost from the i-th terminal to the j-th container.
[0069] The second objective constraint is to minimize global transportation costs as the primary constraint that must be met throughout the entire task allocation and scheduling process. For example, when determining matching combinations, minimizing this cost should be the core objective. Multiple idle terminals can be stored in an idle terminal resource pool. Terminal information may include terminal number, current location coordinates, and battery status. Based on this terminal information, terminals with sufficient battery power and no faults are selected from the idle terminal resource pool for task allocation.
[0070] In one example, a genetic algorithm can be used to initialize multiple possible matching combinations (i.e., a population). Selection, crossover, and mutation operations are then performed based on the global transportation cost fitness function. This iterative evolution ultimately yields several possible current matching combinations that, to a certain extent, minimize the global transportation cost. In another example, a simulated annealing algorithm can be used to determine the current matching combination based on multiple transportation tasks and the terminal information of multiple idle terminals. By simulating a physical annealing process, the simulated annealing algorithm can accept some relatively optimal solutions with a certain probability when searching the solution space. This allows the algorithm to escape local optima and find the current matching combination that minimizes the global transportation cost.
[0071] The current matching combination includes the first correspondence between multiple groups of terminals and the current matching combination. In a specific embodiment, the current matching combination may include the first correspondence between the target container 304_1 and the terminal 305_2, the first correspondence between the target container 304_2 and the terminal 305_1, and the like.
[0072] Table 1
[0073]
[0074] For Table 1 above, with the goal of minimizing the global transportation cost, the optimal solution for the total cost (e.g., total distance) is 3.2m+3.2m=7.5m, that is, terminal A transports target container 1 and terminal B transports target container 2.
[0075] For each first correspondence, a transport task can be assigned to the corresponding terminal. In one example, the transport task can be directly assigned to the corresponding terminal based on the first correspondence in the current matching combination. In another example, a task push mechanism can be used to push the transport task to the corresponding terminal, and the task begins execution after the terminal confirms receipt.
[0076] After receiving a transport task, the terminal plans a route based on the warehouse map. The entire transport task consists of a pickup and a delivery process. The terminal first moves to the target container's location to pick it up, then moves to the destination workstation to deliver it. After the transport task is completed, the target container's status is updated to "shipped," and the terminal's status is updated to "idle," returning it to the idle terminal resource pool.
[0077] According to the embodiments of the present invention, with minimizing global transportation costs as the core goal, the current matching combination can be efficiently generated based on information of multiple transportation tasks and multiple terminals in idle state, which can ensure the reasonable allocation of transportation tasks in the automated warehouse management system, effectively reduce transportation costs, improve the overall operating efficiency of the system, better cope with dynamic changes in the warehouse environment, and ensure the timeliness and accuracy of order processing.
[0078] Figure 4 An exemplary schematic diagram of a process for determining a distance map according to an embodiment of the present invention is shown.
[0079] like Figure 4 As shown, in the distance mapping determination process 400, operation S410 can be performed for the current scene 401. In operation S410, it is determined whether the current scene 401 meets the first predetermined update condition. The first predetermined update condition refers to a pre-set basis for determining whether the current task allocation situation needs to be updated. For example, the first preset update condition may include at least one of the following: the existence of a congested area in the current scene and a change in the transportation speed of the terminal. The existence of a congested area in the current scene refers to a situation where congestion occurs in a certain area in the warehouse, resulting in an obstruction of the terminal transportation route. A change in the transportation speed of the terminal refers to a situation where the transportation speed of the terminal changes due to factors such as reduced power or failure.
[0080] If not, the current scene 401 can continue to be detected in real time; if so, the location information of the terminal and the target container in each first correspondence can be obtained to obtain multiple location information 402; based on the multiple location information 402, the distance between each terminal and each target container is determined to obtain a distance map.
[0081] Taking the coordinate system within a warehouse as an example, the locations of both the terminal and the target container can be represented by three-dimensional coordinates (x, y, z). For example, if terminal A is currently at coordinate point (1, 2, 3), then this coordinate point can be used as the location information of terminal A. If container 1 is currently at coordinate point (4, 5, 6), then this coordinate point can be used as the location information of container 1.
[0082] In one example, in addition to obtaining location coordinates through the positioning system in the warehouse, sensors on the terminal, such as ultrasonic sensors, lidar, etc., can be used to measure the relative distance between the terminal and the surrounding environment and the target container to determine the location information; or by setting up a QR code landmark in the warehouse, the terminal scans the QR code to obtain its own location information, and determines the location information of the target container through the correspondence between the known container position and the QR code coordinates.
[0083] After obtaining the position information of each terminal and each target container, the distance between each terminal and each target container can be calculated based on the above position information to obtain a distance map. The distance map can represent the distances between Q terminals and P target containers. For example, taking the terminal as a robot, the distance map 403 can represent the distance L between robot 1 and target container 1. 11 , the distance L between robot 2 and target container 1 21 , ..., the distance L between robot Q and target container 1 Q1 , ..., the distance L between robot 1 and target container P 1P , the distance L between robot 2 and target container P 2P , ..., the distance L between the robot Q and the target container P QP . Q and P are both positive integers greater than 1.
[0084] In one example, in addition to using the Euclidean distance formula, the Manhattan distance formula can also be considered to calculate the distance between the terminal and the target container. This formula is suitable for situations where the warehouse layout is grid-like and the terminal can only move in specific directions. In another example, based on actual transportation route planning, the actual path length required for the terminal to reach the target container can be calculated as the distance value in the distance map to better reflect actual transportation costs.
[0085] According to an embodiment of the present invention, by real-time monitoring of changes in the warehouse scene, when a first predetermined update condition occurs, such as a congested area or a change in the transportation speed of the terminal, the location information of the relevant terminal and the target container is obtained in a timely manner, and an accurate distance mapping is constructed, which provides reliable basic data support for the subsequent re-optimization of task allocation according to the goal of minimizing global transportation costs, helps to improve the task scheduling flexibility and transportation efficiency of the automated warehouse management system in a dynamic environment, reduce transportation costs, ensure that orders can be processed and executed more quickly and effectively, and enhance the adaptability and reliability of the entire warehousing and logistics process.
[0086] According to an embodiment of the present invention, operation S220 may include the following operations: determining a candidate matching combination based on a distance mapping with minimizing global transportation cost as a first objective constraint, wherein the candidate matching combination includes candidate correspondences between multiple groups of terminals and transportation tasks corresponding to target containers; and in response to the candidate matching combination meeting a second predetermined update condition, determining the candidate matching combination as an updated matching combination.
[0087] Candidate matching combinations refer to a preliminary screening of possible matching combinations between different terminals and target container-corresponding transport tasks, based on factors such as the current distance mapping and target constraints. For example, one candidate matching combination is Terminal 1 transporting container A, and Terminal 2 transporting container B; another candidate matching combination is Terminal 1 transporting container B, and Terminal 2 transporting container A. Candidate correspondences refer to the specific associations between the transport tasks corresponding to each terminal and target container in a candidate matching combination. For example, in the aforementioned candidate matching combination 1, Terminal 1 corresponds to Container A, and Terminal 2 corresponds to Container B; in the second candidate matching combination, Terminal 1 corresponds to Container B, and Terminal 2 corresponds to Container A.
[0088] In one example, candidate matching combinations can be determined by minimizing global transportation costs as the core objective. Based on a known distance map, the Hungarian algorithm, genetic algorithm, or other algorithm can be used to search for possible candidate matching combinations. For example, a genetic algorithm can initialize multiple possible matching combinations (i.e., a population). Then, selection, crossover, and mutation operations are performed based on the global transportation cost fitness function. Through continuous iterative evolution, several sets of candidate matching combinations are ultimately obtained. These combinations are all matching combinations that, to a certain extent, minimize the global transportation cost.
[0089] In another example, candidate matching combinations can be determined by using a simulated annealing algorithm based on the distance map. By simulating a physical annealing process, the simulated annealing algorithm can accept some relatively optimal solutions with a certain probability when searching the solution space. This can potentially escape local optima and find candidate matching combinations that minimize global transportation costs.
[0090] It should be noted that the transport tasks that can participate in the adjustment may include tasks whose corresponding terminals are in the process of picking up boxes and tasks whose containers are assigned but not picked up boxes, but exclude terminals that have arrived at the target container coordinates.
[0091] After obtaining a candidate matching combination, it can be determined whether the candidate matching combination meets the second predetermined update condition. For example, if the candidate matching combination can reduce global transportation costs by more than 10% compared to the existing matching combination, it can be determined that it meets the second predetermined update condition. Alternatively, if the candidate matching combination can increase the priority of task completion, it can be determined that it meets the second predetermined update condition. Alternatively, if the candidate matching combination can effectively avoid congested areas in the current scenario, it can be determined that it meets the second predetermined update condition.
[0092] According to an embodiment of the present invention, the second predetermined update condition may include at least one of the following: the terminals correspond one-to-one to the containers; the relative distance between the terminals that need to be adjusted is less than a preset distance threshold; the priorities of the transport tasks in the candidate matching combination are all higher than the priorities of the unassigned transport tasks; the sum of the update cost and the penalty cost determined based on the candidate matching combination is less than the current cost corresponding to the current matching combination.
[0093] A one-to-one correspondence between terminals and containers means that a terminal is used to handle only one container's transport task at a time, and each container's transport task is assigned to only one terminal. For example, terminal A is associated with container 1, and terminal B is associated with container 2. A single terminal cannot simultaneously handle multiple containers, nor can a single container be transported by multiple terminals simultaneously.
[0094] In addition to checking the system's task allocation records to see if this correspondence exists between terminals and containers, another way to determine if this correspondence exists is to utilize a real-time terminal and container status monitoring system. This system can dynamically check during transportation whether each terminal is transporting only one container, and whether each container is being transported by only one terminal. For example, by installing sensors on the terminals and containers to monitor their connection status and transportation status in real time, this can be used to determine if this correspondence exists.
[0095] The relative distance between terminals that requires adjustment refers to the distance between the position of the terminal performing the transport task before the adjustment and the position of the terminal performing the transport task after the adjustment, for any transport task requiring adjustment. For example, if terminals A and B are currently assigned transport tasks, and the relative distance between them is less than a preset distance threshold (e.g., 3 meters).
[0096] In addition to calculating the relative distance through location information, the method of determining whether the relative distance is less than the preset threshold can also use sensors such as lidar and millimeter-wave radar on the terminal to directly measure the actual distance to other terminals, thereby more accurately and in real time determining whether the relative distance is less than the preset threshold.
[0097] Prioritizing transport tasks means that high-priority transport tasks are assigned to terminals first, while lower-priority transport tasks are assigned to terminals later. For example, transport tasks for urgent orders (such as those requiring delivery within 24 hours) are assigned a higher priority. When assigning terminals, these high-priority tasks are prioritized to the appropriate terminals to ensure that these urgent orders are processed and executed as quickly as possible.
[0098] In addition to directly allocating terminals according to priority, the allocation method of transportation tasks can also adopt a priority queue mechanism, placing high-priority transportation tasks into a high-priority queue, and allocating terminals to tasks from the high-priority queue first. In the allocation process, other factors (such as terminal location, task urgency, etc.) can be comprehensively considered to achieve more reasonable priority matching.
[0099] The update cost refers to the cost of switching from the current matching combination to the candidate matching combination, including the costs of replanning routes and adjusting terminal tasks. The penalty cost is a fixed cost set to prevent frequent switching of matching combinations. The current cost refers to the total cost required to complete all transportation tasks under the current matching combination, including the comprehensive cost converted from transportation distance, time, energy consumption, etc. For example, the update cost may be 10 units and the penalty cost is set to 5 units, and their sum is 15 units; under the current matching combination, the total cost for all terminals to complete their respective transportation tasks is 10 units, then the sum of the update cost and penalty cost is less than the current cost.
[0100] In addition to directly comparing the sum of the update cost and the penalty cost with the current cost according to a preset cost calculation model, a machine learning algorithm can also be introduced to dynamically adjust the parameters of the cost calculation model by learning from historical task data and cost data, thereby more accurately calculating the update cost, penalty cost, and current cost, and comparing them to determine whether the second predetermined update condition is met. In a specific embodiment, the second predetermined update condition can be shown as the following formula (2).
[0101] (2);
[0102] in, Characterize the update cost, Characterize the penalty cost, Represents the current cost. It should be noted that the penalty cost can be a fixed value to prevent frequent exchanges.
[0103] According to an embodiment of the present invention, by setting a second predetermined update condition, when one of these conditions is met, the matching combination can be updated in a timely and reasonable manner, thereby optimizing task allocation, improving transportation efficiency, reducing transportation costs, and improving the operating efficiency and adaptability of the entire warehousing system, ensuring that orders can be processed and transported efficiently and accurately, thereby being able to comprehensively and flexibly respond to various situations that may arise in the automated warehousing management system to meet customer needs.
[0104] According to an embodiment of the present invention, with minimizing global transportation costs as the core goal, it is possible to efficiently determine reasonable candidate matching combinations based on distance mapping, and accurately screen out the optimal updated matching combination based on the second predetermined update condition, thereby ensuring that in the automated warehouse management system, task allocation is more scientific and efficient, effectively reducing transportation costs, improving the overall operating efficiency of the system, better coping with dynamic changes in the warehouse environment, ensuring the timeliness and accuracy of order processing, and enhancing the competitiveness and adaptability of the warehousing and logistics system.
[0105] Figure 5 An example schematic diagram of a task allocation process is shown in the case where the adjustment type of the transport task is a task interchange type according to an embodiment of the present invention.
[0106] like Figure 5 As shown, in example 500 of the task assignment process, when the adjustment type of the transport task is a task interchange type, one set of first correspondences includes a first terminal 511 and a first task corresponding to a first container 512, another set of first correspondences includes a second terminal 521 and a second task corresponding to a second container 522, another set of second correspondences includes the first terminal 511 and the second task corresponding to the second container 522, and another set of second correspondences also includes the second terminal 521 and the first task corresponding to the first container 512. In an embodiment of the present invention, operation S230 may include the following operations: canceling the first task currently being executed by the first terminal 511 and the second task currently being executed by the second terminal 521; and assigning the second task to the first terminal 511 and the first task to the second terminal 521, so that the first terminal 511 transports the second container 522 by executing the second task, and the second terminal 521 transports the first container 512 by executing the first task.
[0107] The task swap type refers to swapping tasks originally assigned to different terminals during the transport task adjustment process. For example, the current matching combination includes a set of first correspondences indicating that the first terminal 511 is currently assigned to perform the first task corresponding to the first container 512, and another set of first correspondences indicating that the second terminal 521 is currently assigned to perform the second task corresponding to the second container 522. The updated matching combination includes a set of second correspondences indicating that the first terminal 511 is now assigned to perform the second task corresponding to the second container 522, and another set of second correspondences indicating that the second terminal 521 is now assigned to perform the first task corresponding to the first container 512.
[0108] For transport task adjustments involving task swaps, the transport tasks requiring adjustment can be identified by comparing the first correspondences before the task swap with the second correspondences after the task swap. The transport tasks that have changed are identified as the ones requiring adjustment. For example, in the scenario above, the execution terminals for both the first and second tasks have changed, so these are the transport tasks requiring adjustment.
[0109] After determining the transport task that needs to be adjusted, the transport task currently being executed by the corresponding terminal can be canceled and the updated task assigned to the corresponding terminal. For example, in the above scenario, the first task originally executed by the first terminal 511 is canceled and the second task is assigned to the first terminal 511, so that the first terminal 511 can transport the second container 522 by executing the second task; the second task originally executed by the second terminal 521 is canceled and the first task is assigned to the second terminal 521, so that the second terminal 521 can transport the first container 512 by executing the first task.
[0110] In addition to direct server-based reassignment, tasks can also be allocated through a negotiation mechanism between terminals. For example, two adjacent terminals can autonomously negotiate whether to swap tasks based on their current tasks and surrounding conditions. The negotiation results are then reported to the system control center, which then reviews and implements the new task assignment.
[0111] According to an embodiment of the present invention, in the case of task interchange type, by reasonably reallocating tasks, tasks can be reallocated to more suitable terminals to avoid affecting the entire transportation process due to obstruction of a single terminal, so that the terminals can transport containers more efficiently, optimize transportation routes, reduce transportation costs, improve the operating efficiency and flexibility of the entire warehousing system, better adapt to the dynamic changes in the warehouse environment, flexibly respond to the transportation task adjustment needs in the automated warehousing management system, and improve the speed and quality of order processing.
[0112] Figure 6 An example schematic diagram of a task allocation process is shown in the case where the adjustment type of a transport task is a newly added terminal type according to an embodiment of the present invention.
[0113] like Figure 6 As shown, in the task allocation process 600 of the newly added terminal type, when the adjustment type of the transportation task is the newly added terminal type, the first corresponding relationship includes the first terminal 511 and the first task corresponding to the first container 512, and the second corresponding relationship includes the second terminal 521 and the first task.
[0114] In an embodiment of the present invention, operation S230 may include the following operations: canceling the first task currently executed by the first terminal 511 and updating the state of the first terminal 511 to an idle state; assigning the first task to the second terminal 521 in an idle state, so that the second terminal 521 transports the first container 512 by executing the first task, and updating the state of the second terminal 521 to an occupied state.
[0115] A newly added terminal type refers to the reassignment of a task originally assigned to a terminal to a newly added terminal during the transport task adjustment process. For example, the first correspondence included in the current matching combination indicates that the first terminal 511 is currently assigned to perform the first task corresponding to the first container 512, while the second correspondence included in the updated matching combination indicates that the second terminal 521 is now assigned to perform the first task corresponding to the first container 512.
[0116] The terminal's status can be either idle or occupied. Idle means the terminal has not been assigned any transport tasks and is ready to accept new task instructions. Occupied means that once a transport task is assigned to the terminal, its status changes to occupied, indicating that the task is being executed.
[0117] In one embodiment, after the transport task that needs to be adjusted is determined, the transport task that needs to be adjusted currently being executed by the corresponding terminal may be canceled, and the state of the first terminal 511 may be updated to an idle state.
[0118] For example, the server can send a command to first terminal 511 to cancel the first task of transporting first container 512. Upon receiving the command, first terminal 511 ceases execution of the first task and updates its status to idle, indicating that it is ready to accept new task instructions. Alternatively, a communication mechanism can be established between terminals, whereby other nearby terminals or a dedicated task scheduling terminal transmit the task cancellation information to first terminal 511. For example, upon learning that it has been assigned a new task, second terminal 521 proactively sends a task handover signal to first terminal 511, prompting first terminal 511 to cancel the current task and update its status.
[0119] In another embodiment, when no terminal is assigned to the first task, the first task can be assigned to the second terminal 521 in an idle state, so that the second terminal 521 can transport the first container 512 by performing the first task, and the state of the second terminal 521 is updated to an occupied state.
[0120] For example, the first task of transporting the first container 512 is assigned to the idle second terminal 521. After receiving the task, the second terminal 521 begins carrying out the task and updates its status to occupied, indicating that it is currently executing the task. Alternatively, a task bidding mechanism can be implemented, whereby task information for the first task is published on the terminal network. Idle terminals can then independently decide whether to bid for the task based on factors such as their location and energy status. Once the second terminal 521 successfully bids for transporting the first container, the system officially assigns the first task to it and updates its status to occupied.
[0121] According to an embodiment of the present invention, when the transport task is adjusted to a newly added terminal type, by promptly canceling the task of the first terminal and updating its status to an idle state, and at the same time reasonably allocating the task to the second terminal in an idle state and updating its status to an occupied state, problems such as transport delays and energy waste caused by unreasonable terminal task allocation can be avoided, and the idle terminals in the system can be fully utilized to improve the efficiency and flexibility of task execution.
[0122] Figure 7 An example schematic diagram of a task allocation process according to an embodiment of the present invention is shown when the adjustment type of the transport task is a newly added high priority type and there is a second terminal in an idle state.
[0123] like Figure 7 As shown, in embodiment 700 where the adjustment type of the transport task is a newly added high priority type and there is a second terminal 521 in an idle state, the first corresponding relationship includes the first terminal 511 and the first task corresponding to the first container 512, and the second corresponding relationship includes the first terminal 511 and the second task corresponding to the second container 522, and the second terminal 521 and the first task corresponding to the first container 512.
[0124] In an embodiment of the present invention, the first task currently executed by the first terminal 511 is canceled, and the state of the first terminal 511 is updated to an idle state; if there is a second terminal 521 in an idle state, the first task is assigned to the second terminal 521, and the state of the second terminal 521 is updated to an occupied state, so that the second terminal 521 can transport the first container 512 by executing the first task; the second task is assigned to the first terminal 511, so that the first terminal 511 can transport the second container 522 by executing the second task, and the state of the first terminal 511 is updated to an occupied state.
[0125] The newly added high-priority type refers to when, during the execution of a transport task, a high-priority task (such as a transport task for a rush order) is detected and requires prioritization, the current task allocation needs to be adjusted to reallocate resources to the high-priority task. For example, a set of first correspondences included in the current matching combination indicates that the first terminal 511 is currently assigned to execute the first task corresponding to the first container 512, another set of first correspondences indicates that the second task has a higher priority than the first task, and a set of second correspondences included in the updated matching combination indicates that the first terminal 511 is now assigned to execute the second task corresponding to the second container 522.
[0126] In one embodiment, when a high-priority task is detected requiring processing, the first task currently being executed by first terminal 511 can be canceled and the terminal's status set to idle, allowing it to accept a new high-priority task. For example, if it is detected that the second task corresponding to an urgent order has a higher priority than the first task of transporting first container 512 currently being executed by first terminal 511, a cancel task instruction can be sent to first terminal 511. Upon receiving the instruction, first terminal 511 will cease executing the first task of transporting first container 512 and update its status to idle. Simultaneously, a high-priority second task can be assigned to first terminal 511, and the terminal's status set to occupied, allowing it to begin executing the new second task.
[0127] For the first task, it can be checked whether other terminals are idle. If so, the original first task can be assigned to the idle second terminal 521. Second terminal 521 is an idle terminal that can be assigned a new task. Its status is set to occupied, allowing it to begin performing the transport task. For example, a task bidding mechanism can be implemented. Idle terminals can autonomously decide whether to bid for the task based on their own status (such as location and energy). The task is then assigned to the most suitable terminal, and its status is updated.
[0128] Figure 8 An example schematic diagram of a task allocation process according to an embodiment of the present invention is shown when the adjustment type of the transport task is a newly added high priority type and there is no second terminal in an idle state.
[0129] like Figure 8 As shown, in embodiment 800 where the adjustment type of the transport task is a newly added high priority type and there is no second terminal in an idle state, the first correspondence includes the first terminal 511 and the first task corresponding to the first container 512, and the second correspondence includes the first terminal 511 and the second task corresponding to the second container 522.
[0130] In an embodiment of the present invention, the first task currently executed by the first terminal 511 is canceled, and the state of the first terminal 511 is updated to an idle state; if there is no second terminal in an idle state, the state of the first task is updated to a pending assignment state; the second task is assigned to the first terminal 511, so that the first terminal 511 transports the second container 522 by executing the second task, and the state of the first terminal 511 is updated to an occupied state.
[0131] For the first task, you can check whether other terminals are idle. If not, you can wait for or adjust other task assignments, waiting for a second terminal to become idle before executing the task. The pending task state means that the task has not yet been assigned to any terminal and is awaiting assignment. Alternatively, you can place pending tasks in a task queue, awaiting further processing. For example, pending tasks can be added to a task scheduling queue, sorted by priority or task type, and assigned when a second terminal becomes idle.
[0132] According to an embodiment of the present invention, when the adjustment type of the transport task is a newly added high-priority type, the overall transport efficiency is improved through reasonable task allocation and status management, delays or confusion caused by improper task priority processing are avoided, and adaptability to dynamic changes is enhanced, ensuring that orders can be processed and transported efficiently and accurately, which can effectively improve the flexibility of task scheduling and priority processing capabilities.
[0133] According to an embodiment of the present invention, when there are no idle second terminals, tasks are updated to a pending state, enabling efficient task management and preventing task loss or delayed processing. When an idle second terminal is present, tasks are promptly assigned and the terminal status updated, ensuring rapid task execution and improving overall transportation efficiency. This enhances adaptability to dynamic changes, ensuring efficient and accurate order processing and transportation, and effectively improving the task scheduling flexibility and resource utilization of the warehouse management system.
[0134] The above are only exemplary embodiments, but are not limited thereto. Other task allocation methods known in the art may also be included, as long as reasonable task allocation decisions can be made in a timely manner when the warehouse environment changes, task priorities change, etc.
[0135] Based on the above task allocation method, the present invention also provides a task allocation device. Figure 9 The device is described in detail.
[0136] Figure 9 A block diagram of a task allocation device according to an embodiment of the present invention is shown.
[0137] like Figure 9As shown, the task allocating device 900 may include a first determining module 910 , a second determining module 920 and a first allocating module 930 .
[0138] A first determination module 910 is configured to determine a distance mapping based on a current matching combination, wherein the current matching combination includes a first correspondence between multiple groups of terminals and transportation tasks corresponding to target containers, the terminals transporting the target containers by executing the transportation tasks, and the distance mapping includes a distance between each terminal and each target container.
[0139] The second determination module 920 is configured to re-determine an updated matching combination based on the distance mapping with minimization of global transportation cost as the first objective constraint, wherein the updated matching combination includes a second correspondence between multiple groups of terminals and transportation tasks corresponding to the target container.
[0140] The first allocation module 930 is configured to allocate the transport tasks that need to be adjusted, determined based on the first correspondences and the second correspondences, to corresponding terminals, so that the terminals execute the transport tasks.
[0141] According to an embodiment of the present invention, the first determining module 910 may include an acquiring unit and a first determining unit.
[0142] An acquisition unit is configured to acquire location information of the terminal and the target container in each first correspondence in response to the current scene meeting a first predetermined update condition, thereby obtaining multiple location information, wherein the first predetermined update condition includes at least one of the following: the existence of a congested area in the current scene and a change in the transportation speed of the terminal.
[0143] The first determining unit is configured to determine the distance between each terminal and each target container according to the plurality of position information to obtain a distance map.
[0144] According to an embodiment of the present invention, the second determining module 920 may include a second determining unit and a third determining unit.
[0145] The second determining unit is configured to determine a candidate matching combination based on the distance mapping with minimizing the global transportation cost as the first objective constraint, wherein the candidate matching combination includes candidate correspondences between multiple groups of terminals and transportation tasks corresponding to the target container.
[0146] The third determining unit is configured to determine the candidate matching combination as an updated matching combination in response to the candidate matching combination meeting a second predetermined update condition.
[0147] According to an embodiment of the present invention, the second predetermined update condition includes at least one of the following: a one-to-one correspondence between terminals and target containers; a relative distance between at least two terminals that need to be adjusted is less than a preset distance threshold; terminals with high priority are preferentially assigned to transport tasks; and a sum of an update cost and a penalty cost determined based on a candidate matching combination is less than a current cost corresponding to the current matching combination.
[0148] According to an embodiment of the present invention, when the adjustment type of the transport task is a task interchange type, the first correspondence includes the first terminal and the first task corresponding to the first container, the second terminal and the second task corresponding to the second container, and the second correspondence includes the first terminal and the second task, the second terminal and the first task.
[0149] According to an embodiment of the present invention, the first allocation module 930 may include a first canceling unit and a first allocating unit.
[0150] The first canceling unit is configured to cancel a first task currently being executed by the first terminal and a second task currently being executed by the second terminal.
[0151] The first allocation unit is configured to allocate the second task to the first terminal and the first task to the second terminal, so that the first terminal transports the second container by performing the second task and the second terminal transports the first container by performing the first task.
[0152] According to an embodiment of the present invention, when the adjustment type of the transport task is a newly added terminal type, the first correspondence includes the first terminal and the first task corresponding to the first container, and the second correspondence includes the second terminal and the first task.
[0153] According to an embodiment of the present invention, the first allocation module 930 may further include a second cancellation unit and a second allocation unit.
[0154] The second canceling unit is configured to cancel the first task currently being executed by the first terminal and update the state of the first terminal to an idle state.
[0155] The second allocating unit is configured to allocate the first task to the second terminal in an idle state, so that the second terminal transports the first container by performing the first task, and update the state of the second terminal to an occupied state.
[0156] According to an embodiment of the present invention, when the adjustment type of the transport task is a newly added high priority type, the first correspondence includes the first terminal and the first task corresponding to the first container, and the second correspondence includes the first terminal and the second task corresponding to the second container.
[0157] According to an embodiment of the present invention, the first allocating module 930 may further include a third canceling unit, a fourth determining unit, and a third allocating unit.
[0158] The third canceling unit is configured to cancel the first task currently being executed by the first terminal and update the state of the first terminal to an idle state.
[0159] The fourth determining unit is configured to determine an allocation method for the first task according to whether there is a terminal in an idle state.
[0160] The third allocation unit is configured to allocate the second task to the first terminal, so that the first terminal transports the second container by performing the second task, and update the state of the first terminal to an occupied state.
[0161] According to an embodiment of the present invention, the fourth determining unit may include an updating subunit and an allocating subunit.
[0162] The updating subunit is configured to update the state of the first task to a to-be-assigned state when there is no second terminal in an idle state.
[0163] The allocation subunit is configured to allocate the first task to the second terminal when there is an idle second terminal, and update the state of the second terminal to an occupied state, so that the second terminal can transport the first container by performing the first task.
[0164] According to an embodiment of the present invention, the task allocating apparatus 900 may include a third determining module and a first generating module.
[0165] The third determining module is configured to, in response to receiving an order request, determine a target container for accommodating the commodity corresponding to the commodity information from a plurality of candidate containers according to the commodity information indicated in the order request.
[0166] The first generating module is configured to generate a transport task for transporting the target container according to the container information corresponding to the target container and the priority information corresponding to the order request.
[0167] According to an embodiment of the present invention, the task allocating device 900 may include a second generating module and a second allocating module.
[0168] The second generation module is used to generate a current matching combination based on the terminal information of each of the plurality of transportation tasks and the plurality of terminals in an idle state, taking minimization of the global transportation cost as the second objective constraint.
[0169] The second allocation module is configured to allocate the transport task to the corresponding terminal based on each first corresponding relationship, so that the terminal transports the target container by executing the transport task.
[0170] Any number of the modules, submodules, units, and subunits according to embodiments of the present invention, or at least part of the functionality of any number of these units, can be implemented in a single module. Any one or more of the modules, submodules, units, and subunits according to embodiments of the present invention can be split into multiple modules for implementation. Any one or more of the modules, submodules, units, and subunits according to embodiments of the present invention can be at least partially implemented as a hardware circuit, such as a field programmable gate array (FPGA), a programmable logic array (PLA), a system on a chip, a system on a substrate, a system on a package, an application-specific integrated circuit (ASIC), or can be implemented in hardware or firmware using any other reasonable method of circuit integration or packaging, or can be implemented in any one of the three implementation methods of software, hardware, and firmware, or any appropriate combination of any of these. Alternatively, one or more of the modules, submodules, units, and subunits according to embodiments of the present invention can be at least partially implemented as a computer program module that, when executed, can perform the corresponding functionality.
[0171] It should be noted that the task allocation device part in the embodiment of the present invention corresponds to the task allocation method part in the embodiment of the present invention. The description of the task allocation device part is specifically referred to the task allocation method part, which will not be repeated here.
[0172] Figure 10 A block diagram of an electronic device suitable for implementing a task allocation method according to an embodiment of the present invention is shown. Figure 10 The electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present invention.
[0173] like Figure 10 As shown, a computer electronic device 1000 according to an embodiment of the present invention includes a processor 1001, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 1002 or a program loaded from a storage portion 1009 into a random access memory (RAM) 1003. The processor 1001 may include, for example, a general-purpose microprocessor (e.g., a CPU), an instruction set processor and / or a related chipset and / or a special-purpose microprocessor (e.g., an application-specific integrated circuit (ASIC)), etc. The processor 1001 may also include onboard memory for caching purposes. The processor 1001 may include a single processing unit or multiple processing units for performing different actions of the method flow according to an embodiment of the present invention.
[0174] In the RAM 1003, various programs and data required for the operation of the electronic device 1000 are stored. The processor 1001, the ROM 1002, and the RAM 1003 are connected to each other via a bus 1004.
[0175] According to an embodiment of the present invention, electronic device 1000 may further include an input / output (I / O) interface 1005, which is also connected to bus 1004. Electronic device 1000 may also include one or more of the following components connected to I / O interface 1005: an input section 1006 including a keyboard, mouse, etc.; an output section 1007 including devices such as a cathode ray tube (CRT), liquid crystal display (LCD), and speakers; a storage section 1008 including a hard disk; and a communication section 1009 including a network interface card such as a LAN card or modem. Communication section 1009 performs communication processing via a network such as the Internet. A drive 1010 is also connected to I / O interface 1005 as needed. Removable media 1011, such as a magnetic disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed in drive 1010 as needed, so that computer programs read from the removable media can be installed into storage section 1008 as needed.
[0176] The present invention also provides a computer-readable storage medium, which may be included in the device / apparatus / system described in the above embodiments, or may exist independently and not incorporated into the device / apparatus / system. The computer-readable storage medium carries one or more programs, which, when executed, implement the task allocation method according to the embodiments of the present invention.
[0177] In the present invention, a computer-readable storage medium may be any tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
[0178] An embodiment of the present invention also includes a computer program product, which includes a computer program, which contains program code for executing the method provided by the embodiment of the present invention. When the computer program product runs on an electronic device, the program code is used to enable the electronic device to implement the task allocation method provided by the embodiment of the present invention.
[0179] When the computer program is executed by the processor 1001, the above functions defined in the system / device of the embodiment of the present invention are performed. According to the embodiment of the present invention, the above-described systems, devices, modules, units, etc. can be implemented by computer program modules.
[0180] According to the embodiments of the present invention, program codes for executing the computer programs provided by the embodiments of the present invention may be written in any combination of one or more programming languages.
[0181] The flowcharts and block diagrams in the accompanying drawings illustrate the possible architecture, functions, and operations of the systems, methods, and computer program products according to various embodiments of the present invention. It should also be noted that in some alternative implementations, the functions marked in the blocks may occur in a different order than that marked in the accompanying drawings.
[0182] The embodiments of the present invention have been described above. However, these embodiments are for illustrative purposes only and are not intended to limit the scope of the present invention. Although each embodiment has been described separately above, this does not mean that the measures in each embodiment cannot be advantageously used in combination. The scope of the present invention is defined by the accompanying embodiments and their equivalents. Without departing from the scope of the present invention, those skilled in the art may make various substitutions and modifications, which should all fall within the scope of the present invention.
Claims
1. A task allocation method, characterized in that: The method comprises: Determining a distance map based on a current matching combination, wherein the current matching combination includes a first correspondence between a plurality of groups of terminals and transportation tasks corresponding to target containers, the terminals transporting the target containers by executing the transportation tasks, and the distance map including a distance between each of the terminals and each of the target containers; Taking minimization of global transportation cost as a first objective constraint, re-determining an updated matching combination according to the distance map, wherein the updated matching combination includes a second correspondence between multiple groups of the terminals and the transportation tasks corresponding to the target containers; and The transportation tasks that need to be adjusted, which are determined based on the first corresponding relationships and the second corresponding relationships, are allocated to corresponding terminals, so that the terminals perform the transportation tasks.
2. The method according to claim 1, characterized in that Determining the distance mapping according to the current matching combination includes: In response to the current scene meeting a first predetermined update condition, acquiring location information of the terminal and the target container in each of the first corresponding relationships to obtain a plurality of location information, wherein the first predetermined update condition includes at least one of the following: the existence of a congested area in the current scene and a change in the transportation speed of the terminal; and The distance between each of the terminals and each of the target containers is determined according to the plurality of position information to obtain the distance map.
3. The method according to claim 1, characterized in that The method of minimizing the global transportation cost as the first objective constraint and re-determining the updated matching combination according to the distance matrix includes: Determining, based on the distance map, candidate matching combinations with minimization of global transportation cost as the first objective constraint, wherein the candidate matching combinations include candidate correspondences between multiple groups of the terminals and transportation tasks corresponding to the target containers; and In response to the candidate matching combination meeting a second predetermined update condition, the candidate matching combination is determined as the updated matching combination.
4. The method according to claim 3, characterized in that The second predetermined update condition includes at least one of the following: The terminals correspond to the target containers in a one-to-one manner; The relative distance between at least two terminals that need to be adjusted is less than a preset distance threshold; The priority of each of the transport tasks in the candidate matching combination is higher than the priority of the unassigned transport tasks; as well as A sum of an update cost and a penalty cost determined based on the candidate matching combination is less than a current cost corresponding to the current matching combination.
5. The method according to any one of claims 1 to 4, characterized in that When the adjustment type of the transport task is a task interchange type, the first correspondence includes the first terminal and the first task corresponding to the first container, and the second terminal and the second task corresponding to the second container; the second correspondence includes the first terminal and the second task, and the second terminal and the first task; The allocating the transport tasks that need to be adjusted, determined based on the first corresponding relationships and the second corresponding relationships, to the corresponding terminals includes: canceling the first task currently executed by the first terminal and the second task currently executed by the second terminal; as well as The second task is assigned to the first terminal, and the first task is assigned to the second terminal, so that the first terminal transports the second container by performing the second task, and the second terminal transports the first container by performing the first task.
6. The method according to any one of claims 1 to 4, characterized in that In the case where the adjustment type of the transport task is a newly added terminal type, the first correspondence includes the first terminal and the first task corresponding to the first container, and the second correspondence includes the second terminal and the first task; The allocating the transport tasks that need to be adjusted, determined based on the first corresponding relationships and the second corresponding relationships, to the corresponding terminals includes: canceling the first task currently being executed by the first terminal, and updating the state of the first terminal to an idle state; as well as The first task is assigned to a second terminal in an idle state, so that the second terminal transports the first container by performing the first task, and the state of the second terminal is updated to an occupied state.
7. The method according to any one of claims 1 to 4, characterized in that When the adjustment type of the transport task is a newly added high priority type, the first correspondence includes a first terminal and a first task corresponding to a first container, and the second correspondence includes the first terminal and a second task corresponding to a second container. The allocating the transport tasks that need to be adjusted, determined based on the first corresponding relationships and the second corresponding relationships, to the corresponding terminals includes: canceling the first task currently being executed by the first terminal, and updating the state of the first terminal to an idle state; determining an allocation method for the first task according to whether there is a terminal in an idle state; and The second task is assigned to the first terminal, so that the first terminal transports the second container by performing the second task, and the state of the first terminal is updated to an occupied state.
8. The method according to claim 7, characterized in that The determining, according to whether there is an idle terminal, an allocation method for the first task, includes: In the case that there is no second terminal in the idle state, updating the state of the first task to a pending assignment state; or In a case where there is a second terminal in an idle state, the first task is assigned to the second terminal, and the state of the second terminal is updated to an occupied state, so that the second terminal transports the first container by performing the first task.
9. The method according to any one of claims 1 to 4, characterized in that The method further includes, before determining the distance mapping according to the current matching combination: In response to receiving an order request, determining, based on product information indicated in the order request, a target container for accommodating the product corresponding to the product information from among a plurality of candidate containers; as well as A transport task for transporting the target container is generated according to the container information corresponding to the target container and the priority information corresponding to the order request.
10. The method according to claim 9, characterized in that The method further comprises: Taking minimization of global transportation cost as a second objective constraint, generating the current matching combination according to the plurality of transportation tasks and the terminal information of each of the plurality of terminals in an idle state; and Based on each of the first corresponding relationships, the transport task is assigned to a corresponding terminal, so that the terminal transports the target container by executing the transport task.
11. A task allocation device, characterized in that: The device comprises: a first determining module configured to determine a distance mapping based on a current matching combination, wherein the current matching combination includes a first correspondence between a plurality of groups of terminals and transportation tasks corresponding to target containers, the terminals transporting the target containers by executing the transportation tasks, and the distance mapping includes a distance between each of the terminals and each of the target containers; a second determining module, configured to redetermine an updated matching combination based on the distance map, taking minimization of global transportation cost as a first objective constraint, wherein the updated matching combination includes a second correspondence between a plurality of groups of the terminals and transportation tasks corresponding to the target container; and The first allocation module is configured to allocate the transport tasks that need to be adjusted, which are determined based on the first corresponding relationships and the second corresponding relationships, to corresponding terminals, so that the terminals execute the transport tasks.
12. An electronic device comprising: one or more processors; a memory for storing one or more computer programs, It is characterized in that the one or more processors execute the one or more computer programs to implement the steps of the method according to any one of claims 1 to 10.
13. A computer-readable storage medium having a computer program or instruction stored thereon, characterized in that: When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
14. A computer program product comprising a computer program or instructions, characterized in that When the computer program or instruction is executed by a processor, the steps of the method according to any one of claims 1 to 10 are implemented.
Citation Information
Patent Citations
Task scheduling method and device, electronic equipment and storage medium
CN117762583A
Transportation task allocation method and system
CN118278667A
Task scheduling method of robot and related equipment
CN119575896A
Task scheduling method and device, electronic equipment and storage medium
CN120123052A