Method, device and computer-readable medium for allocating picking tasks

By obtaining and assigning priority to picking tasks, the problem of emergency tasks cannot be prioritized in the prior art is solved, efficient allocation of picking tasks is achieved, and the risk of timeout out-of-time out-of-warehouse outage is reduced.

CN113762664BActive Publication Date: 2024-12-13BEIJING JINGDONG QIANSHITECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202010575943.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-06-22
Publication Date
2024-12-13
Estimated Expiration
2040-06-22

AI Technical Summary

Technical Problem

The existing picking task allocation method cannot take into account both manual and machine picking modes, resulting in the inability to prioritize emergency tasks, and there is a risk of timeout out of the warehouse.

Method used

Ensure emergency tasks priority by obtaining the set of unprocessed picking tasks in the task pool, prioritize each task, and assign tasks to idle picking robots or manual pickers based on priority and preset classification rules, ensuring that emergency tasks are prioritized by .

Benefits of technology

The priority allocation of picking tasks is realized, reducing the risk of timeout out-of-deployment and improving picking efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113762664B_ABST
    Figure CN113762664B_ABST
Patent Text Reader

Abstract

The present invention discloses a method, device and computer-readable medium for allocating picking tasks, and relates to the field of logistics technology. A specific implementation of the method for allocating picking tasks includes: when there are unprocessed picking tasks in the task pool, and there are idle picking robots and / or manual pickers, obtaining a set corresponding to all unprocessed picking tasks in the task pool; determining the priority of each picking task in the set; according to the priority of each picking task in the set, determining the allocation relationship of each picking task in the set in turn, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and the idle picking robot or manual picker; according to the allocation relationship of each picking task in the set in turn, allocating each picking task to the corresponding picking robot or manual picker. This implementation can allocate picking tasks according to the priority of the picking tasks, ensure that urgent tasks can be processed first, and reduce the risk of overtime delivery.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of logistics technology, and in particular to a method and device for allocating picking tasks and a computer-readable medium. Background Art

[0002] Generally, picking tasks can be performed in manual picking mode or machine picking mode. However, the existing allocation method cannot take into account both manual picking mode and machine picking mode, and cannot guarantee that urgent tasks are given priority, resulting in the risk of overtime delivery. Summary of the invention

[0003] In view of this, an embodiment of the present invention provides a method, device and computer-readable medium for allocating picking tasks, which can solve the problem of overtime delivery caused by the inability of existing allocation methods to give priority to urgent tasks.

[0004] To achieve the above objective, according to one aspect of an embodiment of the present invention, a method for allocating picking tasks is provided.

[0005] The method for allocating picking tasks in an embodiment of the present invention includes:

[0006] When there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers, obtain a set corresponding to all unprocessed picking tasks in the task pool;

[0007] Determining a priority for each picking task in the set;

[0008] Determining the allocation relationship of each picking task in the set in sequence according to the priority of each picking task in the set, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker;

[0009] According to the allocation relationship of each picking task in the set, each picking task is allocated to the corresponding picking robot or manual picker.

[0010] Optionally, determining the priority of each picking task in the set includes:

[0011] Calculate the time difference m between the current time and the latest outbound time of the i-th picking task in the set i , where i represents the number of each picking task in the set, i≥1 and i is an integer;

[0012] According to the time difference m i , determine the selection cost c of the i-th picking task i ; The selection cost c irepresents the priority of the i-th picking task. The lower the selection cost, the higher the corresponding priority.

[0013] Optionally, the time difference m i , determine the selection cost c of the i-th picking task i ,include:

[0014] The time difference m i Substitute the following formula to determine the selection cost c of the i-th picking task in the set: i

[0015] If m i ≥P, then c i =1;

[0016] If m i <P, then

[0017] Wherein, P represents the time threshold of the emergency task, and P>0.

[0018] Optionally, before or after the step of determining the priority of each picking task in the set, the method further comprises:

[0019] According to preset classification rules, each picking task in the set is classified into a first set and a second set respectively, the picking tasks of the first set are picking tasks suitable for sorting by a picking robot, and the picking tasks of the second set are picking tasks suitable for sorting by a manual picker.

[0020] Optionally, determining the allocation relationship of each picking task in the set in sequence according to the priority of each picking task in the set includes:

[0021] Obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers;

[0022] The allocation relationship of each picking task is determined according to the selection cost of each picking task, the first set, the second set, the third set, and the fourth set.

[0023] Optionally, determining the allocation relationship of each picking task according to the selection cost of each picking task, the first set, the second set, the third set, and the fourth set includes:

[0024] Determine an objective function according to the selection cost of each picking task, the first set, the second set, the third set and the fourth set, wherein the objective function is used to determine the minimum sum of selection costs obtained by respectively allocating each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set;

[0025] The objective function is solved with the preset allocation rules as constraints, and the solution of the objective function is used to represent the allocation relationship of each picking task.

[0026] Optionally, the preset allocation rule includes:

[0027] 1) A picking task in the first set is assigned to at most one picking robot or one manual picker;

[0028] 2) One picking task in the second set is assigned to at most one picking robot or one manual picker;

[0029] 3) A picking robot can receive at most one picking task at a time;

[0030] 4) A manual picker can receive at most one picking task at a time;

[0031] 5) The number of task matches of the picking robot is greater than or equal to the minimum matching number K1, where the minimum matching number K1 represents the smaller number of the total number of picking tasks and the number of picking robots;

[0032] 6) The number of task matches for manual pickers is greater than or equal to the minimum matching number K2, where the minimum matching number K2 represents the smaller number of the total number of picking tasks remaining after the picking robots are assigned and the number of manual pickers.

