Multi-experiment task production scheduling method and device, equipment and storage medium

By constructing a global time resource scheduling problem and utilizing time window constraints and device idle time periods, the problem of device resource conflicts in high-throughput and diversified experimental tasks was solved, achieving scientific and reasonable scheduling and risk reduction.

CN121684455APending Publication Date: 2026-03-17GUANGZHOU INSTITUTES OF BIOMEDICINE AND HEALTH CHINESE ACADEMY OF SCIENCES
View PDF 0 Cites 1 Cited by

Patent Information

Application Number
CN202511840070.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-12-08
Publication Date
2026-03-17

AI Technical Summary

Technical Problem

Existing experimental task scheduling methods struggle to scientifically and rationally determine scheduling sequences in high-throughput and diverse experimental tasks, leading to a high risk of equipment resource conflicts, especially when multiple tasks are running simultaneously, making optimization difficult.

Method used

By constructing a global time resource scheduling problem, and using the time window constraints of experimental operations and the idle time periods of equipment as constraints, the feasibility of production scheduling schemes and risk assessments are performed to determine the target production scheduling scheme in order to reduce the risk of equipment resource conflicts.

Benefits of technology

It effectively reduces the risk of equipment resource conflicts in high-throughput and diversified experimental tasks, and improves the scheduling efficiency and scientific nature of experimental tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121684455A_ABST
    Figure CN121684455A_ABST
Patent Text Reader

Abstract

The invention discloses a multi-experiment task production scheduling method, device and equipment and a storage medium, and the method comprises the steps: carrying out the sampling of a preset number of times for each production scheduling scheme based on the prior distribution of the duration of each experiment stage, and determining the starting time of each experiment operation, constructing a global time resource scheduling problem under the constraint conditions that the time window constraint of the experimental operation, the time period of the experimental operation belongs to the idle time period of the operation equipment and the time periods of the experimental operation distributed on the same operation equipment are not overlapped, and calculating the ratio of the infeasible times of the global time resource scheduling problem to the preset times; and if the risk value is lower than the risk threshold value, taking the production scheduling scheme as a target production scheduling scheme, and performing online scheduling of the experimental tasks according to the target production scheduling scheme, so that the method is suitable for production scheduling of high-throughput and diversified experimental tasks, and the risk of equipment resource conflict is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to experimental task management technology, and in particular to a multi-experimental task scheduling method, device, equipment and storage medium. BACKGROUND

[0002] The automatic operation device can automatically complete a series of experimental operations of the experimental task, and usually has the characteristics of high integration and intelligence, which can greatly improve the experimental efficiency and reduce the human error and operation time.

[0003] In order to adapt the automatic operation device to the dynamic change of the experimental object, it is usually necessary to combine the dynamic change of the experimental object and operate the experimental object at the best time.

[0004] The existing method mostly depends on the priority of the experimental operation to determine the execution order of each experimental operation, and the low priority is postponed. However, when the number of experimental tasks is large, different experimental tasks have different optimization objectives to be considered in scheduling, and even may be conflicting, and when different experimental tasks need to be performed at the same time, it is difficult to give a scientific and reasonable scheduling time sequence scheme. SUMMARY

[0005] The present application provides a multi-experimental task scheduling method, device, equipment and storage medium, which is suitable for high-throughput, diversified experimental task scheduling, and reduces the risk of device resource conflict.

[0006] In the first aspect, the present application provides a multi-experimental task scheduling method, comprising:

[0007] A plurality of scheduling schemes are given, the scheduling scheme comprises a plurality of experimental tasks, the experimental task comprises a plurality of experimental stages, the experimental stage comprises a plurality of experimental operations, each experimental task has a determined start time, and the execution order of each experimental task in different scheduling schemes is different;

[0008] For each scheduling scheme, a preset number of samplings are performed based on the prior distribution of the duration of each experimental stage, each sampling obtains different prior duration of the experimental stage, and the start time of each experimental operation is determined;

[0009] The time window constraint of the experimental operation, the time period of the experimental operation belongs to the idle time period of the operation device, and the time period of the experimental operation allocated on the same operation device does not overlap, as constraint conditions, a global time resource scheduling problem is constructed, the prior duration of the experimental stage and the start time of each experimental operation are taken as inputs, the feasibility of the global time resource scheduling problem is solved, and the ratio of the number of infeasible times of the global time resource scheduling problem to the preset number is taken as the risk value that the scheduling scheme will lead to device resource conflict.

[0010] if the risk value is lower than a risk threshold value, the scheduling scheme is taken as a target scheduling scheme;

[0011] performing online scheduling of experimental tasks according to the target scheduling scheme.

[0012] Optionally, given a plurality of scheduling schemes, comprising:

[0013] minimizing the total time of completion of all the experimental tasks as an objective, taking the total number, types, and future idle time periods of operating devices of the experimental tasks as inputs, assigning a start time to each of the experimental tasks, and determining a scheduling scheme.

[0014] Optionally, taking the time window constraint of the experimental operations, the time period of the experimental operations belonging to the idle time period of the operating devices, and the time periods of the experimental operations assigned to the same operating device not overlapping with each other as constraint conditions, constructing a global time resource scheduling problem, taking the prior duration of the experimental stage and the start time of each of the experimental operations as inputs, solving the feasibility of the global time resource scheduling problem, and calculating the proportion of the number of times of infeasibility of the global time resource scheduling problem to the preset number of times as a risk value of the scheduling scheme causing device resource conflict, comprising:

[0015] taking the experimental tasks as nodes, initializing a priority queue as an empty queue, and taking the node at the head of the priority queue as the node with the minimum lower bound of the optimization objective value;

[0016] pushing the root node into the priority queue, the root node having no experimental task, the lower bound of the optimization objective value being 0, having no parent node, initializing the optimal objective value as infinity, and initializing the optimal scheduling scheme as empty;

[0017] taking the node at the head of the priority queue, obtaining a node sequence from the head node to the root node through node backtracking, determining the experimental task of each node and the start time of the experimental task as a partial scheduling scheme;

[0018] finding the first experimental task not in the partial scheduling scheme from all the experimental tasks, constructing k candidate nodes for each first experimental task, and setting the start time of the first experimental task as k possible values in the candidate nodes;

[0019] determining a target node from the k candidate nodes, the addition of the target node causing the risk value of the partial scheduling scheme not causing device resource conflict to be higher than a risk threshold value;

[0020] adding the target node to the priority queue and updating the partial scheduling scheme;

[0021] judging whether the partial scheduling scheme is a complete scheduling scheme;

[0022] If so, then the partial production schedule will be used as the target production schedule.

[0023] If not, return to the previous step and retrieve the first node from the priority queue. By backtracking through the nodes, obtain the node sequence from the first node to the root node, determine the experimental task and start time of each node, and use this as a step in the partial scheduling plan until the search termination condition is met.

[0024] Optionally, a global time resource scheduling problem is constructed with constraints such as the time window of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operating equipment, and the time periods of experimental operations allocated on the same operating equipment not overlapping. The prior duration of the experimental phase and the start time of each experimental operation are used as inputs to solve the feasibility of the global time resource scheduling problem. The proportion of the number of infeasible times of the global time resource scheduling problem to the preset number is calculated as the risk value of the production scheduling scheme leading to equipment resource conflicts, including:

[0025] The experimental tasks are numbered, and each type of experimental task has a unique number.

[0026] Initialize three empty sequences, namely the sorting code, the segmentation code, and the interval code;

[0027] The experimental tasks are sorted according to the production scheduling plan, and the numbers of the experimental tasks are added to the end of the sorting code in sequence.

[0028] Check whether the difference between the end time and start time of two adjacent experimental tasks is greater than the preset duration;

[0029] If so, add the number of the experimental task that appears first in the two experimental tasks to the end of the segmentation code, and add the interval between the start times of the two experimental tasks to the end of the interval code.

[0030] Treat each production scheduling plan as an individual, and the set of all possible production scheduling plans as a population, and initialize the population.

[0031] Calculate the risk value of each individual in the population that could lead to conflicts over equipment resources;

[0032] Calculate individual fitness based on the risk value corresponding to the individual;

[0033] Individuals with fitness greater than the fitness threshold are excluded, and the remaining individuals are subjected to population crossover using the sorting code, the splitting code, and the interval code.

[0034] Individuals with fitness greater than the fitness threshold are excluded, and population mutation is performed on the remaining individuals using the sorting code, the split code, and the interval code. The process then returns to the step of calculating the risk value of each individual in the population that would cause a conflict with the device resources, until the number of population crossovers or population mutations reaches the number threshold.

[0035] When the number of crossovers or population mutations reaches a threshold, the individual with the highest fitness is selected as the target production plan.

[0036] Optionally, the feasibility of solving the global time resource scheduling problem is determined by using the prior duration of the experimental phase and the start time of each experimental operation as input, including:

[0037] By removing some constraints from the global time resource scheduling problem, the global time resource scheduling problem can be simplified.

[0038] The simplified global time resource scheduling problem is solved using the branch and bound method, and the feasibility of solving the global time resource scheduling problem is determined.

[0039] Optionally, online scheduling of experimental tasks is performed according to the target production schedule, including:

[0040] In the target production scheduling plan, before the start of the experimental task, allocate equipment time slots for the first experimental operation of the experimental task in advance;

[0041] When the assigned time period arrives, perform the experimental operation using the assigned equipment;

[0042] After completing an experimental operation, check if there are any subsequent experimental operations for the experimental task;

[0043] If not, the experimental task is completed, and the scheduling of the experimental task ends;

[0044] If so, determine the time window constraint for the next experimental operation of the task based on the experimental task status and experimental plan;

[0045] The system allocates a device time slot to the next experimental operation of the experimental task using a global scheduling algorithm, and returns to the step of executing the experimental operation using the allocated device when the allocated time slot arrives.

[0046] Optionally, a device time slot may be allocated to the next experimental operation of the experimental task using a global scheduling algorithm, including:

[0047] Collect all experimental operations to be scheduled, including the first experimental operation of experimental tasks that have not yet started, and the next experimental operation of experimental tasks that are currently being executed;

[0048] A mixed integer programming problem is constructed and solved, with constraints including the time window constraint of the experimental operation, the time period of an experimental operation allocated to one device, and the time periods of experimental operations allocated to the same device not overlapping.

[0049] If the solution is unsuccessful, then the time window constraint of the experimental operation is relaxed, a mathematical programming problem with constraint relaxation is constructed, and the solution is obtained.

[0050] The solution to the mathematical programming problem is used as the time period allocation scheme, and the experimental task scheduling plan is updated accordingly.

[0051] Secondly, the present invention also provides an experimental task scheduling device, comprising:

[0052] The production scheduling scheme giving module is used to give multiple production scheduling schemes. The production scheduling scheme includes multiple experimental tasks, the experimental tasks include multiple experimental stages, the experimental stages include multiple experimental operations, each experimental task has a definite start time, and the execution order of each experimental task is different in different production scheduling schemes.

[0053] The production scheduling parameter determination module is used to sample a preset number of times for each production scheduling scheme based on the prior distribution of the duration of each experimental stage. The prior duration of the experimental stage is different each time the sampling is performed, and the start time of each experimental operation is determined.

[0054] The feasibility solution module is used to construct a global time resource scheduling problem with constraints such as the time window constraint of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operating equipment, and the time periods of the experimental operations allocated on the same operating equipment not overlapping. The module takes the prior duration of the experimental phase and the start time of each experimental operation as input to solve the feasibility of the global time resource scheduling problem.

[0055] The risk value calculation module is used to calculate the proportion of the number of times the global time resource scheduling problem is infeasible to the preset number of times, which is used as the risk value of the production scheduling plan causing equipment resource conflicts.

[0056] The target production scheduling plan determination module is used to take the production scheduling plan as the target production scheduling plan when the risk value is lower than the risk threshold.

[0057] The online scheduling module is used to schedule experimental tasks online according to the target production plan.

[0058] Thirdly, the present invention also provides an electronic device, comprising:

[0059] One or more processors;

[0060] Storage device for storing one or more programs;

[0061] When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-experimental task scheduling method as described in the first aspect of the present invention.

[0062] Fourthly, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the multi-experimental task scheduling method as described in the first aspect of the present invention.

[0063] The present invention provides a multi-experimental task scheduling method. Given multiple scheduling schemes, each scheme includes multiple experimental tasks, each task includes multiple experimental stages, and each stage includes multiple experimental operations. Each experimental task has a defined start time. The execution order of the experimental tasks differs in different scheduling schemes. For each scheduling scheme, a preset number of samples are taken based on the prior distribution of the duration of each experimental stage. Each sample yields a different prior duration of the experimental stage. The start time of each experimental operation is determined, constrained by a time window and the fact that the time period of the experimental operation belongs to the idle time period of the operating equipment. The constraint is that the time periods of experimental operations allocated on the same operating device do not overlap. A global time resource scheduling problem is constructed, and the prior duration of the experimental phase and the start time of each experimental operation are used as inputs to solve the feasibility of the global time resource scheduling problem. The proportion of the number of infeasible times of the global time resource scheduling problem to the preset number of times is calculated as the risk value of the scheduling plan leading to equipment resource conflicts. If the risk value is lower than the risk threshold, the scheduling plan is taken as the target scheduling plan, and the experimental tasks are scheduled online according to the target scheduling plan. This is suitable for scheduling high-throughput and diversified experimental tasks and reduces the risk of equipment resource conflicts.

[0064] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0065] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying 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.

[0066] Figure 1 A flowchart of a multi-experimental task scheduling method provided by the present invention;

[0067] Figure 2 A schematic diagram of the parameter model for cell culture experimental tasks;

[0068] Figure 3 A schematic diagram illustrating a numbering method provided by the present invention;

[0069] Figure 4 A schematic diagram of the structure of an experimental task scheduling device provided by the present invention;

[0070] Figure 5 This is a schematic diagram of the structure of an electronic device provided by the present invention.

