Goods picking task allocation method and device
By constructing a weight matrix and using a picking efficiency model and a bipartite graph algorithm, picking tasks are rationally allocated, solving the problems of unfair and inefficient picking task allocation, and achieving a reduction in picking time and an improvement in efficiency.
Patent Information
- Application Number
- CN202410636712.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-05-22
- Publication Date
- 2025-11-25
AI Technical Summary
The existing picking task allocation method is not very intelligent and does not take into account the differences between picking personnel and task orders, resulting in low picking efficiency and unfair allocation.
By constructing a weight matrix, the picking cost is calculated and the total weight value is used as the optimization objective. Using a pre-trained picking efficiency model and a bipartite graph algorithm, picking tasks are reasonably allocated, taking into account the efficiency of picking personnel and the differences in task orders.
It effectively shortened the total picking time for batch picking tasks, improved overall picking efficiency, reduced unfairness in task allocation, and optimized warehouse operation and management costs.
Smart Images

Figure CN121010107A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] Embodiments of the present disclosure relate to the technical field of computer technology, in particular to the technical field of smart logistics, and more particularly to a picking task allocation method and device, a computer readable medium and an electronic device. BACKGROUND
[0002] With the rapid development of e-commerce, the processing speed of warehouse goods is increasingly required. For e-commerce and retail, different customers or different goods are usually classified and concentrated, and one or more orders are combined to generate a picking task order so that the picking personnel can execute the picking task according to the picking task order. At present, the allocation of picking tasks is in a coexistence mode of system automatic issuance and manual taking. Among them, the system automatic issuance is sequentially allocated to the idle picking personnel according to the generation order of the picking task order. This way of sequentially issuing picking tasks by the system is less intelligent, and the difference between the picking personnel and the picking task order is not considered to affect the picking efficiency. As for the manual taking mode, the picking personnel will have a certain tendency, which often leads to unfair allocation of picking tasks, such as uneven value or weight of the picking task order. SUMMARY
[0003] Embodiments of the present disclosure provide a picking task allocation method, device, computer readable medium and electronic device.
[0004] In a first aspect, embodiments of the present disclosure provide a picking task allocation method, which comprises: obtaining picking tasks to be allocated and current idle picking personnel information; calculating a picking cost corresponding to the allocation of each picking task to each picking personnel, wherein the picking cost includes picking duration or picking efficiency; constructing a weight matrix according to the picking task and picking personnel information, and determining the weight value of the elements in the weight matrix according to the picking cost; taking the total weight value of the weight matrix as an optimization target, and allocating the picking task to obtain a task allocation result.
[0005] In some examples, calculating the picking cost corresponding to the allocation of each picking task to each picking personnel comprises: inputting the picking task and picking personnel information into a pre-trained picking efficiency model to calculate the picking duration corresponding to the allocation of each picking task to each picking personnel, wherein the picking efficiency model is obtained based on training of historical picking task data.
[0006] In some examples, the historical picking task data includes task order data and picking personnel data, the task order data includes at least one of the following: order quantity, commodity storage location quantity, commodity quantity, commodity type, commodity weight, picking distance, and picking time period; and the picking personnel data includes at least one of the following: picking service seniority, picking service location, average number of completed picking tasks per unit time, and average picking duration for completing each picking task.
[0007] In some examples, constructing the weight matrix according to the picking task and the picker information comprises: constructing an n*m first matrix C={c ij} as the weight matrix, where c ij is the picking duration of the jth picker completing the ith single picking task, m, n, i and j are natural numbers, i
[0008] In some examples, the task allocation result is obtained by allocating the picking task with the total weight value of the weight matrix as an optimization target, which comprises: constructing a bipartite graph representation based on the weight matrix; solving a perfect matching of the bipartite graph under a preset constraint condition; and obtaining the task allocation result according to the perfect matching.
[0009] In some examples, the preset constraint condition comprises at least one of the following: each single picking task needs to be allocated and can only be allocated to one picker; and the difference between the total picking duration, the total income or the total picking weight of the allocated picking tasks completed by different pickers is less than a preset threshold.
[0010] In some examples, the above method further comprises: allocating the picking task according to a set allocation period and / or a triggering strategy; and the triggering strategy comprises at least one of the following conditions: the number of the picking tasks to be allocated reaches a predetermined first threshold, and the number of idle pickers reaches a predetermined second threshold.
[0011] In a second aspect, embodiments of the present disclosure provide a picking task allocation device, which comprises: an acquisition module configured to acquire picking tasks to be allocated and current idle picker information; a cost determination module configured to calculate a picking cost corresponding to the allocation of each single picking task to each picker, wherein the picking cost comprises picking duration or picking efficiency; a matrix construction module configured to construct a weight matrix according to the picking task and the picker information, and to determine the weight value of an element in the weight matrix according to the picking cost; and a task allocation module configured to allocate the picking task with the total weight value of the weight matrix as an optimization target, to obtain a task allocation result.
[0012] In some examples, the cost determining module further includes: an input unit configured to input the picking task and the picker information into a pre-trained picking efficiency model; and a calculation unit configured to calculate the picking time length corresponding to the assignment of each picking task to each picker based on the picking efficiency model, wherein the picking efficiency model is obtained based on training of historical picking task data, the historical picking task data including task sheet data and picker data, the task sheet data including at least one of the following: order quantity, commodity storage location quantity, commodity quantity, commodity type, commodity weight, picking distance, and picking time period; and the picker data including at least one of the following: picking service seniority, picking service location, average number of completed picking tasks per unit time, and average picking time length for completing each picking task.
[0013] In some examples, the matrix constructing module further includes: a first unit configured to construct a first matrix C = {c ij} of n x m, where c ij is the picking time length for the jth picker to complete the ith picking task, m, n, i, and j are natural numbers, i < n, and j < m; in response to n = m, the first matrix is used as the weight matrix; a second unit configured to, in response to n > m, duplicate the m pickers p times to construct p first matrices as the weight matrix, where n = pm + q, p is the quotient, q is the remainder, p and q are positive integers, and q < m; and a third unit configured to, in response to n < m, supplement (m-n) row elements to the first matrix and assign a weight value of zero to the supplemented (m-n) row elements as the weight matrix.
[0014] In some examples, the task assignment module further includes: a transformation unit configured to construct a bipartite graph representation based on the weight matrix; a solution unit configured to solve a perfect matching of the bipartite graph under a preset constraint condition; and an assignment unit configured to obtain a task assignment result according to the perfect matching, wherein the preset constraint condition includes at least one of the following: each picking task needs to be assigned and can only be assigned to one picker; and the difference between the total picking time length, total income, or total picking weight of the assigned picking tasks completed by different pickers is less than a preset threshold.
[0015] In some examples, the task assignment module further includes a trigger judgment unit configured to assign the picking tasks according to a set assignment period and / or a trigger strategy, wherein the trigger strategy includes at least one of the following conditions: the number of picking tasks to be assigned reaches a predetermined first threshold, and the number of idle pickers reaches a predetermined second threshold.
[0016] In a third aspect, embodiments of the present disclosure provide an electronic device, comprising: one or more processors; a storage device configured to store one or more programs; and when the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any implementation manner of the first aspect.
[0017] In a fourth aspect, embodiments of the present disclosure provide a computer readable medium having stored thereon a computer program, which, when executed by a processor, implements the method as described in any implementation manner of the first aspect.
[0018] According to the picking task allocation method and device provided by the embodiments of the present disclosure, by constructing a weight matrix, the total picking time of all picking tasks completed by the current idle picking personnel is minimized, and the task allocation is performed, so that the total picking time of batch picking tasks can be effectively shortened, and the overall picking efficiency is improved.
[0019] It should be understood that the content described in this section is not intended to identify key or important features of the embodiments of the present disclosure, nor is it used to limit the scope of the present disclosure. Other features of the present disclosure will become apparent through the following description. BRIEF DESCRIPTION OF DRAWINGS
[0020] Other features, objects, and advantages of the present disclosure will become more apparent from the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings:
[0021] Figure 1 is an exemplary architecture diagram of an embodiment to which the picking task allocation method and device of the present disclosure can be applied;
[0022] Figure 2 is a flowchart of an embodiment of the picking task allocation method according to the present disclosure;
[0023] Figure 3 is a schematic diagram of an application scenario of the picking task allocation method according to the embodiments of the present disclosure;
[0024] Figure 4 is a flowchart of another embodiment of the picking task allocation method according to the present disclosure;
[0025] Figure 5 is a flowchart of constructing a weight matrix according to the embodiments of the present disclosure;
[0026] Figure 6 is a flowchart of allocating picking tasks to obtain a task allocation result according to the embodiments of the present disclosure;
[0027] Figure 7 is a schematic diagram of the reduction of the total picking time of the picking task allocation method according to the embodiments of the present disclosure.
[0028] Figure 8 is a structural diagram of an embodiment of the order-picking task allocation apparatus according to the present application;
[0029] Figure 9 is a structural diagram of a computer system suitable for implementing the embodiments of the present application. DETAILED DESCRIPTION
[0030] The present application will be further described below in conjunction with the drawings and embodiments. It should be understood that the specific embodiments described herein are merely intended for the purpose of explanation of the related application and are not intended to limit the application. It should also be noted that, for the purpose of description, only the parts related to the application are shown in the drawings.
[0031] It should be noted that, in the technical solutions of the present application, the collection / acquisition, updating, analysis, use, transmission, storage, etc. of user personal information are in line with the relevant legal regulations, are used for legal and reasonable purposes, are not shared, disclosed or sold outside these legal uses, and are subject to the supervision and management of the state regulatory authorities. Necessary measures should be taken to selectively prevent the use or access of personal information data to prevent illegal access to such personal information data, to ensure that personnel with access to personal information data comply with the relevant legal regulations, and to ensure the security of user personal information. In addition, once these user personal information data are no longer needed, the risk should be minimized by limiting or even prohibiting data collection and / or deleting data.
[0032] It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict. The present application will be described in detail below with reference to the drawings and in conjunction with the embodiments.
[0033] Figure 1 An exemplary architecture 100 that can apply the embodiments of the order-picking task allocation method and apparatus of the present application is shown.
[0034] As shown in Figure 1 , the system architecture 100 can include terminal devices 101, 102, 103, a network 104, and a server 105. The terminal devices 101, 102, 103 are communicatively connected to form a topological network, and the network 104 is used as a medium to provide communication links between the terminal devices 101, 102, 103 and the server 105. The network 104 can include various connection types, such as wired, wireless communication links, or optical fiber cables, etc.
[0035] The terminal devices 101, 102, and 103 can interact with the server 105 through the network 104 to receive or send data, etc. The terminal devices 101, 102, and 103 can be hardware devices or software that support network connection to perform data interaction and data processing. When the terminal devices 101, 102, and 103 are hardware, they can be various electronic devices that support network connection, information acquisition, interaction, display, processing, etc., including but not limited to smartphones, vehicle-mounted computers, tablet computers, e-book readers, laptop computers, desktop computers, and the like. When the terminal devices 101, 102, and 103 are software, they can be installed in the above-listed electronic devices. They can be implemented as multiple software or software modules for providing distributed services, or as a single software or software module. No specific limitation is made herein.
[0036] The server 105 can be a server that provides various services, such as acquiring to-be-assigned picking tasks and current idle picking personnel information, calculating a picking cost corresponding to the assignment of each picking task to each picking personnel, where the picking cost includes a picking duration or a picking efficiency, constructing a weight matrix according to the picking tasks and the picking personnel information, and determining a weight value of an element in the weight matrix according to the picking cost, and assigning the picking tasks to obtain a task assignment result, with a total weight value of the weight matrix as an optimization target. As an example, the server 105 can be a cloud server.
[0037] It should be noted that the server can be hardware or software. When the server is hardware, it can be implemented as a distributed server cluster composed of multiple servers, or as a single server. When the server is software, it can be implemented as multiple software or software modules (such as software or software modules for providing distributed services), or as a single software or software module. No specific limitation is made herein.
[0038] It should also be noted that the picking task assignment method provided by the embodiments of the present application can be executed by the server, or by the terminal device, or by the server and the terminal device in cooperation with each other. Accordingly, the picking task assignment apparatus includes various parts (such as various modules), which can all be arranged in the server, or all be arranged in the terminal device, or be arranged in the server and the terminal device, respectively.
[0039] It should be understood that Figure 1 The number of terminal devices, networks, and servers in the system architecture is merely illustrative. According to implementation needs, there can be any number of terminal devices, networks, and servers. When the electronic device on which the picking task assignment method runs does not need to perform data transmission with other electronic devices, the system architecture can only include the electronic device (such as the server or the terminal device) on which the picking task assignment method runs.
[0040] Figure 2 A flow 200 of one embodiment of the picking task allocation method of the present application is shown. In this embodiment, the picking task allocation method comprises the following steps:
[0041] Step 201, obtaining the picking task to be allocated and the current idle picking personnel information.
[0042] In this embodiment, the execution subject (for example, the terminal device or the server in the Figure 1 In this embodiment, the execution subject (for example, the terminal device or the server in the
[0043] In some optional embodiments, the above execution subject can obtain the current batch of picking task to be allocated and idle picking personnel information according to a set allocation period, which can be but is not limited to every 10 minutes or every 20 minutes.
[0044] In another optional embodiment, the above execution subject can obtain the picking task to be allocated and the idle picking personnel information according to a preset trigger strategy, for example, when the number of picking tasks to be allocated reaches a predetermined first threshold, or the number of idle picking personnel reaches a predetermined second threshold. This embodiment can make flexible decisions according to the number of picking tasks to be allocated and the number of idle picking personnel by setting the trigger strategy. On the one hand, when the number of picking tasks to be allocated is small, the original system issuing or manual taking strategy can be used to save system resources. On the other hand, it can also avoid the concentration of picking tasks to be allocated or the long waiting time of idle picking personnel.
[0045] Step 202, calculating the picking cost corresponding to the allocation of each picking task to each picking personnel.
[0046] In this embodiment, the above execution subject can calculate the picking cost corresponding to the allocation of each picking task to each picking personnel according to the obtained picking task and picking personnel information. The picking cost can include the picking duration, that is, the time required to complete the picking task. Alternatively, the picking cost can also include the picking efficiency, which can be, for example, the inverse number of the picking duration.
[0047] In some optional embodiments, the picking duration or the picking efficiency of each picking personnel to complete each picking task can be calculated based on a pre-trained picking efficiency model.
[0048] Step 203, constructing a weight matrix according to the picking task and picker information, and determining the weight value of an element in the weight matrix according to the picking cost.
[0049] In the embodiment, the execution subject can construct a weight matrix according to the number of picking tasks and the number of pickers, and assign a weight value to an element in the weight matrix according to the calculated picking cost. As an example, the weight value of each element in the weight matrix corresponds to the picking time length of each picker to complete each picking task alone.
[0050] Step 204, distributing the picking task with the total weight value of the weight matrix as the optimization target to obtain a task distribution result.
[0051] In the embodiment, the execution subject can use a preset algorithm to solve the task distribution result with the total weight value of the weight matrix as the optimization target, and distribute the picking task to be distributed to the currently idle picker.
[0052] The picking task distribution method of the above-mentioned embodiments of the application considers the differences in picking efficiency and picking distance of different pickers when distributing the task, calculates the corresponding picking cost, maps the calculated picking cost to the weight value of an element in the constructed weight matrix, and then solves the picking task distribution scheme with the total picking cost being the minimum with the total weight value of the weight matrix as the optimization target, so as to effectively reduce the total picking cost of batch picking task and improve the overall picking efficiency.
[0053] Figure 3 A schematic diagram of one application scenario 300 of the picking task distribution method according to the embodiments of the application is shown.
[0054] In the application scenario, Figure 3 After the order generated by the user is completed, the order in the warehouse will be grouped according to a certain strategy to generate a picking task order. Each picking task order generally includes multiple orders, and each order includes at least one commodity (SKU). In the present application, each picking task order corresponds to a single picking task. After the picking task order is generated, it needs to be distributed to the picker. As shown in the dashed box in Figure 3 The subdivision scenario considered in the present application is how to reasonably and evenly distribute the picking task order to the picker. After the distribution of the picking task order is completed, the picker completes the corresponding picking task according to the distributed picking task order, and finally packs and ships.
[0055] Figure 4 Another embodiment of the picking task distribution method of the present application is shown in flow 400. In the embodiment, the picking task distribution method includes the following steps:
[0056] Step 401, obtaining a to-be-assigned picking task and current idle picking personnel information.
[0057] In the embodiment, the terminal device or the server in the above execution subject (for example Figure 1 may obtain the to-be-assigned picking task based on a task pool storing picking task sheets.
[0058] In some optional embodiments, the method can further include storing the generated picking task sheet into the task pool, and marking the picking task sheet in the task pool, for example, marking the picking task sheet as to-be-assigned, as assigned, as completed, and the like. As an example, for the generated picking task sheet, it can be added into the task pool; for the assigned picking task sheet, it can be marked as assigned; for the picking task sheet of the completed picking task, it can be marked as completed, and can be cleared from the task pool. The embodiment sets the task pool storing the task sheet, so that the above execution subject can obtain the to-be-assigned picking task according to the marking of the picking task sheet in the task pool.
[0059] In some optional embodiments, the above execution subject can obtain the current idle picking personnel information according to a personnel pool storing picking personnel information. As an example, the personnel pool stores the picking personnel information, the picking personnel information includes the current state of the picking personnel, and the current state of the picking personnel can include an idle state and a non-idle state; and the current state of the picking personnel can be updated according to a preset rule, for example, updating the current state to the idle state or the non-idle state according to whether the picking personnel is online and the number of current to-be-processed picking tasks. The embodiment sets the personnel pool storing the picking personnel information, so that the above execution subject can obtain the current idle picking personnel information according to the picking personnel information in the personnel pool.
[0060] Step 402, determining whether the number of to-be-assigned picking tasks reaches a preset quantity, if yes, performing step 404, otherwise, performing step 403.
[0061] In some feasible implementation manners of the present application, the allocation of the picking task can be performed according to a set allocation period and / or a set triggering strategy. For example, the allocation of the picking task (for example, steps 404-406) can be triggered according to the set triggering strategy when the number of to-be-assigned picking task sheets reaches the preset quantity, and / or when the number of current idle picking personnel reaches a preset number.
[0062] In the embodiment, when the number of to-be-assigned picking tasks does not reach the preset quantity, the original task allocation strategy can be directly used, for example, system issuing or manual taking, to save computing resources. Alternatively, it can return to step 401 to continue to obtain the to-be-assigned picking task.
[0063] In some other possible implementation manners of the present application, if the waiting time of the current idle picking personnel exceeds the set time length without reaching the next allocation period and without meeting the set triggering strategy, the original task allocation strategy can also be directly used for the allocation of the picking task, such as the system issuing or manual taking mode, which helps to reduce the waiting time of the idle picking personnel, optimize the picking task allocation process, and further improve the picking efficiency.
[0064] Step 403, the original task allocation strategy is used for the allocation of the picking task, and step 407 is continued.
[0065] The original task allocation strategy is suitable for some situations where the number of current picking tasks to be allocated is small, and can be used as a flexible supplement to the picking task allocation algorithm of the present application.
[0066] Step 404, the picking task and picking personnel information are input into the pre-trained picking efficiency model to calculate the picking time corresponding to the allocation of each picking task to each picking personnel.
[0067] In the present embodiment, when the number of picking tasks to be allocated reaches the preset single quantity, the picking task allocation algorithm of the present application is triggered, and the picking task to be allocated and the idle picking personnel information obtained in step 401 are input into the trained picking efficiency model.
[0068] Specifically, the network structure of the picking efficiency model can be set by using various deep learning platforms, a training data set is constructed by pre-acquiring historical picking task data, and the picking efficiency model is trained by using existing machine learning methods.
[0069] The historical picking task data includes task order data and picking personnel data. Exemplarily, the task order data includes at least one of the following: order quantity, commodity storage location quantity, commodity quantity, commodity type, commodity weight, picking distance, and picking time period; and the picking personnel data includes at least one of the following: picking service service length, picking service location, average number of completed picking tasks per unit time, and average picking time of each picking task.
[0070] In the present embodiment, the historical picking task data including the picking task order dimension and the picking personnel dimension is used as training data to train the picking efficiency model. Thus, the trained picking efficiency model can learn the efficiency difference of the picking personnel dimension and the attribute difference of the picking task order. For example, the familiarity of the picking personnel with the storage area and the picking efficiency differ, and different picking task orders also differ, including order quantity, SKU (Stock Keeping Unit, minimum inventory unit) quantity, storage area, storage location, number of cross aisles, and picking time period.
[0071] After the picking task order and the picker information are input into the pre-trained picking efficiency model, the picking cost of the picker completing the corresponding picking task, such as the picking time length or the picking efficiency, can be obtained.
[0072] Step 405, constructing a weight matrix according to the picking task and the picker information, and determining the weight value of an element in the weight matrix according to the picking cost, and continuing to perform step 406.
[0073] In combination with the application scenario shown in Figure 3 , for allocating n picking task orders to m pickers (n and m are natural numbers), how to allocate the tasks to minimize the total cost (i.e., the total weight value of the weight matrix) is a problem to be solved by the present application.
[0074] Figure 5 The flow 500 of constructing the weight matrix is shown as a specific example of this step 405, and reference is made to Figure 5 , and the construction of the weight matrix can specifically include the following steps:
[0075] Step 501, constructing an n x m first matrix according to the number n of picking task orders and the number m of pickers.
[0076] As an example, an n x m first matrix C = {c ij} is constructed with the number n of picking tasks as rows (each row is the number of a picking task, respectively) and the number m of pickers as columns (each column is the number of a picker, respectively), where c ij is the picking time length of the jth picker completing the ith picking task, and i and j are natural numbers, i < n, and j < m. The calculated picking time length of each picker completing each picking task is taken as the weight value of each element of the first matrix, respectively.
[0077] Step 502, judging according to the number n of picking tasks and the number m of pickers, if n = m, performing step 503; if n < m, performing step 504; and if n > m, performing step 505.
[0078] Step 503, taking the first matrix as the weight matrix.
[0079] When n = m, the number of picking task orders is the same as the number of pickers, and each person is assigned a picking task, and the first matrix is taken as the weight matrix.
[0080] In some optional implementations, according to the weight parameters of the obtained weight matrix, a KM (Kuhn-Munkres) algorithm can be used to obtain the task allocation result. The KM algorithm is a method for solving allocation problems or assignment problems. The KM algorithm is used to minimize the total weight value of the weight matrix as an optimization objective, and the task allocation result corresponding to the shortest total picking time for completing all the to-be-allocated picking tasks is obtained.
[0081] For this case of n = m, the KM algorithm can be directly used to minimize the total weight value of the weight matrix as an objective to obtain the task allocation result.
[0082] Step 504, supplementing (m-n) rows of elements to the first matrix, and assigning a weight value of 0 to the supplemented (m-n) rows of elements as the weight matrix.
[0083] If n < m, the number of picking tasks is less than the number of picking personnel, which means that some picking personnel will not be assigned picking tasks. For this case, a virtual task can be added to actually assign no task to the picking personnel allocated with the virtual task. Specifically, (m-n) rows of elements with a weight value of 0 can be supplemented in the first matrix as the constructed weight matrix.
[0084] The supplemented weight matrix is an n x n matrix. By adding edges and supplementing zeros to the first matrix, the unbalanced assignment problem can be converted into a balanced assignment problem, and then the KM algorithm is used to obtain the task allocation result.
[0085] Step 505, copying the m-bit picking personnel p times to construct p first matrices as the weight matrix.
[0086] If n > m, the number of picking tasks is greater than the number of picking personnel, which means that some picking personnel will bear multiple picking tasks. For this case, each picking personnel can be copied p times to obtain p first matrices, which are spliced together by columns as the constructed weight matrix. Wherein, n = pm + q, p is the quotient, and q is the remainder (p and q are positive integers, and q < m).
[0087] By copying p first matrices, the problem can be converted into assigning pm picking tasks to pm picking personnel (which can be directly solved by using the KM algorithm), and the remaining q tasks can be allocated to the q picking personnel with the shortest picking time for completing the q picking tasks.
[0088] As an example, according to the first matrix C = {c ij}, q picking personnel with the shortest picking time for completing the q picking tasks can be found respectively.
[0089] In this embodiment, the weight matrix is constructed for the above three cases, wherein the weight value of the element in the weight matrix is determined according to the picking efficiency model, the picking efficiency model is obtained based on the training of historical picking task data, the historical picking task data includes picking task single dimension data and picking personnel dimension data, so that more efficient task allocation results can be obtained according to the picking distance and picking efficiency of the picking personnel, and the reasonable and balanced allocation of the picking task list among the picking personnel is facilitated.
[0090] Step 406, taking the total weight value of the weight matrix as the optimization target, allocating the picking task to obtain a task allocation result, and continuing to step 407.
[0091] In some optional implementation manners of the embodiment, the preset picking task allocation algorithm may, for example, adopt the KM algorithm, and the solving of the picking task allocation result is converted into the problem of solving the perfect matching of the weighted bipartite graph.
[0092] Figure 6 A specific example of step 406 is shown in the flow 600 of allocating the picking task based on the preset picking task allocation algorithm to obtain a task allocation result.
[0093] As shown in Figure 6 Taking the KM algorithm as an example, the flow of obtaining a task allocation result may include the following steps:
[0094] Step 601, constructing a bipartite graph representation based on the weight matrix.
[0095] In some embodiments, a bipartite graph representation can be constructed based on the to-be-allocated picking task and the idle picking personnel. For example, n picking personnel x1, x2, …, xn are arranged to complete m picking tasks y1, y2, …, ym. n The n picking tasks y1, y2, …, ym are completed. n Wherein each picking personnel can complete one or more picking tasks, and the picking efficiency of different picking personnel is different. This problem can be described as: solving the perfect matching of the bipartite graph G, for example, the perfect matching with the minimum weight (i.e. the minimum cost); or when the weight value is the picking efficiency, this problem can also be the perfect matching of the bipartite graph G with the maximum weight (i.e. the highest efficiency). The present application does not make specific limitations thereto.
[0096] Specifically, by inputting the weight matrix, converting it into a bipartite graph representation, and initializing the vertex label value, a weighted bipartite graph G is obtained. The vertex sets of the picking task and the picking personnel are V and T respectively, and the vertex label value lx and ly are initialized according to the greedy method, and the calculated weight value of the weight matrix is converted into a feasible vertex label value.
[0097] Step 602, finding the perfect matching of the bipartite graph under the preset constraint condition.
[0098] Specifically, some algorithms such as Maximal Flow or Hungarian Algorithm can be used to seek the perfect matching of the equal subgraph of the bipartite graph G. Meanwhile, preset constraints are added in the process of seeking the perfect matching, for example, each single picking task needs to be assigned and can only be assigned to one picker, and the difference between the total picking time, income or picking weight of different pickers in completing the current batch of picking tasks is less than a preset threshold.
[0099] Step 603, it is judged whether the perfect matching is found or not. If the perfect matching is not found, step 604 is executed, and if the perfect matching is found, step 605 is executed.
[0100] Step 604, the feasible top value is adjusted, and step 603 is returned.
[0101] If the perfect matching is not found, the value of the feasible top is adjusted and step 603 is returned to repeat the seeking until the perfect matching of the equal subgraph of the bipartite graph G is found.
[0102] Step 605, the perfect matching found is taken as an output result.
[0103] In the above embodiment, under the preset constraints, the perfect matching found can make the picking tasks assigned to each picker different from those of other pickers, and can make the total picking time for completing all picking tasks shortest or the total picking efficiency highest. The preset constraints can include that each single picking task needs to be assigned and can only be assigned to one picker, and the difference between the total picking time, total income or total picking weight of different pickers in completing the assigned picking tasks is less than a preset threshold.
[0104] Step 407, after obtaining the task assignment result, the assignment of the picking task to be assigned is completed.
[0105] According to the picking task assignment method provided in the above embodiment, by constructing the weight matrix, the unbalanced assignment problem can be converted into a balanced assignment problem, and the preset algorithm is used to solve the task assignment result, so as to realize the balanced assignment of the picking task. Meanwhile, the differences in picking efficiency of the pickers and the differences in single dimension of the picking task are fully considered, and by using the task pool and the picker pool, each batch of picking task to be assigned is reasonably matched among the idle pickers, so as to optimize the picking efficiency and achieve the purpose of the shortest total completion time of the batch task. In addition, by using the preset task assignment strategy, the unfairness of the manual picking mode can be reduced, and the warehouse operation and management cost can be reduced. The picking task assignment algorithm provided in the above embodiment has strong universality and expandability, and can also be applied to the review and packaging links.
[0106] With reference to Figure 7 , which shows the percentage reduction of total picking time of the warehouse picking task allocation method of the present application.
[0107] In combination Figure 7 As shown, by selecting 35 warehouses, the actual data within a month is statistically analyzed. The half-hour time slice is matched, the picking task order within half an hour and the picking personnel working in the period are selected to verify the picking task allocation method provided by the above-mentioned embodiments of the present application. According to the statistical data, the average total picking time of the 35 warehouses is reduced by 5.6%.
[0108] Further reference Figure 8 , as an implementation of the method shown in the above figures, the present application provides an embodiment of a picking task allocation device, which can correspond to the method embodiment or processing flow shown in Figures 2 to 6 , and the device can be specifically applied to various electronic devices.
[0109] As Figure 8 shown, the picking task allocation device 800 provided by the present embodiment includes an acquisition module 801, a cost determination module 802, a matrix construction module 803, and a task allocation module 804. The acquisition module 801 is configured to acquire the picking task to be allocated and the current idle picking personnel information; the cost determination module 802 is configured to calculate the picking cost corresponding to the allocation of each picking task to each picking personnel, wherein the picking cost includes the picking time; the matrix construction module 803 is configured to construct a weight matrix according to the picking task and the picking personnel information, and determine the weight value of the elements in the weight matrix according to the picking cost; and the task allocation module 804 is configured to allocate the picking task with the total weight value of the weight matrix as the optimization target, and obtain the task allocation result.
[0110] In some optional implementation manners of the present embodiment, the above-mentioned cost determination module 802 further includes the following units: an input unit configured to input the picking task and the picking personnel information into a pre-trained picking efficiency model; and a calculation unit configured to calculate the picking time corresponding to the allocation of each picking task to each picking personnel based on the picking efficiency model, wherein the picking efficiency model is obtained based on the training of historical picking task data, the historical picking task data includes task order data and picking personnel data, the task order data includes at least one of the following: order quantity, commodity storage location quantity, commodity quantity, commodity type, commodity weight, picking distance, and picking time period; and the picking personnel data includes at least one of the following: picking service service length, picking service location, average number of completed picking tasks per unit time, and average picking time of each picking task.
[0111] In some optional implementations of the embodiment, the matrix construction module 803 further includes: a first unit configured to construct a first matrix C={c ij} with the number n of picking tasks as rows and the number m of picking personnel as columns, where c ij is the picking duration of the jth picking personnel completing the ith single picking task, and m, n, i and j are natural numbers, i
[0112] In some optional implementations of the embodiment, the task allocation module 804 further includes: a transformation unit configured to construct a bipartite graph representation based on the weight matrix; a solving unit configured to solve a perfect matching of the bipartite graph under a preset constraint condition; and an allocation unit configured to obtain a task allocation result according to the perfect matching, where the preset constraint condition includes at least one of the following: each single picking task needs to be allocated and can only be allocated to one picking personnel; the difference between the total picking duration, total income or total picking weight of the allocated picking tasks completed by different picking personnel is less than a preset threshold.
[0113] In some optional implementations of the embodiment, the task allocation module 804 further includes a trigger judgment unit configured to allocate the picking tasks according to a set allocation period and / or a trigger strategy, where the trigger strategy includes at least one of the following conditions: the number of picking tasks to be allocated reaches a predetermined first threshold, and the number of idle picking personnel reaches a predetermined second threshold.
[0114] In the picking task allocation apparatus 800 of the embodiment, the specific processing of the acquisition module 801, the cost determination module 802, the matrix construction module 803 and the task allocation module 804 and each processing unit and the technical effects brought by the same can be respectively referred to the descriptions of the corresponding steps or processing flows. Figures 2 to 6 The related descriptions of the steps or processing flows in the corresponding implementations will not be repeated here.
[0115] In this embodiment, the acquisition module in the order picking task allocation device acquires the order picking tasks to be allocated and the information of the current idle order pickers; the cost determination module calculates the order picking cost corresponding to the allocation of each order picking task to each order picker, wherein the order picking cost includes the order picking duration or the order picking efficiency; the matrix construction module constructs a weight matrix according to the order picking tasks and the order picker information, and determines the weight values of the elements in the weight matrix according to the order picking cost; and the task allocation module allocates the order picking tasks with the total weight value of the weight matrix as the optimization target, and obtains the task allocation result, thereby providing an order picking task allocation device, which allocates the order picking tasks with the shortest total order picking duration of the current idle order pickers completing all the order picking tasks to be allocated as the target, so as to effectively shorten the total order picking duration of the batch order picking tasks and improve the overall order picking efficiency. In addition, the order picking tasks can be reasonably allocated according to the order picking distance, order picking efficiency and other information of the order pickers, which helps to realize the reasonable and balanced allocation of the order picking tasks among the order pickers.
[0116] Reference will now be made to Figure 9 , which shows a structural schematic diagram of a computer system 900 of a device (for example, a server or a terminal device in Figure 1 adapted to implement the embodiments of the present application. The terminal device in the embodiments of the present application can include but is not limited to mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablet PCs), PMPs (Portable Multimedia Players), vehicle-mounted terminals (for example, vehicle-mounted navigation terminals) and the like, and fixed terminals such as digital TVs, desktop computers and the like. Figure 9 The device shown is only an example and should not bring any limitation to the functions and use range of the embodiments of the present application.
[0117] As shown in Figure 9 , the computer system 900 can include a processor (for example, a CPU, Central Processing Unit) 901, which can perform various appropriate actions and processes according to programs stored in a read-only memory (ROM) 902 or programs loaded from a storage portion 908 into a random access memory (RAM) 903. In the RAM 903, various programs and data required for the operation of the system 900 are also stored. The processor 901, the ROM 902 and the RAM 903 are connected to each other through a bus 904. An input / output (I / O) interface 905 is also connected to the bus 904.
[0118] The following components are connected to the I / O interface 905: an input part 906 including a keyboard, a mouse, etc.; an output part 907 including a display such as a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage part 908 including a hard disk, etc.; and a communication part 909 including a network interface card such as a LAN card, a modem, etc. The communication part 909 performs communication processing via a network such as the Internet. A drive 910 is also connected to the I / O interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc. is attached to the drive 910 as necessary, so that a computer program read out therefrom is installed in the storage part 908 as necessary.
[0119] In particular, the processes described above with reference to the flowcharts can be implemented as a computer software program in accordance with embodiments of the present application. For example, embodiments of the present application include a computer program product comprising a computer program carried on a computer readable medium, the computer program containing program code for executing the methods illustrated by the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network by the communication part 909, and / or installed from the removable medium 911. When the computer program is executed by the processor 901, the above-described functions defined in the methods of embodiments of the present application are performed.
[0120] It should be noted that the computer readable medium described in the embodiments of the present disclosure can be a computer readable signal medium or a computer readable storage medium or any combination of the two. The computer readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples of computer readable storage media can include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, 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 embodiments of the present disclosure, the computer readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, device or apparatus. In the embodiments of the present disclosure, the computer readable signal medium can include a data signal carried in a baseband or as a part of a carrier wave, which carries computer readable program code. Such a propagated data signal can take various forms, including but not limited to an electromagnetic signal, an optical signal or any suitable combination of the above. The computer readable signal medium can also be any computer readable medium other than the computer readable storage medium, which can send, propagate or transmit a program for use by or in conjunction with an instruction execution system, device or apparatus. The program code contained in the computer readable medium can be transmitted by any suitable medium, including but not limited to a wire, a cable, an RF (radio frequency) or the like, or any suitable combination of the above.
[0121] The computer readable medium described above can be contained in the electronic device described above; or can exist separately and not be assembled into the electronic device. The computer readable medium described above carries one or more programs, which, when executed by the electronic device, cause the electronic device to: obtain to-be-assigned picking tasks and current idle picking personnel information; calculate a picking cost corresponding to the assignment of each picking task to each picking personnel, wherein the picking cost includes a picking duration; construct a weight matrix according to the picking task and the picking personnel information, and determine a weight value of an element in the weight matrix according to the picking cost; and assign the picking task to obtain a task assignment result, with the minimum total weight value of the weight matrix as the target.
[0122] Computer program code for carrying out operations of embodiments of the present disclosure can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).
[0123] The computer program instructions can also be loaded onto a computer or other programmable information processing apparatus to cause a series of operations to be performed on the computer or other programmable information processing apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable information processing apparatus implement the functions / acts specified in the flowchart and / or block diagram block or blocks.
[0124] The modules described in the embodiments of the present disclosure can be implemented by software, or can be implemented by hardware. The described modules can also be arranged in a processor, for example, can be described as: a processor includes an acquisition module, a cost determination module, and a task allocation module. Among them, the name of these modules does not constitute a limitation to the module itself in some cases, for example, the acquisition module can also be described as "acquisition unit" and the like.
[0125] The above description is merely that of the preferred embodiments of the present disclosure and a description of the technical principles of the present disclosure. It should be understood by those skilled in the art that the inventive scope of the embodiments of the present disclosure is not limited to the technical solutions formed by the specific combinations of the above technical features, and should also cover other technical solutions formed by the combinations of the above technical features or equivalent features without departing from the above inventive concept. For example, the technical solutions formed by the mutual replacement of the above features and the technical features with similar functions disclosed in the embodiments of the present disclosure (but not limited to) form the technical solutions.
Claims
1. A method for assigning picking tasks, comprising: Get the picking tasks to be assigned and the information of currently available picking personnel; Calculate the picking cost corresponding to assigning each picking task to each picking person, wherein the picking cost includes picking time or picking efficiency; A weight matrix is constructed based on the picking task and the picking personnel information, and the weight values of the elements in the weight matrix are determined based on the picking cost. Using the total weight value of the weight matrix as the optimization objective, the picking tasks are assigned to obtain the task assignment results.
2. The method according to claim 1, wherein, The calculation of the picking cost for each picking task assigned to each picking worker includes: The picking task and the picking personnel information are input into a pre-trained picking efficiency model to calculate the picking time corresponding to each picking task assigned to each picking personnel. The picking efficiency model is obtained by training on historical picking task data.
3. The method according to claim 2, wherein, The historical picking task data includes task order data and picking personnel data. The task order data includes at least one of the following: order quantity, number of storage locations for goods, quantity of goods, type of goods, weight of goods, picking distance, and picking time period; The picking personnel data includes at least one of the following: length of service in picking, picking service location, average number of picking tasks completed per unit time, and average picking time for each order.
4. The method according to claim 1, wherein, The weight matrix constructed based on the picking task and the picking personnel information includes: Construct an n×m first matrix C = {c} with the number of picking tasks n as rows and the number of picking personnel m as columns. ij }, where c ij Let m, n, i, and j be the picking time for the j-th picker to complete the i-th order picking task, where m, n, i, and j are all natural numbers, i < n, j < m; In response to n = m, the first matrix is used as the weight matrix; In response to n > m, the m picking personnel are copied p times to construct p of the first matrix as the weight matrix, where n = pm + q, p is the quotient, q is the remainder, p and q are positive integers, and q < m; In response to n < m, the first matrix is supplemented with (mn) rows of elements, and the weight values of the supplemented (mn) rows of elements are set to zero, which is used as the weight matrix.
5. The method according to claim 4, wherein, The process of allocating picking tasks based on the total weight value of the weight matrix as the optimization objective, resulting in task allocation, includes: A bipartite graph representation is constructed based on the weight matrix; Under preset constraints, solve for the perfect matching of the bipartite graph; The task allocation result is obtained based on the complete matching.
6. The method according to claim 5, wherein, The preset constraints include at least one of the following: Each order picking task must be assigned to one picker only; The difference in total picking time, total revenue, or total picking weight among different pickers in completing their assigned picking tasks is less than a preset threshold.
7. The method according to any one of claims 1-6, wherein, The method further includes: The picking tasks are allocated according to the set allocation cycle and / or triggering strategy; The triggering strategy includes satisfying at least one of the following conditions: the number of picking tasks to be assigned reaches a predetermined first threshold, and the number of idle picking personnel reaches a predetermined second threshold.
8. A picking task allocation device, wherein, The device includes: The acquisition module is configured to acquire picking tasks to be assigned and information on currently available picking personnel; The cost determination module is configured to calculate the picking cost corresponding to allocating each picking task to each picking person, wherein the picking cost includes picking time or picking efficiency. The matrix construction module is configured to construct a weight matrix based on the picking task and the picking personnel information, and to determine the weight values of the elements in the weight matrix based on the picking cost. The task allocation module is configured to allocate the picking tasks with the total weight value of the weight matrix as the optimization objective, and obtain the task allocation result.
9. An electronic device, comprising: One or more processors; A storage device on which one or more programs are stored; When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-7.
10. A computer-readable medium having a computer program stored thereon, wherein, When the program is executed by the processor, it implements the method as described in any one of claims 1-7.