Task scheduling method, device and equipment for intelligent industrial remote control scene

Through the critical path priority scheduling of the DAG task graph and the resource time window maximization principle, the scheduling complexity problem of heterogeneous resources of equipment and personnel in intelligent industrial remote control is solved, and efficient task allocation and resource utilization optimization are achieved.

CN120087716BActive Publication Date: 2025-10-14STATE GRID HUBEI ELECTRIC POWER INFORMATION & TELECOMMUNICATION COMPANY +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202510570470.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-05-06
Publication Date
2025-10-14
Estimated Expiration
2045-05-06

AI Technical Summary

Technical Problem

Traditional task scheduling methods cannot effectively cope with the complexity of heterogeneous resources of equipment and personnel in intelligent industrial remote control scenarios, resulting in resource conflicts and insufficient optimization of resource utilization, making it difficult to meet the requirements of efficient collaborative scheduling.

Method used

Adopt the critical path priority scheduling strategy of DAG task graph, calculate the earliest start time, latest start time and slack time of the task, allocate equipment and personnel based on the principle of maximizing resource time window, update the task execution order in real time, and optimize the scheduling plan.

Benefits of technology

It achieves efficient task allocation and scheduling under the conditions of limited resources and complex tasks, maximizing resource utilization and minimizing task completion time.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120087716B_ABST
    Figure CN120087716B_ABST
Patent Text Reader

Abstract

A task scheduling method, device and equipment for an intelligent industrial remote control scene, the method comprising: determining a critical path of a DAG task graph, and selecting the DAG task graph with the longest critical path for scheduling; calculating the earliest start time, the latest start time and the slack time of a task under the dual resource constraints of an execution device and personnel; selecting the task with the smallest slack time for scheduling, and calculating a resource time window according to the insertion position of the task on the device task sequence and the personnel task sequence; allocating the device and the personnel to the task based on the resource time window maximization principle, and determining the execution order of the task; and updating the earliest start time and the latest start time of each task in the DAG task graph that is currently being scheduled and has completed scheduling in real time until all tasks are completed. The present application can achieve efficient task allocation and scheduling in the case of limited resources and complex tasks.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the field of industrial remote control task scheduling, and in particular to a task scheduling method, device and equipment for intelligent industrial remote control scenarios. BACKGROUND

[0002] With the rapid development of industrial internet, artificial intelligence and 5G communication technology, modern intelligent industrial remote control has gradually become an important means to promote the efficiency and intelligence of industrial systems. However, in the process of remote control, the task scheduling problem becomes particularly complex and challenging due to the dual constraints of equipment and personnel resources. As the core link of industrial remote control, the optimization effect of task scheduling is directly related to the system operation efficiency and resource utilization. Traditional task allocation methods mainly rely on fixed scheduling rules and linear programming methods. Although these methods have clear logic and low implementation cost, they are not up to the task when faced with increasingly complex industrial scenarios.

[0003] In remote control tasks, it is often necessary to coordinate two types of resources, industrial equipment and technical personnel. These two types of resources have significant heterogeneity in terms of ability, adaptability and availability. For example, different types or performance of industrial equipment may have significant differences in efficiency when performing the same task, while the skill level and professional background of technical personnel directly affect the quality and efficiency of task execution. In addition, some tasks have more stringent requirements for resources, not only requiring the support of specific equipment, but also requiring the cooperation of technical personnel with professional qualifications. The heterogeneity of the above resources significantly increases the complexity of the task scheduling problem.

[0004] In practical application scenarios, intelligent industrial remote control often involves distributed work points and diversified tasks. These tasks include not only remote maintenance of equipment, but also quality detection and dynamic adjustment of production processes. These tasks may have dependencies, while tasks without dependencies can be executed in parallel. The decomposition of tasks and the management of dependencies further increase the difficulty of scheduling. In addition, due to the limited resources in the industrial field, the scheduling of tasks also needs to fully consider the availability and dynamics of equipment and personnel. For example, some key equipment may be shared by multiple tasks, and the workload and time arrangement of technical personnel also need to be reasonably planned. This complex interaction scenario of multiple tasks and multiple resources exposes obvious shortcomings in traditional scheduling methods in terms of solving resource conflicts, optimizing resource utilization and dynamically adjusting task priorities.

