Task assignment method and system
Patent Information
- Application Number
- CN202111528600.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-14
- Publication Date
- 2026-08-28
- Estimated Expiration
- 2041-12-14
AI Technical Summary
[0003]本发明实施例提供一种任务分配方法以及系统,以解决现有技术中工位任务分配时间不均衡以及任务加工顺序不合理的问题
[0011]上述任务加工方法以及系统,该方法通过待分配任务的任务信息以及任务加工工位的工位信息对待分配任务进行排序,并基于该第一分配顺序确定与各待分配任务对应的平均加工时间,也即将每一个待分配任务拆分到对应的匹配加工工位上进行计算的,如此可以将平均加工时间作为后续步骤任务分配的参考,提高任务分配的准确率和效率。进一步地,基于第二分配顺序与上述计算的平均加工时间结合对待分配任务进行任务分配,可以将待分配任务分配至适配的任务加工工位上,从而提高了任务分配的准确率。
Smart Images

Figure CN116263894B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent manufacturing technology, and in particular to a task allocation method and system. Background Technology
[0002] With the development of science and technology, more and more information management systems are being applied in various fields. These information management systems can bring significant management benefits to enterprises and have gradually become the core of some industrial software. In existing technologies, MES (Manufacturing Execution System) systems are commonly used for multi-station task scheduling and production planning in the workshop. However, the use of MES systems often results in uneven task allocation time at workstations and unreasonable task processing sequences, leading to low efficiency of workshop equipment and consequently low efficiency in completing workshop tasks. Summary of the Invention
[0003] This invention provides a task allocation method and system to solve the problems of uneven task allocation time and unreasonable task processing sequence in the prior art.
[0004] A task allocation method, comprising:
[0005] Receive task allocation instructions; the task allocation instructions include task information corresponding to each task to be allocated;
[0006] Obtain the workstation information corresponding to each task processing workstation, and determine the first allocation order corresponding to each of the tasks to be assigned based on the workstation information and the task information, and determine the matching processing workstation corresponding to each of the tasks to be assigned from each of the task processing workstations.
[0007] Based on the workstation information, task information, and first allocation order of the matching processing station corresponding to each of the tasks to be assigned, the average processing time of the matching processing station corresponding to each of the tasks to be assigned is determined.
[0008] Based on the workstation information and the task information, a second allocation order corresponding to each of the tasks to be assigned is determined;
[0009] Based on the second allocation order corresponding to each of the tasks to be assigned and the average processing time of the matching processing station corresponding to the task to be assigned, the task allocation result corresponding to each of the tasks to be assigned is determined.
[0010] A task allocation system includes a controller for performing the task allocation method described above, the controller being connected to the task processing equipment contained in each task processing station.
[0011] The aforementioned task processing method and system sorts the tasks to be assigned based on their task information and the workstation information of the task processing stations. Based on this first allocation order, it determines the average processing time corresponding to each task, essentially splitting each task into its corresponding matching workstation for calculation. This average processing time can then be used as a reference for subsequent task allocation steps, improving the accuracy and efficiency of task allocation. Furthermore, by combining the second allocation order with the calculated average processing time, tasks can be assigned to suitable task processing stations, further improving the accuracy of task allocation. Attached Figure Description
[0012] To more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0013] Figure 1 This is a flowchart of a task allocation method in one embodiment of the present invention;
[0014] Figure 2 This is a flowchart of step S30 in a task allocation method according to an embodiment of the present invention;
[0015] Figure 3 This is a flowchart of step S50 in a task allocation method according to an embodiment of the present invention;
[0016] Figure 4 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation
[0017] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0018] In one embodiment, such as Figure 1 As shown, a task allocation method is provided, including the following steps:
[0019] S10: Receive task allocation instructions; the task allocation instructions include task information corresponding to each task to be allocated.
[0020] Understandably, task assignment instructions can be sent by users via mobile devices, or automatically generated after users transmit or obtain information about the tasks to be assigned and their corresponding task information. The tasks to be assigned can be defined differently in different scenarios. For example, in a workshop production scenario, the tasks to be assigned can be work orders. These work orders can be generated based on order information uploaded by the user. For instance, orders can be broken down into work orders according to the configured process route, and then the required parts for each work order can be nested to obtain the corresponding work order. The task information records data such as the planned task requirements, processing time, processing priority, material specifications, and planned completion time for the tasks to be assigned.
[0021] S20: Obtain the workstation information corresponding to each task processing workstation, and determine the first allocation order corresponding to each of the tasks to be assigned based on the workstation information and the task information, and determine the matching processing workstation corresponding to each of the tasks to be assigned from the task processing workstations.
[0022] As can be understood, a task processing station is used to process various parts or other materials. Each task processing station may contain several task processing devices, which are used to process various parts or other materials. The station information records information such as the processing capacity of the task processing station (processing capacity information indicates the specifications of parts or materials that the task processing devices in the task processing station can process), the remaining processing time of the assigned tasks (that is, the remaining processing time of the task processing devices under the task processing station), and the number of task processing devices.
[0023] Furthermore, the first allocation order refers to the ranking of the tasks to be allocated. This first allocation order is used to calculate the average processing time of the matching processing station corresponding to each task. In other words, each task to be allocated is associated with a first allocation order, which can be encoded using symbols such as Arabic numerals. For example, the first allocation order of one task to be allocated is 1, and the first allocation order of another task to be allocated is 2, etc. A matching processing station refers to a processing station capable of processing the parts or materials in the task to be allocated, and each task to be allocated has at least one matching processing station.
[0024] Specifically, after receiving the task allocation instruction, the station information corresponding to each task processing station is obtained. Then, based on the processing capacity information and equipment quantity representing the processing capacity of each task processing station in the station information, and the data such as materials and parts representing each task to be allocated in the task information corresponding to each task to be allocated, the tasks to be allocated are sorted, and the first allocation order corresponding to each task to be allocated is determined. Finally, the matching processing station corresponding to each task to be allocated is determined from the task processing stations.
[0025] S30: Determine the average processing time of the matching processing station corresponding to each of the tasks to be assigned, based on the task information, the first allocation order, and the station information of the matching processing station.
[0026] Specifically, after determining the first allocation order corresponding to each task to be assigned based on the workstation information and task information, and identifying the matching processing workstations corresponding to each task to be assigned from among the task processing workstations, the average processing time of the matching processing workstations corresponding to each task to be assigned is determined based on the workstation information of the matching processing workstations corresponding to each task to be assigned, the task information corresponding to each task to be assigned, and the first allocation order. The average processing time is the time recalculated by splitting each task to be assigned to each matching processing workstation. This average processing time can serve as a reference for subsequent steps in allocating tasks to be assigned, thereby improving the rationality of task allocation.
[0027] S40: Determine the second allocation order corresponding to each of the tasks to be allocated based on the task information corresponding to each task to be allocated and the workstation information of the corresponding matching processing station.
[0028] Specifically, after determining the average processing time of the matching processing station corresponding to each of the tasks to be assigned, based on the task information, the first allocation order, and the station information of the matching processing station, a second allocation order can be determined for each task to be assigned, based on information such as task priority and slack time in the task information corresponding to the task to be assigned, and information such as the number of processing devices for the matching processing station in the station information. The second allocation order refers to the order in which the tasks to be assigned are ordered, indicating the sequence of task allocation results. Each task to be assigned is associated with a second allocation order, which can also be encoded using Arabic numerals, for example, a task to be assigned might have a first allocation order of 1, another task might have a first allocation order of 2, and so on. It should be noted that for a single task to be assigned, its first and second allocation orders may be the same or different.
[0029] S50: Determine the task allocation result corresponding to each of the tasks to be allocated based on the second allocation order corresponding to each of the tasks to be allocated and the average processing time of the matching processing station corresponding to the task to be allocated.
[0030] Specifically, after determining the second allocation order corresponding to each of the tasks to be assigned based on the task information and the workstation information of the corresponding matching processing station, the tasks to be assigned are assigned workstations according to the second allocation order and the average processing time of the corresponding matching processing station. That is, each task to be assigned is configured into a corresponding task processing station, thus obtaining a task allocation result. The parts or materials in the assigned task can then be processed using the task processing equipment in the assigned workstation. Each task to be assigned corresponds to one task allocation result, which represents the task to be assigned and its corresponding task processing station. For example, the task allocation result for one task to be assigned indicates that the task to be assigned is assigned to the fourth task processing station.
[0031] In this embodiment, the tasks to be assigned are sorted based on their task information and the workstation information. The first allocation order is based on the number of matching workstations corresponding to each task. The average processing time for each task is determined based on this first allocation order; that is, each task is split into its corresponding matching workstation for calculation. This allows the average processing time to be used as a reference for subsequent task allocation steps, improving the accuracy and efficiency of task allocation. Furthermore, the second allocation order considers not only the number of matching workstations but also the task priority and processing time of the task itself. Combining this with the calculated average processing time allows for task allocation to suitable workstations, further improving the accuracy of task allocation.
[0032] In one embodiment, step S20, namely determining the first allocation order corresponding to each of the tasks to be assigned based on the workstation information and the task information, and determining the matching processing workstation corresponding to each of the tasks to be assigned from the task processing workstations, includes:
[0033] The processing capacity information corresponding to each of the task processing stations is determined from the station information, and the processing material information corresponding to each of the tasks to be assigned is obtained from the task information.
[0034] Understandably, the processing capacity information mentioned above refers to the specifications or materials of parts that the processing equipment at the task processing station can process. The processing material information refers to the parts or materials that need to be processed in the assigned task.
[0035] Based on the processing capacity information and the processing material information, a matching processing station corresponding to each of the tasks to be assigned is determined.
[0036] Specifically, after determining the processing capacity information corresponding to each task processing station from the station information and obtaining the processing material information corresponding to each task to be assigned from the task information, the processing capacity information corresponding to each task processing station can be matched with the processing material information of each task to be assigned. For example, text matching can be performed using a neural network to record the task processing station corresponding to the processing capacity information that matches the processing material information as the matching processing station corresponding to the task to be assigned. In this way, it can be ensured that the task processing station assigned to the task to be assigned can process the required parts or materials.
[0037] Obtain the number of matching workstations corresponding to each of the tasks to be assigned, and sort each of the tasks to be assigned according to the number of matching workstations corresponding to each of the tasks to be assigned to obtain the first assignment order corresponding to each of the tasks to be assigned.
[0038] Understandably, the above description indicates that the station information corresponding to each task processing station includes the number of task processing equipment. The number of task processing equipment is the number of task processing equipment included in the task processing station. Therefore, the number of matching stations refers to the number of task processing equipment included in the matching processing station corresponding to the task to be assigned.
[0039] Specifically, after obtaining the number of matching workstations of the task processing equipment contained in the matching processing workstations corresponding to each task to be assigned, the tasks to be assigned can be sorted according to the number of matching workstations corresponding to each matching processing workstation. For example, the tasks to be assigned can be sorted in ascending order of the number of matching workstations, that is, the task to be assigned with the smallest number of matching workstations is assigned first, and the task to be assigned with the largest number of matching workstations is assigned last, thus obtaining the first assignment order corresponding to each task to be assigned.
[0040] In one embodiment, such as Figure 2 As shown, step S30, namely determining the average processing time of the matching processing station corresponding to each of the tasks to be assigned based on the task information, the first allocation order, and the station information of the matching processing station, includes:
[0041] S301: Determine the initial processing time corresponding to each of the task processing stations from the station information, and determine the task processing time corresponding to each of the tasks to be assigned from the task information.
[0042] Understandably, initial processing time refers to the average time required for each task processing station to process the remaining processing tasks. Task processing time is the time required to process the corresponding assigned task.
[0043] S302: Insert each of the tasks to be assigned into the first task matching sequence according to the first assignment order, extract the task to be assigned that is sorted first from the first task matching sequence and record it as the first task, and record the matching processing station corresponding to the first task as the first processing station.
[0044] Understandably, in the above steps, the first allocation order corresponding to each task to be assigned is determined through workstation information and task information. Then, each task to be assigned is inserted into the first task matching sequence according to the first allocation order. For example, tasks to be assigned are inserted into the first task matching sequence in ascending order of the first allocation order. For instance, the task to be assigned with a first allocation order of 1 is inserted at the first position in the first task matching sequence, the task to be assigned with a first allocation order of 2 is inserted at the second position, and so on. Further, after inserting each task to be assigned into the first task matching sequence according to the first allocation order, the task to be assigned with the highest sorting order is extracted from the first task matching sequence and recorded as the first task. The matching processing workstation corresponding to the first task is recorded as the first processing workstation. This first task is the task to be assigned with the fewest matching workstations corresponding to the matching processing workstation.
[0045] S303: Determine the first comparison time based on the task processing time corresponding to the first task and the initial processing time corresponding to the first processing station.
[0046] Specifically, after extracting the first task to be assigned from the first task matching sequence and recording it as the first task, and recording the matching processing station corresponding to the first task as the first processing station, the first comparison time can be determined based on the task processing time of the first task and the initial processing time of the first processing station. This first comparison time is regarded as a comparison parameter and is used to determine the average processing time corresponding to each first processing station in subsequent steps.
[0047] S304: Determine the average processing time corresponding to the first processing station based on the first comparison time and the initial processing time corresponding to the first processing station.
[0048] Specifically, after determining the first comparison time based on the task processing time corresponding to the first task and the initial processing time corresponding to the first processing station, the first comparison time can be compared with the initial processing time of the first processing station to obtain a time comparison result, and then the average processing time corresponding to the first processing station can be determined based on the time comparison result.
[0049] S305: Detect whether the first task matching sequence contains tasks to be assigned, and if the first task matching sequence does not contain tasks to be assigned, determine that the average processing time of the matching processing station corresponding to each task to be assigned has been confirmed.
[0050] Specifically, after determining the average processing time corresponding to the first processing station based on the first comparison time and the initial processing time corresponding to the first processing station, it is checked whether the first task matching sequence contains a task to be assigned (the first task has been extracted in the above steps, so the first task matching sequence does not include the first task). If the first task matching sequence does not contain a task to be assigned, the average processing time of the matching processing station corresponding to each task to be assigned is confirmed. That is, it is only necessary to confirm the average processing time of the matching processing station corresponding to the first task.
[0051] Furthermore, after detecting whether the first task matching sequence contains a task to be assigned, if the first task matching sequence also contains a task to be assigned (which is not the first task mentioned above), then the average processing time of the matching processing station corresponding to the remaining tasks to be assigned can be determined through the above steps S301 to S304, until the average processing time of the matching processing station corresponding to all tasks to be assigned in the first task matching sequence is determined, which will not be elaborated here.
[0052] In this embodiment, the average time of each task processing station is calculated based on the initial processing time of the task processing station and the task processing time of the task to be assigned. In this way, by assigning the task to be assigned to its corresponding matching processing station, it can be determined whether the task to be assigned to the matching processing station will cause the matching processing station to be overloaded. That is, the problem of uneven task distribution among task processing stations is avoided, so that the processing tasks of each task processing station are more even, thereby improving the rationality of task allocation.
[0053] In one embodiment, step S301, namely determining the initial processing time corresponding to each of the task processing stations from the station information, includes:
[0054] The remaining processing time corresponding to each task processing station and the number of task processing devices included in each task processing station are obtained from the station information.
[0055] Understandably, before a task is assigned, each task processing station may have assigned or ongoing tasks. Therefore, the remaining processing time is the sum of the processing times of all tasks at each task processing station. If there are ongoing tasks, the processing time until completion is calculated. For other tasks that have not yet been processed, the required processing time is calculated. The remaining processing time is then added together with the time until completion and all required processing times to obtain the remaining processing time. The number of devices at each station is the number of task processing devices included in each task processing station. The number of devices at each station may vary for different task processing stations.
[0056] The initial processing time corresponding to each task processing station is determined based on the remaining processing time corresponding to each task processing station and the number of devices at each station.
[0057] Specifically, after obtaining the remaining processing time corresponding to each task processing station and the number of task processing devices included in each task processing station from the station information, the remaining processing time corresponding to each task processing station is divided by the number of station devices, and the resulting data is recorded as the initial processing time corresponding to that task processing station.
[0058] In one embodiment, step S303, namely determining the first comparison time based on the task processing time corresponding to the first task and the initial processing time corresponding to the first processing station, includes:
[0059] The number of workstation devices corresponding to the first processing workstation is determined based on the workstation information of the first processing workstation.
[0060] Understandably, the above description indicates that the workstation information includes the number of task processing equipment, therefore the number of workstation equipment in the number of times is the same as the number of processing equipment included in the first processing workstation.
[0061] The sum of the initial processing time of the first processing station and the processing time of the task corresponding to the first task is recorded as the integrated processing time.
[0062] Understandably, for the first task, there may be one or two or more first processing stations. Therefore, the integrated processing time is the sum of the initial processing times of all the first processing stations corresponding to the first task, plus the processing time of the task corresponding to the first task.
[0063] The first comparison time is determined based on the integrated processing time and the number of workstation devices corresponding to the matching processing workstations of the first task.
[0064] Specifically, after recording the sum of the initial processing time of the first processing station and the task processing time corresponding to the first task as the integrated processing time, the integrated processing time is divided by the number of station equipment of the matching processing station corresponding to the first task, and the remainder is recorded as the first comparison time.
[0065] In one embodiment, step S304, namely determining the average processing time of the matching processing station corresponding to the first task based on the first comparison time and the initial processing time of the matching processing station corresponding to the first task, includes:
[0066] The first time to be compared is compared with the initial processing time corresponding to each of the first processing stations.
[0067] If there is at least one first processing station whose initial processing time is greater than or equal to the first comparison time, then the first processing station corresponding to the initial processing time that is greater than or equal to the first comparison time is recorded as a station to be rejected.
[0068] Specifically, after determining the first comparison time based on the task processing time corresponding to the first task and the initial processing time corresponding to the first processing station, the first comparison time is compared with the initial processing time of each first processing station. If the initial processing time corresponding to at least one first processing station is greater than or equal to the first comparison time, it indicates that the workload of the first processing station corresponding to the initial processing time greater than or equal to the first comparison time exceeds the average value. The first processing station corresponding to the initial processing time greater than or equal to the first comparison time is recorded as a station to be eliminated.
[0069] Furthermore, after comparing the first time to be compared with the initial processing time corresponding to each first processing station, if the initial processing time of all first processing stations is less than the first time to be compared, then the first time to be compared is recorded as the average processing time corresponding to each first processing station.
[0070] The first processing station other than the station to be eliminated is recorded as the second processing station, and the second comparison time is determined based on the initial processing time corresponding to the second processing station and the task processing time corresponding to the first task.
[0071] Specifically, after recording the first processing station corresponding to the initial processing time that is greater than or equal to the first comparison time as the station to be eliminated, the station to be eliminated is removed from the first processing station, and the remaining first processing station after elimination is recorded as the second processing station. Then, the remaining processing time of all second processing stations is added to the task processing time of the first task to obtain the second comparison time.
[0072] The second time to be compared is compared with the initial processing time corresponding to each of the second processing stations.
[0073] If the initial processing time corresponding to all the second processing stations is less than the second comparison time, then the second comparison time is determined as the average processing time corresponding to all the second processing stations.
[0074] Specifically, after determining the second comparison time based on the initial processing time corresponding to the second processing station and the task processing time corresponding to the first task, the second comparison time is compared with the initial processing time corresponding to each second processing station. If the initial processing time of all second processing stations is less than the second comparison time, the second comparison time is determined as the average processing time corresponding to all second processing stations. Since the stations to be eliminated have been eliminated, the second comparison time will not be used as the average processing time of the stations to be eliminated.
[0075] Furthermore, if there is still at least one second processing station whose initial processing time is greater than or equal to the second comparison time, it indicates that there is a second processing station with a workload exceeding the average value. Therefore, it is necessary to remove the second processing stations whose initial processing time is greater than or equal to the second comparison time, and record the removed second processing stations as third processing stations. Then, the above steps are performed. When the initial processing time of all third processing stations is less than the newly calculated third matching time, the third matching time is recorded as the average processing time corresponding to each third processing station. This process is repeated. In subsequent steps, there may still be fourth processing stations, fifth processing stations, etc. The steps required for these stations are the same as those described above, and will not be repeated here.
[0076] In one embodiment, step S40, namely determining the second allocation order corresponding to each of the tasks to be allocated based on the task information corresponding to each of the tasks to be allocated and the workstation information of the corresponding matching processing station, includes:
[0077] The task priority and slack time corresponding to each of the tasks to be assigned are determined from the task information, and the number of matching workstations corresponding to each of the tasks to be assigned is determined from the workstation information.
[0078] Understandably, task priority represents the processing priority of each task to be assigned. For example, for urgently needed parts or materials, the task priority of the corresponding task can be set to high priority, meaning that the task priority can be set by the user. Task slack time can be determined by the planned completion time and task processing time of the task to be assigned. For example, the difference between the planned completion time and the task processing time can be determined as the task slack time.
[0079] The second allocation order corresponding to each of the tasks to be allocated is determined based on the task priority, task slack time, and the number of matching workstations corresponding to the same task to be allocated.
[0080] Specifically, after determining the task priority and slack time corresponding to each of the tasks to be assigned from the task information, and determining the number of matching workstations corresponding to each of the tasks to be assigned from the workstation information, in this embodiment, the tasks to be assigned are first sorted according to the number of matching workstations. For example, tasks with fewer matching workstations are sorted first, and tasks with more matching workstations are sorted last, thus obtaining the first sorting corresponding to each task to be assigned. If some tasks to be assigned have the same number of matching workstations, they are further sorted according to task priority. That is, when there are tasks to be assigned with the same number of matching workstations, tasks with higher priority are sorted first, and tasks with lower priority are sorted last, thus obtaining the second sorting corresponding to each task to be assigned. This second sorting has overridden the first sorting. If some tasks to be assigned have the same number of matching workstations and the same task priority, they are further sorted according to task slack time. Tasks with smaller slack time are sorted first, and tasks with larger slack time are sorted last, thus determining the second allocation order corresponding to each task to be assigned. In this way, by matching the number of workstations, task priorities, and task slack time to sort each task to be assigned, the order of tasks to be assigned can be allocated from multiple perspectives, which can improve the rationality and efficiency of task allocation.
[0081] In one embodiment, such as Figure 3 As shown, step S50, namely determining the task allocation result corresponding to each of the tasks to be allocated based on the second allocation order corresponding to each task to be allocated and the average processing time of the matching processing station corresponding to the task to be allocated, includes:
[0082] S501: Insert each of the tasks to be assigned into the second task matching sequence according to the second assignment order, extract the task to be assigned that is sorted first from the second task matching sequence and record it as the second task, and record the matching processing station corresponding to the second task as the third processing station.
[0083] Understandably, in the above steps, a second allocation order corresponding to each task to be assigned is determined. Then, each task to be assigned is inserted into the second task matching sequence according to this second allocation order. For example, tasks to be assigned are inserted into the second task matching sequence in ascending order of the second allocation order. For instance, the task to be assigned with a second allocation order of 1 is inserted at the first position in the second task matching sequence, the task to be assigned with a second allocation order of 2 is inserted at the second position, and so on. Further, after inserting each task to be assigned into the second task matching sequence according to the second allocation order, the first task to be assigned, which is the first in the sequence, is extracted and recorded as the second task. The corresponding processing station for the second task is then recorded as the third processing station.
[0084] S502: Determine the remaining processing time corresponding to the third processing station based on the station information, and record the third processing station with the smallest remaining processing time as the first station to be assigned.
[0085] Understandably, the remaining processing time mentioned above refers to the processing time of the assigned tasks contained in the task processing equipment of each task processing station. Specifically, the remaining processing time corresponding to the third processing station is determined based on the station information, and the third processing station with the smallest remaining processing time is selected and recorded as the first station to be assigned.
[0086] S503: Determine the task processing time corresponding to the second task based on the task information, and record the remaining processing time corresponding to the first workstation to be assigned and the task processing time corresponding to the second task as the matching time.
[0087] Understandably, the task processing time is the time required to process the second task. Specifically, after determining the remaining processing time corresponding to the third processing station based on the station information, and recording the third processing station with the smallest remaining processing time as the first station to be assigned, the sum of the remaining processing time corresponding to the first station to be assigned and the task processing time corresponding to the second task can be recorded as the matching time.
[0088] S504: Determine the task allocation result corresponding to the second task based on the time to be matched and the average processing time corresponding to the first workstation to be assigned.
[0089] Specifically, after recording the sum of the remaining processing time corresponding to the first workstation to be assigned and the task processing time corresponding to the second task as the matching time, the task assignment result corresponding to the second task is determined based on the matching time and the average processing time corresponding to the first workstation to be assigned.
[0090] S505: Detect whether there are other tasks to be assigned besides the second task in the second task matching sequence.
[0091] S506: If there are no other tasks to be assigned besides the second task in the second task matching sequence, then the task assignment results corresponding to each of the tasks to be assigned are confirmed.
[0092] Specifically, after determining the task allocation result corresponding to the second task based on the matching time and the average processing time corresponding to the first assigned workstation, it is detected whether there are other assigned tasks besides the second task in the second task matching sequence. In step S501, the second task is removed from the second task matching sequence. Therefore, the second task is not included in the second task matching sequence, and it is necessary to determine whether there are other assigned tasks besides the second task. If there are no other assigned tasks in the second task matching sequence, it indicates that the task allocation result of each assigned task has been determined.
[0093] Furthermore, if there are other tasks to be assigned in the second task matching sequence, the first task to be assigned (not the second task) that is ranked first in the second task matching sequence is taken out, and the task assignment result corresponding to it is determined according to the above steps. That is, when there are other tasks to be assigned in the second task matching sequence, there may also be a third task, a fourth task, a fifth task, etc. The steps for determining the task matching result are the same as the above method, and will not be repeated here.
[0094] In this embodiment, by assigning the task to be assigned to the matching task processing station according to the second assignment order, and determining the task processing station to which the task belongs based on the task processing time of the task to be assigned, the remaining processing time of the task processing station, and the average processing time corresponding to the task processing station calculated in step S30 above, the accuracy of task assignment can be improved.
[0095] In one embodiment, the task allocation result corresponding to the second task includes a first allocation result and a second allocation result.
[0096] Step S504, namely, determining the task allocation result corresponding to the second task based on the matching time and the average processing time corresponding to the first workstation to be allocated, includes:
[0097] Obtain a preset time ratio, and record the product of the average processing time corresponding to the first workstation to be assigned and the preset time ratio as the ratio time.
[0098] Understandably, the preset time ratio can be set by the user. For example, the preset time ratio can be set to 15, 20, etc. Specifically, after obtaining the preset time ratio, the product of the average processing time corresponding to the first workstation to be assigned and the preset time ratio is recorded as the ratio time. The average processing time is determined in step 30 above.
[0099] The time to be matched is compared with the ratio time. When the time to be matched is greater than the ratio time, the second task is split into remaining tasks and split tasks. The updated processing time is equal to the average processing time corresponding to the first workstation to be assigned. The updated processing time is the sum of the remaining time corresponding to the remaining tasks and the remaining processing time corresponding to the first workstation to be assigned.
[0100] The remaining time refers to the time required to complete the remaining part of the task. Task splitting is the process of dividing the second task into at least two sub-tasks, which can be determined based on the remaining processing time and ratio time of the corresponding workstation.
[0101] Specifically, after recording the product of the average processing time corresponding to the first workstation to be assigned and the preset time ratio as the ratio time, the time to be matched is compared with the ratio time. If the time to be matched is greater than the ratio time, it indicates that the first workstation to be assigned cannot process all the small tasks requiring parts or materials in the second task. Therefore, the second task needs to be split to obtain the remaining tasks and the split tasks. The sum of the remaining time of the remaining tasks and the remaining processing time of the first workstation to be assigned is recorded as the updated processing time. The updated processing time is equal to the average processing time corresponding to the first workstation to be assigned. In this way, the remaining tasks in the second task can be assigned to the first workstation to be assigned, and the split tasks will be assigned in subsequent steps.
[0102] Replace the remaining processing time corresponding to the first workstation to be assigned with the updated processing time, and determine the first allocation result corresponding to the remaining tasks.
[0103] Specifically, when the waiting time for matching is greater than the ratio time, the second task is split into tasks to obtain the remaining tasks and the split tasks. At this time, the remaining tasks are assigned to the first workstation to be assigned. That is, the first allocation result corresponding to the remaining tasks is that the remaining tasks are assigned to the first workstation to be assigned. After the remaining tasks are assigned to the first workstation to be assigned, the remaining processing time of the first workstation to be assigned changes. That is, the remaining time of the remaining tasks is updated on the original remaining processing time. The remaining processing time of the first workstation to be assigned is then updated and replaced with the updated processing time.
[0104] Select the third processing station with the shortest remaining processing time from all the third processing stations and record it as the second station to be assigned.
[0105] Specifically, after replacing the remaining processing time corresponding to the first workstation to be assigned with the updated processing time and determining the first allocation result corresponding to the remaining tasks, the third processing workstation with the smallest remaining processing time is selected from all the third processing workstations and recorded as the second workstation to be assigned. At this time, since the remaining processing time of the first workstation to be assigned has been updated, the second workstation to be assigned is not the first workstation to be assigned.
[0106] Based on the split time corresponding to the split task, the remaining processing time and average processing time corresponding to the second workstation to be assigned, the split task is assigned to obtain a second assignment result corresponding to the split task; the sum of the remaining time and the split time is equal to the task processing time corresponding to the second task.
[0107] The time for splitting the task is the time required to complete the processing of the split task.
[0108] Specifically, after selecting the third processing station with the smallest remaining processing time from all the third processing stations and recording it as the second station to be assigned, the sum of the splitting time corresponding to the splitting task and the remaining processing time corresponding to the second station to be assigned is recorded as a new comparison time. The product of the preset time ratio and the average processing time of the second station to be assigned is recorded as a new ratio time. Then, the new comparison time is compared with the new ratio time. If the new comparison time is less than or equal to the new ratio time, the splitting task is assigned to the second station to be assigned, and the remaining processing time of the second station to be assigned is updated to the sum of the splitting time and the remaining processing time of the second station to be assigned. Thus, the task assignment result of the second task is determined.
[0109] Furthermore, if the new comparison time is greater than the new ratio time, the task to be split will continue to be split, and the above steps will be repeated. That is, there may be subsequent third allocation results, fourth allocation results, etc., and the execution method is the same as the above steps, which will not be repeated here.
[0110] In one embodiment, after comparing the time to be matched with the ratio time, the method further includes:
[0111] If the time to be matched is less than or equal to the ratio time, the second task is assigned to the first workstation to be assigned to obtain the task assignment result corresponding to the second task, and the remaining processing time of the first workstation to be assigned is replaced with the time to be matched.
[0112] Specifically, after comparing the time to be matched with the ratio time, if the time to be matched is less than or equal to the ratio time, it indicates that the first workstation to be assigned can complete all the processing of the requirements of the second task. Then, the second task can be completely assigned to the first workstation to be assigned and the task assignment result corresponding to the second task can be obtained. This task assignment result indicates that the second task is assigned to the first workstation to be assigned, and the remaining processing time of the first workstation to be assigned is replaced with the time to be matched.
[0113] In one embodiment, after step S50, that is, after determining the task allocation result corresponding to each of the tasks to be allocated based on the second allocation order corresponding to each of the tasks to be allocated and the average processing time of the matching processing station corresponding to the task to be allocated, the method further includes:
[0114] Based on the task allocation results corresponding to each of the tasks to be assigned, the allocation processing station corresponding to each of the tasks to be assigned is determined from all the task processing stations.
[0115] Understandably, the task allocation result represents the assignment of each task to be assigned and its corresponding processing station. For example, the task allocation result of one task to be assigned indicates that the task is assigned to the fourth processing station. Specifically, after determining the task allocation result corresponding to each task to be assigned based on the second allocation order corresponding to each task to be assigned and the average processing time of the matching processing station corresponding to the task to be assigned, the assigned processing station corresponding to each task to be assigned can be determined from all processing stations based on the task allocation result corresponding to each task to be assigned.
[0116] The task execution strategy in the task allocation instruction is obtained, and the task processing equipment contained in each of the allocated processing stations is controlled to complete the corresponding assigned task according to the task execution strategy.
[0117] Understandably, the task execution strategy can be set by the user. This embodiment proposes four task execution strategies:
[0118] Firstly, the shortest time execution strategy involves assigning all tasks to their respective workstations, obtaining the processing time for each task at each workstation, sorting them by processing time, and prioritizing the workstations processing tasks with shorter processing times.
[0119] Secondly, the execution strategy is to complete the plan. After all tasks to be assigned are assigned to the corresponding workstations, the planned completion time of the tasks at each task processing workstation is determined. Then, tasks are sorted according to their planned completion time, and the workstations with the planned completion time are processed first.
[0120] Thirdly, the relaxation time execution strategy involves assigning all tasks to their respective workstations, obtaining the relaxation time for each task processing workstation, sorting them according to their relaxation time, and prioritizing the processing of tasks with shorter relaxation times at their respective workstations.
[0121] Fourthly, the importance-urgency ratio execution strategy involves assigning all tasks to their respective workstations, determining the importance-urgency ratio for each task, and prioritizing tasks based on this ratio, with higher ratios processed first. The importance-urgency ratio can be determined by the task processing time, planned completion time, and current time, e.g., Importance-urgency ratio = Task processing time / (Planned completion time - Current time).
[0122] It should be noted that the above four task execution strategies are only examples. Other strategies besides the above four are also applicable. Furthermore, the above four task execution strategies are implemented under the premise that the task priorities of each task processing station are the same. If the task priorities are different, they are sorted according to the task priorities first, and the tasks with higher task priorities are processed first.
[0123] Specifically, after determining the allocation processing station corresponding to each of the tasks to be allocated based on the task allocation results corresponding to each of the tasks to be allocated from all the task processing stations, the task execution strategy in the task allocation instruction is obtained, and the task processing equipment contained in each allocation processing station is controlled to complete the task to be allocated corresponding to it according to the task execution strategy.
[0124] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
[0125] In one embodiment, a task allocation system is provided, including a controller for executing the task allocation method described above. The controller is connected to task processing equipment in each task processing station. After allocating the tasks to be assigned to the corresponding task processing station, the controller issues task processing instructions to each task processing equipment according to the task execution strategy, so that the task processing equipment can process the tasks after receiving the task processing instructions, thereby completing each task to be assigned.
[0126] In one embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 4 As shown, the computer device includes a processor, memory, network interface, and database connected via a system bus. The processor provides computing and control capabilities. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system, computer programs, and a database. The internal memory provides an environment for the operation of the operating system and computer programs in the non-volatile storage medium. The database stores data used in the task allocation method described in the above embodiments. The network interface communicates with external terminals via a network connection. When the computer program is executed by the processor, it implements a task allocation method.
[0127] In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor. When the processor executes the computer program, it implements the task allocation method described in the above embodiment.
[0128] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored, which, when executed by a processor, implements the task allocation method described in the above embodiment.
[0129] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), Rambus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
[0130] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the above-described division of functional units and modules is used as an example. In practical applications, the above functions can be assigned to different functional units and modules as needed, that is, the internal structure of the device can be divided into different functional units or modules to complete all or part of the functions described above.
[0131] The above-described embodiments are only used to illustrate the technical solutions of the present invention, and are not intended to limit it. Although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should all be included within the protection scope of the present invention.
Claims
1. A task allocation method, characterized in that, include: Receive task allocation instructions; the task allocation instructions include task information corresponding to each task to be allocated; Obtain the workstation information corresponding to each task processing station, and determine the first allocation order corresponding to each of the tasks to be assigned based on the workstation information and the task information, and determine the matching processing station corresponding to each of the tasks to be assigned from the task processing stations; the matching processing station refers to the task processing station that can process the parts or materials in the task to be assigned. Based on the task information corresponding to each of the tasks to be assigned, the first assignment order, and the workstation information of the matching processing station, the average processing time of the matching processing station corresponding to each of the tasks to be assigned is determined; the average processing time is the time to be recalculated by splitting each task to be assigned to each matching processing station. Based on the task information corresponding to each of the tasks to be assigned and the workstation information of the corresponding matching processing station, a second allocation order corresponding to each of the tasks to be assigned is determined. Based on the second allocation order corresponding to each of the tasks to be assigned and the average processing time of the matching processing station corresponding to the task to be assigned, the task allocation result corresponding to each of the tasks to be assigned is determined.
2. The task allocation method as described in claim 1, characterized in that, The step of determining a first allocation order corresponding to each of the tasks to be assigned based on the workstation information and the task information, and determining a matching processing workstation corresponding to each of the tasks to be assigned from among the task processing workstations, includes: The processing capacity information corresponding to each of the task processing stations is determined from the station information, and the processing material information corresponding to each of the tasks to be assigned is obtained from the task information. Based on the processing capacity information and the processing material information, determine the matching processing station corresponding to each of the tasks to be assigned; Obtain the number of matching workstations corresponding to each of the tasks to be assigned, and sort each of the tasks to be assigned according to the number of matching workstations corresponding to each of the tasks to be assigned to obtain the first assignment order corresponding to each of the tasks to be assigned.
3. The task allocation method as described in claim 1, characterized in that, The step of determining the average processing time of the matching processing station corresponding to each of the tasks to be assigned, based on the task information, the first allocation order, and the station information of the matching processing station, includes: The initial processing time corresponding to each of the task processing workstations is determined from the workstation information, and the task processing time corresponding to each of the tasks to be assigned is determined from the task information. Each of the tasks to be assigned is inserted into the first task matching sequence according to the first assignment order. The task to be assigned with the highest order is extracted from the first task matching sequence and recorded as the first task. The matching processing station corresponding to the first task is recorded as the first processing station. The first comparison time is determined based on the task processing time corresponding to the first task and the initial processing time corresponding to the first processing station. Based on the first comparison time and the initial processing time corresponding to the first processing station, determine the average processing time corresponding to the first processing station; Detect whether the first task matching sequence contains tasks to be assigned, and if the first task matching sequence does not contain tasks to be assigned, determine that the average processing time of the matching processing station corresponding to each task to be assigned has been confirmed.
4. The task allocation method as described in claim 3, characterized in that, Determining the initial processing time corresponding to each of the task processing stations from the station information includes: The remaining processing time corresponding to each task processing station and the number of task processing devices included in each task processing station are obtained from the station information. The initial processing time corresponding to each task processing station is determined based on the remaining processing time corresponding to each task processing station and the number of devices at each station.
5. The task allocation method as described in claim 3, characterized in that, The step of determining the first comparison time based on the task processing time corresponding to the first task and the initial processing time corresponding to the matching processing station corresponding to the first task includes: The number of workstation devices corresponding to the first processing workstation is determined based on the workstation information of the first processing workstation. The sum of the initial processing time of the first processing station and the processing time of the task corresponding to the first task is recorded as the integrated processing time. The first comparison time is determined based on the integrated processing time and the number of workstation devices corresponding to the matching processing workstations of the first task.
6. The task allocation method as described in claim 3, characterized in that, The step of determining the average processing time of the matching processing station corresponding to the first task based on the first comparison time and the initial processing time of the matching processing station corresponding to the first task includes: Compare the first time to be compared with the initial processing time corresponding to each of the first processing stations; If there is at least one initial processing time corresponding to the first processing station that is greater than or equal to the first comparison time, then the first processing station corresponding to the initial processing time that is greater than or equal to the first comparison time is recorded as a station to be rejected. The first processing station other than the station to be eliminated is recorded as the second processing station, and the second comparison time is determined based on the initial processing time corresponding to the second processing station and the task processing time corresponding to the first task. Compare the second time to be compared with the initial processing time corresponding to each of the second processing stations; If the initial processing time corresponding to all the second processing stations is less than the second comparison time, then the second comparison time is determined as the average processing time corresponding to all the second processing stations.
7. The task allocation method as described in claim 1, characterized in that, The step of determining the second allocation order corresponding to each of the tasks to be allocated based on the task information corresponding to each task to be allocated and the workstation information of the corresponding matching processing station includes: The task priority and slack time corresponding to each of the tasks to be assigned are determined from the task information, and the number of matching workstations corresponding to each of the tasks to be assigned is determined from the workstation information. The second allocation order corresponding to each of the tasks to be allocated is determined based on the task priority, task slack time, and the number of matching workstations corresponding to the same task to be allocated.
8. The task allocation method as described in claim 1, characterized in that, The step of determining the task allocation result corresponding to each of the tasks to be allocated based on the second allocation order corresponding to each of the tasks to be allocated and the average processing time of the matching processing station corresponding to the task to be allocated includes: Each of the tasks to be assigned is inserted into the second task matching sequence according to the second assignment order. The task to be assigned that is first in the second task matching sequence is extracted and recorded as the second task. The matching processing station corresponding to the second task is recorded as the third processing station. Based on the workstation information, determine the remaining processing time corresponding to the third processing workstation, and record the third processing workstation with the smallest remaining processing time as the first workstation to be assigned. The task processing time corresponding to the second task is determined based on the task information, and the remaining processing time corresponding to the first workstation to be assigned and the task processing time corresponding to the second task are recorded as the matching time. Based on the time to be matched and the average processing time corresponding to the first workstation to be assigned, the task assignment result corresponding to the second task is determined; Detect whether there are other tasks to be assigned besides the second task in the second task matching sequence; If there are no other tasks to be assigned besides the second task in the second task matching sequence, then the task assignment results corresponding to each of the tasks to be assigned have been confirmed.
9. The task allocation method as described in claim 8, characterized in that, The task allocation results corresponding to the second task include a first allocation result and a second allocation result; The step of determining the task allocation result corresponding to the second task based on the time to be matched and the average processing time corresponding to the first workstation to be allocated includes: Obtain a preset time ratio, and record the product of the average processing time corresponding to the first workstation to be assigned and the preset time ratio as the ratio time; The time to be matched is compared with the ratio time. When the time to be matched is greater than the ratio time, the second task is split into tasks to obtain the remaining tasks and the split tasks. The updated processing time is equal to the average processing time corresponding to the first workstation to be assigned. The updated processing time is the sum of the remaining time corresponding to the remaining tasks and the remaining processing time corresponding to the first workstation to be assigned. Replace the remaining processing time corresponding to the first workstation to be assigned with the updated processing time, and determine the first allocation result corresponding to the remaining tasks; Select the third processing station with the shortest remaining processing time from all the third processing stations and record it as the second station to be assigned. Based on the split time corresponding to the split task, the remaining processing time and average processing time corresponding to the second workstation to be assigned, the split task is assigned to obtain a second assignment result corresponding to the split task; the sum of the remaining time and the split time is equal to the task processing time corresponding to the second task.
10. The task allocation method as described in claim 9, characterized in that, After comparing the time to be matched with the ratio time, the method further includes: If the time to be matched is less than or equal to the ratio time, the second task is assigned to the first workstation to be assigned to obtain the task assignment result corresponding to the second task, and the remaining processing time of the first workstation to be assigned is replaced with the time to be matched.
11. The task allocation method as described in claim 1, characterized in that, After determining the task allocation result corresponding to each of the tasks to be allocated based on the second allocation order corresponding to each task to be allocated and the average processing time of the matching processing station corresponding to the task to be allocated, the method further includes: Based on the task allocation results corresponding to each of the tasks to be assigned, determine the assigned processing station corresponding to each of the tasks to be assigned from all the task processing stations; The task execution strategy in the task allocation instruction is obtained, and the task processing equipment contained in each of the allocated processing stations is controlled to complete the corresponding assigned task according to the task execution strategy.
12. A task allocation system, characterized in that, It includes a controller for performing the task allocation method as described in any one of claims 1 to 11; the controller is connected to the task processing equipment contained in each of the task processing stations.
Citation Information
Patent Citations
Task allocation method, task allocation device and electronic equipment
CN106339802A
A task allocation method based on data processing and related equipment
CN109544015A
Production scheduling method and system
JP2005050009A
Operation assignment method and operation assignment apparatus
JP2009282897A