[0071] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0072] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0073] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0074] Figure 1 This is a flowchart of a multi-experimental task scheduling method provided by the present invention. This embodiment is applicable to the scheduling of high-throughput, diversified experimental tasks. The method can be executed by the experimental task scheduling device provided by the present invention. This device can be implemented in software and / or hardware, and is typically configured in electronic devices, such as… Figure 1 As shown, this multi-experiment task scheduling method includes the following steps:

[0075] S101. Given multiple production scheduling schemes.

[0076] In this embodiment of the invention, a production scheduling scheme includes multiple experimental tasks, an experimental task includes multiple experimental stages, an experimental stage includes multiple experimental operations, each experimental task has a definite start time, and the execution order of each experimental task is different in different production scheduling schemes.

[0077] For example, taking cell culture experiment as an example, firstly, the experimenter submits the experimental task requirements, including the type and number of experimental tasks. If the experimental plan for certain types of experimental tasks has not yet been defined, then the experimental plan for that type of task is prepared. Figure 2 A schematic diagram of the parameter model for cell culture experiments, such as... Figure 2 As shown, the cell culture process consists of a series of experimental procedures, which are divided into culture phases. These procedures are handled by automated equipment with controlled parameters. This indicates the time required for the equipment to process experimental operations. This serves as a reference start time for the experimental procedure. express Lead time relative to the offset at the start of the cultivation phase Indicates how far ahead or how far behind the experimental procedure can be performed. This indicates how long the experimental procedure can be delayed before it begins. , These represent the earliest and latest start times of the experimental operation, respectively. This marks the start of the experimental task. This marks the end of the training phase. The duration of the cultivation phase.

[0078] All experimental procedures were performed in accordance with The properties of experiments are categorized into deterministic, partially deterministic, and uncertain. Deterministic experimental operations are those that must be performed. The experimental procedures were determined before the experiment began; these were partially deterministic experimental procedures. These procedures were determined before the experiment began, but depending on the cell growth state, they may not be performed; uncertain experimental procedures. It is related to the actual growth state of the cell, It was uncertain before the experiment began.

[0079] Throughout the entire mission cycle, except for the time spent being transported to automated operating equipment for experimental operations, the cell culture plates containing the experimental subjects are placed in a CO2 incubator. The automated operating equipment can consist of an array of incubators and one automated operating device responsible for executing all experimental operations. Alternatively, it can consist of an array of incubators and multiple automated operating devices, each capable of independently performing experimental operations; this invention does not impose any limitations on this.

[0080] For example, the process of developing an experimental plan is as follows:

[0081] Step 1: Define the experimental procedure. The experimental users write the sequence of experimental operations to be performed according to the experimental requirements.

[0082] Step 2: Write the experimental operation procedures. Write complete automated programs for the operating equipment to handle experimental operations. If the equipment consists of an incubator array and one automated operating device, then only the processing program for each experimental operation on the single operating device needs to be written. If the equipment consists of an incubator array and multiple automated operating devices, then based on the functions of the operating devices, determine the operating devices that can complete the processing for each experimental operation. These operating devices can all complete the operation independently, but the processing programs may differ.

[0083] Step 3: Measure the operation execution time. Measure the time required for the experimental operation's processing procedure to be processed on the operating equipment, and use this as a parameter of the experimental operation. If the equipment consists of an array of incubators and an automated operating device, then the various experimental operations... There is only one possible value. If the equipment consists of an array of incubators and multiple automated operating devices, then the different devices... The values ​​are different.

[0084] Step 4: Divide the culture phases. If an experimental procedure is uncertain, then select its... As the end of the training phase This means the experimental phase ends with an uncertain experimental operation. The user determines the nature of this experimental operation based on experience. That is, the length of the training phase The prior duration.

[0085] Step 5: Determine the time window parameters. These are defined by the experiment user for each experimental operation. , parameter.

[0086] After completing the above steps, identifying the experimental tasks to be performed, and developing corresponding experimental plans, the experimental tasks are scheduled, generating multiple scheduling plans. The process of generating scheduling plans involves arranging and combining the aforementioned experimental tasks. For example, an exhaustive approach using permutations and combinations can be employed, or some combinatorial optimization algorithms can be used; this embodiment of the invention does not impose any limitations on this approach.

[0087] In some embodiments of the present invention, in order to reduce the number of production scheduling schemes and improve efficiency, the goal is to minimize the total time for all experimental tasks to be completed. The total number and types of experimental tasks and the future idle time period of the operating equipment are taken as inputs. A start time is assigned to each experimental task to determine the production scheduling scheme.

[0088] S102. For each production scheduling plan, a preset number of samples are taken based on the prior distribution of the duration of each experimental stage. Each sample obtains the prior duration of the experimental stage and determines the start time of each experimental operation.

[0089] In this embodiment of the invention, for each production scheduling scheme, a preset number of samples are taken based on the prior distribution of the duration of each experimental stage. Each sample yields a different prior duration of the experimental stage, and the start time of each experimental operation is determined. The preset number of samples can be between 100 and 1000; for example, the preset number is 500. After each sample, the parameters of the production scheduling scheme (i.e., parameters) are... , , , , , , , , , This means that a definite production schedule is obtained.

[0090] S103. With constraints such as the time window of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operating equipment, and the time periods of the experimental operations allocated on the same operating equipment not overlapping, a global time resource scheduling problem is constructed. The prior duration of the experimental phase and the start time of each experimental operation are used as inputs to solve the feasibility of the global time resource scheduling problem. The proportion of the number of infeasible times of the global time resource scheduling problem to the preset number is calculated as the risk value that the production scheduling plan will lead to equipment resource conflicts.

[0091] In this embodiment of the invention, a global time resource scheduling problem is constructed based on constraints such as the time window of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operating equipment, and the time periods of the experimental operations allocated on the same operating equipment not overlapping. The prior duration of the experimental phase obtained in the preceding steps is then used as the basis for this problem. and the start time of each experimental operation As input, the feasibility of solving the global time resource scheduling problem is determined. The time window constraint includes the time required for the experimental operation. The earliest moment of experimental operation Latest start time .

[0092] The algorithm determines whether a feasible solution exists for the constructed global time resource scheduling problem. This type of problem is NP-hard; although it is unknown whether a polynomial-time algorithm exists, a correct solution can be verified and obtained in polynomial time.

[0093] In some embodiments of the present invention, the global time resource scheduling problem can be simplified by removing some constraints, thus constructing a simplified scheduling problem. One specific implementation removes the "non-preemptive" constraint, requiring only that each experimental operation be allocated a time period of total length T, rather than a complete continuous time period. Then, the branch and bound method is used to solve the simplified global time resource scheduling problem, determining its feasibility.