[0005] Traditional scheduling methods usually adopt fixed rules or optimization models based on linear programming, which cannot fully cope with the complexity of tasks and resources in remote industrial control scenarios. On the one hand, these methods usually rely on simple priority rules when solving resource conflicts, making it difficult to achieve efficient allocation of heterogeneous resources. On the other hand, the priority management of tasks often adopts static setting, lacking the ability to adjust flexibly to the responsible environment. In addition, for complex multi-task scenarios, traditional methods have limited ability in handling task dependency relationships and optimizing parallel execution, making it difficult to meet the requirements of intelligent industry for efficient collaborative scheduling. Therefore, how to design an intelligent task scheduling method that can fully adapt to the characteristics of heterogeneous resources of equipment and personnel has become a problem to be solved in the field of remote industrial control. SUMMARY

[0006] The purpose of the present application is to overcome the above-mentioned defects and problems existing in the prior art, and to provide a task scheduling method, device and equipment for intelligent industrial remote control scenarios. The method can achieve efficient task allocation and scheduling in the case of limited resources and complex tasks.

[0007] To achieve the above purpose, the technical solution of the present application is: a task scheduling method for intelligent industrial remote control scenarios, comprising:

[0008] determining the critical path of the DAG task graph, and selecting the DAG task graph with the longest critical path for scheduling; calculating the earliest start time, the latest start time and the slack time of the task under the dual resource constraints of the execution equipment and personnel;

[0009] selecting the task with the smallest slack time for scheduling, and calculating the resource time window according to the insertion position of the task on the equipment task sequence and the personnel task sequence;

[0010] based on the resource time window maximization principle, assigning equipment and personnel to the task and determining the execution order of the task;

[0011] updating the earliest start time and the latest start time of each task in the DAG task graph that is currently being scheduled and has completed scheduling in real time until all tasks are completed.

[0012] The earliest start time is:

[0013] ;

[0014] In the formula, is the earliest start time of task ; is the earliest start time limited by the preceding dependent task of task ; is the earliest start time limited by the preceding dependent task of task The earliest start time of the execution order constraint on its assigned device; For the task the earliest start time within the execution order constraints of the tasks to which the personnel are assigned;

[0015] ;

[0016] Where, For the task The set of pre-dependent tasks;

[0017] If the task If there is no previous dependent task, ; If the predecessor dependent task If the scheduling has not yet been decided, then:

[0018] ;

[0019] Where, For the predecessor dependent task The actual execution time; For the predecessor dependent task Number of compatible devices; For the predecessor dependent task Number of adapted personnel; For the predecessor dependent task By Equipment No. The time it takes for the personnel to execute the For the predecessor dependent task Suitable personnel collection; For the predecessor dependent task Adapted device set;

[0020] ; ;

[0021] Where, For the task The set of previous sequential tasks on the assigned equipment; For the task The previous sequential task on the assigned equipment; For the task The actual execution time;

[0022] If the task has not yet been scheduled, or is the first sequential task on the assigned device, then ;

[0023] ; ;

[0024] wherein, is the task the previous ordered set of tasks on the assigned person;

[0025] if the task has not been scheduled, or is the first ordered task on the assigned person, then .

[0026] the latest start time is:

[0027] ;

[0028] wherein, is the latest start time of the task ; is the latest start time of the task restricted by its subsequent dependent tasks; is the latest start time of the task restricted by the execution order on its assigned device; is the latest start time of the task restricted by the execution order on its assigned person;

[0029] ;

[0030] wherein, is the set of subsequent dependent tasks of the task ;

[0031] if the task has no subsequent dependent tasks, then ; if the task has not been scheduled, then:

[0032] ;

[0033] wherein, is the actual execution time of the task ; is the set of assigned persons for the task ; is the set of assigned devices for the task ; is the time spent by the task when executed by the th device, th person; is the number of assigned devices for the task ; is the number of assigned persons for the task ;

[0034] ; ;

[0035] wherein, is the task the next sequential set of tasks on the assigned device;

[0036] if the task has not yet been scheduled, or is the last task on the assigned device, then ;

[0037] ; ;

[0038] wherein, is the task the next sequential set of tasks on the assigned person;

[0039] if the task has not yet been scheduled, or is the last task on the assigned person, then .

[0040] the slack time is:

[0041] ;

[0042] wherein, is the slack time for the task ; is the latest start time for the task ; is the earliest start time for the task .

[0043] inserting a task into a task sequence for a device, comprising:

[0044] the task sequence for a device is:

[0045] ;

[0046] wherein, is the current task scheduled to the device ; is the number of tasks currently scheduled for the device;

[0047] after selecting a device , the candidate area for insertion of the task into the task sequence for the device is:

[0048] ;

[0049] wherein, To represent the device for a virtual start task There is a task with a start time of 0 and an execution time of 0; To represent the device for a virtual end task There is a task with a start time of positive infinity and an execution time of 0;

[0050] If task is inserted between and , the task sequence of device is updated as:

