A task distribution method and device
By obtaining and packaging logistics task information and using the task distribution model to optimize task distribution, the problems of low time-saving satisfaction rate and unbalanced work efficiency in the logistics industry are solved, and more efficient task distribution is achieved.
Patent Information
- Application Number
- CN201910391695.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-05-08
- Publication Date
- 2025-02-07
- Estimated Expiration
- 2039-05-08
AI Technical Summary
The timely satisfaction rate of recruiting and dispatching personnel in the logistics industry is low, the work efficiency is unbalanced, and there are differences in busy and idle states.
By obtaining the task information and user information of the tasks to be distributed, the task package is generated, and the task package and user information are input into the pre-generated task distribution model to meet the task package time limit as the goal, and the task distribution results are output.
It improves the timely satisfaction rate and work efficiency of recruiting and dispatching personnel in the logistics industry, balances the busy and idle state, and improves the overall efficiency of task distribution.
Smart Images

Figure CN111915119B_ABST
Abstract
Description
Technical Field
[0001] The present invention generally relates to the field of data processing technology, and in particular to a task distribution method and device. Background Art
[0002] With the rise of e-commerce, the logistics industry is booming.
[0003] At present, in the logistics industry, it is necessary to collect and dispatch the generated tasks, which can be referred to as receiving and dispatching in the logistics industry. The personnel responsible for receiving and dispatching are called dispatchers. In the current logistics industry, the tasks and areas that dispatchers are responsible for collecting and dispatching express parcels every day are basically fixed. That is, several dispatchers are responsible for collecting and delivering express parcels in one area. This method is very simple and single for dispatchers, and easy to execute. However, from the perspective of branch management and employees themselves, there are still the following defects: low timeliness satisfaction rate, uneven work efficiency of dispatchers, and differences in busy and idle status. Summary of the invention
[0004] In view of the above-mentioned defects or deficiencies in the prior art, it is desirable to provide a task distribution method, device, equipment and computer storage medium for solving the problems of low timeliness satisfaction rate and uneven work efficiency of delivery personnel in the logistics industry.
[0005] In a first aspect, an embodiment of the present application provides a task distribution method, including:
[0006] Acquire task information of the task to be distributed and user information of at least one user who performs the task to be distributed; the task information includes: task type, task address, task generation time and task validity; the user information includes: user identification and working time;
[0007] Packing the tasks to be distributed according to the task information of the tasks to be distributed to generate multiple task packages;
[0008] Each of the task packages and the user information of the user is input into a task distribution model that is generated in advance with the goal of meeting the timeliness of the task packages, and the task distribution result is output.
[0009] In a second aspect, an embodiment of the present application provides a task distribution device, including:
[0010] An acquisition unit, used to acquire task information of the task to be distributed and user information of at least one user who performs the task to be distributed; the task information includes: task type, task address, task generation time and task validity; the user information includes: user identification and working time;
[0011] A packaging unit, used for packaging the tasks to be distributed according to the task information of the tasks to be distributed, and generating a plurality of task packages;
[0012] The result output unit inputs each of the task packages and the user information of the user into a task distribution model generated in advance with the goal of meeting the timeliness of the task packages, and outputs the task distribution result.
[0013] The task distribution scheme provided by the embodiment of the present application obtains the task information of the task to be distributed and the user information of at least one user who performs the task to be distributed, and then packages the task to be distributed according to the task information of the task to be distributed, generates multiple task packages, and then inputs each task package and the basic information of the user into the task distribution model generated in advance with the goal of meeting the timeliness of the task package, and outputs the task distribution result. This technical solution solves the problem of low timeliness satisfaction rate and uneven work efficiency of delivery personnel in the logistics industry. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] Other features, objects and advantages of the present application will become more apparent by reading the detailed description of non-limiting embodiments made with reference to the following drawings:
[0015] Figure 1 A flowchart of a task distribution method provided by an embodiment of the present application is shown;
[0016] Figure 2 A diagram showing a method for scheduling the next day's shifts for delivery personnel proposed in an embodiment of the present invention is shown;
[0017] Figure 3 A schematic diagram of the structure of a task distribution device provided in an embodiment of the present application is shown;
[0018] Figure 4 A schematic diagram of the structure of a computer system suitable for implementing a server of an embodiment of the present application is shown. DETAILED DESCRIPTION
[0019] The present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the relevant invention, rather than to limit the invention. It is also necessary to explain that, for ease of description, only the parts related to the invention are shown in the accompanying drawings.
[0020] It should be noted that, in the absence of conflict, the embodiments and features in the embodiments of the present application can be combined with each other. The present application will be described in detail below with reference to the accompanying drawings and in combination with the embodiments.
[0021] The technical solution proposed in the embodiment of the present invention can be applied to services related to express delivery, takeaway delivery, etc.
[0022] Please refer to Figure 1 , which shows an exemplary flow chart of the task distribution method provided in an embodiment of the present application. The method includes:
[0023] Step 11, obtaining task information of the task to be distributed and user information of at least one user who executes the task to be distributed; the task information includes: task type, task address, task generation time and task validity; the user information includes: user identification and working hours.
[0024] Taking the logistics industry as an example, task types may include delivery type, collection type, and lunch type, etc.
[0025] For dispatch tasks of the delivery type or the collection type, the task address is the delivery address or the collection address; the task generation time is the time when the dispatch task is generated in the logistics system, and the task validity period refers to the length of time from the generation to the completion of the dispatch task;
[0026] For lunch-type tasks to be distributed, the task address, task generation time and task validity period can be empty.
[0027] For delivery or collection tasks to be distributed, the task information may also include quantity information.
[0028] In addition, the basic information of the user includes a user ID, which is the only identity mark that can identify the user who performs the distribution task. The user ID can be the user's ID number, the user's employee number, the user's serial number, etc. The basic information of the user can also include the user's working hours. The working hours corresponding to the user ID can be used to determine the earliest starting working time and the latest working time of the user corresponding to the user ID. Furthermore, it can also be determined whether the user needs additional working hours based on the user's working hours.
[0029] Step 12: Pack the tasks to be distributed according to the task information of the tasks to be distributed, and generate multiple task packages.
[0030] Specifically, when generating a task package, the task addresses of the tasks to be distributed can be first clustered to obtain multiple address types, each of which represents an address range; wherein, when clustering the task addresses of the tasks to be distributed, a density clustering algorithm can be used, such as DBSCAN (Density-Based Spatial Clustering of Applications with Noise). After obtaining multiple address types, they can be named POI (Place of Interest) and numbered, such as a1, a2, and a3.
[0031] After multiple address types are determined, the address type of the task to be distributed can be determined according to the task address of the task to be distributed, that is, each task to be distributed can be classified into different POIs.
[0032] Finally, a task package is generated based on the address type, task type, task generation time and task validity of the task to be distributed.
[0033] Specifically, the tasks to be distributed with the same task type, the same timeliness type, the same address type, and the task generation time belonging to the same preset time period can be packaged to generate a task package.
[0034] The preset time period can be determined as follows: the whole day is divided into 12 time periods in advance, each time period is 2 hours, namely T1, T2, ... T 12 , for example, T x =[2(x-1),2x) corresponds to the time points 2(x-1) and 2x respectively. For example, T1=[0,2) represents the time period from 0:00 to 2:00.
[0035] After the task package is generated, the task package information of the task package may be determined according to the task information of the tasks to be distributed contained therein, such as the time consumption of the task package.
[0036] The duration of the task package can be determined as follows:
[0037] Task package time = task package quantity / task package POI energy efficiency value;
[0038] Among them, the quantity of task packages can be determined based on the quantity information of the tasks to be distributed contained therein; and the task package POI energy efficiency value refers to the number of items that can be received, delivered or other types of tasks that can be completed by users working in the POI in one hour. Therefore, in the same POI, different task types correspond to different POI energy efficiency values, and the task package POI energy efficiency value is predetermined based on the task type corresponding to the task package. The specific method is: based on the historical data of the task type corresponding to the task package by users working in the POI, after removing abnormal data, the average value is taken. For example, when the task type corresponding to the task package is the receiving type, the task package POI energy efficiency value is: the average value obtained by removing abnormal data from the historical number of items received by users working in the POI.
[0039] It should be noted that, for the lunch type tasks to be distributed, they themselves constitute a task package, and the duration of the task package is set according to the user's needs, such as one hour.
[0040] In addition to the task package duration, the task package information may also include at least one or more of the following:
[0041] The number of tasks in the task package;
[0042] The start time of task package processing;
[0043] Task package processing time;
[0044] The maximum working time for processing task packages;
[0045] Minimum working time for processing task packages;
[0046] The latest start time of the task package;
[0047] The latest completion time of the task package.
[0048] Step 13, inputting each task package and user information of the user into a task distribution model generated in advance with the goal of meeting the timeliness of the task package, and outputting the task distribution result.
[0049] Among them, in addition to meeting the timeliness of the task package as the goal, the task distribution model can also aim to minimize the time difference, where minimizing the time difference means that among the start times of all task packages assigned to the user corresponding to the user identifier, the difference between the earliest start time and the latest start time is the smallest.
[0050] Among them, the task distribution model includes an objective function; the objective function is:
[0051]
[0052]
[0053] Among them, s i,m and i,n are the start time of task package m and the start time of task package n assigned to user i, respectively. The start time of task package m and the start time of task package n are respectively the earliest start time and the latest start time among all task packages assigned to user i; the s i,k is the start time of task package k assigned to user i, and x i,k The time taken by user i to execute task package k; k is the time limit of the task package k.
[0054] The above objective function also contains at least one of the following constraints:
[0055] The first constraint is that the time when users execute each task package does not overlap.
[0056] The expression is as follows:
[0057] s i,m +x i,m ≤s i,n |s i,m≥s i,n +x i,n ;
[0058] Second constraint:
[0059] s i,k =0|ast k ≤s i,k ≤mst;
[0060] s i,k +x i,k ≤mft;
[0061] x i,k =0@s i,k =0;
[0062] Among them, the ast k is the time when task package k can start; mst is the latest time when task package k can start; mft is the latest completion time of task package k.
[0063] The third constraint condition: each of the task packages is assigned to one user.
[0064] The expression is as follows:
[0065]
[0066] Fourth constraint: The total time consumption of all task packages assigned to each user shall not exceed the working time of the user.
[0067]
[0068] Among them, mt is the user's working time.
[0069] The fifth constraint: the start time of the lunch type task package is within the preset time period;
[0070] For example, when each user can have lunch in one hour between 11:00 and 13:00, the start time of the task package consisting of tasks to be distributed with the task type of lunch type is between 11:00 and 12:00, and the expression is as follows:
[0071] 11≤s i,k ≤12, k is the lunch type task package;
[0072] Sixth constraint condition: the change range of the total amount of tasks of all task packages assigned to the user compared with the historical task amount does not exceed the set threshold.
[0073] The expression is as follows:
[0074]
[0075] in, H is the historical task volume, ha i,t The historical number of tasks of task type t executed by user i;
[0076] G is the total amount of tasks in all task packages assigned to the user, a k is the task amount of task package k; ε is the set threshold.
[0077] In the above task distribution model, there are also the following sets:
[0078] I: a collection of delivery employee numbers. In this embodiment, the delivery employee number uniquely identifies the delivery employee.
[0079] J: a collection of task packages of different task types;
[0080] T: task type set;
[0081] P: Timeliness type set;
[0082] Write the above task distribution model into code, for example, use Python pulp to write the above model. Some nonlinear constraints need to be converted. You can refer to many general methods. Next, call the corresponding operations research planning solver such as Cplex, Gurobi, etc. to solve and output the results.
[0083] The output results can be found in Figure 2 As shown, in Figure 2 In the figure, the Y-axis represents the IDs of different couriers, and the X-axis corresponds to the timeline of a certain day. Figure 2 There are many different task blocks in the task list. The color of each task block represents the task type, the length of the task block represents the duration, the starting position represents the actual start time of the task, and the ending position represents the estimated completion time of the task.
[0084] The task distribution scheme provided by the embodiment of the present application obtains the task information of the task to be distributed and the user information of at least one user who performs the task to be distributed, then packages the task to be distributed according to the task information of the task to be distributed, generates multiple task packages, and determines the task package information of each task package, and then inputs the task package information of each task package and the basic information of the user into the task distribution model generated in advance with the goal of meeting the timeliness of the task package, and outputs the task distribution result. This technical solution solves the problem of low timeliness satisfaction rate and uneven work efficiency of delivery personnel in the logistics industry.
[0085] It should be noted that although the operations of the method of the present invention are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in this particular order, or that all the operations shown must be performed to achieve the desired results. On the contrary, the steps depicted in the flow chart can be performed in a different order. Additionally or alternatively, some steps can be omitted, multiple steps can be combined into one step, and / or one step can be decomposed into multiple steps.
[0086] Accordingly, the embodiment of the present invention also provides a task sub-packaging device, such as Figure 3 As shown, including:
[0087] The acquisition unit 31 is used to acquire task information of the task to be distributed and user information of at least one user who performs the task to be distributed; the task information includes: task type, task address, task generation time and task validity; the user information includes: user identification and working time;
[0088] A packaging unit 32, used for packaging the tasks to be distributed according to the task information of the tasks to be distributed, and generating multiple task packages;
[0089] The result output unit 33 inputs each of the task packages and the user information of the user into a task distribution model generated in advance with the goal of meeting the timeliness of the task packages, and outputs the task distribution result.
[0090] Optionally, the packaging unit 32 includes:
[0091] A clustering module 321 is used to cluster the task addresses of the tasks to be distributed to obtain multiple address types, each of which represents an address range;
[0092] An address type determination module 322, configured to determine the address type of the task to be distributed according to the task address of the task to be distributed;
[0093] The packaging module 323 is used to generate a task package according to the address type, task type, task generation time and task timeliness of the task to be distributed.
[0094] Optionally, the packaging module 323 is used to:
[0095] The tasks to be distributed of the same task type, the same timeliness type, the same address type and the task generation time belonging to the same preset time period are packaged to generate the task package.
[0096] It should be understood that the subsystems or units described in the above device are the same as those described in the reference Figure 1-Figure 2Therefore, the operations and features described above for the method are also applicable to the above-mentioned device and the units contained therein, and will not be repeated here.
[0097] Reference below Figure 4 , which shows a schematic diagram of the structure of a computer system 400 suitable for implementing a server of an embodiment of the present application.
[0098] like Figure 4 As shown, the computer system 400 includes a central processing unit (CPU) 401, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 402 or a program loaded from a storage part 408 into a random access memory (RAM) 403. In the RAM 403, various programs and data required for the operation of the system 400 are also stored. The CPU 401, the ROM 402, and the RAM 403 are connected to each other via a bus 404. An input / output (I / O) interface 405 is also connected to the bus 404.
[0099] The following components are connected to the I / O interface 405: an input section 406 including a keyboard, a mouse, etc.; an output section 407 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc.; a storage section 408 including a hard disk, etc.; and a communication section 409 including a network interface card such as a LAN card, a modem, etc. The communication section 409 performs communication processing via a network such as the Internet. A drive 410 is also connected to the I / O interface 405 as needed. A removable medium 411, such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is installed on the drive 410 as needed, so that a computer program read therefrom is installed into the storage section 408 as needed.
[0100] In particular, according to the embodiments of the present disclosure, the above reference Figure 1-Figure 2 The described processes may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program tangibly embodied on a machine-readable medium, the computer program comprising a computer program for executing Figure 1-Figure 3 In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 409 and / or installed from the removable medium 411.
[0101] 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 square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the 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 square box can also occur in a different order from the order marked in the accompanying drawings. For example, two square 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 square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.
[0102] The units or modules involved in the embodiments described in the present application may be implemented by software or hardware. The units or modules described may also be arranged in a processor. The names of these units or modules do not constitute limitations on the units or modules themselves in certain circumstances.
[0103] As another aspect, the present application further provides a computer-readable storage medium, which may be a computer-readable storage medium included in the apparatus described in the above embodiment; or a computer-readable storage medium that exists independently and is not assembled into the device. The computer-readable storage medium stores one or more programs, and the programs are used by one or more processors to execute the task distribution method described in the present application.
[0104] The above description is only a preferred embodiment of the present application and an explanation of the technical principles used. Those skilled in the art should understand that the scope of the invention involved in the present application is not limited to the technical solution formed by a specific combination of the above technical features, but should also cover other technical solutions formed by any combination of the above technical features or their equivalent features without departing from the inventive concept. For example, the above features are replaced with (but not limited to) technical features with similar functions disclosed in the present application.
Claims
1. A task distribution method, characterized in that: The method comprises: Obtaining task information of the task to be distributed and user information of at least one user who executes the task to be distributed; the task information includes: task type, task address, task generation time and task time limit; the user information includes: user identification and working time; wherein the task generation time is the generation time of the task to be distributed in the logistics system, and the task time limit is the length of time from the generation time to the completion time of the task to be distributed; Packing the tasks to be distributed according to the task information of the tasks to be distributed to generate multiple task packages; Input the multiple task packages and the user information of the users into a task distribution model generated in advance with the goal of meeting the timeliness of the task packages, and output a task distribution result; The step of packaging the tasks to be distributed according to the task information of the tasks to be distributed to generate multiple task packages includes: Performing address clustering on the task addresses of the tasks to be distributed to obtain a plurality of address types, each of the address types representing an address range; Determine the address type of the task to be distributed according to the task address of the task to be distributed; Generate multiple task packages according to the address type, task type, task generation time and task timeliness of the tasks to be distributed; The task distribution model also aims to minimize the time difference, wherein minimizing the time difference means that among the start times of all task packages assigned to the user corresponding to the user identifier, the difference between the earliest start time and the latest start time is the smallest; The task distribution model includes an objective function; the objective function is: ; ; ; in, and are the start time of task package m and the start time of task package n assigned to user i, respectively. The start time of task package m and the start time of task package n are respectively the earliest start time and the latest start time among all task packages assigned to user i; is the start time of task package k assigned to user i, The time taken for the user i to execute task package k; is the time limit of the task package k; The objective function also includes at least one or more of the following constraints: The first constraint condition is that the time when users execute each task package does not overlap; Second constraint: ; ; ; Among them, the is the time when task package k can start; is the latest time that task package k can start; is the latest completion time of task package k; Third constraint: each of the task packages is assigned to one of the users; Fourth constraint: the sum of the task package durations of all task packages assigned to each user shall not exceed the working hours of the user; The fifth constraint: the start time of the lunch type task package is within the preset time period; Sixth constraint condition: the change range of the total amount of tasks of all task packages assigned to the user compared with the historical task amount does not exceed the set threshold.
2. The method according to claim 1, characterized in that Generate a task package according to the address type, task type, task generation time and task timeliness of the task to be distributed, including: The tasks to be distributed of the same task type, the same timeliness type, the same address type and the task generation time belonging to the same preset time period are packaged to generate the task package.
3. A task distribution device, characterized in that: The device comprises: An acquisition unit is used to acquire task information of the task to be distributed and user information of at least one user who executes the task to be distributed; the task information includes: task type, task address, task generation time and task time limit; the user information includes: user identification and working time; wherein the task generation time is the generation time of the task to be distributed in the logistics system, and the task time limit is the length of time from the generation time to the completion time of the task to be distributed; A packaging unit, used for packaging the tasks to be distributed according to the task information of the tasks to be distributed, and generating a plurality of task packages; The result output unit inputs each of the task packages and the user information of the user into a task distribution model generated in advance with the goal of meeting the timeliness of the task packages, and outputs the task distribution result; the task distribution model also aims to minimize the time difference, wherein minimizing the time difference means that among the start times of all the task packages assigned to the user corresponding to the user identifier, the difference between the earliest start time and the latest start time is the smallest; The packaging unit comprises: A clustering module, used for clustering the task addresses of the tasks to be distributed to obtain a plurality of address types, each of which represents an address range; An address type determination module, used to determine the address type of the task to be distributed according to the task address of the task to be distributed; A packaging module, used to generate a task package according to the address type, task type, task generation time and task timeliness of the task to be distributed; The task distribution model includes an objective function; the objective function is: ; ; ; in, and are the start time of task package m and the start time of task package n assigned to user i, respectively. The start time of task package m and the start time of task package n are respectively the earliest start time and the latest start time among all task packages assigned to user i; is the start time of task package k assigned to user i, The time taken for the user i to execute task package k; is the time limit of the task package k; The objective function also includes at least one or more of the following constraints: The first constraint condition is that the time when users execute each task package does not overlap; Second constraint: ; ; ; Among them, the is the time when task package k can start; is the latest time that task package k can start; is the latest completion time of task package k; Third constraint: each of the task packages is assigned to one of the users; Fourth constraint: the sum of the task package durations of all task packages assigned to each user shall not exceed the working hours of the user; The fifth constraint: the start time of the lunch type task package is within the preset time period; Sixth constraint condition: the change range of the total amount of tasks of all task packages assigned to the user compared with the historical task amount does not exceed the set threshold.
4. The device according to claim 3, characterized in that The packaging module is used to: The tasks to be distributed of the same task type, the same timeliness type, the same address type and the task generation time belonging to the same preset time period are packaged to generate the task package.
Citation Information
Patent Citations
Delivery task distribution method and device, server and storage medium
CN109636107A
Method, system and equipment for optimizing matching of receiving and dispatching tasks and resources
CN109697524A