[0094] For example, if the equipment consists of an array of incubators and an automated operating device, the global scheduling problem is represented in scheduling theory by the ternary notation 1|rj|Lmax, where 1 indicates that only one device needs to be scheduled, Lmax indicates that the optimization objective is the maximum delay, and rj is the job release time in scheduling theory, which here is the earliest reference start time of the experimental operation. This problem is NP-hard. After removing the "non-preemptive" constraint, the problem simplifies to 1|rj,prmp|Lmax, where prmp is the abbreviation for preemption. This problem has a polynomial-time solution. If the equipment consists of an array of incubators and multiple automated operating devices, the global scheduling problem is Qm|rj|Lmax, where Qm represents multiple devices with different processing speeds that need to be scheduled. This is also an NP-hard problem. After removing the "non-preemptive" constraint, the problem simplifies to Qm|rj,prmp|Lmax, which also has a polynomial-time solution.

[0095] If the equipment consists of an array of incubators and multiple automated operating devices, the simplified problem 1|rj,prmp|Lmax can be solved using a preemptive earliest deadline first method. If the Lmax of the solution obtained by this method is greater than 0, then the simplified problem is infeasible. If the equipment consists of an array of incubators and multiple automated operating devices, the simplified problem Qm|rj,prmp|Lmax can be transformed into a maximum network flow problem for solution. If the Lmax of the solution obtained by this method is greater than 0, then the simplified problem is infeasible.

[0096] If the simplified problem is infeasible, the global time resource scheduling problem is considered to have no feasible solution. If the simplified problem is feasible, the branch and bound method is used to solve the simplified global time resource scheduling problem to determine its feasibility. For example, the global scheduling problem 1|rj|Lmax can be solved using the branch and bound method. Based on this method, an upper limit is set for the search nodes, the problem is solved within a time limit, and nodes with a lower bound greater than 0 for Lmax are discarded to focus on finding a feasible solution. A feasible solution is found if a solution with Lmax ≤ 0 is found before reaching the upper limit of nodes. The global scheduling problem Qm|rj|Lmax can be assigned devices and idle time slots to experimental operations using various heuristic rules. For example, experimental operations can be evenly distributed to devices according to their earliest reference start time, and time slots can be assigned to operations on the same device according to their deadlines. If a rule finds a solution with Lmax ≤ 0, a feasible solution is found. If a feasible solution is found, the global scheduling problem is considered to have a solution; otherwise, the conclusion of no feasibility is returned.

[0097] The percentage of infeasible times for global time resource scheduling problems relative to the preset number of times is used as a risk value for production scheduling schemes that may lead to equipment resource conflicts.

[0098] In this embodiment of the invention, each production scheduling scheme samples the CT value a preset number of times (500 times), and calculates the proportion of the number of times the global time resource scheduling problem is infeasible to the preset number of times, which is used as the risk value that the production scheduling scheme will cause equipment resource conflicts.

[0099] S104. If the risk value is lower than the risk threshold, the production scheduling plan will be used as the target production scheduling plan.

[0100] Compare the calculated risk value with the risk threshold In comparison, if the risk value is lower than the risk threshold... If the risk of a production scheduling plan causing equipment resource conflicts is very low, then that production scheduling plan will be used as the target production scheduling plan. For example, a risk threshold... It can take values ​​in the range of 0.05 to 0.01.

[0101] S105. Conduct online scheduling of experimental tasks according to the target production plan.

[0102] Determine the target production schedule, which means determining the start time of each experimental task in the target production schedule, and then schedule the experimental tasks online according to the target production schedule.

[0103] In some embodiments of the present invention, the online scheduling process for experimental tasks according to the target production schedule is as follows:

[0104] 1. In the target production schedule, before the start of the experimental task, allocate equipment time slots for the first experimental operation of the experimental task in advance.

[0105] 2. When the assigned time period arrives, use the assigned equipment to perform the experimental operation.

[0106] 3. After completing an experimental operation, check if there are any subsequent experimental operations.

[0107] 4. If not, the experimental task is completed, and the scheduling of the experimental task ends.

[0108] 5. If applicable, determine the time window constraint for the next experimental operation of the task based on the experimental task status and experimental plan.

[0109] 6. Allocate a device time slot to the next experimental operation of the experimental task using a global scheduling algorithm, and return to the step of executing the experimental operation using the allocated device when the allocated time slot arrives.

[0110] For example, the specific steps of the global scheduling algorithm are as follows:

[0111] 1. Collect all experimental operations to be scheduled, including the first experimental operation of experimental tasks that have not yet started, and the next experimental operation of experimental tasks that are currently being executed.

[0112] 2. Construct a mixed integer programming problem with constraints such as time window constraints for experimental operations, time periods allocated to one device for each experimental operation, and non-overlapping time periods allocated to the same device for experimental operations, and solve it.

[0113] Specifically, if there is only one operating device, the optimization variable is the start time of the experimental operation allocation time window; if there are multiple operating devices, the device allocated to the operation is also an optimization variable. An optional form of the optimization objective is the sum of optimization variables at all start times. For example, integer programming problems can be solved using mathematical solver software.

[0114] 3. If the solution is unsuccessful, then the time window constraint of the experimental operation is relaxed, a mathematical programming problem with relaxed constraints is constructed, and the solution is obtained.

[0115] If the above integer programming problem cannot be solved, then the time window constraints of the experimental operation are relaxed to construct a mathematical programming problem with relaxed constraints, and the solver is used to solve the mathematical programming problem with relaxed variables. For example, in the integer programming problem where "the start time is not earlier than the earliest reference start time..." No later than the latest reference start time Modify the constraint: Let the optimization variable be x, and the original constraint be x ≥ , x≤ After modification, it becomes x + sl ≥ , x-su≤ , where sl and su are slack variables, sl≥0, su≥0. Furthermore, a penalty term M×(sl+su) is added to the optimization objective, where M is a large positive number.

[0116] 4. Use the solution to the mathematical programming problem as a time period allocation scheme and update the experimental task scheduling plan.

[0117] The present invention provides a multi-experimental task scheduling method. Given multiple scheduling schemes, each scheme includes multiple experimental tasks, each task includes multiple experimental stages, and each stage includes multiple experimental operations. Each experimental task has a defined start time. The execution order of the experimental tasks differs in different scheduling schemes. For each scheduling scheme, a preset number of samples are taken based on the prior distribution of the duration of each experimental stage. Each sample yields a different prior duration of the experimental stage. The start time of each experimental operation is determined, constrained by a time window and the fact that the time period of the experimental operation belongs to the idle time period of the operating equipment. The constraint is that the time periods of experimental operations allocated on the same operating device do not overlap. A global time resource scheduling problem is constructed, and the prior duration of the experimental phase and the start time of each experimental operation are used as inputs to solve the feasibility of the global time resource scheduling problem. The proportion of the number of infeasible times of the global time resource scheduling problem to the preset number of times is calculated as the risk value of the scheduling plan leading to equipment resource conflicts. If the risk value is lower than the risk threshold, the scheduling plan is taken as the target scheduling plan, and the experimental tasks are scheduled online according to the target scheduling plan. This is suitable for scheduling high-throughput and diversified experimental tasks and reduces the risk of equipment resource conflicts.

[0118] In some embodiments of the present invention, a combined optimization method can be used to generate a production scheduling plan, and the processes of generating the production scheduling plan, assessing the risk of the production scheduling plan, and determining the target production scheduling plan are carried out in an integrated and alternating manner.