[0051] ;

[0052] When task is inserted into the task sequence of device , the following conditions must be met:

[0053] When , there must be no task in the task sequence of device that cannot be started until task is completed; there must be no task in the task sequence of device that must be completed before task is executed. When , if task

[0054] is inserted into the start position of the sequence of device , there must be no task in that must be completed before task is executed; if task is inserted into the end position of the sequence of device , there must be no task in that cannot be started until task is completed. The resource time window is:

[0055] In the formula, is the resource time window for inserting task

[0056] into the task sequence of device between and

[0057] , or for inserting task into the personnel task sequence between and ; is the execution time of task in the task sequence of device ; and is the execution time of task in the personnel task sequence. and task the earliest start time when executed later; for task in task and task the latest start time when executed earlier; the first task currently scheduled to device ; the first task currently scheduled to device ; the first task currently scheduled to person ; the first task currently scheduled to person ; the time spent by task when executed by device , person ;

[0058] the is:

[0059] ;

[0060] wherein, the earliest start time for task ; the earliest start time for task ; the actual run time for task sequence ; the earliest start time for task ; the actual run time for task sequence ;

[0061] when , then ;

[0062] when , then ;

[0063] the is:

[0064] ;

[0065] wherein, the latest start time for task ; the latest start time for task ; For the task The actual execution time; For the task The latest start time;

[0066] like ,but ;

[0067] like ,but ;

[0068] Where, For devices The number of tasks currently scheduled; For personnel The number of tasks currently scheduled.

[0069] Longest critical path for:

[0070] ;

[0071] ;

[0072] Where, The number of DAG task graphs in the current scheduling scenario; For the The critical path of a DAG task graph; For the task The earliest start time; For the task The actual execution time; For the A collection of tasks in a DAG task graph.

[0073] The DAG task graph currently being scheduled is connected to the DAG task graph that has completed scheduling through a virtual end task, and the earliest start time and the latest start time of each task in the DAG task graph currently being scheduled are recalculated.

[0074] A task scheduling device for intelligent industrial remote control scenarios, which is applied to the above-mentioned method, comprises:

[0075] The first calculation module is used to determine the critical path of the DAG task graph and select the DAG task graph with the longest critical path for scheduling; calculate the earliest start time, latest start time and slack time of the task under the dual resource constraints of execution equipment and personnel;

[0076] The second calculation module is used to select the task with the smallest slack time for scheduling and calculate the resource time window according to the insertion position of the task in the equipment task sequence and the personnel task sequence;

[0077] The task scheduling module is configured to allocate devices and personnel for the tasks and determine the execution sequence of the tasks based on a resource time window maximization principle; and update the earliest start time and the latest start time of each task in the DAG task graph that is currently being scheduled and has been completed scheduling in real time until all the tasks are completed scheduling.

[0078] A task scheduling device for an intelligent industrial remote control scenario, comprising a memory and a processor.

[0079] The memory is configured to store computer program codes and transmit the computer program codes to the processor.

[0080] The processor is configured to execute the method according to the instructions in the computer program codes.

[0081] Compared with the prior art, the present application has the following beneficial effects:

[0082] In the task scheduling method, device and equipment for an intelligent industrial remote control scenario, the earliest and latest start time of a task is calculated based on a DAG graph, the critical path is determined and the tasks on the longest critical path are preferentially scheduled; the concept of resource time window of devices and personnel is introduced, the insertable position of a task to be scheduled is dynamically calculated according to the task execution sequence of the current resources and the resource time window, and the resource combination with the largest resource time window is preferentially allocated; the global critical path is updated in real time, the task scheduling sequence is optimized, and finally a globally optimal scheduling scheme is realized. The present application can realize efficient task allocation and scheduling under the condition of limited resources and complex tasks. BRIEF DESCRIPTION OF DRAWINGS

[0083] Figure 1 is a flowchart of the task scheduling method for an intelligent industrial remote control scenario.

[0084] Figure 2 is a schematic diagram of double resource constraint scheduling in the intelligent industrial remote control scenario in the embodiment of the present application.

[0085] Figure 3 is a structural block diagram of the task scheduling device for an intelligent industrial remote control scenario.

[0086] Figure 4 is a structural block diagram of the task scheduling device for an intelligent industrial remote control scenario. DETAILED DESCRIPTION

[0087] The present application will be further described in detail in combination with the accompanying drawings, description and specific embodiments.