[0033] Optionally, allocating each picking task to a corresponding picking robot or manual picker according to the allocation relationship of each picking task in the set in turn includes:

[0034] Determine whether there is a picking task in the first set;

[0035] If there are picking tasks in the first set, assigning each picking task in the first set to a corresponding picking robot in turn according to the assignment relationship and priority corresponding to each picking task in the first set;

[0036] If there is no picking task in the first set, determining whether there is a picking task in the second set;

[0037] If there are picking tasks in the second set, each picking task in the second set is sequentially assigned to a corresponding manual picker according to the assignment relationship and priority corresponding to each picking task in the second set.

[0038] To achieve the above objective, according to another aspect of an embodiment of the present invention, a device for allocating picking tasks is provided.

[0039] The device for allocating picking tasks according to the embodiment of the present invention comprises:

[0040] An acquisition module, used for acquiring a set corresponding to all unprocessed picking tasks in the task pool when there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers;

[0041] A first determination module, used to determine the priority of each picking task in the set;

[0042] A second determination module is used to determine the allocation relationship of each picking task in the set in turn according to the priority of each picking task in the set, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker;

[0043] The allocation module is used to allocate each picking task to a corresponding picking robot or manual picker in turn according to the allocation relationship of each picking task in the set.

[0044] To achieve the above objective, according to another aspect of an embodiment of the present invention, a device for allocating picking tasks is provided.

[0045] The device for allocating picking tasks according to the embodiment of the present invention comprises:

[0046] one or more processors;

[0047] a storage device for storing one or more programs,

[0048] When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described above.

[0049] To achieve the above objective, according to another aspect of an embodiment of the present invention, a computer readable medium is provided.

[0050] The computer-readable medium of the embodiment of the present invention stores a computer program, and when the program is executed by a processor, the method described above is implemented.

[0051] One embodiment of the above invention has the following advantages or beneficial effects:

[0052] The allocation method of the embodiment of the present invention supports allocating picking tasks according to their priorities, ensuring that urgent tasks can be processed first and reducing the risk of overtime delivery.

[0053] The further effects of the above-mentioned non-conventional optional manner will be described below in conjunction with the specific implementation manner. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] The accompanying drawings are used to better understand the present invention and do not constitute an improper limitation of the present invention.

[0055] Figure 1 This is a schematic diagram of existing manual picking;

[0056] Figure 2 This is a schematic diagram of existing machine picking;

[0057] Figure 3 It is one of the schematic diagrams of the main process of the method for allocating picking tasks according to an embodiment of the present invention;

[0058] Figure 4 is a picking task allocation relationship diagram according to an embodiment of the present invention;

[0059] Figure 5 This is a second schematic diagram of the main process of the method for allocating picking tasks according to an embodiment of the present invention;

[0060] Figure 6 is a schematic diagram of main modules of a device for allocating picking tasks according to an embodiment of the present invention;

[0061] Figure 7 is an exemplary system architecture diagram to which embodiments of the present invention may be applied;

[0062] Figure 8 It is a schematic diagram of the structure of a computer system of a terminal device or a server suitable for implementing an embodiment of the present invention. DETAILED DESCRIPTION

[0063] The following is a description of exemplary embodiments of the present invention in conjunction with the accompanying drawings, including various details of the embodiments of the present invention to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present invention. Similarly, for clarity and conciseness, the description of well-known functions and structures is omitted in the following description.

[0064] Generally, in the manual picking mode, a manual picker pushes a picking device (e.g., a picking trolley or a pallet jack) into the warehouse, picks each commodity corresponding to the picking task, and delivers it to the verification table. Thus, the picking is completed. A manual picker can only handle one picking task at a time and can only handle the next picking task after completing one picking task, with a relatively long walking distance and time-consuming and laborious. Refer to Figure 1 , the picking tasks that the manual picker needs to execute are A and B. Among them, picking task A requires the manual picker to pick the corresponding commodity from the commodity storage location 12 of shelf 11, and route 13 is the route for the manual picker to execute picking task A. Picking task B requires the manual picker to pick the corresponding commodity from the commodity storage location 14 of shelf 11, and route 15 is the route for the manual picker to execute picking task B. A manual picker can only pick one picking task at a time.

[0065] Refer to Figure 2 , in the machine picking mode, the picking robot automatically drives to each commodity storage location corresponding to the picking task, picks the corresponding commodity by the picking robot and puts it into the container. After the picking at the current commodity storage location is completed, the robot automatically drives to the next commodity storage location, and so on until all the commodities corresponding to the picking task are picked. Then the picking robot automatically drives to the verification table. Thus, the picking is completed. The picking robot can handle multiple picking tasks simultaneously and can pick nearby. As long as the picking robot drives to the commodity storage location, the picking robot can pick, with a relatively short walking distance and no need for manual cart pulling. Refer to Figure 2 , picking robot 1 is responsible for shelf 22 within area 21, and picking robot 2 is responsible for shelf 22 within area 23. Picking task A requires picking robot 2 to pick the commodity at commodity storage location 24, and picking task B requires picking robot 2 to pick the commodity at commodity storage location 25. Since both picking task A and picking task B are the responsibilities of picking robot 2, it is possible to control the picking robot to execute picking task A and B simultaneously, which can reduce the walking distance of the picking robot.

[0066] Among them, the following allocation method can be used to allocate picking tasks. This allocation method can specifically include the following steps:

[0067] 1) Query the set of picking tasks. If the number of picking tasks is n; if n = 0, then end the process; if n > 0, then execute step 2).