[0119] For example, in some embodiments of the present invention, the branch and bound method can be used to generate a production scheduling plan, perform a risk assessment, and determine the target production scheduling plan. The specific steps are as follows:

[0120] 1. Using the experimental task as the node, initialize the priority queue as an empty queue, and the head node of the priority queue is the node with the smallest lower bound of the optimization target value.

[0121] For example, during the upper-level search initialization, the priority queue Q is initialized as an empty queue, with the head node of the queue being the lower bound of the optimization target value. The smallest node.

[0122] 2. Push the root node. The root node has no experimental tasks, the lower bound of the optimization target value is 0, there is no parent node, the initial optimal target value is infinity, and the initial optimal production scheduling scheme is empty.

[0123] Push the root node onto Q. The root node has no experimental tasks. A value of 0 indicates no parent node. Initialize the optimal target value (total time for all experimental tasks). If the value is infinity, the initial optimal production scheduling scheme is empty.

[0124] 3. Take the first node from the priority queue, and obtain the node sequence from the first node to the root node by backtracking the nodes. Determine the experimental task and start time of each node as a partial scheduling plan.

[0125] Retrieve the head node from Q. (For the initial case, since the queue is empty, proceed directly to the next step.) By backtracking through the parent node, we obtain the result from... The sequence of nodes from (inclusive) to (exclusive) the root node is used to obtain the experimental task and start time of each node, which is used as a partial scheduling scheme, denoted as pp.

[0126] 4. From all experimental tasks, find the first experimental task that is not in the partial production scheduling plan. For each first experimental task, construct k candidate nodes. The candidate nodes set the start time of the first experimental task to k possible values.

[0127] From all experimental tasks, identify those not included in the partial solution pp. For each of these tasks, construct k candidate nodes, each with its own possible start time set to one of the k values. All candidate nodes form the set CANDIDATE.

[0128] 5. Determine the target node from k candidate nodes. The addition of the target node ensures that some production scheduling schemes will not cause the risk value of equipment resource conflict to exceed the risk threshold.

[0129] Traverse the nodes in CANDIDATE and select candidate nodes. ,Will As its parent node, the following lower-level search is carried out to determine the target node. The addition of the target node ensures that some production scheduling schemes will not cause the risk value of equipment resource conflict to exceed the risk threshold.

[0130] 5.1: Lower-level search initialization. Initialize the FIFO stack S to an empty stack. Set the candidate nodes... Press in S.

[0131] 5.2: Constructing a partial solution for the production scheduling scheme. Pop the top node from stack S. By tracing back through the parent node, we can obtain the result from... The sequence of nodes (including) up to the root node (excluding) is used to obtain the experimental task and start time of each node, which is used as a candidate partial scheduling scheme. To distinguish it from pp, it is denoted as cpp.

[0132] 5.3: The risk value of CPP is calculated using the production scheduling plan risk assessment method. The specific calculation process has been described in detail in the foregoing embodiments, and is not limited here.

[0133] 5.4: Check the calculation results of the assessment method. If the risk value is less than the risk threshold... If the result is positive, proceed to step 5.5; otherwise, proceed to step 5.8.

[0134] 5.5: Determine if the .cpp file is a complete production schedule, i.e., whether the .cpp file contains all the experimental tasks that need to be executed. If yes, continue to step 5.6. Otherwise, jump to step 5.7.

[0135] 5.6: Calculate the objective function of cpp The value is then checked, and the search for the next level is exited. True is returned, indicating that the candidate node is feasible. This candidate node is then used as the target node, and the cpp value is returned. value.

[0136] 5.7: Adding Candidate Nodes. From all experimental tasks, find those not included in the partial solution cpp. For each of these tasks, construct k candidate nodes, setting the start time of the experimental task to one of the k possible values. Set the parent node of each candidate node to... Calculate the values ​​of all candidate nodes. Value, remove Value greater than After the candidate nodes, according to Push the candidate nodes into S in descending order.

[0137] 5.8: Check if stack S is empty. If it is empty, return False, indicating that the candidate node is not feasible. Otherwise, jump to step 5.2.

[0138] 6. Add the target node to the priority queue and update part of the production schedule.

[0139] Check the lower-level search results; if the returned value shows that the candidate node is feasible, then set that candidate node as the target node. Add to Q and update part of the production schedule to pp.

[0140] 7. Determine whether a partial production scheduling plan is a complete production scheduling plan.

[0141] Determine if the partial production schedule (PP) is a complete production schedule. If yes, proceed directly to step 8.

[0142] 8. If so, then the partial production scheduling plan will be used as the target production scheduling plan.

[0143] If PP is a complete production scheduling plan, and the returned... Value less than Then update For the return If the value is zero, then a portion of the production scheduling plan will be used as the target production scheduling plan.

[0144] 9. If not, return to the priority queue and retrieve the first node. By backtracking through the nodes, obtain the node sequence from the first node to the root node, determine the experimental task and start time of each node, and use this as a step in the partial scheduling plan until the search termination condition is met.

[0145] For example, in some embodiments of the present invention, a genetic algorithm can be used to generate a production scheduling plan, perform risk assessment, and determine the target production scheduling plan. The specific steps are as follows:

[0146] 1. Number the experimental tasks; each type of experimental task has a unique number.

[0147] Figure 3 A schematic diagram of a numbering method provided by the present invention, as shown below. Figure 3 As shown, different numbers are used to number the types of experimental tasks. Each experimental task is represented by the number of its corresponding category.

[0148] 2. Initialize three empty sequences, namely sorting code, segmentation code, and interval code.

[0149] Initialize three empty sequences: sorting code, segmentation code, and interval code. The segmentation code and interval code are collectively referred to as batch code.

[0150] 3. Sort the experimental tasks according to the production schedule and check whether the difference between the end time and start time of two adjacent experimental tasks is greater than the preset duration.

[0151] like Figure 3 As shown, tasks are sorted according to their start time in the production schedule, resulting in a sequence of numbers equal to the number of tasks, which serves as the sorting code. After sorting, the task numbers are appended to the end of the sorting code sequentially, following the sorted sequence of experimental tasks.

[0152] 4. Check whether the difference between the end time and start time of two adjacent experimental tasks is greater than the preset duration.

[0153] 5. If so, add the number of the experimental task that appears earlier in the two experimental tasks to the end of the segmentation code, and add the interval between the start times of the two experimental tasks to the end of the interval code.

[0154] like Figure 3 As shown, if the difference between the end time and start time of two adjacent experimental tasks is less than or equal to the preset duration (i.e., one experimental task starts immediately followed by the other), then they belong to the same batch. If two adjacent experimental tasks are found not to belong to the same batch (i.e., the difference between the end time and start time of two adjacent experimental tasks is greater than the preset duration), then the sequence number of the first task is first added to the end of the segmentation code, and then the interval between the start times of the two tasks is added to the end of the interval code.