[0088] The core task of intelligent industrial control system is to coordinate distributed resources and tasks to complete diversified operation processes. For example, in scenarios such as remote device maintenance, production line adjustment or industrial equipment detection, the execution of tasks needs to occupy two types of resources at the same time: one type is industrial equipment resources (such as detection equipment, robots, production instruments, etc.), and the other type is technical personnel resources (such as operators, engineers or experts). The execution of tasks needs to take into account the heterogeneity and adaptability of equipment and personnel, and the demand for resources varies for different tasks. The scheduling goal of tasks is to maximize resource utilization and minimize the overall task completion time.

[0089] Specifically, as shown in Figure 2 Intelligent industrial control scenarios usually include multiple distributed field work points, each equipped with a limited number of industrial equipment and sufficient technical personnel, while facing a large number of tasks to be executed. These tasks can constitute multiple DAG task graphs, and tasks in the same DAG task graph may have strict priority relationships, such as depending on the completion of other tasks to start, but tasks in different DAG task graphs are often independent. The completion process of tasks requires the cooperation of double resources, for example, the execution of a task requires a certain device, but the operation of the device must be operated by a skill-matched person.

[0090] The system uploads the task execution data of each field point to the central scheduling system in real time through real-time monitoring technology, and the central scheduling system optimizes the scheduling according to the task dependency relationship and resource state. The scheduling process needs to solve the following problems at the same time:

[0091] 1) Assign appropriate equipment and personnel resources to each task to ensure that the resources meet the needs of task execution.

[0092] 2) Reasonably arrange the execution order of tasks according to the dependency relationship of tasks.

[0093] 3) Ensure that each type of resource can only execute one task at any time point to avoid resource conflicts.

[0094] 4) On the basis of meeting the above constraints, minimize the total completion time of all tasks.

[0095] The application provides a task scheduling algorithm based on a DAG task graph, which realizes efficient scheduling of tasks by comprehensively analyzing the attributes and resource adaptability of tasks through a central scheduling system. In the implementation process of the application, the central scheduling system first collects all DAG task graphs and related attribute information of tasks in the system, including the dependency relationship between tasks, resource requirements of tasks, adapted personnel and equipment types, and basic attributes such as time spent by different personnel and equipment when performing the task. Through comprehensive collection of this information, the central scheduling system can accurately grasp the heterogeneity and adaptability of task resource requirements, laying a data foundation for subsequent scheduling optimization.

[0096] Referring to Figure 1 The application provides a task scheduling method for intelligent industrial remote control scenarios, comprising:

[0097] S1, determining the critical path of the DAG task graph, and selecting the DAG task graph with the longest critical path for scheduling; calculating the earliest start time, the latest start time and the slack time of the task under the dual resource constraints of the execution equipment and personnel;

[0098] S2, selecting the task with the smallest slack time for scheduling, and calculating the resource time window according to the insertion position of the task on the equipment task sequence and the personnel task sequence;

[0099] S3, based on the resource time window maximization principle, assigning equipment and personnel to the task, and determining the execution order of the task;

[0100] Real-time update the earliest start time and the latest start time of each task in the DAG task graph that is currently being scheduled and has completed scheduling until all tasks are completed.

[0101] In the scheduling start stage, the central scheduling system calculates the earliest start time (EST), the latest start time (LST) and the slack time (ST) index of each task according to the calculation method designed by the application. At the same time, based on the topological structure of the DAG task graph, the critical path of the DAG task graph is determined. By calculating the critical path, the application can identify the key tasks in the task graph that have the greatest impact on the overall time consumption.

[0102] The task execution time is determined by the benchmark workload, the execution personnel and the execution equipment. The actual execution time of the same task executed by different personnel and equipment combinations is different. The earliest start time of the double resource constraint scheduling task needs to consider the earliest start time of the task pre-dependence relationship restriction (the pre-dependence task refers to the pre-task that must be completed before the task starts), the earliest start time of the execution sequence restriction on the allocated equipment, and the earliest start time of the execution sequence restriction on the allocated personnel. The latest start time needs to consider the latest start time of the task subsequent dependence relationship restriction, the latest start time of the execution sequence restriction on the allocated equipment, and the latest start time of the execution sequence restriction on the allocated personnel.

[0103] For a specific DAG task graph scheduling, the present application adopts the strategy of preferentially scheduling the task with the smallest slack time (ST). The task with a smaller slack time usually has greater constraints on the overall system completion time, and preferentially scheduling these tasks can effectively reduce time conflicts in the scheduling process. When scheduling each task, the central scheduling system evaluates the resource time window size of the task on all suitable equipment and personnel according to the resource time window calculation method of the present application. The resource time window reflects the length of the time period that a certain equipment and personnel combination can be used to execute the task, and the present application determines the execution sequence and resource allocation scheme of the task by selecting the equipment and personnel combination with the largest resource time window.