[0068] 2) Query the set of idle picking robots. If the number of idle picking robots is m; if m = 0, then execute step 3); if m ≥ n, then allocate all picking tasks to n idle picking robots and end the current allocation process; if m < n, then allocate m picking tasks to all idle picking robots and execute step 3).

[0069] 3) Query the set of idle order pickers. Let the number of idle order pickers be k. If k = 0, end the process. If k ≥ n - m, assign all the order picking tasks to n - m idle order pickers. If k < n - m, assign k order picking tasks to all the idle order pickers and end the process.

[0070] However, the above allocation method has the following problems: It does not consider the priority of the order picking tasks, cannot ensure that urgent tasks are processed first, and there is a risk of overtime outbound. In addition, it does not consider the working characteristics of humans and robots, and there is a situation where order picking tasks that are more suitable for robot picking are assigned to human order pickers, or order picking tasks that are more suitable for human picking are assigned to picking robots. For example, for order picking tasks with a large weight, it is time-consuming and laborious for human order pickers and is more suitable for robot picking.

[0071] To solve the above problems, the present invention provides an order picking task allocation method, which is a strategy method applied to order picking task allocation in a human-machine hybrid warehouse and supports both the human order picking mode and the robot order picking mode. Figure 3 It is a schematic diagram of the main process of the order picking task allocation method according to an embodiment of the present invention, as Figure 3 shown. The order picking task allocation method may specifically include the following steps:

[0072] Step 301: When there are unprocessed order picking tasks in the task pool and there are idle picking robots and / or human order pickers, obtain the set corresponding to all unprocessed order picking tasks in the task pool;

[0073] In an embodiment of the present invention, the task pool is a component in the business layer for storing order picking tasks, that is, the task pool is a container for accommodating order picking tasks. The set is a set composed of all unprocessed order picking tasks in the task pool.

[0074] Before step 301, the resource data can be initialized. That is, query the set corresponding to all unprocessed order picking tasks in the task pool, query the third set corresponding to all idle picking robots, and query the fourth set corresponding to all idle human order pickers.

[0075] Step 302: Determine the priority of each order picking task in the set;

[0076] In an embodiment of the present invention, the priority of each order picking task can be understood as the execution order of each order picking task. If the priority of an order picking task is higher, it means that the execution order of this order picking task is more forward. For example: Currently, there is only one idle human order picker and there are two order picking tasks a and b. If the order picking task a has a higher priority, the order picking task a will be assigned first.

[0077] In some implementations, the priority of each picking task can be determined based on the current time and the latest delivery time of each picking task in the set. Each picking task has a "latest delivery time" attribute. In order to ensure that each picking task can complete the picking within the specified time, it is necessary to give priority to picking the picking tasks that are closer to the latest delivery time. It can be understood that the latest delivery time can be understood as the picking task cannot be shipped later than this time, and the picking task needs to be shipped before the latest delivery time, otherwise it will affect the delivery timeliness. That is, the closer the current time is to the latest delivery time of the picking task, the higher the priority of the picking task, and the earlier the execution order of the picking task.

[0078] In step 302, the time difference m between the current time and the latest outbound time of the i-th picking task in the set can be calculated first. i , where i represents the number of each picking task in the set, i≥1 and i is an integer; for example: the latest delivery time of the first picking task is 2020-05-13 12:00:00, and the current time is 2020-05-13 10:00:00, then m1=120 minutes. Then according to the time difference m i , determine the selection cost c of the i-th picking task i ; The selection cost c i represents the priority of the i-th picking task. The lower the selection cost, the higher the corresponding priority. For example, the time difference m can be i The selection cost is determined by comparing it with the emergency task time threshold P. The lower the selection cost, the higher the priority of the picking task. The emergency task time threshold P is a conditional parameter for judging whether the picking task is urgent. The value of the emergency task time threshold P can be set according to the actual warehouse delivery efficiency. The range of the emergency task time threshold P is P>0.

[0079] For example, the current time is 2020-05-13 10:00:00, the latest delivery time of picking task A is 2020-05-13 10:30:00, and the latest delivery time of picking task B is 2020-05-13 12:00:00. If the emergency task time threshold P is set to 60 minutes, the m of picking task A is A =30 minutes, m A <P, then picking task A is an urgent task; picking task B has m B = 120 minutes, m B ≥P, then picking task B is not an urgent task. If the urgent task time threshold P is set to 20 minutes, the m of picking task A A =30 minutes, m B ≥P, then picking task A is not an urgent task; the m of picking task B isB = 120 minutes, m B ≥P, then picking task B is not an urgent task. If the urgent task time threshold P is set to 150 minutes, then the m of picking task A A =30 minutes, m A <P, then picking task A is an urgent task; picking task B has m B = 120 minutes, m B <P, then picking task B is an urgent task.

[0080] Furthermore, if m i ≤0, then set m i =1; if m of the i-th picking task i ≥P, no priority is required, then choose cost c i =1; if m of the i-th picking task i <i, need priority processing. The time difference m can be i Substitute the following formula to determine the selection cost c of the i-th picking task in the set: i

[0081] If m i ≥P, then c i =1;

[0082] If m i <P, then

[0083] Wherein, P represents the time threshold of the emergency task, and P>0.

[0084] For example: the emergency task time threshold P = 60 minutes. A =30 minutes, m A <P, picking task A is an urgent task, then the selection cost of picking task A is C A =30 / 60=0.5; m of picking task B B = 120 minutes, m B ≥P, picking task B is not an urgent task, then the selection cost of picking task B is C B=1 ; m of picking task C C =50 minutes, m C <P, for urgent tasks, the selection cost of picking task C is C C =50 / 60=0.83. In summary, the priorities of picking task A, picking task C and picking task B decrease in turn. When allocating picking tasks, picking task A can be allocated first, then picking task C, and finally picking task B.