[0155] Sort the tasks according to the start time specified in the production schedule, using integers starting from 1 (inclusive) as task numbers. Along the sorted sequence of experimental tasks, check the start times of adjacent tasks. If two adjacent tasks start consecutively (i.e., one task starts immediately followed by the other), they belong to the same batch. If two adjacent tasks do not belong to the same batch, first add the sequence number of the first task to the end of the segmentation code, and then add the interval between the start times of the two tasks to the end of the interval code.

[0156] For example, in some embodiments of the present invention, the lengths of the segmentation code and the interval code are the same. The maximum length of the code sequence is temporarily denoted as Nc. When the code length obtained after step 4 is less than Nc, redundant codes are added to complete the code length to Nc in the following ways: (Method 1) Insert 0 at the beginning of the existing segmentation code and insert 0 at the beginning of the existing interval code; (Method 2) Add a number to the end of the existing segmentation code, the size of which is the number of tasks, and insert 0 at the end of the existing interval code; (Method 3) Randomly select a non-zero position in the interval code, assuming it is the kth position, then insert 0 before the kth position of the interval code and insert a number before the kth position of the segmentation code, the value of which is the value of the kth position of the segmentation code.

[0157] 5. Treat the production scheduling plan as an individual, the set of all possible production scheduling plans as a population, and initialize the population.

[0158] 6. Calculate the risk value of each individual in the population that could lead to conflicts in equipment resources.

[0159] For example, the risk value calculation method described in the foregoing embodiments is used to calculate the risk value of each individual in the population that may cause equipment resource conflicts.

[0160] 7. Calculate individual fitness based on the risk value corresponding to the individual.

[0161] An example formula for calculating individual fitness:

[0162]

[0163] in Let F be the objective function value of the production scheduling plan for each individual, where F is a large number greater than the maximum value of the objective function. This formula is used to calculate the fitness of each individual in the population. This represents the risk value that an individual might cause conflicts with equipment resources.

[0164] 8. Exclude individuals whose fitness is greater than the fitness threshold, and perform population crossover on the remaining individuals using sorting coding, split coding, and interval coding.

[0165] For example, using the tournament method and elite strategy commonly found in genetic algorithms, crossover is performed on individuals in the population: Except for elite individuals (i.e., individuals with fitness greater than a fitness threshold), for each individual p1 in the population, a group of individuals is randomly selected from the population, and the one with the highest fitness is selected as p2. The crossover operator is then used to crossover p1 and p2, and the resulting new individual replaces p1 in the population. One implementation of the crossover operator is as follows: First, Nc values ​​are randomly selected from the partition codes of p1 and p2, sorted, and used as the partition codes of the new individual. Then, the interval values ​​corresponding to the partition codes are selected from the interval codes of p1 and p2 and used as the interval codes of the new individual. Finally, the sort code of either p1 or p2 is randomly selected as the sort code of the new individual.

[0166] 9. Exclude individuals whose fitness is greater than the fitness threshold, and use sorting, splitting, and interval coding to perform population mutation on the remaining individuals. Then return to the step of calculating the risk value of each individual in the population that will cause equipment resource conflicts, until the number of population crossovers or population mutations reaches the number threshold.

[0167] For individuals in the population other than elites (i.e., individuals with fitness greater than the fitness threshold), a mutation operator is applied. One implementation of the mutation operator is as follows: First, for each position of the segmentation code and the interval code, it is mutated according to the mutation probability. The mutated value of the segmentation code can be a non-negative integer not exceeding the total number of tasks, and the mutated value of the interval code can be any selectable interval value. Then, the batch code sequence is reordered according to the values ​​of the segmentation positions, and the interval code is corrected to ensure that the batch code sequence is valid. Finally, for each position of the sorted code, it is mutated according to the mutation probability. If a selected position needs to be mutated, the value of another position in the sorted code is randomly selected and swapped with it.

[0168] After each population crossover and mutation, return to the step of calculating the risk value of each individual in the population that could lead to a conflict with device resources, until the number of population crossovers or mutations reaches the threshold.

[0169] 10. When the number of crossovers or population mutations reaches a threshold, the individual with the highest fitness is selected as the target production plan.

[0170] Figure 4 This is a schematic diagram of the structure of an experimental task scheduling device provided by the present invention, as shown below. Figure 4 As shown, the experimental task scheduling device includes:

[0171] The production scheduling scheme giving module 201 is used to give multiple production scheduling schemes. The production scheduling scheme includes multiple experimental tasks, the experimental tasks include multiple experimental stages, the experimental stages include multiple experimental operations, each experimental task has a definite start time, and the execution order of each experimental task is different in different production scheduling schemes.

[0172] The production scheduling parameter determination module 202 is used to perform a preset number of samplings for each production scheduling scheme based on the prior distribution of the duration of each experimental stage. The prior duration of the experimental stage is different each time the sampling is performed, and the start time of each experimental operation is determined.

[0173] The risk value calculation module 203 is used to construct a global time resource scheduling problem with the constraints of the time window of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operating equipment, and the time periods of the experimental operations allocated on the same operating equipment not overlapping. The module takes the prior duration of the experimental phase and the start time of each experimental operation as input, solves the feasibility of the global time resource scheduling problem, and calculates the proportion of the number of infeasible times of the global time resource scheduling problem to the preset number, which is used as the risk value of the production scheduling plan leading to equipment resource conflicts.

[0174] The target production scheduling scheme determination module 204 is used to take the production scheduling scheme as the target production scheduling scheme when the risk value is lower than the risk threshold.

[0175] The online scheduling module 205 is used to schedule experimental tasks online according to the target production schedule.

[0176] In some embodiments of the present invention, the production scheduling scheme providing module 201 includes:

[0177] The production scheduling scheme is a submodule designed to determine the production scheduling scheme by minimizing the total time required to complete all the experimental tasks, taking the total number and types of the experimental tasks and the future idle time periods of the operating equipment as inputs, assigning a start time to each of the experimental tasks, and so on.

[0178] In some embodiments of the present invention, the production scheduling scheme giving submodule includes:

[0179] The queue initialization unit is used to initialize the priority queue as an empty queue with the experimental task as the node, wherein the head node of the priority queue is the node with the smallest lower bound of the optimization target value.

[0180] The root node push unit is used to push the root node. The root node has no experimental tasks, the lower bound of the optimization target value is 0, there is no parent node, the initial optimal target value is infinity, and the initial optimal scheduling scheme is empty.

[0181] The node backtracking unit is used to retrieve the head node from the priority queue, and obtain the node sequence from the head node to the root node through node backtracking, determine the experimental task and start time of each node, and form a partial scheduling plan.

[0182] The candidate node construction unit is used to find the first experimental task that is not in the partial production scheduling scheme from all experimental tasks. For each first experimental task, k candidate nodes are constructed. The candidate nodes set the start time of the first experimental task to k possible values.

[0183] The target node determination unit is used to determine the target node from the k candidate nodes. The addition of the target node ensures that some production scheduling schemes will not cause the risk value of equipment resource conflict to exceed the risk threshold.

[0184] The production scheduling update unit is used to add the target node to the priority queue and update part of the production scheduling plan;

[0185] The completeness judgment unit is used to determine whether a partial production scheduling plan is a complete production scheduling plan;