[0104] Whenever the scheduling of a task is completed, the central scheduling system dynamically updates the earliest start time (EST) and the latest start time (LST) of each task in the DAG task graph that is currently being scheduled and has been scheduled.

[0105] The above process will continue to circulate until all tasks have completed equipment and personnel allocation and the execution sequence of each task on the equipment and personnel is determined. After the entire scheduling is completed, the central scheduling system will recalculate the earliest start time of each task according to the final scheduling result. Among them, the earliest start time obtained by the last calculation will be determined as the actual execution time of each task to guide the final execution of the task.

[0106] Further, the earliest start time is:

[0107] ;

[0108] In the formula, is the earliest start time of the task ; is the earliest start time limited by the pre-dependence task of the task , the pre-dependence task refers to the pre-task that must be completed before the task starts, ensuring that the task can only start after all pre-tasks are completed; the earliest start time of the execution sequence restriction of the task on the assigned device, i.e. the start time of the task must be later than the finish time of the previous task on the device; the earliest start time of the execution sequence restriction of the task on the assigned device, i.e. the start time of the task must be later than the finish time of the previous task on the device; the earliest start time of the execution sequence restriction of the task on the assigned device, i.e. the start time of the task must be later than the finish time of the previous task on the device; the earliest start time of the execution sequence restriction of the task on the assigned device, i.e. the start time of the task must be later than the finish time of the previous task on the device;

[0109] ;

[0110] wherein, the earliest start time of the execution sequence restriction of the task on the assigned device, i.e. the start time of the task must be later than the finish time of the previous task on the device; the set of pre-dependant tasks of the task

[0111] if the task has no pre-dependant task (i.e. is an empty set), then if the pre-dependant task has not been decided to be scheduled, then:

[0112] ;

[0113] wherein, the actual execution time of the pre-dependant task ; the number of devices adapted for the pre-dependant task ; the number of personnel adapted for the pre-dependant task ; the time spent by the pre-dependant task when executed by the th device, th personnel; the set of personnel adapted for the pre-dependant task ; the set of devices adapted for the pre-dependant task adapted means that the personnel or the device can handle the task;

[0114] ; ;

[0115] wherein, the set of previous sequence tasks of the task on the assigned device, has at most one element; the previous sequence task of the task on the assigned device; the actual execution time of the task ;

[0116] If task has not been scheduled, or is the first sequential task on the assigned device (i.e. is empty), then ;

[0117] ; ;

[0118] where is the set of preceding sequential tasks on the assigned device of task ; has at most one element;

[0119] If task has not been scheduled, or is the first sequential task on the assigned personnel (i.e. is empty), then .

[0120] Further, the latest start time is:

[0121] ;

[0122] where is the latest start time of task ; is the latest start time of task restricted by its succeeding dependent tasks, which are the post tasks that can only be executed after the end of the task; is the latest start time of task restricted by the execution order on its assigned device, i.e. the completion time of the task cannot be later than the latest start time of the next assigned task on the device; is the latest start time of task restricted by the execution order on its assigned personnel, i.e. the completion time of the task cannot be later than the latest start time of the next assigned task on the personnel;

[0123] ;

[0124] where is the set of succeeding dependent tasks of task ;

[0125] If task has no succeeding dependent tasks (i.e. is empty), then ; If task has not been scheduled, then:

[0126] ;

[0127] where for the task the actual execution time; for the task the adapted set of persons; for the task the adapted set of devices; for the task the time spent by the th device, th person when executing the task; for the task the adapted number of devices; for the task the adapted number of persons;

[0128] ; ;

[0129] wherein for the task the set of subsequent tasks on the assigned device, at most one element;

[0130] if the task has not yet been scheduled, or is the last task on the assigned device (i.e. is empty), then ;

[0131] ; ;

[0132] wherein for the task the set of subsequent tasks on the assigned person, at most one element;

[0133] if the task has not yet been scheduled, or is the last task on the assigned person (i.e. is empty), then .

[0134] Further, the slack time is:

[0135] ;

[0136] wherein for the task the slack time; for the task the latest start time; for the task the earliest start time.

[0137] Further, the scheduling task needs to be inserted into the task sequence of the device satisfying the constraint condition and the task sequence of the personnel, and the task execution order of the device and the personnel is updated.

[0138] Each device maintains a task sequence, which represents the execution order of the scheduling task, that is, the task sequence of the device is:

[0139] ;

[0140] In the formula, is the first task currently scheduled to the device ; is the number of tasks currently arranged for the device .