[0085] Before or after step 302, each picking task in the set may be classified into a first set and a second set according to a preset classification rule, wherein the picking tasks in the first set are picking tasks suitable for sorting by a picking robot, and the picking tasks in the second set are picking tasks suitable for sorting by a manual picker. If the set has been classified into the first set and the second set before step 302, when determining the priority of each picking task, the priority of each picking task in the first set may be determined first, and then the priority of each picking task in the second set may be determined.

[0086] Step 303: determining the allocation relationship of each picking task in the set in turn according to the priority of each picking task in the set, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker;

[0087] It can be understood that the allocation relationship is a corresponding relationship formed by respectively allocating each picking task to an idle picking robot or manual picker.

[0088] See also Figure 4 , the allocation relationship can be determined according to the following principles:

[0089] 1) Any picking task can be assigned to the picking robot;

[0090] 2) Any picking task can be assigned to manual pickers;

[0091] 3) Picking tasks can be assigned to picking robots first;

[0092] 4) Under the same circumstances, the picking robot will give priority to the picking tasks that are suitable for the picking robot to sort;

[0093] 5) Under the same circumstances, manual pickers should try not to assign picking tasks that are suitable for picking robots;

[0094] 6) Under the same circumstances, picking tasks with higher priority will be assigned first.

[0095] When determining the allocation relationship of each of the picking tasks, you can first obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers; then determine the allocation relationship of each picking task based on the selection cost of each picking task, the first set, the second set, the third set, and the fourth set.

[0096] When determining the allocation relationship of each picking task, an objective function can be determined based on the selection cost of each picking task, the first set, the second set, the third set and the fourth set, and the objective function is used to determine the minimum sum of selection costs obtained by respectively allocating each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set, wherein the minimum sum of selection costs can be understood as the minimum value of the sum of selection costs obtained by respectively allocating each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set; the objective function is solved with the preset allocation rules as constraints, and the solution of the objective function is used to represent the allocation relationship of each of the picking tasks.

[0097] When determining the objective function, it is necessary to combine the first set and the second set with the third set and the fourth set one by one, that is, to establish an allocation relationship between the first set and the second set and the third set and the fourth set, and find a minimum total cost according to the selection cost of each picking task. For example: the first set is {A, B}, the second set is {C, D}, the third set is {1, 2}, and the fourth set is {3, 4}, then the allocation combinations include: A1, A2, B1, B2, C1, C2, D1, D2, A3, A4, B3, B4, C3, C4, D3, D4, each combination is a parameter, with a value of 0 or 1, 0 means not to select the combination, and 1 means to select the combination. Each combination will calculate a selection cost according to business needs, so the objective function is to add up the values ​​of all combinations to find the minimum, which is the optimal solution.

[0098] Among them, the allocation rules can be determined according to the above principles, and the preset allocation rules can specifically include:

[0099] 1) A picking task in the first set is assigned to at most one picking robot or one manual picker;

[0100] 2) One picking task in the second set is assigned to at most one picking robot or one manual picker;

[0101] 3) A picking robot can receive at most one picking task at a time;

[0102] 4) A manual picker can receive at most one picking task at a time;

[0103] 5) The number of task matches of the picking robot is greater than or equal to the minimum matching number K1, where the minimum matching number K1 represents the smaller number of the total number of picking tasks and the number of picking robots;

[0104] 6) The number of task matches for manual pickers is greater than or equal to the minimum matching number K2, where the minimum matching number K2 represents the smaller number of the total number of picking tasks remaining after the picking robots are assigned and the number of manual pickers.

[0105] Furthermore, the allocation relationship of each picking task can be determined specifically according to the following objective function:

[0106]

[0107] Among them, H represents the first set, L represents the second set, M represents the third set, and W represents the fourth set; α, β, and γ are all configurable parameters, α∈[0,1], β∈[0,1], γ∈[1,∞);

[0108] x hm =1 means that the picking task h is assigned to the picking robot m;

[0109] x lm =1 means that the picking task l is assigned to the picking robot m;

[0110] x hw =1 means that the picking task h is assigned to the manual picker w;

[0111] x lw =1 means that the picking task l is assigned to the manual picker w;

[0112] c h represents the selection cost of picking task h;

[0113] c l represents the selection cost of picking task l.

[0114] It should be noted that α∈[0,1] means that under the same circumstances, the picking tasks in the second set are preferentially assigned to the picking robot, and α is a configurable parameter, such as α=0.5; β∈[0,1] means that the picking tasks are preferentially assigned to the picking robot, and β is a configurable parameter, such as β=0.7, where α<β needs to be configured to ensure that the picking robot preferentially assigns H-type picking tasks; γ∈[1,∞) means that under the same circumstances, the picking tasks in the third set are not assigned to manual pickers as much as possible, and γ is a configurable parameter, such as γ=2.

[0115] Among them, the constraint condition of the objective function is

[0116]

[0117] ∑ h∈H ∑ m∈M x hm +∑ l∈L ∑ m∈M xlm ≥K1 (5)

[0118] ∑ h∈H ∑ w∈W x hw +∑ l∈L ∑ w∈W x lw ≥K2 (6)

[0119]

[0120]