[0186] The target production scheduling plan determination unit is used to determine the target production scheduling plan if the condition is met.

[0187] Return to the execution unit. If not, return to the execution unit. Take the head node from the priority queue, and backtrack through the nodes to obtain the node sequence from the head node to the root node. Determine the experimental task and start time of each node as a step in the partial scheduling plan until the search termination condition is met.

[0188] In some embodiments of the present invention, the production scheduling scheme giving submodule includes:

[0189] A numbering unit is used to number the experimental tasks, and each type of experimental task has a unique number.

[0190] The sequence initialization unit is used to initialize three empty sequences, namely the sorting code, the segmentation code, and the interval code;

[0191] The first adding unit is used to sort the experimental tasks according to the production scheduling plan and add the numbers of the experimental tasks to the end of the sorting code in sequence.

[0192] The checking unit is used to check whether the difference between the end time and start time of two adjacent experimental tasks is greater than the preset duration;

[0193] The second adding unit is used to add the number of the experimental task that ranks first among the two experimental tasks to the end of the segmentation code, and to add the interval between the start times of the two experimental tasks to the end of the interval code.

[0194] The population initialization unit is used to initialize the population by taking the production scheduling scheme as an individual and the set of all possible production scheduling schemes as the population.

[0195] The risk value calculation unit is used to calculate the risk value of each individual in the population that could lead to conflicts with equipment resources.

[0196] An individual fitness calculation unit is used to calculate the individual fitness based on the risk value corresponding to the individual.

[0197] The population crossover unit is used to exclude individuals whose fitness is greater than the fitness threshold, and to perform population crossover on the remaining individuals using the sorting code, the split code, and the interval code.

[0198] The population mutation unit is used to exclude individuals whose fitness is greater than the fitness threshold, and to perform population mutation on the remaining individuals using the sorting code, the split code and the interval code, and to return to the step of calculating the risk value of each individual in the population that will cause device resource conflict, until the number of population crossovers or population mutations reaches the number threshold.

[0199] The target production plan determination unit is used to determine the individual with the highest fitness as the target production plan when the number of crossovers or population mutations reach a threshold.

[0200] In some embodiments of the present invention, the risk value calculation module 203 further includes:

[0201] The problem simplification submodule is used to remove some constraints from the global time resource scheduling problem, thereby simplifying the global time resource scheduling problem.

[0202] The feasibility solution submodule is used to solve the simplified global time resource scheduling problem using the branch and bound method, and to determine the feasibility of solving the global time resource scheduling problem.

[0203] In some embodiments of the present invention, the online scheduling module 205 includes:

[0204] The time period allocation submodule is used to allocate equipment time periods for the first experimental operation of the experimental task in advance before the experimental task begins in the target production schedule.

[0205] The experimental operation determination submodule is used to perform experimental operations using the allocated equipment when the allocated time period arrives.

[0206] The Experiment Operation Check submodule is used to check whether there are any subsequent experimental operations after an experimental operation is completed.

[0207] The scheduling end submodule is used to terminate the scheduling of an experimental task if no such task exists.

[0208] The constraint determination submodule is used to determine the time window constraint for the next experimental operation of the task, if applicable, based on the experimental task status and experimental plan.

[0209] The scheduling submodule is used to allocate device time slots to the next experimental operation of the experimental task using a global scheduling algorithm, and return to the steps to execute the experimental operation using the allocated device when the allocated time slot arrives.

[0210] In some embodiments of the present invention, the scheduling submodule includes:

[0211] The collection unit is used to collect all experimental operations to be scheduled, including the first experimental operation of experimental tasks that have not yet started, and the next experimental operation of experimental tasks that are being executed.

[0212] The integer programming problem solving unit is used to construct and solve a mixed integer programming problem with the constraints of the time window of the experimental operation, the time period of an experimental operation allocated to one device, and the non-overlapping time periods of experimental operations allocated to the same operating device as constraints.

[0213] The constraint relaxation unit is used to relax the time window constraints of the experimental operation if the solution is unsuccessful, construct the constraint relaxation mathematical programming problem, and solve it.

[0214] The allocation scheme determination unit is used to use the solution results of the mathematical programming problem as the time period allocation scheme and update the experimental task scheduling plan.

[0215] The above-mentioned experimental task scheduling device can execute the multi-experimental task scheduling method provided in the foregoing embodiments of the present invention, and has the corresponding functional modules and beneficial effects of executing the multi-experimental task scheduling method.

[0216] Figure 5 This is a schematic diagram of an electronic device provided by the present invention. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0217] like Figure 5 As shown, the electronic device includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer programs stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0218] Multiple components in the electronic device are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, optical disk, etc.; and a communication unit 19, such as a network card, modem, wireless transceiver, etc. The communication unit 19 allows the electronic device to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0219] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as multi-experiment task scheduling methods.

[0220] In some embodiments, the multi-experimental task scheduling method can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed on an electronic device via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the multi-experimental task scheduling method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to execute the multi-experimental task scheduling method by any other suitable means (e.g., by means of firmware).

[0221] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0222] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0223] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0224] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0225] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0226] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0227] This invention also provides a computer program product, including a computer program that, when executed by a processor, implements the multi-experimental task scheduling method provided in any embodiment of this application.

[0228] In implementing the computer program product, computer program code for performing the operations of this invention can be written in one or more programming languages ​​or a combination thereof. Programming languages ​​include object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0229] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0230] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A multi-experiment task scheduling method, characterized in that, The method comprises the following steps: Given a plurality of scheduling schemes, the scheduling schemes comprising a plurality of experimental tasks, the experimental tasks comprising a plurality of experimental stages, the experimental stages comprising a plurality of experimental operations, each of the experimental tasks having a determined start time, and the execution order of each of the experimental tasks being different in different scheduling schemes; For each of the scheduling schemes, a preset number of samplings are performed based on a prior distribution of the duration of each of the experimental stages, and each sampling obtains a different prior duration of the experimental stage, and the start time of each of the experimental operations is determined; A global time resource scheduling problem is constructed under the constraint conditions of the time window constraint of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operation equipment, and the time periods of the experimental operations allocated on the same operation equipment not overlapping with each other, the prior duration of the experimental stage and the start time of each of the experimental operations are taken as inputs, the feasibility of the global time resource scheduling problem is solved, and the ratio of the number of infeasible times of the global time resource scheduling problem to the preset number is taken as the risk value of the scheduling scheme leading to equipment resource conflict; If the risk value is lower than a risk threshold, the scheduling scheme is taken as a target scheduling scheme; The experimental task is scheduled online according to the target scheduling scheme.

2. The method of claim 1, wherein, Given a plurality of scheduling schemes, comprising: Minimizing the total time of all the experimental tasks as the target, the total number, type and future idle time period of the operation equipment of the experimental tasks as the input, allocating a start time for each of the experimental tasks, and determining the scheduling scheme.