[0141] Each personnel also maintains a task sequence, which represents the execution order of the scheduling task, that is, the task sequence of the personnel is:

[0142] ;

[0143] In the formula, is the first task currently scheduled to the personnel ; is the number of tasks currently arranged for the personnel . After selecting the device

[0144] , the insertion position candidate area of the task in the task sequence of the device is:

[0145] ;

[0146] In the formula, is a virtual start task, which represents that the device exists a task with a start time of 0 and an execution time of 0, which is convenient to represent the position before the task ; is a virtual end task, which represents that the device exists a task with a start time of positive infinity and an execution time of 0, which is convenient to represent the position after the task ;

[0147] If the task is inserted between and , the task sequence of the device is updated as:

[0148] ​​;

[0149] To ensure the correctness of task dependencies, tasks Insert into device The following conditions must be met when the task sequence is:

[0150] when When the device Task Sequence There must be no tasks in The task can be started after it is completed; Task Sequence There must be no tasks in Tasks that must be completed before execution;

[0151] when When the task Insert into device The starting position of the sequence ,but The task does not exist The task must be completed before execution; if the task Insert into device The end position of the sequence ,but The task does not exist The task can only be started after it is completed.

[0152] The rules for assigning tasks to personnel and adjusting their task sequences are the same as those for assigning tasks to equipment and will not be repeated here.

[0153] Furthermore, the resource time window is:

[0154] ;

[0155] Where, For the task Insert a device task sequence and Between, insert personnel task sequence and Resource time windows between; For the task On the mission and tasks The earliest start time for subsequent executions; For the task On the mission and tasks The latest start time of the previous execution; Currently dispatched to the device No. tasks; the currently scheduled device ; the first task of the currently scheduled device ; the currently scheduled person ; the first task of the currently scheduled person ; the first task of the currently scheduled person ; the time taken by the task ;

[0156] the ;

[0157] ;

[0158] where is the earliest start time of the task ; is the earliest start time of the task ; is the actual run time of the task sequence ; is the earliest start time of the task ; is the actual run time of the task sequence ;

[0159] when , then ;

[0160] when , then ;

[0161] the ;

[0162] ;

[0163] where is the latest start time of the task ; is the latest start time of the task ; is the actual execution time of the task ; is the latest start time of the task ;

[0164] if , then ;

[0165] if ​then ;

[0166] wherein, is the device the number of tasks currently scheduled; is the person the number of tasks currently scheduled.

[0167] Further, the longest critical path is:

[0168] ;

[0169] ;

[0170] wherein, is the number of DAG task graphs in the current scheduling scenario; is the critical path of the th DAG task graph; is the earliest start time of the th task of the th DAG task graph ; is the actual execution time of the task ; is the task set in the th DAG task graph.

[0171] Further, the DAG task graph currently being scheduled is connected with the DAG task graph that has completed scheduling through a virtual end task, and the earliest start time and the latest start time of each task in the DAG task graph currently being scheduled are recalculated to determine the priority order of task scheduling and the global optimal solution.

[0172] In the scheduling execution process, the central scheduling system preferentially selects the DAG task graph with the largest critical path indicator for scheduling. In order to maintain the overall coordination between different DAG task graphs, when a new DAG task graph is scheduled each time, the central scheduling system connects the task graph with the DAG task graph that has completed scheduling through a virtual end task. The introduction of the virtual end task realizes the logical fusion between the DAG task graphs, and the earliest start time (EST) and the latest start time (LST) of each task in the current DAG task graph are recalculated through dynamic adjustment.

[0173] The present application aims to solve the scheduling complexity problem caused by the simultaneous occupation of equipment and personnel resources by tasks, and designs an uncertain start time scheduling method suitable for multi-DAG task graphs. By updating the execution order of tasks and resource allocation in real time, the global task scheduling scheme is dynamically optimized to maximize resource utilization and minimize task completion time. Specifically, the algorithm comprehensively evaluates the impact of measuring equipment and personnel on the overall duration at each task allocation, and uses a dynamic adjustment strategy to optimize the execution order of tasks. The start execution time of the task is not determined during the allocation process, only the equipment and personnel to which the task is allocated and the execution order on the equipment and personnel are determined. This method forms a globally optimized equipment and personnel scheduling sequence and the specific execution time of each task after all tasks are completed, thereby minimizing the overall duration of the system and optimizing resource utilization.

[0174] Referring to Figure 3 The present application also provides a task scheduling device for an intelligent industrial remote control scene, which is applied to the task scheduling method for the intelligent industrial remote control scene.