[0121] It should be noted that constraint (1) indicates that an H-type picking task can be assigned to at most one picking robot or one manual picker; constraint (2) indicates that an L-type picking task can be assigned to at most one picking robot or one manual picker, where the L-type picking task is a picking task suitable for picking by manual pickers; constraint (3) indicates that a picking robot can receive at most one picking task at a time; constraint (4) indicates that a manual picker can receive at most one picking task at a time; constraint (5) indicates that the number of task matches of the picking robot is greater than or equal to the minimum matching number K1, K1 = min{|T|, |M|}, that is, the smaller of the total number of picking tasks and the number of picking robots; constraint (6) indicates that the number of task matches of the manual picker is greater than or equal to the minimum matching number K2: K2 = min{|T|-K1, |W|}, that is, the smaller of the total number of picking tasks remaining after the picking robots are assigned and the number of manual pickers; constraints (7), (8), (9) and (10) indicate that the variable value range is 0 or 1.

[0122] It should be noted that the objective function can be solved by the solver, and the optimal solution, that is, a distribution relationship, can be quickly calculated. According to the distribution relationship of each picking task, each picking task can be assigned to the corresponding picking robot or manual picker. The solver can be arbitrarily selected, such as the LpSolve solver. For example: the calculation result of the objective function is 01011000, and each digit represents a pair of matching relationships, 1 is a successful match, and 0 is a failed match. The calculation result 01011000 means: Task 1 does not match picker 1, Task 1 matches picker 2, Task 1 does not match picker 3, Task 2 matches picker 1, and so on.

[0123] If the set has been classified into the first set and the second set before step 302, when determining the allocation relationship of each picking task, the allocation relationship of each picking task in the first set can be determined first, and then the allocation relationship of each picking task in the second set can be determined.

[0124] Step 304: Allocate each picking task to a corresponding picking robot or manual picker according to the allocation relationship of each picking task in the set.

[0125] The allocation method of the embodiment of the present invention supports allocating picking tasks according to their priorities, ensuring that urgent tasks can be processed first and reducing the risk of overtime delivery.

[0126] Figure 5 FIG. 1 is a schematic diagram of the main process of the method for allocating picking tasks according to an embodiment of the present invention. Figure 5 As shown, the method for allocating the picking task may specifically include the following steps:

[0127] Step 501: Initialize resource data

[0128] In an embodiment of the present invention, initializing resource data can be understood as: querying a set corresponding to all unprocessed picking tasks from the task pool, querying a third set corresponding to all idle picking robots, and querying a fourth set corresponding to all idle manual pickers.

[0129] Step 502: determine whether there are unprocessed picking tasks in the task pool; if there are unprocessed picking tasks in the task pool, execute step 503; if there are no unprocessed picking tasks in the task pool, end the process;

[0130] Step 503: Determine whether there are idle picking robots and / or manual pickers; if there are idle picking robots or manual pickers, execute step 504; if there are no idle picking robots or manual pickers, end the process;

[0131] Step 504: when there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers, obtain a set of all unprocessed picking tasks in the task pool and determine the priority of each picking task in the set;

[0132] It should be noted that the implementation principle of step 504 is the same as that of step 301, and the similarities are not repeated here.

[0133] In step 504, the time difference m between the current time and the latest outbound time of the i-th picking task in the set can be calculated first. i , where i represents the number of each picking task in the set, i≥1 and i is an integer; then according to the time difference m i , determine the selection cost c of the i-th picking task i ; The selection cost c i represents the priority of the i-th picking task. The lower the selection cost, the higher the corresponding priority.

[0134] For example: the time difference m can be i The selection cost is determined by comparing it with the emergency task time threshold P. The lower the selection cost, the higher the priority of the picking task. The emergency task time threshold P is a conditional parameter for judging whether the picking task is urgent. The value of the emergency task time threshold P can be set according to the actual warehouse delivery efficiency. The range of the emergency task time threshold P is P>0.

[0135] For example, the current time is 2020-05-13 10:00:00, the latest delivery time of picking task A is 2020-05-13 10:30:00, and the latest delivery time of picking task B is 2020-05-13 12:00:00. If the emergency task time threshold P is set to 60 minutes, the m of picking task A is A =30 minutes, m A <P, then picking task A is an urgent task; picking task B has m B = 120 minutes, m B ≥P, then picking task B is not an urgent task. If the urgent task time threshold P is set to 20 minutes, the m of picking task A A =30 minutes, m B ≥P, then picking task A is not an urgent task; the m of picking task B is B = 120 minutes, m B ≥P, then picking task B is not an urgent task. If the urgent task time threshold P is set to 150 minutes, then the m of picking task A A =30 minutes, m A <P, then picking task A is an urgent task; picking task B has m B = 120 minutes, m B <P, then picking task B is an urgent task.

[0136] Furthermore, if m i ≤0, then set m i =1; if m of the i-th picking task i ≥P, no priority is required, then choose cost c i =1; if m of the i-th picking task i <P, it needs to be processed first. The time difference m can be i Substitute 0 into the following formula to determine the selection cost c of the i-th picking task in the set i

[0137] If m i ≥P, then c i =1;

[0138] If m i <P, then

[0139] Wherein, P represents the time threshold of the emergency task, and P>0.

[0140] Step 505: According to preset classification rules, each picking task is classified into a first set and a second set respectively, the picking tasks of the first set are picking tasks suitable for sorting by a picking robot, and the picking tasks of the second set are picking tasks suitable for sorting by a manual picker.