3. The method of claim 2, wherein, A global time resource scheduling problem is constructed under the constraint conditions of the time window constraint of the experimental operation, the time period of the experimental operation belonging to the idle time period of the operation equipment, and the time periods of the experimental operations allocated on the same operation equipment not overlapping with each other, the prior duration of the experimental stage and the start time of each of the experimental operations are taken as inputs, the feasibility of the global time resource scheduling problem is solved, and the ratio of the number of infeasible times of the global time resource scheduling problem to the preset number is taken as the risk value of the scheduling scheme leading to equipment resource conflict, comprising: Taking the experimental task as a node, initializing a priority queue as an empty queue, and taking the node with the minimum lower bound of the optimization target value as the head node of the priority queue; The root node is pressed in, the root node has no experimental task, the lower bound of the optimization target value is 0, there is no parent node, the optimal target value is initialized as infinity, and the optimal scheduling scheme is initialized as empty; The head node is taken out from the priority queue, the node sequence from the head node to the root node is obtained through node backtracking, the experimental task of each node and the start time of the experimental task are determined, and a partial scheduling scheme is obtained; From all the experimental tasks, a first experimental task not in the partial scheduling scheme is found, for each first experimental task, k candidate nodes are constructed, and the start time of the first experimental task is set as k possible values; A target node is determined from the k candidate nodes, and the addition of the target node makes the risk value of the partial scheduling scheme leading to equipment resource conflict higher than a risk threshold. adding the target node into a priority queue, and updating a partial scheduling scheme; judging whether the partial scheduling scheme is a complete scheduling scheme; if yes, taking the partial scheduling scheme as a target scheduling scheme; if no, returning to execute a step of taking out a head node from the priority queue, obtaining a node sequence from the head node to a root node through node backtracking, determining an experimental task of each node and a start time of the experimental task as a partial scheduling scheme until a search termination condition is reached.

4. The method of claim 2, wherein, under the constraint conditions that a time window constraint of the experimental operation, a time period of the experimental operation belongs to an idle time period of an operation device, and time periods of experimental operations allocated on the same operation device do not overlap with each other, constructing a global time resource scheduling problem, taking the prior duration of the experimental stage and the start times of the experimental operations as inputs, solving the feasibility of the global time resource scheduling problem, and calculating a proportion of an unfeasible number of the global time resource scheduling problem to the preset number as a risk value of the scheduling scheme causing a device resource conflict, including: numbering the experimental tasks, and each category of the experimental tasks having a unique number; initializing three empty sequences, which are a sorting code, a segmentation code and an interval code; sorting the experimental tasks according to the scheduling scheme, and sequentially adding numbers of the experimental tasks to the end of the sorting code; checking whether a difference between end times and start times of two adjacent experimental tasks is greater than a preset duration; if yes, adding a number of an experimental task with a higher sorting order to the end of the segmentation code, and adding an interval between start times of the two experimental tasks to the end of the interval code; taking the scheduling scheme as an individual, a set of all possible scheduling schemes as a population, and initializing the population; calculating the risk value of each individual in the population causing the device resource conflict; calculating the individual fitness based on the risk value corresponding to the individual; excluding an individual with a fitness greater than a fitness threshold, and performing population crossover on the remaining individuals by using the sorting code, the segmentation code and the interval code; excluding an individual with a fitness greater than a fitness threshold, and performing population mutation on the remaining individuals by using the sorting code, the segmentation code and the interval code, and returning to execute the step of calculating the risk value of each individual in the population causing the device resource conflict until a number of population crossovers or a number of population mutations reaches a threshold value; when the number of population crossovers or the number of population mutations reaches the threshold value, determining an individual with the maximum fitness as the target scheduling scheme.

5. The method of any one of claims 1-4, wherein, taking the prior duration of the experimental stage and the start times of the experimental operations as inputs, solving the feasibility of the global time resource scheduling problem, including: removing partial constraint conditions of the global time resource scheduling problem, and simplifying the global time resource scheduling problem; solving the simplified global time resource scheduling problem by using a branch and bound method, and solving the feasibility of the global time resource scheduling problem.

6. The method of any one of claims 1-4, wherein, performing online scheduling of the experimental tasks according to the target scheduling scheme, including: allocating a time period for a first experimental operation of an experimental task in advance before the experimental task starts in a target scheduling scheme; performing the experimental operation using an allocated device when the allocated time period arrives; checking whether there is a subsequent experimental operation after performing an experimental operation; if not, the experimental task is completed, and the scheduling of the experimental task is ended; if so, determining a time window constraint of a next experimental operation of the experimental task according to a state of the experimental task and an experimental scheme; allocating a time period for the next experimental operation of the experimental task through a global scheduling algorithm, and returning to the step of performing the experimental operation using the allocated device when the allocated time period arrives.

7. The method of claim 1-4, wherein, allocating a time period for the next experimental operation of the experimental task through a global scheduling algorithm, comprising: collecting all to-be-scheduled experimental operations, including a first experimental operation of an experimental task that has not started and a next experimental operation of an experimental task that is being executed; constructing a mixed integer programming problem with the time window constraint of the experimental operation, the time period of an experimental operation allocated on a device, and the time period of the experimental operation allocated on the same device as a constraint condition, and solving the mixed integer programming problem; if the solving is unsuccessful, relaxing the constraint of the time window constraint of the experimental operation, constructing a mathematical programming problem with the relaxed constraint, and solving the mathematical programming problem; taking the solution of the mathematical programming problem as a time period allocation scheme, and updating the experimental task scheduling plan.

8. An experimental task scheduling device, characterized by comprising: comprising: a scheduling scheme given module configured to give a plurality of scheduling schemes, wherein each of the scheduling schemes comprises a plurality of experimental tasks, each of the experimental tasks comprises a plurality of experimental stages, each of the experimental stages comprises a plurality of experimental operations, each of the experimental tasks has a determined start time, and the execution order of each of the experimental tasks is different in different scheduling schemes; a scheduling parameter determination module configured to, for each of the scheduling schemes, perform a preset number of samplings based on a prior distribution of a duration of each of the experimental stages, obtain different prior durations of each of the experimental stages in each sampling, and determine a start time of each of the experimental operations; a risk value calculation module configured to, with the time window constraint of each of the experimental operations, the time period of each of the experimental operations belonging to an idle time period of an operation device, and the time period of the experimental operations allocated on the same operation device not overlapping as a constraint condition, construct a global time resource scheduling problem, input the prior duration of each of the experimental stages and the start time of each of the experimental operations, solve the feasibility of the global time resource scheduling problem, and calculate a proportion of a number of times of infeasibility of the global time resource scheduling problem in the preset number of times as a risk value of the scheduling scheme causing a device resource conflict; a target scheduling scheme determination module configured to, when the risk value is lower than a risk threshold value, take the scheduling scheme as a target scheduling scheme; an online scheduling module configured to perform experimental task online scheduling according to the target scheduling scheme.

9. An electronic device, comprising: comprising: one or more processors; a storage device configured to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the multi-experiment task scheduling method as claimed in any one of claims 1-7.

10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the multi-experiment task scheduling method as claimed in any one of claims 1-7.

Citation Information

Cited By

  • Multi-task scheduling method for multiple scientific constraints of chemical experiment

    CN121961179A