[0175] A first calculation module is configured to determine the critical path of the DAG task graph and select the DAG task graph with the longest critical path for scheduling; and calculate the earliest start time, the latest start time and the slack time of the task under the dual resource constraints of the execution equipment and personnel.

[0176] A second calculation module is configured to select the task with the smallest slack time for scheduling, and calculate the resource time window according to the insertion position of the task in the equipment task sequence and the personnel task sequence.

[0177] A task scheduling module is configured to allocate equipment and personnel to the task based on the resource time window maximization principle, and determine the execution order of the task; and update the earliest start time and the latest start time of each task in the DAG task graph that is currently being scheduled and has completed scheduling in real time until all tasks are completed.

[0178] Referring to Figure 4 The present application also provides a task scheduling device for an intelligent industrial remote control scene, which includes a memory and a processor.

[0179] The memory is configured to store computer program code and transmit the computer program code to the processor.

[0180] The processor is configured to execute the task scheduling method for the intelligent industrial remote control scene according to the instructions in the computer program code.

[0181] The application further provides a computer readable storage medium, wherein a computer program is stored on the computer readable storage medium, and the computer program is executed by a processor to implement the task scheduling method for the intelligent industrial remote control scene.

[0182] Generally, the computer instructions used to implement the method of the present application can be carried by any combination of one or more computer readable storage media. The non-transitory computer readable storage medium can include any computer readable medium except a signal transiting in a transitory manner.

[0183] The computer readable storage medium can be, for example but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples (non-exhaustive list) of the computer readable storage medium include an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this application, the computer readable storage medium can be any tangible medium that contains or stores a program that can be used by or in connection with an instruction execution system, apparatus or device.

[0184] The computer program code used to implement the present application can be written in one or more programming languages or combinations of languages including object oriented programming languages such as Java, Smalltalk, C++ or the like and conventional procedural programming languages such as "C" or similar programming languages. The program code can execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer can be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection can be made to an external computer (for example, through the Internet using an Internet Service Provider).

[0185] The above device and non-transitory computer readable storage medium can refer to the specific description of the task scheduling method for the intelligent industrial remote control scene and the advantages thereof, and will not be described here.

[0186] Although the embodiments of the present application have been shown and described above, it should be understood by those having ordinary skill in the art that the above embodiments are exemplary, and cannot be interpreted as limiting the present application, and those having ordinary skill in the art can make changes, modifications, replacements and variations to the above embodiments within the scope of the present application.

Claims

1. A task scheduling method for intelligent industrial remote control scenarios, characterized in that: include: Determine the critical path of the DAG task graph and select the DAG task graph with the longest critical path for scheduling; Calculate the earliest start time, latest start time and slack time of a task under the dual resource constraints of execution equipment and personnel; Select the task with the smallest slack time for scheduling, and calculate the resource time window based on the task's insertion position in the equipment task sequence and the personnel task sequence; Based on the principle of maximizing resource time windows, equipment and personnel are allocated to tasks, and the execution order of tasks is determined; Update the earliest start time and latest start time of each task in the DAG task graph that is currently being scheduled and has been scheduled in real time until all tasks are scheduled; Insert tasks into the device's task sequence, including: The task sequence for the device is: ; Where, Currently dispatched to the device No. tasks; For devices The number of tasks currently scheduled; When selecting a device After that, the task On the device The candidate insertion locations in the task sequence are: ; Where, It is a virtual start task, indicating the device There is a task with a start time of 0 and an execution time of 0; This is a virtual end of the task, indicating that the device There exists a task with a start time of positive infinity and an execution time of 0; If the task insert arrive Between, the device The task sequence is updated to: ; Task Insert into device The following conditions must be met when the task sequence is: when When the device Task Sequence There must be no tasks in Tasks that can only be started after completion; Task Sequence There must be no tasks in Tasks that must be completed before execution; when When the task Insert into device The starting position of the sequence ,but The task does not exist The task must be completed before execution; if the task Insert into device The end position of the sequence ,but The task does not exist Tasks that can only be started after completion; The resource time window is: ; Where, For the task Insert a device task sequence and Between, insert personnel task sequence and Resource time windows between; For the task On the mission and tasks The earliest start time for subsequent executions; For the task On the mission and tasks The latest start time of the previous execution; Currently dispatched to the device No. tasks; For currently scheduled equipment No. tasks; For the current dispatch personnel No. tasks; For the current dispatch personnel No. tasks; For the task By Equipment The time it takes for the personnel to execute the described for: ; Where, For the task The earliest start time; For the task The earliest start time; For task sequences The actual running time; For the task The earliest start time; For task sequences The actual running time; when When ; when When ; described for: ; Where, For the task The latest start time; For the task The latest start time; For the task The actual execution time; For the task The latest start time; like ,but ; like ,but ; Where, For devices The number of tasks currently scheduled; For personnel The number of tasks currently scheduled.