[0141] In step 505, the classification rules can be formulated according to actual conditions, such as classifying picking tasks according to actual conditions such as commodity category, commodity volume, business needs, working environment, etc. And the classification rules can be selected according to actual operational needs, and different operational scenarios can be replaced with each other. For example: according to the working characteristics of manual pickers and picking robots, picking tasks can be classified into H-type picking tasks and L-type picking tasks, among which H-type picking tasks are more suitable for picking robots, and L-type picking tasks are more suitable for manual pickers. For example, picking tasks with a large overall weight are time-consuming and labor-intensive for manual handling, and can be classified as H-type picking tasks, while picking tasks with a relatively small overall weight can be classified as L-type picking tasks.

[0142] Step 506: Determine the allocation relationship of each picking task, where the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker.

[0143] In step 506, you can first obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers; then determine the allocation relationship of each picking task based on the selection cost of each picking task, the first set, the second set, the third set, and the fourth set.

[0144] It should be noted that the implementation principle of step 506 is the same as that of step 303, and the similarities are not repeated here.

[0145] Step 507: Determine whether there is a picking task in the first set; if there is a picking task in the first set, execute step 511; if there is no picking task in the first set, end the process;

[0146] Step 508: if there are picking tasks in the first set, then according to the allocation relationship and priority corresponding to each picking task in the first set, sequentially assign each picking task in the first set to a corresponding picking robot;

[0147] Step 509: if there is no picking task in the first set, determine whether there is a picking task in the second set; if there is a picking task in the second set, execute step 513; if there is no picking task in the second set, end the process;

[0148] Step 510: If there are picking tasks in the second set, then according to the allocation relationship and priority corresponding to each picking task in the second set, each picking task in the second set is allocated to the corresponding manual picker in turn.

[0149] It should be noted that a timer may be set to regularly execute the picking task allocation process according to the picking task allocation method of the embodiment of the present invention.

[0150] The allocation method of the embodiment of the present invention supports the allocation of picking tasks according to the priority of picking tasks, ensuring that urgent tasks can be handled first and reducing the risk of overtime delivery. At the same time, picking tasks can be classified according to the working characteristics of manual and robot work, and picking tasks that are more suitable for picking by picking robots can be allocated to picking robots first. In the case of picking robot resources, picking tasks are allocated to picking robots first. In the case of no picking robot resources, picking tasks that are more suitable for manual picking are allocated to manual pickers first, reducing manual labor intensity, improving robot utilization, and improving work efficiency.

[0151] Figure 6 is a schematic diagram of the main modules of the device 600 for allocating picking tasks according to an embodiment of the present invention, see Figure 6 The picking task allocation device 600 may specifically include:

[0152] The acquisition module 601 is used to acquire a set corresponding to all the unprocessed picking tasks in the task pool when there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers;

[0153] A first determination module 602 is used to determine the priority of each picking task in the set;

[0154] A second determination module is used to determine the allocation relationship of each picking task in the set in turn according to the priority of each picking task in the set, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker;

[0155] The allocation module 603 is used to allocate each picking task to a corresponding picking robot or manual picker in turn according to the allocation relationship of each picking task in the set.

[0156] Optionally, the first determining module 602 is further configured to:

[0157] Calculate the time difference m between the current time and the latest outbound time of the i-th picking task in the set i , where i represents the number of each picking task in the set, i≥1 and i is an integer;

[0158] According to the time difference m i , determine the selection cost c of the i-th picking task i ; The selection cost c i represents the priority of the i-th picking task. The lower the selection cost, the higher the corresponding priority.

[0159] Optionally, the first determining module 602 is further configured to:

[0160] The time difference m i Substitute the following formula to determine the selection cost c of the i-th picking task in the set: i

[0161] If m i ≥P, then c i =1;

[0162] If m i <P, then

[0163] Wherein, P represents the time threshold of the emergency task, and P>0.

[0164] Optionally, the dispensing device 600 further includes:

[0165] A classification module is used to classify each picking task in the set into a first set and a second set according to a preset classification rule, wherein the picking tasks in the first set are picking tasks suitable for sorting by a picking robot, and the picking tasks in the second set are picking tasks suitable for sorting by a manual picker.

[0166] Optionally, the second determining module is further configured to:

[0167] Obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers;

[0168] The allocation relationship of each picking task is determined according to the selection cost of each picking task, the first set, the second set, the third set, and the fourth set.

[0169] Optionally, the second determining module is further configured to:

[0170] Determine an objective function according to the selection cost of each picking task, the first set, the second set, the third set and the fourth set, wherein the objective function is used to determine the minimum sum of selection costs obtained by respectively allocating each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set;

[0171] The objective function is solved with the preset allocation rules as constraints, and the solution of the objective function is used to represent the allocation relationship of each picking task.

[0172] Optionally, the preset allocation rule includes:

[0173] 1) A picking task in the first set is assigned to at most one picking robot or one manual picker;

[0174] 2) One picking task in the second set is assigned to at most one picking robot or one manual picker;

[0175] 3) A picking robot can receive at most one picking task at a time;

[0176] 4) A manual picker can receive at most one picking task at a time;

[0177] 5) The number of task matches of the picking robot is greater than or equal to the minimum matching number K1, where the minimum matching number K1 represents the smaller number of the total number of picking tasks and the number of picking robots;

[0178] 6) The number of task matches for manual pickers is greater than or equal to the minimum matching number K2, where the minimum matching number K2 represents the smaller number of the total number of picking tasks remaining after the picking robots are assigned and the number of manual pickers.

[0179] Optionally, the objective function is

[0180]

[0181] Among them, H represents the first set, L represents the second set, M represents the third set, and W represents the fourth set; α, β, and γ are all configurable parameters, α∈[0,1], β∈[0,1], γ∈[1,∞);

[0182] x hm =1 means that the picking task h is assigned to the picking robot m;

[0183] x lm =1 means that the picking task l is assigned to the picking robot m;

[0184] x hw =1 means that the picking task h is assigned to the manual picker w;

[0185] x lw =1 means that the picking task l is assigned to the manual picker W;

[0186] c h represents the selection cost of picking task h;

[0187] c l represents the selection cost of picking task l.

[0188] Optionally, the constraint condition of the objective function is

[0189]

[0190] Optionally, the allocation module 603 is further configured to:

[0191] Determine whether there is a picking task in the first set;

[0192] If there are picking tasks in the first set, assigning each picking task in the first set to a corresponding picking robot in turn according to the assignment relationship and priority corresponding to each picking task in the first set;

[0193] If there is no picking task in the first set, determining whether there is a picking task in the second set;

[0194] If there are picking tasks in the second set, each picking task in the second set is sequentially assigned to a corresponding manual picker according to the assignment relationship and priority corresponding to each picking task in the second set.

[0195] The allocation device of the embodiment of the present invention supports allocating picking tasks according to their priorities, ensuring that urgent tasks can be processed first and reducing the risk of overtime delivery.

[0196] Figure 7 An exemplary system architecture 700 is shown to which the method for allocating picking tasks or the device for allocating picking tasks according to the embodiments of the present invention can be applied.

[0197] like Figure 7 As shown, system architecture 700 may include terminal devices 701, 702, 703, network 704 and server 705. Network 704 is used to provide a medium for communication links between terminal devices 701, 702, 703 and server 705. Network 704 may include various connection types, such as wired, wireless communication links or optical fiber cables, etc.

[0198] Users can use terminal devices 701, 702, and 703 to interact with server 705 through network 704 to receive or send messages, etc. Various communication client applications can be installed on terminal devices 701, 702, and 703, such as shopping applications, web browser applications, search applications, instant messaging tools, email clients, social platform software, etc. (only examples).

[0199] The terminal devices 701 , 702 , and 703 may be various electronic devices having a display screen and supporting web browsing, including but not limited to smart phones, tablet computers, laptop computers, and desktop computers.

[0200] The server 705 may be a server that provides various services, such as a backend management server (only for example) that supports shopping websites browsed by users using the terminal devices 701, 702, and 703. The backend management server may analyze and process the received data such as product information query requests, and feed back the processing results (such as target push information, product information - only for example) to the terminal device.

[0201] It should be noted that the method for allocating picking tasks provided in the embodiment of the present invention is generally executed by the server 705 , and accordingly, the device for allocating picking tasks is generally disposed in the server 705 .

[0202] It should be understood that Figure 7 The number of terminal devices, networks and servers in the embodiment is only for illustration. Any number of terminal devices, networks and servers may be provided according to implementation requirements.

[0203] Reference below Figure 8 , which shows a schematic diagram of the structure of a computer system 800 of a terminal device suitable for implementing an embodiment of the present invention. Figure 8 The terminal device shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present invention.

[0204] like Figure 8 As shown, the computer system 800 includes a central processing unit (CPU) 801, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 802 or a program loaded from a storage part 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the system 800 are also stored. The CPU 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.

[0205] The following components are connected to the I / O interface 805: an input section 806 including a keyboard, a mouse, etc.; an output section 807 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 808 including a hard disk, etc.; and a communication section 809 including a network interface card such as a LAN card, a modem, etc. The communication section 809 performs communication processing via a network such as the Internet. A drive 810 is also connected to the I / O interface 805 as needed. A removable medium 811, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 810 as needed, so that a computer program read therefrom is installed into the storage section 808 as needed.

[0206] In particular, according to the embodiments disclosed in the present invention, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present invention include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from the network through the communication part 809, and / or installed from the removable medium 811. When the computer program is executed by the central processing unit (CPU) 801, the above-mentioned functions defined in the system of the present invention are executed.

[0207] It should be noted that the computer-readable medium shown in the present invention may be a computer-readable signal medium or a computer-readable storage medium or any combination of the above two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present invention, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present invention, a computer-readable signal medium may include a data signal propagated in a baseband or as part of a carrier wave, which carries a computer-readable program code. This propagated data signal may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. The computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, which may send, propagate or transmit a program for use by or in conjunction with an instruction execution system, apparatus or device. The program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, RF, etc., or any suitable combination of the above.

[0208] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present invention. In this regard, each box in the flow chart or block diagram can represent a module, a program segment, or a part of a code, and the above-mentioned module, program segment, or a part of a code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order from the order marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flow chart, and the combination of the boxes in the block diagram or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0209] As another aspect, the present invention also provides a computer-readable medium, which may be included in the device described in the above embodiment; or it may exist independently and not be assembled into the device. The above computer-readable medium carries one or more programs, and when the above one or more programs are executed by a device, the device includes: when there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers, obtain a set corresponding to all unprocessed picking tasks in the task pool; determine the priority of each picking task in the set; according to the priority of each picking task in the set, determine the allocation relationship of each picking task in the set in turn, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker; according to the allocation relationship of each picking task in the set, assign each picking task to the corresponding picking robot or manual picker in turn.

[0210] The allocation method of the embodiment of the present invention supports allocating picking tasks according to their priorities, ensuring that urgent tasks can be processed first and reducing the risk of overtime delivery.