2. A task scheduling method for intelligent industrial remote control scenarios according to claim 1, characterized in that: The earliest start time stated is: ; Where, For the task The earliest start time; For the task The earliest start time constrained by the predecessor dependent task; For the task The earliest start time of the execution order constraint on its assigned device; For the task the earliest start time within the execution order constraints of the tasks to which the personnel are assigned; ; Where, For the task The set of pre-dependent tasks; If the task If there is no previous dependent task, ; If the predecessor dependent task If the scheduling has not yet been decided, then: ; Where, For the predecessor dependent task The actual execution time; For the predecessor dependent task Number of compatible devices; For the predecessor dependent task Number of adapted personnel; For the predecessor dependent task By Equipment The time it takes for the personnel to execute the For the predecessor dependent task Suitable personnel collection; For the predecessor dependent task Adapted device set; ; ; Where, For the task The set of previous sequential tasks on the assigned equipment; For the task The previous sequential task on the assigned equipment; For the task The actual execution time; If the task has not yet been scheduled, or is the first sequential task on the assigned device, then ; ; ; Where, For the task The set of previous sequential tasks on the assigned personnel; If the task Has not been scheduled yet, or is the first order task on the assigned personnel, then .

3. The task scheduling method for intelligent industrial remote control scenarios according to claim 2 is characterized in that: The latest start time is: ; Where, For the task The latest start time; For the task The latest start time constrained by its subsequent dependent tasks; For the task The latest start time on its assigned device subject to execution order constraints; For the task The latest start time subject to execution order constraints on its assigned personnel; ; Where, For the task The set of subsequent dependent tasks; If the task If there is no subsequent dependent task, If the task If it has not been scheduled yet: ; Where, For the task The actual execution time; For the task Suitable personnel collection; For the task Adapted device set; For the task By Equipment The time it takes for the personnel to execute the For the task Number of compatible devices; For the task Number of adapted personnel; ; ; Where, For the task A subsequent set of sequential tasks on the assigned equipment; If the task has not yet been scheduled, or is the last task on the assigned device, then ; ; ; Where, For the task The set of subsequent sequential tasks on the assigned personnel; If the task Has not been scheduled yet, or is the last task on the assigned person, then .

4. The task scheduling method for intelligent industrial remote control scenarios according to claim 3 is characterized in that: The relaxation time is: ; Where, For the task relaxation time; For the task The latest start time; For the task The earliest start time.

5. The task scheduling method for intelligent industrial remote control scenarios according to claim 1 is characterized in that: Longest critical path for: ; ; Where, The number of DAG task graphs in the current scheduling scenario; For the The critical path of a DAG task graph; For the task The earliest start time; For the task The actual execution time; For the A collection of tasks in a DAG task graph.

6. The task scheduling method for intelligent industrial remote control scenarios according to claim 1 is characterized in that: The DAG task graph currently being scheduled is connected to the DAG task graph that has completed scheduling through a virtual end task, and the earliest start time and the latest start time of each task in the DAG task graph currently being scheduled are recalculated.

7. A task scheduling device for intelligent industrial remote control scenarios, characterized in that: The device is applied to the method according to any one of claims 1 to 6, and the device comprises: The first calculation module is used to determine the critical path of the DAG task graph and select the DAG task graph with the longest critical path for scheduling; calculate the earliest start time, latest start time and slack time of the task under the dual resource constraints of execution equipment and personnel; The second calculation module is used to select the task with the smallest slack time for scheduling and calculate the resource time window according to the insertion position of the task in the equipment task sequence and the personnel task sequence; The task scheduling module is used to allocate equipment and personnel to tasks and determine the execution order of tasks based on the principle of maximizing resource time windows; it updates the earliest start time and latest start time of each task in the DAG task graph that is currently being scheduled and has been scheduled in real time until all tasks are scheduled.

8. A task scheduling device for intelligent industrial remote control scenarios, characterized in that: including memory and processor; The memory is configured to store computer program code and transmit the computer program code to the processor; The processor is configured to execute the method according to any one of claims 1 to 6 according to instructions in the computer program code.

Citation Information

Patent Citations

  • Dependent task scheduling method of heterogeneous multi-core processor

    CN103473134A

  • Task scheduling method and device, equipment and storage medium

    CN116932154A

  • Task scheduling method and device, electronic equipment, storage medium and product

    CN119201410A

  • A multi-project scheduling optimization algorithm and system based on resource constraints

    CN119784035A