[0211] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions may occur depending on design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A method for allocating picking tasks, characterized in that: include: When there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers, obtain a set corresponding to all unprocessed picking tasks in the task pool; Determining a priority for each picking task in the set; According to the priority of each picking task in the set, the allocation relationship of each picking task in the set is determined in sequence; wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker; Wherein, determining the allocation relationship of each picking task in the set includes: Obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers; Determine the minimum sum of selection costs obtained by respectively allocating each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set using an objective function; solve the objective function with a preset allocation rule as a constraint condition, and represent the allocation relationship of each picking task by the solution of the objective function; Among them, the preset allocation rules corresponding to the constraint conditions include: the task matching number of the picking robot is greater than or equal to the minimum matching number K1, and the minimum matching number K1 represents the smaller number of the total number of picking tasks and the number of picking robots; the task matching number of the manual pickers is greater than or equal to the minimum matching number K2, and the minimum matching number K2 represents the smaller number of the total number of picking tasks remaining after the picking robots are allocated and the number of manual pickers; According to the allocation relationship of each picking task in the set, each picking task is allocated to the corresponding picking robot or manual picker.

2. The method for allocating picking tasks according to claim 1, characterized in that: Determining the priority of each picking task in the set includes: Calculate the time difference m between the current time and the latest outbound time of the i-th picking task in the set i , where i represents the number of each picking task in the set, i≥1 and i is an integer; According to the time difference m i , determine the selection cost c of the i-th picking task i ; The selection cost c i represents the priority of the i-th picking task. The lower the selection cost, the higher the corresponding priority.

3. The method for allocating picking tasks according to claim 2, characterized in that: The time difference m i , determine the selection cost c of the i-th picking task i ,include: The time difference m i Substitute the following formula to determine the selection cost c of the i-th picking task in the set: i If m i ≥P, then c i =1; If m i <P, then Wherein, P represents the time threshold of the emergency task, and P>0.

4. The method for allocating picking tasks according to claim 3, characterized in that: Before or after the step of determining the priority of each picking task in the set, the method further includes: According to preset classification rules, each picking task in the set is classified into a first set and a second set respectively, the picking tasks of the first set are picking tasks suitable for sorting by a picking robot, and the picking tasks of the second set are picking tasks suitable for sorting by a manual picker.

5. The method for allocating picking tasks according to claim 4, characterized in that: The step of sequentially determining the allocation relationship of each picking task in the set according to the priority of each picking task in the set includes: The allocation relationship of each picking task is determined according to the selection cost of each picking task, the first set, the second set, the third set and the fourth set.

6. The method for allocating picking tasks according to claim 5, characterized in that: Determining the allocation relationship of each picking task according to the selection cost of each picking task, the first set, the second set, the third set, and the fourth set includes: An objective function is determined according to the selection cost of each picking task, the first set, the second set, the third set, and the fourth set.

7. The method for allocating picking tasks according to claim 6, characterized in that: The preset allocation rules include: 1) A picking task in the first set is assigned to at most one picking robot or one manual picker; 2) One picking task in the second set is assigned to at most one picking robot or one manual picker; 3) A picking robot can receive at most one picking task at a time; 4) A manual picker can receive at most one picking task at a time.

8. The method for allocating picking tasks according to claim 4, characterized in that: The step of allocating each picking task to a corresponding picking robot or manual picker according to the allocation relationship of each picking task in the set in turn includes: Determine whether there is a picking task in the first set; If there are picking tasks in the first set, assigning each picking task in the first set to a corresponding picking robot in turn according to the assignment relationship and priority corresponding to each picking task in the first set; If there is no picking task in the first set, determining whether there is a picking task in the second set; If there are picking tasks in the second set, each picking task in the second set is sequentially assigned to a corresponding manual picker according to the assignment relationship and priority corresponding to each picking task in the second set.

9. A picking task allocation device, characterized in that: include: An acquisition module, used for acquiring a set corresponding to all unprocessed picking tasks in the task pool when there are unprocessed picking tasks in the task pool and there are idle picking robots and / or manual pickers; A first determination module, used to determine the priority of each picking task in the set; A second determination module is used to determine the allocation relationship of each picking task in the set in turn according to the priority of each picking task in the set, wherein the allocation relationship is used to represent the corresponding relationship between each picking task and an idle picking robot or manual picker; Wherein, determining the allocation relationship of each picking task in the set includes: Obtain a first set corresponding to all picking tasks suitable for sorting by picking robots, a second set corresponding to all picking tasks suitable for sorting by manual pickers, a third set corresponding to all idle picking robots, and a fourth set corresponding to all idle manual pickers; The objective function is used to determine the minimum sum of selection costs obtained by assigning each picking task in the first set and the second set to each picking robot in the third set or each manual picker in the fourth set respectively; the objective function is solved with the preset allocation rule as a constraint condition, and the allocation relationship of each picking task is represented by the solution of the objective function; wherein the preset allocation rule corresponding to the constraint condition includes: the task matching number of the picking robot is greater than or equal to the minimum matching number K1, and the minimum matching number K1 represents the smaller number of the total number of picking tasks and the number of picking robots; the task matching number of the manual picker is greater than or equal to the minimum matching number K2, and the minimum matching number K2 represents the smaller number of the total number of picking tasks remaining after the picking robots are assigned and the number of manual pickers; The allocation module is used to allocate each picking task to a corresponding picking robot or manual picker in turn according to the allocation relationship of each picking task in the set.

10. A picking task allocation device, characterized in that: include: one or more processors; a storage device for storing one or more programs, When the one or more programs are executed by the one or more processors, the one or more processors implement the method according to any one of claims 1 to 8.

11. A computer readable medium having a computer program stored thereon, characterized in that: When the program is executed by a processor, the method according to any one of claims 1 to 8 is implemented.